1 |
- import{a4 as U,B,A as j,C as L,bb as N,q as w,t as c,S as H,r as h,aN as b,bc as x,I}from"./index.3cfc1991.js";import{T as _}from"./index.4bc4719f.js";import{r as T}from"./responseHandle.ebccd6a2.js";import{u as k}from"./hooks.16bb416e.js";import{u as z}from"./use-response-handle.10279181.js";const E={contentConfig:{type:Object,required:!0},pageSize:{type:Number,default:15}},q={config:{type:Object}},D={update:"httpUpdate",create:"httpAdd",delete:"httpDelete",status:"httpStatus"};function V(e){const t=Object.keys(D),n={};return t.forEach(a=>{n[a]=!!e[D[a]]}),n}function A(e,t){return{config:{api:t[D[e]]}}}function F({pagination:e,basicParams:t}){if(!e)return t;const{currentPage:n,pageSize:a}=e;return{page:n,size:a,...t}}function M(e,{onSearch:t}){const{pageSize:n,contentConfig:a}=e;if(a.notPagination)return{};const r=U({total:0,pageSize:n,currentPage:1,background:!0});async function f(p){r.currentPage=p,await t()}async function s(p){r.pageSize=p,r.currentPage=1,await t()}function l(){return r}function m(p,C){r[p]=C}return{onSizeChange:s,onCurrentChange:f,pagination:r,getPagination:l,changePagination:m}}function Q(){const e=B({});function t(a={}){e.value=a}function n(){return e.value}return{changeBasicParams:t,getBasicParams:n}}function G(e){const{logout:t}=j(),n=B(!1),a=B([]),r=B(!e.contentConfig.notReuqiredInit),{getBasicParams:f,changeBasicParams:s}=Q(),l=M(e,{onSearch:C}),{changePagination:m,getPagination:p}=l;async function C(){const{contentConfig:y}=e,{apis:o,isTree:g,mockData:d}=y;if(!r.value)return r.value=!0;n.value=!0;const{code:P,data:i,message:u}=await o.httpList(F({pagination:p?p():{},basicParams:f()}));T({code:P,message:u,logout:t,handler:()=>{const v=Array.isArray(i)?i:i.list;a.value=g?N(v!=null?v:[]):v,d&&(a.value=d),m("total",i.count)}}),n.value=!1}function O(y={}){m&&m("currentPage",1),s&&s(y),C()}async function R(y,o={},g){const{contentConfig:d}=e,{apis:P}=d,i=D[y];n.value=!0;const{code:u,message:v}=await P[i](o);g&&g(),T({code:u,message:v,logout:t,handler:()=>C()}),n.value=!1}return L(()=>C()),{loading:n,dataList:a,onBeforeAction:R,paginationConfig:l,getPageData:O,onSearch:C}}const J=w({name:"ActionCreate",emits:["create"],setup(e,{emit:t}){return()=>c(h("el-button"),{onClick:()=>t("create"),icon:k("add"),type:"primary"},{default:()=>[H("\u65B0\u589E")]})}}),K=w({name:"ActionDelete",props:{...q,row:{type:Object,required:!0},prop:{type:String}},emits:["reload"],setup(e,{emit:t}){const n=z();async function a(){const{config:r,row:f,prop:s}=e,{code:l,message:m}=await r.api({...s?{[s]:f[s]}:{id:f.id}});n({code:l,message:m,handler:()=>t("reload")})}return()=>c(h("el-popconfirm"),{title:"\u662F\u5426\u786E\u8BA4\u5220\u9664",placement:"top",onConfirm:a},{reference:()=>c(h("el-button"),{class:"reset-margin",link:!0,type:"primary",icon:k("delete")},null)})}}),W=w({name:"ActionUpdate",props:q,emits:["update"],setup(e,{emit:t}){return()=>c(h("el-button"),{class:"reset-margin",onClick:()=>t("update"),link:!0,type:"primary",icon:k("edits")},null)}}),X=w({name:"ActionCreate",emits:["preview"],setup(e,{emit:t}){return()=>c(h("el-button"),{class:"reset-margin",link:!0,type:"primary",onClick:()=>t("preview"),icon:k("eye-view")},null)}}),Y=w({name:"ActionDelete",props:{...q,row:{type:Object,required:!0},prop:{type:String}},emits:["reload"],setup(e,{emit:t}){const n=z();async function a(){const{config:r,row:f}=e,{status:s,id:l}=f,m=String(s)==="1"?"0":"1",{code:p,message:C}=await r.api({...e.prop?{[e.prop]:f[e.prop]}:{id:l},status:m});n({code:p,message:C,handler:()=>t("reload")})}return()=>c(h("el-popconfirm"),{title:String(e.row.status)==="1"?"\u6539\u4E3A\u7981\u7528\uFF1F":"\u6539\u4E3A\u542F\u7528\uFF1F",onConfirm:a},{reference:()=>c(h("el-button"),{class:"reset-margin",link:!0,type:"primary",icon:k(e.row.status==="1"?"close-circle-line":"checkbox-circle-line")},null)})}}),S={Create:J,Update:W,Delete:K,Preview:X,Status:Y},ae=w({name:"PageContent",props:E,emits:["createBtnClick","updateBtnClick","previewBtnClick","statusBtnClick","selectionChange"],setup(e,{expose:t,emit:n,slots:a}){const r=V(e.contentConfig.apis),{loading:f,dataList:s,onSearch:l,getPageData:m,onBeforeAction:p,paginationConfig:C}=G(e);function O(o){n("selectionChange",o)}function R(o){const{contentConfig:g}=e,{apis:d,notPreview:P,powers:i}=g;return c(I,null,[a.custom&&a.custom(o),!P&&i.some(u=>u=="007")&&c(S.Preview,{onPreview:()=>n("previewBtnClick",o)},null),r.update&&i.some(u=>u=="005")&&c(S.Update,b({onUpdate:()=>n("updateBtnClick",o)},A("update",d)),null),r.status&&(i.some(u=>u=="003")&&o.status+""=="0"||i.some(u=>u=="004")&&o.status+""=="1")&&c(S.Status,b({row:o,prop:g.statusProp,onReload:()=>l()},A("status",d)),null),r.delete&&i.some(u=>u=="006")&&c(S.Delete,b({row:o,prop:g.deleteProp,onReload:()=>l()},A("delete",d)),null)])}function y(o,g){const{contentConfig:d}=e,{columns:P}=d;return c(x,b({border:!0,align:"left",showOverflowTooltip:!0,"table-layout":"auto",size:o,data:s.value,columns:P,checkList:g,paginationSmall:o==="small",headerCellStyle:{background:"#fafafa",color:"#606266"},onSelectionChange:O},C),{operation:({row:i})=>R(i)})}return t({getPageData:m,onBeforeAction:p}),()=>{const{contentConfig:o}=e,{title:g,powers:d}=o;return c(_,{title:g,dataList:s.value,onRefresh:l,loading:f.value},{buttons:()=>a.create&&a.create()||r.create&&d.some(P=>P=="002")&&c(S.Create,b(A("create",o.apis),{onCreate:()=>n("createBtnClick")}),null),default:({size:P,checkList:i})=>y(P,i)})}}});export{ae as P};
|