| 1 |
- import{T as oe,b as w,bz as re,bA as se,s as ne,w as pe,e as ue,d as ie,bB as de,m as ce,o as q,E as Y,bC as fe,aA as he,p as me,A as ye,a1 as be,a2 as ge,n as J,k as ve,l as we,O as ke,q as Se}from"./index-CKIhG1T4.js";import{E as Ce}from"./el-tree-select-Jn0wedJD.js";import"./el-collapse-transition-l0sNRNKZ.js";import{_ as k}from"./lodash-D2MZWk6W.js";import{g as xe,u as Pe}from"./index-yM08Ttvf.js";import{E as Ne}from"./index-Dszus0mF.js";import{C as Ve,b as _e,a as y,w as je,f as H,$ as t,R as b,ak as h,Z as g,K as Te,V as Ee,as as Oe,J as Re,n as De}from"./spreadSheetsDesignerVue-MRUT1X_l.js";import"./spreadSheetsDesignerResourcesCn-afJmEehS.js";import"./spreadSheetsDesigner-vOnK2KEP.js";import"./spreadSheetsBarcode-0B8Cksr7.js";import"./spreadSheetsCharts-DpwtlVVO.js";import"./spreadExcelio-BZ-mA4Op.js";const M="_smartTableElFormStyle_10n7j_9";function D(o){return typeof o=="function"||Object.prototype.toString.call(o)==="[object Object]"&&!Re(o)}const Ae=Ve({name:"SmartTable",props:{dictList:{type:Array,default:()=>[]},columns:{type:Array,required:!0,default:()=>[]},loading:{type:Boolean,default:!1},data:{type:Array,default:()=>[]},tableSelectList:{type:Array,default:()=>[]},buttons:{type:Array,default:()=>[]},tableProps:{type:Object,default:()=>({})},treeProps:{type:Object,default:()=>({children:"children",hasChildren:"hasChildren"})},pageNo:{type:Number,default:1},pageSize:{type:Number,default:10},total:{type:Number,default:10},pageSizes:{type:Array,default:()=>[50,100,200,300,400]},pagerCount:{type:Number,default:5},showRefresh:{type:Boolean,default:!0},showSettingTools:{type:Boolean,default:!1},useOnlineHeader:{type:Boolean,default:!1},isPagination:{type:Boolean,default:!0},useBorderLayout:{type:Boolean,default:!0}},emits:["onSelectRow","refresh","update:pageNo","update:pageSize","update:formData","onPageNoChange","onPageSizeChange","onSearch","onReset","update:columns","row-dblclick"],setup(o,{slots:d,emit:i,expose:$}){const _=pe(),A=oe(),u=_e({}),S=y(!1),E=y(),f=y([]);$({getTableRef:()=>E.value}),je(()=>[o.tableSelectList,o.data],()=>{o.tableSelectList.length===0&&(f.value=[]),o.tableSelectList.forEach(e=>{const s=o.data.find(l=>l.id===e.id);s&&De(()=>{var l;(l=E.value)==null||l.toggleRowSelection(s,!0)})})},{immediate:!0});const G=()=>{let e;const s=o.columns.filter(l=>!!k.has(l,"search")&&l.search).sort((l,a)=>{var p,c;return(((p=l.search)==null?void 0:p.sort)||0)-(((c=a.search)==null?void 0:c.sort)||0)});return s.length>0&&t(me,{model:u,inline:!0,onSubmit:l=>l.preventDefault(),className:M},{default:()=>[t("div",{class:"search-container"},[t(ue,{gutter:24},D(e=s.map((l,a)=>{let p;return t(ie,{span:l.search&&l.search.span?l.search.span:6},{default:()=>[t(de,null,{default:()=>{var c;return[S.value||a<4?t(ce,{label:l.label,prop:((c=l.search)==null?void 0:c.prop)||l.prop},D(p=Z(l))?p:{default:()=>[p]}):null]}})]})}))?e:{default:()=>[e]})]),t("div",{class:"form-operations",style:{display:"flex",justifyContent:"flex-end",paddingRight:"32px"}},[t(w,{type:"primary",onClick:v},{default:()=>[t(q,{icon:"ep:search",class:"mr-5px"},null),g("\u641C\u7D22")]}),t(w,{onClick:ee},{default:()=>[t(q,{icon:"ep:refresh",class:"mr-5px"},null),g("\u91CD\u7F6E")]}),s.length>4&&t(w,{link:!0,onClick:()=>S.value=!S.value},{default:()=>[S.value?t(Y,null,{default:()=>[t(fe,null,null)]}):t(Y,null,{default:()=>[t(he,null,null)]}),S.value?"\u6536\u8D77":"\u5C55\u5F00"]})])]})},Z=e=>{var s,l,a,p,c,N,V,T,U,L,K;if(!e.search)return null;switch(e.search.type){case"select":return t(we,b({modelValue:u[((s=e.search)==null?void 0:s.prop)||e.prop],"onUpdate:modelValue":r=>{var n;return u[((n=e.search)==null?void 0:n.prop)||e.prop]=r}},e.search.fieldProps,{onKeyup:r=>r.key==="Enter"&&v(r),clearable:!0,placeholder:((l=e.search.fieldProps)==null?void 0:l.placeholder)||"\u8BF7\u9009\u62E9"}),{default:()=>{var r;return[(r=e.search.options)==null?void 0:r.map(n=>t(ve,{label:n.label,value:n.value},null))]}});case"treeSelect":return t(Ce,b({modelValue:u[((a=e.search)==null?void 0:a.prop)||e.prop],"onUpdate:modelValue":r=>{var n;return u[((n=e.search)==null?void 0:n.prop)||e.prop]=r},data:e.search.options},e.search.fieldProps,{clearable:!0,onKeyup:r=>r.key==="Enter"&&v(r),placeholder:((p=e.search.fieldProps)==null?void 0:p.placeholder)||"\u8BF7\u9009\u62E9"}),null);case"date":return t(J,b(e.search.fieldProps,{modelValue:u[((c=e.search)==null?void 0:c.prop)||e.prop],"onUpdate:modelValue":r=>{var n;return u[((n=e.search)==null?void 0:n.prop)||e.prop]=r},clearable:!0,onKeyup:r=>r.key==="Enter"&&v(r),placeholder:((N=e.search.fieldProps)==null?void 0:N.placeholder)||"\u8BF7\u9009\u62E9"}),null);case"daterange":return t(J,{modelValue:u[((V=e.search)==null?void 0:V.prop)||e.prop],"onUpdate:modelValue":r=>{var n;return u[((n=e.search)==null?void 0:n.prop)||e.prop]=r},type:"daterange",clearable:!0,onKeyup:r=>r.key==="Enter"&&v(r),"start-placeholder":"\u5F00\u59CB\u65F6\u95F4","end-placeholder":"\u7ED3\u675F\u65F6\u95F4","value-format":"YYYY-MM-DD",placeholder:((T=e.search.fieldProps)==null?void 0:T.placeholder)||"\u8BF7\u9009\u62E9"},null);case"checkboxGroup":return t(ge,{modelValue:u[((U=e.search)==null?void 0:U.prop)||e.prop],"onUpdate:modelValue":r=>{var n;return u[((n=e.search)==null?void 0:n.prop)||e.prop]=r}},{default:()=>{var r;return[(r=e.search.options)==null?void 0:r.map(n=>t(be,{label:n.label,value:n.value},null))]}});default:return t(ye,b({modelValue:u[((L=e.search)==null?void 0:L.prop)||e.prop],"onUpdate:modelValue":r=>{var n;return u[((n=e.search)==null?void 0:n.prop)||e.prop]=r},placeholder:((K=e.search.fieldProps)==null?void 0:K.placeholder)||"\u8BF7\u8F93\u5165",clearable:!0,onKeyup:r=>r.key==="Enter"&&v(r)},e.search.fieldProps),null)}},C=y({}),B=async()=>{const e=await xe({pageSize:1,pageNo:1,userId:A.user.id,name:_.meta.title,type:_.path});C.value=e.list.length>0?e.list[0]:{}};o.useOnlineHeader&&B();const m=y([]),x=y(!1),j=y(!1),O=H(()=>{const e=k.has(C.value,"headerData")?JSON.parse(k.get(C.value,"headerData")):null;if(!e)return m.value=(o.columns||[]).filter(a=>a.type!=="selection"&&!a.hidden).map(a=>a.label),o.columns;const s=o.columns.filter(a=>a.type==="selection"||a.type==="index"),l=k.size(e)>0?[...s,...e.map(a=>{const p=o.columns.find(c=>c.label===a.label&&c.prop===a.prop);return p?{...p,...a}:{...a}})]:o.columns;return m.value=(l||[]).filter(a=>a.type!=="selection"&&!a.hidden).map(a=>a.label),l}),R=H(()=>{const e=O.value.filter(s=>s.type!=="selection").map(s=>s.label);return x.value=m.value.length===e.length,j.value=m.value.length>0&&!x.value,e}),Q=e=>{m.value=e?R.value:[],j.value=!1},W=e=>{const s=e.length;x.value=s===R.value.length,j.value=e.length>0},P=y(!1),X=()=>{P.value=!1},z=async()=>{var s;P.value=!1;const e=(O.value||[]).map(l=>l.type!=="selection"?{...l,hidden:!m.value.includes(l.label)}:l);if(k.size(C.value)>0&&await Pe({id:(s=C.value)==null?void 0:s.id,userId:A.user.id,name:_.meta.title,type:_.path,headerData:JSON.stringify((e||[]).filter(l=>l.type!=="selection"&&l.type!=="index").map(l=>({label:l.label,prop:l.prop,hidden:l.hidden})))}))return ke.success("\u4FDD\u5B58\u6210\u529F"),i("update:columns",e),void B();i("update:columns",e)},F=(e,s)=>{const l=f.value.findIndex(a=>a.id===s.id);l===-1?f.value.push(s):f.value.splice(l,1),i("onSelectRow",f.value)},I=e=>{e.length===o.data.length?f.value=k.uniqBy([...f.value,...e],s=>s.id):o.data.forEach(s=>{const l=f.value.findIndex(a=>a.id===s.id);l!==-1&&f.value.splice(l,1)}),i("onSelectRow",f.value)},v=e=>{e.stopPropagation(),e.preventDefault(),i("update:pageNo",1),i("update:formData",u),i("onSearch",u)},ee=()=>{Object.keys(u).forEach(e=>{u[e]=null}),i("update:pageNo",1),i("update:formData",{}),i("onReset")},ae=e=>{i("update:pageSize",e),i("onPageSizeChange",e)},le=e=>{i("update:pageNo",e),i("onPageNoChange",e)},te=e=>{i("row-dblclick",e)};return()=>{var e,s;return t("div",{class:"smart-table-container",style:"width: 100%"},[G(),t("div",{class:[o.useBorderLayout?M:"","smart-table-inner"]},[t("div",{class:"toolbar",style:{margin:"0 0 20px",display:"flex",justifyContent:"space-between"}},[t("div",{style:{display:"flex",alignItems:"center"}},[o.buttons.map(l=>l.render?l.render():t(w,b({onClick:l.onClick},l.fieldProps),{default:()=>[l.label]})),o.showRefresh&&t(w,{type:"default",onClick:()=>{i("refresh")}},{default:()=>[t(h("el-icon"),{size:"16"},{default:()=>[t(re,null,null)]}),g("\u5237\u65B0")]}),(e=d.toolbarExtra)==null?void 0:e.call(d)]),o.showSettingTools&&t("div",{style:{display:"flex",alignItems:"flex-end"}},[t(h("el-popover"),{visible:P.value,placement:"bottom",width:200,trigger:"contextmenu",popperClass:"_smartTablePopover_10n7j_19"},{reference:()=>t(w,{type:"primary",link:!0,onClick:()=>{P.value=!P.value}},{default:()=>[t(h("el-icon"),{size:"16"},{default:()=>[t(se,null,null)]}),g("\u663E\u793A\u8BBE\u7F6E")]}),default:()=>{let l;return t(Te,null,[t(h("el-checkbox"),{modelValue:x.value,"onUpdate:modelValue":a=>x.value=a,indeterminate:j.value,onChange:Q},{default:()=>[g("\u5168\u9009")]}),t(h("el-checkbox-group"),{className:"_smartTableCheckboxGroup_10n7j_1",modelValue:m.value,"onUpdate:modelValue":a=>m.value=a,onChange:W},D(l=R.value.map(a=>t(h("el-checkbox"),{key:a,label:a,value:a},null)))?l:{default:()=>[l]}),t(h("el-row"),{className:"_smartTablePopoverFooter_10n7j_25"},{default:()=>[t(h("el-button"),{type:"default",onClick:X},{default:()=>[g("\u53D6\u6D88")]}),t(h("el-button"),{type:"primary",onClick:z},{default:()=>[g("\u4FDD\u5B58")]})]})])}})])]),Ee(t("div",{class:"smart-table-table",style:"position: relative;"},[t(ne,b({ref:E,data:o.data,"row-key":"id","tree-props":o.treeProps,border:!0,style:{width:"100%"},onSelect:F,onSelectAll:I,onRowDblclick:te},o.tableProps,{"header-row-style":{backgroundColor:"#ccc"}}),{default:()=>{var l;return[O.value.filter(a=>!(a!=null&&a.hidden)).map(a=>t(Se,b({prop:a.prop,label:a.label,showOverflowTooltip:!!a.showOverflowTooltip&&a.showOverflowTooltip,width:a.width,type:a.type,selectable:a.type==="selection"&&a.selectable?a.selectable():void 0},a.fieldProps),{default:({row:p,$index:c})=>{var N;if(a.render)return a.render(p,p[a.prop],c);if(a.slot)return(N=d[a.slot])==null?void 0:N.call(d,{row:p});if(a.prop==="equipCategory"){const V=o.dictList.find(T=>T.value===p.equipCategory);return V?V.label:"--"}return p[a.prop]}})),(l=d.default)==null?void 0:l.call(d)]}}),t("div",{style:{marginTop:"20px",display:"flex",justifyContent:"flex-end"},className:"_smartTablePagination_10n7j_35"},[d.pagination?o.isPagination&&((s=d.pagination)==null?void 0:s.call(d)):o.isPagination&&t(Ne,{"current-page":o.pageNo,"page-size":o.pageSize,"page-sizes":o.pageSizes,"pager-count":o.pagerCount,layout:"sizes, prev, pager, next, jumper, total",total:o.total,"onUpdate:page-size":ae,"onUpdate:current-page":le},null)])]),[[Oe("loading"),o.loading]])])])}}});export{Ae as default};
|