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