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