543.1760179226541.js 11 KB

1
  1. (self["webpackChunkcimo"]=self["webpackChunkcimo"]||[]).push([[543],{253:function(){},322:function(e,t,o){"use strict";o.r(t),o.d(t,{default:function(){return O}});var a=o(4061),l=o(7695),r=o(3986);const n={class:"category-container"},s={class:"q-mb-lg"},i={class:"row items-center justify-between"},d={class:"col-auto"},c={class:"q-gutter-sm"},u={class:"col-auto"},p={class:"row items-center full-width"},v={class:"col"},m={class:"row items-center q-gutter-sm"},C={class:"text-weight-bold"},f=["href"],V={key:0,class:"text-caption text-grey-7 q-mt-xs"},N={class:"col-auto"},h={class:"q-gutter-xs"},g={class:"text-h6"},w={class:"q-mb-md"};var b=(0,a.defineComponent)({__name:"category",setup(e){const t=(0,a.ref)(!1),o=(0,a.ref)(!1),b=(0,a.ref)(!1),k=(0,a.ref)(!1),x=(0,a.ref)(""),y=(0,a.ref)([]),_=(0,a.ref)([]),R=(0,a.ref)(!1),q=(0,a.ref)(!1),E=(0,a.ref)(""),A=(0,a.ref)({}),I=(0,a.ref)(null),D=(0,a.ref)(null),S=(0,a.ref)(null),T=(0,a.computed)(()=>x.value?M(y.value,x.value):y.value),Q=(0,a.computed)(()=>{const e=U(y.value);return e.filter(e=>e.Id!==I.value?.Id)}),M=(e,t)=>e.reduce((e,o)=>{const a=o.Name.toLowerCase().includes(t.toLowerCase()),l=o.Children?M(o.Children,t):[];return(a||l.length>0)&&e.push({...o,Children:l}),e},[]),U=e=>{const t=[],o=e=>{e.forEach(e=>{t.push(e),e.Children&&o(e.Children)})};return o(e),t},O=(e,t)=>e.Name.toLowerCase().includes(t.toLowerCase()),B=async()=>{t.value=!0;const e=await r.A.get("/category/GetCategories");e?.Data&&(y.value=e.Data,0===_.value.length&&(_.value=y.value.map(e=>e.Id))),t.value=!1},L=()=>{const e=[],t=o=>{o.forEach(o=>{e.push(o.Id),o.Children&&t(o.Children)})};t(y.value),_.value=e},j=()=>{k.value=!k.value,k.value?L():_.value=[]},P=e=>{_.value=e},z=()=>{A.value={Name:"",Description:"",ParentId:null},E.value="添加根分类",R.value=!0},$=e=>{A.value={Name:"",Description:"",ParentId:e.Id},E.value=`添加子分类到 "${e.Name}"`,R.value=!0},F=e=>{A.value={...e},E.value="编辑分类",R.value=!0},G=()=>{R.value=!1,A.value={}},H=async()=>{if(!A.value.Name?.trim())return void l.oR.error("请输入分类名称",{autoClose:2e3,position:"top-center"});o.value=!0;const e=await r.A.post("/category/save",A.value);l.oR.success(e?.Message||"操作成功",{autoClose:2e3,position:"top-center"}),R.value=!1,A.value={},await B(),o.value=!1},J=async e=>{1!==e.Id?(I.value=e,D.value=null,q.value=!0):l.oR.error("默认分类不能被删除!",{autoClose:2e3,position:"top-center"})},K=()=>{q.value=!1,I.value=null,D.value=null},W=async()=>{if(!D.value)return void l.oR.error("请选择一个分类",{autoClose:2e3,position:"top-center"});if(1===I.value?.Id)return void l.oR.error("默认分类不能被删除!",{autoClose:2e3,position:"top-center"});b.value=!0;const e=`/category/delete?id=${I.value?.Id}&cid=${D.value}`,t=await r.A.post(e);l.oR.success(t?.Message||"删除成功",{autoClose:2e3,position:"top-center"}),q.value=!1,I.value=null,D.value=null,await B(),b.value=!1};return(0,a.onMounted)(()=>{B()}),(e,l)=>{const r=(0,a.resolveComponent)("q-btn"),y=(0,a.resolveComponent)("q-icon"),M=(0,a.resolveComponent)("q-input"),U=(0,a.resolveComponent)("q-tooltip"),X=(0,a.resolveComponent)("q-tree"),Y=(0,a.resolveComponent)("q-card-section"),Z=(0,a.resolveComponent)("q-card"),ee=(0,a.resolveComponent)("q-form"),te=(0,a.resolveComponent)("q-card-actions"),oe=(0,a.resolveComponent)("q-dialog"),ae=(0,a.resolveComponent)("q-select");return(0,a.openBlock)(),(0,a.createElementBlock)("div",n,[l[14]||(l[14]=(0,a.createElementVNode)("div",{class:"text-h4 q-mb-lg"},"分类管理",-1)),(0,a.createElementVNode)("div",s,[(0,a.createElementVNode)("div",i,[(0,a.createElementVNode)("div",d,[(0,a.createElementVNode)("div",c,[(0,a.createVNode)(r,{color:"positive",icon:"add",label:"新增分类",onClick:z}),(0,a.createVNode)(r,{color:"info",icon:"unfold_more",label:k.value?"收起全部":"展开全部",onClick:j},null,8,["label"]),(0,a.createVNode)(r,{color:"primary",icon:"refresh",label:"刷新",onClick:B,loading:t.value},null,8,["loading"])])]),(0,a.createElementVNode)("div",u,[(0,a.createVNode)(M,{modelValue:x.value,"onUpdate:modelValue":[l[0]||(l[0]=e=>x.value=e),L],outlined:"",dense:"",placeholder:"搜索分类名称",debounce:"100"},{prepend:(0,a.withCtx)(()=>[(0,a.createVNode)(y,{name:"search"})]),_:1},8,["modelValue"])])])]),(0,a.createVNode)(Z,null,{default:(0,a.withCtx)(()=>[(0,a.createVNode)(Y,null,{default:(0,a.withCtx)(()=>[(0,a.createVNode)(X,{ref_key:"treeRef",ref:S,nodes:T.value,"node-key":"Id","label-key":"Name","children-key":"Children",expanded:_.value,"onUpdate:expanded":[l[1]||(l[1]=e=>_.value=e),P],filter:x.value,"filter-method":O,"no-connectors":""},{"default-header":(0,a.withCtx)(e=>[(0,a.createElementVNode)("div",p,[(0,a.createElementVNode)("div",v,[(0,a.createElementVNode)("div",m,[(0,a.createElementVNode)("div",C,[(0,a.createElementVNode)("a",{href:`/cat/${e.node.Id}`,target:"_blank",class:"text-primary"},(0,a.toDisplayString)(e.node.Id)+":"+(0,a.toDisplayString)(e.node.Name),9,f)])]),e.node.Description?((0,a.openBlock)(),(0,a.createElementBlock)("div",V,(0,a.toDisplayString)(e.node.Description),1)):(0,a.createCommentVNode)("",!0)]),(0,a.createElementVNode)("div",N,[(0,a.createElementVNode)("div",h,[(0,a.createVNode)(r,{size:"sm",color:"primary",icon:"add",dense:"",round:"",onClick:(0,a.withModifiers)(t=>$(e.node),["stop"])},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(U,null,{default:(0,a.withCtx)(()=>[...l[7]||(l[7]=[(0,a.createTextVNode)("添加子分类",-1)])]),_:1})]),_:1},8,["onClick"]),(0,a.createVNode)(r,{size:"sm",color:"info",icon:"edit",dense:"",round:"",onClick:(0,a.withModifiers)(t=>F(e.node),["stop"])},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(U,null,{default:(0,a.withCtx)(()=>[...l[8]||(l[8]=[(0,a.createTextVNode)("编辑分类",-1)])]),_:1})]),_:1},8,["onClick"]),(0,a.createVNode)(r,{size:"sm",color:"negative",icon:"delete",dense:"",round:"",onClick:(0,a.withModifiers)(t=>J(e.node),["stop"]),disable:1===e.node.Id},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(U,null,{default:(0,a.withCtx)(()=>[...l[9]||(l[9]=[(0,a.createTextVNode)("删除分类",-1)])]),_:1})]),_:1},8,["onClick","disable"])])])])]),_:1},8,["nodes","expanded","filter"])]),_:1})]),_:1}),(0,a.createVNode)(oe,{modelValue:R.value,"onUpdate:modelValue":l[4]||(l[4]=e=>R.value=e),persistent:""},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(Z,{style:{"min-width":"500px"}},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(Y,null,{default:(0,a.withCtx)(()=>[(0,a.createElementVNode)("div",g,(0,a.toDisplayString)(E.value),1)]),_:1}),(0,a.createVNode)(Y,{class:"q-pt-none"},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(ee,{onSubmit:H,class:"q-gutter-md"},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(M,{modelValue:A.value.Name,"onUpdate:modelValue":l[2]||(l[2]=e=>A.value.Name=e),label:"分类名称",outlined:"",dense:"",rules:[e=>!!e||"请输入分类名称"],"lazy-rules":""},null,8,["modelValue","rules"]),(0,a.createVNode)(M,{modelValue:A.value.Description,"onUpdate:modelValue":l[3]||(l[3]=e=>A.value.Description=e),label:"分类描述",outlined:"",dense:"",type:"textarea",rows:"3"},null,8,["modelValue"])]),_:1})]),_:1}),(0,a.createVNode)(te,{align:"right"},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(r,{flat:"",label:"取消",color:"grey",onClick:G}),(0,a.createVNode)(r,{label:"确认",color:"primary",onClick:H,loading:o.value},null,8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),(0,a.createVNode)(oe,{modelValue:q.value,"onUpdate:modelValue":l[6]||(l[6]=e=>q.value=e),persistent:""},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(Z,{style:{"min-width":"500px"}},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(Y,null,{default:(0,a.withCtx)(()=>[...l[10]||(l[10]=[(0,a.createElementVNode)("div",{class:"text-h6"},"删除分类",-1)])]),_:1}),(0,a.createVNode)(Y,{class:"q-pt-none"},{default:(0,a.withCtx)(()=>[(0,a.createElementVNode)("div",w,[l[11]||(l[11]=(0,a.createTextVNode)(" 确定要删除分类 ",-1)),(0,a.createElementVNode)("strong",null,(0,a.toDisplayString)(I.value?.Name),1),l[12]||(l[12]=(0,a.createTextVNode)(" 吗? ",-1))]),l[13]||(l[13]=(0,a.createElementVNode)("div",{class:"q-mb-md"}," 删除后将该分类下的所有文章移动到: ",-1)),(0,a.createVNode)(ae,{modelValue:D.value,"onUpdate:modelValue":l[5]||(l[5]=e=>D.value=e),options:Q.value,"option-label":"Name","option-value":"Id","emit-value":"","map-options":"",outlined:"",dense:"",label:"选择目标分类",rules:[e=>!!e||"请选择一个分类"]},null,8,["modelValue","options","rules"])]),_:1}),(0,a.createVNode)(te,{align:"right"},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(r,{flat:"",label:"取消",color:"grey",onClick:K}),(0,a.createVNode)(r,{label:"确认删除",color:"negative",onClick:W,loading:b.value},null,8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),k=o(1317),x=o(407),y=o(8622),_=o(4503),R=o(3663),q=o(7180),E=o(6455),A=o(6997),I=o(1375),D=o(3483),S=o(1248),T=o(975),Q=o(2110),M=o.n(Q);const U=(0,k.A)(b,[["__scopeId","data-v-5bfb2c14"]]);var O=U;M()(b,"components",{QBtn:x.A,QInput:y.A,QIcon:_.A,QCard:R.A,QCardSection:q.A,QTree:E.A,QTooltip:A.A,QDialog:I.A,QForm:D.A,QCardActions:S.A,QSelect:T.A})},3986:function(e,t,o){"use strict";var a=o(3719),l=o.n(a),r=o(7454),n=o.n(r),s=o(6661),i=o(7695);const d=l().create({baseURL:s.c.baseURL,timeout:s.c.timeOut});d.interceptors.request.use(e=>{const t=sessionStorage.getItem("access_token");if(t&&(e.headers.Authorization="Bearer "+t),e.type)switch(e.type){case"FORM-DATA":e.transformRequest=[e=>"args="+JSON.stringify(e)];break;case"FORM":e.headers["Content-Type"]="application/x-www-form-urlencoded",e.data=n().stringify(e.data);break;default:break}return e},e=>Promise.reject(e)),d.interceptors.response.use(e=>("object"==typeof e.data&&Object.keys(e.data).includes("Success")&&!0!==e.data.Success&&i.oR.error(e.data.Message||`请求失败:${e.request.responseURL}`,{autoClose:3e3,position:"top-center"}),e.data),e=>{if("ECONNABORTED"===e.code||e.message&&-1!==e.message.indexOf("timeout")||"Network Error"===e.message)return i.oR.error("网络异常",{autoClose:3e3,position:"top-center"}),Promise.reject(e);if(e.response)switch(e.response.status){case 400:i.oR.error("请求错误:"+e.response.data.Message||0,{autoClose:3e3,position:"top-center"});break;case 403:i.oR.error("拒绝访问(403)",{autoClose:3e3,position:"top-center"});break;case 404:i.oR.error("资源不存在(404)",{autoClose:3e3,position:"top-center"});break;case 408:i.oR.error("请求超时(408)",{autoClose:3e3,position:"top-center"});break;case 500:i.oR.error("服务器错误(500)",{autoClose:3e3,position:"top-center"});break;case 501:i.oR.error("服务未实现(501)",{autoClose:3e3,position:"top-center"});break;case 502:i.oR.error("网络错误(502)",{autoClose:3e3,position:"top-center"});break;case 503:i.oR.error("服务不可用(503)",{autoClose:3e3,position:"top-center"});break;case 504:i.oR.error("网络超时(504)",{autoClose:3e3,position:"top-center"});break;case 505:i.oR.error("HTTP版本不受支持(505)",{autoClose:3e3,position:"top-center"});break;default:break}return Promise.reject(e)}),t.A=d}}]);