page-content.28283dd3.js 7.6 KB

1
  1. import{a4 as $,B as b,A as F,C as H,bp as M,q as A,t as s,S as z,r as w,aG as B,aH as K,aC as Y,bq as j,aL as X,aD as G,br as J,aK as Q,aJ as W,bs as Z,D as ee,aY as O,bt as te,I as ne}from"./index.f1f72fab.js";import{T as ae}from"./index.e06d2700.js";import{r as U}from"./responseHandle.e1b4a6cf.js";import{u as T}from"./hooks.56104ccd.js";import{u as N,a as V}from"./use-response-handle.848983a0.js";const oe={contentConfig:{type:Object,required:!0},pageSize:{type:Number,default:15}},L={config:{type:Object}},_={update:"httpUpdate",create:"httpAdd",delete:"httpDelete",status:"httpStatus"};function re(e){const n=Object.keys(_),o={};return n.forEach(r=>{o[r]=!!e[_[r]]}),o}function R(e,n){return{config:{api:n[_[e]]}}}function se({pagination:e,basicParams:n}){if(!e)return n;const{currentPage:o,pageSize:r}=e;return{page:o,size:r,...n}}function ie(e,{onSearch:n}){const{pageSize:o,contentConfig:r}=e;if(r.notPagination)return{};const a=$({total:0,pageSize:o,currentPage:1,background:!0});async function p(g){a.currentPage=g,await n()}async function l(g){a.pageSize=g,a.currentPage=1,await n()}function d(){return a}function C(g,y){a[g]=y}return{onSizeChange:l,onCurrentChange:p,pagination:a,getPagination:d,changePagination:C}}function ce(){const e=b({});function n(r={}){e.value=r}function o(){return e.value}return{changeBasicParams:n,getBasicParams:o}}function ue(e){const{logout:n}=F(),{contentConfig:o}=e,{mockData:r}=o,a=b(!1),p=b(r||[]),l=b(!e.contentConfig.notReuqiredInit),{getBasicParams:d,changeBasicParams:C}=ce(),g=ie(e,{onSearch:P}),{changePagination:y,getPagination:k}=g;async function P(){const{contentConfig:c}=e,{apis:m,isTree:f,mockData:v}=c;if(!l.value||v)return l.value=!0;a.value=!0;const{code:h,data:i,message:q}=await m.httpList(se({pagination:k?k():{},basicParams:d()}));U({code:h,message:q,logout:n,handler:()=>{const S=Array.isArray(i)?i:i.list;p.value=f?M(S!=null?S:[]):S,y("total",i.count)}}),a.value=!1}function u(c={}){y&&y("currentPage",1),C&&C(c),P()}async function t(c,m={},f){const{contentConfig:v}=e,{apis:h}=v,i=_[c];a.value=!0;const{code:q,message:S}=await h[i](m);f&&f(),U({code:q,message:S,logout:n,handler:()=>P()}),a.value=!1}return H(()=>P()),{loading:a,dataList:p,onBeforeAction:t,paginationConfig:g,getPageData:u,onSearch:P}}const le=A({name:"ActionCreate",emits:["create"],setup(e,{emit:n}){return()=>s(w("el-button"),{onClick:()=>n("create"),icon:T("add"),type:"primary"},{default:()=>[z("\u65B0\u589E")]})}}),de=A({name:"ActionDelete",props:{...L,row:{type:Object,required:!0},prop:{type:String}},emits:["reload"],setup(e,{emit:n}){const o=N();async function r(){const{config:a,row:p,prop:l}=e,{code:d,message:C}=await a.api({...l?{[l]:p[l]}:{id:p.id}});o({code:d,message:C,handler:()=>n("reload")})}return()=>s(w("el-popconfirm"),{title:"\u662F\u5426\u786E\u8BA4\u5220\u9664",placement:"top",onConfirm:r},{reference:()=>s(w("el-button"),{class:"reset-margin",link:!0,type:"primary",icon:T("delete")},null)})}}),pe=A({name:"ActionUpdate",props:L,emits:["update"],setup(e,{emit:n}){return()=>s(w("el-button"),{class:"reset-margin",onClick:()=>n("update"),link:!0,type:"primary",icon:T("edits")},null)}}),ge=A({name:"ActionCreate",emits:["preview"],setup(e,{emit:n}){return()=>s(w("el-button"),{class:"reset-margin",link:!0,type:"primary",onClick:()=>n("preview"),icon:T("eye-view")},null)}}),fe=A({name:"ActionDelete",props:{...L,row:{type:Object,required:!0},prop:{type:String}},emits:["reload"],setup(e,{emit:n}){const o=N();async function r(){const{config:a,row:p}=e,{status:l,id:d}=p,C=String(l)==="1"?"0":"1",{code:g,message:y}=await a.api({...e.prop?{[e.prop]:p[e.prop]}:{id:d},status:C});o({code:g,message:y,handler:()=>n("reload")})}return()=>s(w("el-popconfirm"),{title:String(e.row.status)==="1"?"\u6539\u4E3A\u7981\u7528\uFF1F":"\u6539\u4E3A\u542F\u7528\uFF1F",onConfirm:r},{reference:()=>s(w("el-button"),{class:"reset-margin",link:!0,type:"primary",icon:T(e.row.status==="1"?"close-circle-line":"checkbox-circle-line")},null)})}}),{VITE_PROXY_DOMAIN_REAL:Se,VITE_PROXY_USER_REAL:me}=K(),E=me+"/admin/",ve=e=>B.request("post",`${E}taglist`,{data:e}),De=e=>B.request("post",`${E}tagadd`,{data:e}),Be=e=>B.request("post",`${E}tagedit`,{data:e}),Te=e=>B.request("post",`${E}tagstatus`,{data:e}),Ee=e=>B.request("post",`${E}tagdel`,{data:e}),Ce=e=>B.request("post",`${E}addtag`,{data:e});function x(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!X(e)}const I={tag_id:"",code:""},ye={tagProps:{type:Object},row:{type:Object}},Pe=A({name:"ActionTag",props:ye,emits:["reload"],setup(e,{emit:n}){const o=b(!1),r=b(null),a=b({...I}),{data:p,run:l,loading:d}=V({initalData:[],isList:!0}),C=u=>{if(!u)return;const{tagProps:t}=e,{type:c}=t;l(ve({type:c,tag_name:u}))},{run:g,loading:y}=V({success:()=>{o.value=!1,n("reload")}}),k=()=>{r.value.validate(u=>{if(!u)return;const{tag_id:t}=a.value,{row:c,tagProps:m}=e,{prop:f}=m;g(Ce({tag_id:t,code:c[f]}))})};function P(){let u;return s(Z,{title:"\u6DFB\u52A0\u6807\u7B7E",appendToBody:!0,center:!0,modelValue:o.value,"onUpdate:modelValue":t=>o.value=t},{default:()=>[s(G,{model:a.value,ref:r},{default:()=>[s(J,{prop:"tag_id",label:"\u6807\u7B7E\u540D:",rules:[{message:"\u8BF7\u9009\u62E9\u6807\u7B7E\u540D",required:!0,trigger:"change"}]},{default:()=>[s(Q,{class:"w-full",modelValue:a.value.tag_id,"onUpdate:modelValue":t=>a.value.tag_id=t,loading:d.value,remoteMethod:C,placeholder:"\u8BF7\u9009\u62E9\u6807\u7B7E\u540D",filterable:!0,remote:!0},x(u=p.value.map(t=>s(W,{key:t.id,label:t.tag_name,value:t.id},null)))?u:{default:()=>[u]})]}),s("div",{class:"w-full flex justify-end flex-end"},[s(j,{type:"primary",onClick:()=>k(),loading:y.value},{default:()=>[z("\u6DFB\u52A0")]})])]})]})}return Y(()=>{o.value&&(a.value={...I}),ee(()=>r.value&&r.value.clearValidate())}),()=>{let u;return s(j,{link:!0,class:"reset-margin",type:"primary",onClick:()=>o.value=!0,icon:T("add")},x(u=P())?u:{default:()=>[u]})}}}),D={Create:le,Update:pe,Delete:de,Preview:ge,Status:fe,Tag:Pe};const Oe=A({name:"PageContent",props:oe,emits:["createBtnClick","updateBtnClick","previewBtnClick","statusBtnClick","selectionChange"],setup(e,{expose:n,emit:o,slots:r}){const a=re(e.contentConfig.apis),{loading:p,dataList:l,onSearch:d,getPageData:C,onBeforeAction:g,paginationConfig:y}=ue(e);function k(t){o("selectionChange",t)}function P(t){const{contentConfig:c}=e,{apis:m,notPreview:f,powers:v,tagProps:h}=c;return s(ne,null,[r.custom&&r.custom(t),!f&&v.some(i=>i=="007")&&s(D.Preview,{onPreview:()=>o("previewBtnClick",t)},null),h&&s(D.Tag,{row:t,tagProps:h,onReload:()=>d()},null),a.update&&v.some(i=>i=="005")&&s(D.Update,O({onUpdate:()=>o("updateBtnClick",t)},R("update",m)),null),a.status&&(v.some(i=>i=="003")&&t.status+""=="0"||v.some(i=>i=="004")&&t.status+""=="1")&&s(D.Status,O({row:t,prop:c.statusProp,onReload:()=>d()},R("status",m)),null),a.delete&&v.some(i=>i=="006")&&s(D.Delete,O({row:t,prop:c.deleteProp,onReload:()=>d()},R("delete",m)),null)])}function u(t,c){const{contentConfig:m}=e,{columns:f,treeProps:v,rowKey:h}=m;return s(te,O({border:!0,align:"left",defaultExp:!0,showOverflowTooltip:!0,defaultExpandAll:!0,"table-layout":"auto",size:t,rowKey:h,columns:f,treeProps:v,data:l.value,checkList:c,paginationSmall:t==="small",headerCellStyle:{background:"#fafafa",color:"#606266"},onSelectionChange:k},y),{operation:({row:i})=>P(i)})}return n({onSearch:d,getPageData:C,onBeforeAction:g}),()=>{const{contentConfig:t}=e,{title:c,powers:m}=t;return s(ae,{title:c,dataList:l.value,onRefresh:d,loading:p.value},{buttons:()=>r.create&&r.create()||a.create&&m.some(f=>f=="002")&&s(D.Create,O(R("create",t.apis),{onCreate:()=>o("createBtnClick")}),null),default:({size:f,checkList:v})=>u(f,v)})}}});export{Oe as P,De as a,Be as b,Te as c,Ee as d,ve as h};