2 lines
12 KiB
JavaScript
2 lines
12 KiB
JavaScript
import{_ as ge,d as te,e as x,h as T,o as u,A as f,aS as we,at as z,C as O,c as v,m as Q,q as i,as as ne,n as P,au as X,f as C,a as ke,u as N,D as I,G as F,aI as Oe,aJ as Pe,a8 as be,aY as Ve,t as Be,g as $e,af as Se,i as V,b as R,aZ as Te,aP as Ie,H as Ce,p as Ee,Z as Fe,k as se,V as De,ag as D,ah as re,ai as ie,W as Ae,y as Ue,z as Le,a_ as xe,a$ as j,ap as Ne,b0 as ue,a4 as Re,B as _e,K as je,S as ze,b1 as Ke,F as de,Q as fe,R as Me,r as qe,O as S}from"./index-C4UKuwCQ.js";import{a as Ge,F as We}from"./index-TIPHP1f2.js";import"./index-BAOCFoRq.js";import"./index-h336NyeA.js";import"./index-CxeVpmmJ.js";import{S as He,O as Ye}from"./index-BsQR6Pa8.js";import{u as Ze,a as Je,_ as Qe}from"./index-GMqurEao.js";import{C as Xe}from"./index-wLs9s41q.js";import{T as eo}from"./index-DxZcXRfJ.js";import{_ as oo}from"./index-x1lD9bO6.js";import{S as to}from"./index-DVb3VLcj.js";import{d as ao,e as lo,u as no}from"./index-DMocdcUs.js";import{F as so,a as ro}from"./index-BFy-ZR_w.js";import{u as io}from"./index-QwxSwrho.js";import{K as uo}from"./keyboard-b0R5wflF.js";import"./index-ETHic_Vr.js";import"./index-B3Ic4ZHL.js";import"./resize-observer-DsiuURlg.js";import"./index-BMrux7Sq.js";import"./index-Y5pyQQ_e.js";/* empty css */import"./index.es-BW_FzNZC.js";import"./index-Dv5Lj9Gr.js";var fo=Object.defineProperty,me=Object.getOwnPropertySymbols,mo=Object.prototype.hasOwnProperty,co=Object.prototype.propertyIsEnumerable,ce=(e,o,a)=>o in e?fo(e,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[o]=a,po=(e,o)=>{for(var a in o||(o={}))mo.call(o,a)&&ce(e,a,o[a]);if(me)for(var a of me(o))co.call(o,a)&&ce(e,a,o[a]);return e};const vo=["top","right","bottom","left"],yo=te({name:"Drawer",components:{ClientOnly:Ve,ArcoButton:be,IconHover:Pe,IconClose:Oe},inheritAttrs:!1,props:{visible:{type:Boolean,default:!1},defaultVisible:{type:Boolean,default:!1},placement:{type:String,default:"right",validator:e=>vo.includes(e)},title:String,mask:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},closable:{type:Boolean,default:!0},okText:String,cancelText:String,okLoading:{type:Boolean,default:!1},okButtonProps:{type:Object},cancelButtonProps:{type:Object},unmountOnClose:Boolean,width:{type:[Number,String],default:250},height:{type:[Number,String],default:250},popupContainer:{type:[String,Object],default:"body"},drawerStyle:{type:Object},onBeforeOk:{type:Function},onBeforeCancel:{type:Function},escToClose:{type:Boolean,default:!0},renderToBody:{type:Boolean,default:!0},header:{type:Boolean,default:!0},footer:{type:Boolean,default:!0},hideCancel:{type:Boolean,default:!1}},emits:{"update:visible":e=>!0,ok:e=>!0,cancel:e=>!0,open:()=>!0,close:()=>!0,beforeOpen:()=>!0,beforeClose:()=>!0},setup(e,{emit:o}){const{popupContainer:a}=Be(e),c=$e("drawer"),{t:y}=Se(),l=V(e.defaultVisible),s=R(()=>{var d;return(d=e.visible)!=null?d:l.value}),t=V(!1),B=R(()=>e.okLoading||t.value),{teleportContainer:m,containerRef:b}=Te({popupContainer:a,visible:s}),_=V(s.value);let h=!1;const p=d=>{e.escToClose&&d.key===uo.ESC&&q()&&E(d)},n=()=>{e.escToClose&&!h&&(h=!0,De(document.documentElement,"keydown",p))},A=()=>{h&&(h=!1,Ae(document.documentElement,"keydown",p))},{zIndex:M,isLastDialog:q}=Ie("dialog",{visible:s}),G=R(()=>(b==null?void 0:b.value)===document.body);let $=0;const g=()=>{$++,t.value&&(t.value=!1),l.value=!1,o("update:visible",!1)},W=async d=>{const w=$,L=await new Promise(async J=>{var ae;if(D(e.onBeforeOk)){let k=e.onBeforeOk((le=!0)=>J(le));if((re(k)||!ie(k))&&(t.value=!0),re(k))try{k=(ae=await k)!=null?ae:!0}catch{k=!1}ie(k)&&J(k)}else J(!0)});w===$&&(L?(o("ok",d),g()):t.value&&(t.value=!1))},E=d=>{var w;let L=!0;D(e.onBeforeCancel)&&(L=(w=e.onBeforeCancel())!=null?w:!1),L&&(o("cancel",d),g())},H=d=>{e.maskClosable&&E(d)},Y=()=>{s.value&&o("open")},Z=()=>{s.value||(_.value=!1,r(),o("close"))},{setOverflowHidden:U,resetOverflow:r}=io(b);Ce(()=>{s.value&&(_.value=!0,U(),n())}),Ee(()=>{r(),A()}),Fe(s,d=>{l.value!==d&&(l.value=d),d?(o("beforeOpen"),_.value=!0,U(),n()):(o("beforeClose"),A())});const he=R(()=>{var d;const w=po({[e.placement]:0},(d=e.drawerStyle)!=null?d:{});return["right","left"].includes(e.placement)?w.width=se(e.width)?`${e.width}px`:e.width:w.height=se(e.height)?`${e.height}px`:e.height,w});return{prefixCls:c,style:he,t:y,mounted:_,computedVisible:s,mergedOkLoading:B,zIndex:M,handleOk:W,handleCancel:E,handleOpen:Y,handleClose:Z,handleMask:H,isFixed:G,teleportContainer:m}}});function bo(e,o,a,c,y,l){const s=x("icon-close"),t=x("icon-hover"),B=x("arco-button"),m=x("client-only");return u(),T(m,null,{default:f(()=>[(u(),T(we,{to:e.teleportContainer,disabled:!e.renderToBody},[!e.unmountOnClose||e.computedVisible||e.mounted?z((u(),v("div",Q({key:0,class:`${e.prefixCls}-container`,style:e.isFixed?{zIndex:e.zIndex}:{zIndex:"inherit",position:"absolute"}},e.$attrs),[i(ne,{name:"fade-drawer",appear:""},{default:f(()=>[e.mask?z((u(),v("div",{key:0,class:P(`${e.prefixCls}-mask`),onClick:o[0]||(o[0]=(...b)=>e.handleMask&&e.handleMask(...b))},null,2)),[[X,e.computedVisible]]):O("v-if",!0)]),_:1}),i(ne,{name:`slide-${e.placement}-drawer`,appear:"",onAfterEnter:e.handleOpen,onAfterLeave:e.handleClose},{default:f(()=>[z(C("div",{class:P(e.prefixCls),style:ke(e.style)},[e.header?(u(),v("div",{key:0,class:P(`${e.prefixCls}-header`)},[N(e.$slots,"header",{},()=>[e.$slots.title||e.title?(u(),v("div",{key:0,class:P(`${e.prefixCls}-title`)},[N(e.$slots,"title",{},()=>[I(F(e.title),1)])],2)):O("v-if",!0),e.closable?(u(),v("div",{key:1,tabindex:"-1",role:"button","aria-label":"Close",class:P(`${e.prefixCls}-close-btn`),onClick:o[1]||(o[1]=(...b)=>e.handleCancel&&e.handleCancel(...b))},[i(t,null,{default:f(()=>[i(s)]),_:1})],2)):O("v-if",!0)])],2)):O("v-if",!0),C("div",{class:P(`${e.prefixCls}-body`)},[N(e.$slots,"default")],2),e.footer?(u(),v("div",{key:1,class:P(`${e.prefixCls}-footer`)},[N(e.$slots,"footer",{},()=>[e.hideCancel?O("v-if",!0):(u(),T(B,Q({key:0},e.cancelButtonProps,{onClick:e.handleCancel}),{default:f(()=>[I(F(e.cancelText||e.t("drawer.cancelText")),1)]),_:1},16,["onClick"])),i(B,Q({type:"primary",loading:e.mergedOkLoading},e.okButtonProps,{onClick:e.handleOk}),{default:f(()=>[I(F(e.okText||e.t("drawer.okText")),1)]),_:1},16,["loading","onClick"])])],2)):O("v-if",!0)],6),[[X,e.computedVisible]])]),_:3},8,["name","onAfterEnter","onAfterLeave"])],16)),[[X,e.computedVisible||e.mounted]]):O("v-if",!0)],8,["to","disabled"]))]),_:3})}var K=ge(yo,[["render",bo]]),Co=Object.defineProperty,pe=Object.getOwnPropertySymbols,_o=Object.prototype.hasOwnProperty,ho=Object.prototype.propertyIsEnumerable,ve=(e,o,a)=>o in e?Co(e,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[o]=a,ee=(e,o)=>{for(var a in o||(o={}))_o.call(o,a)&&ve(e,a,o[a]);if(pe)for(var a of pe(o))ho.call(o,a)&&ve(e,a,o[a]);return e};const ye=(e,o)=>{let a=xe("drawer");const c=()=>{m.component&&(m.component.props.visible=!1),D(e.onOk)&&e.onOk()},y=()=>{m.component&&(m.component.props.visible=!1),D(e.onCancel)&&e.onCancel()},l=async()=>{await Re(),a&&(ue(null,a),document.body.removeChild(a)),a=null,D(e.onClose)&&e.onClose()},s=()=>{m.component&&(m.component.props.visible=!1)},t=b=>{m.component&&Object.entries(b).forEach(([_,h])=>{m.component.props[_]=h})},m=i(K,ee(ee(ee({},{visible:!0,renderToBody:!1,unmountOnClose:!0,onOk:c,onCancel:y,onClose:l}),Ne(e,["content","title","footer","visible","unmountOnClose","onOk","onCancel","onClose"])),{header:typeof e.header=="boolean"?e.header:void 0,footer:typeof e.footer=="boolean"?e.footer:void 0}),{default:j(e.content),header:typeof e.header!="boolean"?j(e.header):void 0,title:j(e.title),footer:typeof e.footer!="boolean"?j(e.footer):void 0});return(o??oe._context)&&(m.appContext=o??oe._context),ue(m,a),document.body.appendChild(a),{close:s,update:t}},oe=Object.assign(K,{open:ye,install:(e,o)=>{Ue(e,o);const a=Le(o);e.component(a+K.name,K);const c={open:(y,l=e._context)=>ye(y,l)};e.config.globalProperties.$drawer=c},_context:null}),go={key:0,class:"upload-inner"},wo={key:1,class:"upload-inner"},ko=["src"],Oo=te({__name:"index",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:o}){const a=o,c=V(!1),y=async()=>{if(!c.value)try{const l=await Ze();c.value=!0;const s=await Je(l.blob,l.name,l.size);a("update:modelValue",s.url)}finally{c.value=!1}};return(l,s)=>(u(),v("div",{class:P(["upload-card",{loading:c.value}]),onClick:y},[!l.modelValue&&!c.value?(u(),v("div",go,s[0]||(s[0]=[C("div",{class:"upload-icon i-basil:upload-outline"},null,-1),C("div",{class:"upload-text"},"点击上传",-1)]))):c.value?(u(),v("div",wo,s[1]||(s[1]=[C("div",{class:"upload-loading-icon i-svg-spinners:90-ring-with-bg"},null,-1),C("div",{class:"upload-text"},"上传中...",-1)]))):(u(),v("img",{key:2,src:l.modelValue,alt:"已上传图片",class:"upload-image"},null,8,ko))],2))}}),Po=_e(Oo,[["__scopeId","data-v-049ccb1e"]]),Vo={class:"editor-container"},Bo={class:"toolbar"},$o={key:0,class:"text-sm text-gray-500"},So=te({__name:"index",setup(e){const o=ze(),a=je(),c=Me(),y=V(null),l=V({init:!0,confirm:!1}),s=V(!1),t=V({forumPostId:"",title:"",content:"",cover:"",tags:[],companyId:a.userInfo.id,publishTime:"",summary:"",status:so.DRAFT});Ce(()=>{o.query.id&&(t.value.forumPostId=o.query.id,B())});function B(){ao({forumPostId:t.value.forumPostId}).then(p=>{t.value=p.data})}const m=async()=>{l.value.init=!0,t.value.summary=(y.value.getText()||"").slice(0,100),l.value.init=!1},b=async()=>t.value.title===""?(S.error("帖子标题不能为空!"),!1):t.value.content===""?(S.error("帖子内容不能为空!"),!1):t.value.summary===""?(S.error("帖子摘要不能为空!"),!1):t.value.status===null||t.value.status===void 0?(S.error("帖子类型不能为空"),!1):t.value.forumPostId===""?await _():await h(),_=async()=>{l.value.confirm=!0;try{const p=await lo(t.value);return t.value=p.data,S.success(p.message),!0}catch{return!1}finally{l.value.confirm=!1}},h=async()=>{l.value.confirm=!0;try{const p=await no(t.value);return t.value=p.data,S.success(p.message),!0}catch{return!1}finally{l.value.confirm=!1}};return(p,n)=>{const A=be,M=to,q=Qe,G=oo,$=eo,g=Ge,W=Xe,E=Po,H=Ye,Y=He,Z=We,U=oe;return u(),v(de,null,[C("div",Vo,[C("div",Bo,[z(C("input",{placeholder:"输入标题",class:"editor-title-input",maxlength:"100","onUpdate:modelValue":n[0]||(n[0]=r=>t.value.title=r)},null,512),[[Ke,t.value.title]]),i(M,null,{default:f(()=>[t.value.publishTime?(u(),v("div",$o,"更新于:"+F(t.value.publishTime),1)):O("",!0),i(A,{type:"primary",onClick:n[1]||(n[1]=r=>s.value=!s.value)},{default:f(()=>n[9]||(n[9]=[I("发布")])),_:1})]),_:1})]),i(q,{"show-direcotry":!0,modelValue:t.value.content,"onUpdate:modelValue":n[2]||(n[2]=r=>t.value.content=r),ref_key:"wangEditorRef",ref:y},null,8,["modelValue"])]),i(U,{visible:s.value,"onUpdate:visible":n[8]||(n[8]=r=>s.value=r),width:450,unmountOnClose:"","ok-text":"确认并发布",onBeforeOpen:m,"ok-loading":l.value.init||l.value.confirm,"on-before-ok":b},{title:f(()=>n[10]||(n[10]=[I("发布文章")])),default:f(()=>[l.value.init?(u(),T(G,{key:0,"in-container":!0})):(u(),T(Z,{key:1,model:t.value},{default:f(()=>[i(g,{field:"title",label:"文章标题","label-col-flex":"70px",required:""},{default:f(()=>[i($,{placeholder:"请输入文章标题","allow-clear":"","max-length":100,"auto-size":"","show-word-limit":"",modelValue:t.value.title,"onUpdate:modelValue":n[3]||(n[3]=r=>t.value.title=r)},null,8,["modelValue"])]),_:1}),i(g,{field:"tags",label:"标签","label-col-flex":"70px"},{default:f(()=>[i(W,{options:fe(c).propertyOptions.value,class:"sort-select",placeholder:"请选择标签",modelValue:t.value.tags,"onUpdate:modelValue":n[4]||(n[4]=r=>t.value.tags=r),multiple:""},null,8,["options","modelValue"])]),_:1}),i(g,{field:"cover",label:"文章封面","label-col-flex":"70px"},{default:f(()=>[i(E,{modelValue:t.value.cover,"onUpdate:modelValue":n[5]||(n[5]=r=>t.value.cover=r)},null,8,["modelValue"])]),_:1}),i(g,{field:"summary",label:"文章摘要","label-col-flex":"70px",required:""},{default:f(()=>[i($,{placeholder:"请输入文章摘要","allow-clear":"","max-length":100,"auto-size":"","show-word-limit":"",modelValue:t.value.summary,"onUpdate:modelValue":n[6]||(n[6]=r=>t.value.summary=r)},null,8,["modelValue"])]),_:1}),i(g,{field:"status",label:"状态","label-col-flex":"70px",required:""},{default:f(()=>[i(Y,{modelValue:t.value.status,"onUpdate:modelValue":n[7]||(n[7]=r=>t.value.status=r),placeholder:"请选择文章状态"},{default:f(()=>[(u(!0),v(de,null,qe(fe(ro),r=>(u(),T(H,{key:r.value,value:r.value},{default:f(()=>[I(F(r.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]))]),_:1},8,["visible","ok-loading"])],64)}}}),Xo=_e(So,[["__scopeId","data-v-f41381d0"]]);export{Xo as default};
|