page-content.d948a327.js 9.0 KB

1
  1. import{q as V,bf as N,t as c,o as i,n as A,B as L,F as B,u as k,x as C,w as p,D as _,v as S,z as T,y as F,b9 as D,S as J,bg as K,p as Q,_ as W,r as j,ak as I,a9 as X,bh as Y,a4 as Z,J as ee,K as te,bi as oe,bj as ae}from"./index.f47bb45b.js";import{T as ne}from"./index.ec081681.js";import{r as G}from"./responseHandle.420c64c5.js";import{u as z}from"./hooks.d7601f5e.js";import{u as $}from"./use-response-handle.a0fb8de0.js";const H={formItems:{type:Array,default:()=>[]},formGroup:{type:Array,default:()=>[]},itemStyle:{type:Object,default:()=>({paddingRight:"20px"})},disabled:{type:Boolean,default:!1},colLayout:{type:Object,default:()=>({xl:6,lg:8,md:12,sm:24,xs:24})},formData:{type:Object,required:!0}},M=V({__name:"form-items",props:H,setup(e){const t=N(e,"formData");return(a,n)=>{const m=c("el-input"),r=c("el-option"),s=c("el-select"),g=c("el-radio"),y=c("el-radio-group"),d=c("el-image"),U=c("el-upload"),O=c("el-checkbox"),w=c("el-checkbox-group"),f=c("el-date-picker"),b=c("el-form-item"),h=c("el-col");return i(!0),A(B,null,L(a.formItems,(o,P)=>(i(),A(B,{key:P},[o.isHidden?S("",!0):(i(),k(h,K(D({key:0},a.colLayout)),{default:C(()=>[p(b,{label:o.label,prop:o.field,rules:o.rules,"label-width":o.labelWidth,style:J(a.itemStyle)},{default:C(()=>[o.type==="input"?(i(),k(m,{key:0,modelValue:_(t)[o.field],"onUpdate:modelValue":u=>_(t)[o.field]=u,placeholder:o.placeholder},null,8,["modelValue","onUpdate:modelValue","placeholder"])):S("",!0),o.type==="select"?(i(),k(s,{key:1,modelValue:_(t)[o.field],"onUpdate:modelValue":u=>_(t)[o.field]=u,placeholder:o.placeholder},{default:C(()=>[(i(!0),A(B,null,L(o.options,(u,v)=>(i(),k(r,{key:v,label:u.label,value:u.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder"])):S("",!0),o.type==="radio"?(i(),k(y,{key:2,modelValue:_(t)[o.field],"onUpdate:modelValue":u=>_(t)[o.field]=u},{default:C(()=>[(i(!0),A(B,null,L(o.options,(u,v)=>(i(),k(g,{key:v,label:u.value},{default:C(()=>[T(F(u.label),1)]),_:2},1032,["label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):S("",!0),o.type==="img_preview"?(i(),k(d,{key:3,src:_(t)[o.field]},null,8,["src"])):S("",!0),o.type==="img_upload"?(i(),k(U,{key:4,class:"el-avatar"})):S("",!0),o.type==="checkbox"?(i(),k(w,{key:5,modelValue:_(t)[o.field],"onUpdate:modelValue":u=>_(t)[o.field]=u},{default:C(()=>[(i(!0),A(B,null,L(o.options,(u,v)=>(i(),k(O,{key:v,label:u.value},{default:C(()=>[T(F(u.label),1)]),_:2},1032,["label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):S("",!0),o.type==="date_picker"?(i(),k(f,D({key:6,modelValue:_(t)[o.field],"onUpdate:modelValue":u=>_(t)[o.field]=u},o.otherOptions),null,16,["modelValue","onUpdate:modelValue"])):S("",!0)]),_:2},1032,["label","prop","rules","label-width","style"])]),_:2},1040))],64))),128)}}}),le={class:"font-500 text-lg py-2"},re=V({__name:"group-form",props:H,setup(e){const t=N(e,"formData");return(a,n)=>{const m=c("el-col");return i(!0),A(B,null,L(a.formGroup,(r,s)=>(i(),A(B,{key:s},[p(m,{span:24},{default:C(()=>[Q("h1",le,F(r.title),1)]),_:2},1024),p(M,{"form-items":r.formItems,"form-data":_(t),"col-layout":a.colLayout},null,8,["form-items","form-data","col-layout"])],64))),128)}}});const se=V({__name:"basic-form",props:H,setup(e,{expose:l}){const t=e,a=j(null),n=N(t,"formData");function m(r){var s;(s=a.value)==null||s.validate(g=>{r&&r(g)})}return l({vaildate:m}),(r,s)=>{const g=c("el-form-item"),y=c("el-row");return i(),k(_(Y),{ref_key:"formRef",ref:a,modelValue:_(n),"onUpdate:modelValue":s[2]||(s[2]=d=>I(n)?n.value=d:null),model:_(n),disabled:r.disabled},{default:C(()=>[p(y,null,{default:C(()=>[r.formGroup.length?(i(),k(re,{key:1,"form-group":r.formGroup,"form-data":_(n),"onUpdate:form-data":s[1]||(s[1]=d=>I(n)?n.value=d:null),"col-layout":r.colLayout},null,8,["form-group","form-data","col-layout"])):(i(),k(M,{key:0,"form-items":r.formItems,"col-layout":r.colLayout,"form-data":_(n),"onUpdate:form-data":s[0]||(s[0]=d=>I(n)?n.value=d:null)},null,8,["form-items","col-layout","form-data"])),p(g,null,{default:C(()=>[X(r.$slots,"action",{},void 0,!0)]),_:3})]),_:3})]),_:3},8,["modelValue","model","disabled"])}}});var we=W(se,[["__scopeId","data-v-226e6332"]]);const ue={contentConfig:{type:Object,required:!0},pageSize:{type:Number,default:15}},E={config:{type:Object}},x={update:"httpUpdate",create:"httpAdd",delete:"httpDelete",status:"httpStatus"};function ce(e){const l=Object.keys(x),t={};return l.forEach(a=>{t[a]=!!e[x[a]]}),t}function q(e,l){return{config:{api:l[x[e]]}}}function ie({pagination:e,basicParams:l}){if(!e)return l;const{currentPage:t,pageSize:a}=e;return{page:t,size:a,...l}}function pe(e,{onSearch:l}){const{pageSize:t,contentConfig:a}=e;if(a.notPagination)return{};const n=Z({total:0,pageSize:t,currentPage:1,background:!0});async function m(y){n.currentPage=y,await l()}async function r(y){n.pageSize=y,n.currentPage=1,await l()}function s(){return n}function g(y,d){n[y]=d}return{onSizeChange:r,onCurrentChange:m,pagination:n,getPagination:s,changePagination:g}}function de(){const e=j({});function l(a={}){e.value=a}function t(){return e.value}return{changeBasicParams:l,getBasicParams:t}}function fe(e){const{logout:l}=ee(),t=j(!1),a=j([]),n=j(!e.contentConfig.notReuqiredInit),{getBasicParams:m,changeBasicParams:r}=de(),s=pe(e,{onSearch:d}),{changePagination:g,getPagination:y}=s;async function d(){const{contentConfig:w}=e,{apis:f,isTree:b,mockData:h}=w;if(!n.value)return n.value=!0;t.value=!0;const{code:o,data:P,message:u}=await f.httpList(ie({pagination:y?y():{},basicParams:m()}));G({code:o,message:u,logout:l,handler:()=>{const v=Array.isArray(P)?P:P.list;a.value=b?oe(v!=null?v:[]):v,h&&(a.value=h),g("total",P.count)}}),t.value=!1}function U(w={}){g&&g("currentPage",1),r&&r(w),d()}async function O(w,f={},b){const{contentConfig:h}=e,{apis:o}=h,P=x[w];t.value=!0;const{code:u,message:v}=await o[P](f);b&&b(),G({code:u,message:v,logout:l,handler:()=>d()}),t.value=!1}return te(()=>d()),{loading:t,dataList:a,onBeforeAction:O,paginationConfig:s,getPageData:U,onSearch:d}}const me=V({name:"ActionCreate",emits:["create"],setup(e,{emit:l}){return()=>p(c("el-button"),{onClick:()=>l("create"),icon:z("add"),type:"primary"},{default:()=>[T("\u65B0\u589E")]})}}),ge=V({name:"ActionDelete",props:{...E,row:{type:Object,required:!0},prop:{type:String}},emits:["reload"],setup(e,{emit:l}){const t=$();async function a(){const{config:n,row:m,prop:r}=e,{code:s,message:g}=await n.api({...r?{[r]:m[r]}:{id:m.id}});t({code:s,message:g,handler:()=>l("reload")})}return()=>p(c("el-popconfirm"),{title:"\u662F\u5426\u786E\u8BA4\u5220\u9664",placement:"top",onConfirm:a},{reference:()=>p(c("el-button"),{class:"reset-margin",link:!0,type:"primary",icon:z("delete")},null)})}}),_e=V({name:"ActionUpdate",props:E,emits:["update"],setup(e,{emit:l}){return()=>p(c("el-button"),{class:"reset-margin",onClick:()=>l("update"),link:!0,type:"primary",icon:z("edits")},null)}}),ye=V({name:"ActionCreate",emits:["preview"],setup(e,{emit:l}){return()=>p(c("el-button"),{class:"reset-margin",link:!0,type:"primary",onClick:()=>l("preview"),icon:z("eye-view")},null)}}),be=V({name:"ActionDelete",props:{...E,row:{type:Object,required:!0},prop:{type:String}},emits:["reload"],setup(e,{emit:l}){const t=$();async function a(){const{config:n,row:m}=e,{status:r,id:s}=m,g=String(r)==="1"?"0":"1",{code:y,message:d}=await n.api({...e.prop?{[e.prop]:m[e.prop]}:{id:s},status:g});t({code:y,message:d,handler:()=>l("reload")})}return()=>p(c("el-popconfirm"),{title:String(e.row.status)==="1"?"\u6539\u4E3A\u7981\u7528\uFF1F":"\u6539\u4E3A\u542F\u7528\uFF1F",onConfirm:a},{reference:()=>p(c("el-button"),{class:"reset-margin",link:!0,type:"primary",icon:z(e.row.status==="1"?"close-circle-line":"checkbox-circle-line")},null)})}}),R={Create:me,Update:_e,Delete:ge,Preview:ye,Status:be},Ve=V({name:"PageContent",props:ue,emits:["createBtnClick","updateBtnClick","previewBtnClick","statusBtnClick","selectionChange"],setup(e,{expose:l,emit:t,slots:a}){const n=ce(e.contentConfig.apis),{loading:m,dataList:r,onSearch:s,getPageData:g,onBeforeAction:y,paginationConfig:d}=fe(e);function U(f){t("selectionChange",f)}function O(f){const{contentConfig:b}=e,{apis:h,notPreview:o}=b;return p(B,null,[a.custom&&a.custom(f),!o&&p(R.Preview,{onPreview:()=>t("previewBtnClick",f)},null),n.update&&p(R.Update,D({onUpdate:()=>t("updateBtnClick",f)},q("update",h)),null),n.status&&p(R.Status,D({row:f,prop:b.statusProp,onReload:()=>s()},q("status",h)),null),n.delete&&p(R.Delete,D({row:f,prop:b.deleteProp,onReload:()=>s()},q("delete",h)),null)])}function w(f,b){const{contentConfig:h}=e,{columns:o}=h;return p(ae,D({border:!0,align:"left",showOverflowTooltip:!0,"table-layout":"auto",size:f,data:r.value,columns:o,checkList:b,paginationSmall:f==="small",headerCellStyle:{background:"#fafafa",color:"#606266"},onSelectionChange:U},d),{operation:({row:P})=>O(P)})}return l({getPageData:g,onBeforeAction:y}),()=>{const{contentConfig:f}=e,{title:b}=f;return p(ne,{title:b,dataList:r.value,onRefresh:s,loading:m.value},{buttons:()=>a.create&&a.create()||n.create&&p(R.Create,D(q("create",f.apis),{onCreate:()=>t("createBtnClick")}),null),default:({size:h,checkList:o})=>w(h,o)})}}});export{we as B,Ve as P};