import{_ as e,o as t,p as i,w as a,a4 as s,f as l,i as n,am as h,b as d,d as c,v as r,an as o,e as u,F as p,y as f,B as k,k as b,t as g,C as m,W as y,Y as C,a3 as x,aq as w,au as S}from"./index-2PZN6pGH.js";import{_}from"./uni-datetime-picker.D-cXsysU.js";const D=e({name:"TableCheckbox",emits:["checkboxSelected"],props:{indeterminate:{type:Boolean,default:!1},checked:{type:[Boolean,String],default:!1},disabled:{type:Boolean,default:!1},index:{type:Number,default:-1},cellData:{type:Object,default:()=>({})}},watch:{checked(e){"boolean"==typeof this.checked?this.isChecked=e:this.isChecked=!0},indeterminate(e){this.isIndeterminate=e}},data:()=>({isChecked:!1,isDisabled:!1,isIndeterminate:!1}),created(){"boolean"==typeof this.checked&&(this.isChecked=this.checked),this.isDisabled=this.disabled},methods:{selected(){this.isDisabled||(this.isIndeterminate=!1,this.isChecked=!this.isChecked,this.$emit("checkboxSelected",{checked:this.isChecked,data:this.cellData}))}}},[["render",function(e,h,d,c,r,o){const u=n;return t(),i(u,{class:"uni-table-checkbox",onClick:o.selected},{default:a((()=>[d.indeterminate?(t(),i(u,{key:1,class:"checkbox__inner checkbox--indeterminate"},{default:a((()=>[l(u,{class:"checkbox__inner-icon"})])),_:1})):(t(),i(u,{key:0,class:s(["checkbox__inner",{"is-checked":r.isChecked,"is-disable":r.isDisabled}])},{default:a((()=>[l(u,{class:"checkbox__inner-icon"})])),_:1},8,["class"]))])),_:1},8,["onClick"])}],["__scopeId","data-v-a8c44071"]]),T={reset:"重置",search:"搜索",submit:"确定",filter:"筛选",gt:"大于等于",lt:"小于等于",date:"日期范围"},V="select",v="search",R="range",I="date",$="timestamp";const O=e({name:"uniTh",options:{virtualHost:!0},components:{dropdown:e({name:"FilterDropdown",emits:["change"],components:{checkBox:D},options:{virtualHost:!0},props:{filterType:{type:String,default:V},filterData:{type:Array,default:()=>[]},mode:{type:String,default:"default"},map:{type:Object,default:()=>({text:"text",value:"value"})}},computed:{canReset(){return this.isSearch?this.filterValue.length>0:this.isSelect?this.checkedValues.length>0:this.isRange?this.gtValue.length>0&&this.ltValue.length>0:!!this.isDate&&this.dateSelect.length>0},isSelect(){return this.filterType===V},isSearch(){return this.filterType===v},isRange(){return this.filterType===R},isDate(){return this.filterType===I||this.filterType===$}},watch:{filterData(e){this._copyFilters()},indeterminate(e){this.isIndeterminate=e}},data:()=>({resource:T,enabled:!0,isOpened:!1,dataList:[],filterValue:"",checkedValues:[],gtValue:"",ltValue:"",dateRange:[],dateSelect:[]}),created(){this._copyFilters()},methods:{_copyFilters(){let e=JSON.parse(JSON.stringify(this.filterData));for(let t=0;t{this.dateRange.length||this.resetDate(),this.$refs.datetimepicker.show()}))},closePopup(){this.isOpened=!1},handleClose(e){this.closePopup()},resetDate(){let e=(new Date).toISOString().split("T")[0];this.dateRange=[e+" 0:00:00",e+" 23:59:59"]},onDropdown(e){this.openPopup()},onItemClick(e,t){let i=this.dataList,a=i[t];void 0===a.checked?i[t].checked=!0:i[t].checked=!a.checked;let s=[];for(let l=0;l[l(V,{class:"dropdown-btn",onClick:T.onDropdown},{default:a((()=>[T.isSelect||T.isRange?(t(),i(V,{key:0,class:s(["icon-select",{active:T.canReset}])},null,8,["class"])):r("",!0),T.isSearch?(t(),i(V,{key:1,class:s(["icon-search",{active:T.canReset}])},{default:a((()=>[l(V,{class:"icon-search-0"}),l(V,{class:"icon-search-1"})])),_:1},8,["class"])):r("",!0),T.isDate?(t(),i(V,{key:2,class:s(["icon-calendar",{active:T.canReset}])},{default:a((()=>[l(V,{class:"icon-calendar-0"}),l(V,{class:"icon-calendar-1"})])),_:1},8,["class"])):r("",!0)])),_:1},8,["onClick"]),D.isOpened?(t(),i(V,{key:0,class:"uni-dropdown-cover",onClick:T.handleClose},null,8,["onClick"])):r("",!0),D.isOpened?(t(),i(V,{key:1,class:"dropdown-popup dropdown-popup-right",onClick:x[3]||(x[3]=o((()=>{}),["stop"]))},{default:a((()=>[T.isSelect?(t(),i(V,{key:0,class:"list"},{default:a((()=>[(t(!0),u(p,null,f(D.dataList,((e,s)=>(t(),i(I,{class:"flex-r a-i-c list-item",key:s,onClick:e=>T.onItemClick(e,s)},{default:a((()=>[l(v,{class:"check",checked:e.checked},null,8,["checked"]),l(V,{class:"checklist-content"},{default:a((()=>[l(R,{class:"checklist-text",style:k(e.styleIconText)},{default:a((()=>[b(g(e[w.map.text]),1)])),_:2},1032,["style"])])),_:2},1024)])),_:2},1032,["onClick"])))),128))])),_:1})):r("",!0),T.isSelect?(t(),i(V,{key:1,class:"flex-r opera-area"},{default:a((()=>[l(V,{class:s(["flex-f btn btn-default",{disable:!T.canReset}]),onClick:T.handleSelectReset},{default:a((()=>[b(g(D.resource.reset),1)])),_:1},8,["class","onClick"]),l(V,{class:"flex-f btn btn-submit",onClick:T.handleSelectSubmit},{default:a((()=>[b(g(D.resource.submit),1)])),_:1},8,["onClick"])])),_:1})):r("",!0),T.isSearch?(t(),i(V,{key:2,class:"search-area"},{default:a((()=>[l($,{class:"search-input",modelValue:D.filterValue,"onUpdate:modelValue":x[0]||(x[0]=e=>D.filterValue=e)},null,8,["modelValue"])])),_:1})):r("",!0),T.isSearch?(t(),i(V,{key:3,class:"flex-r opera-area"},{default:a((()=>[l(V,{class:"flex-f btn btn-submit",onClick:T.handleSearchSubmit},{default:a((()=>[b(g(D.resource.search),1)])),_:1},8,["onClick"]),l(V,{class:s(["flex-f btn btn-default",{disable:!T.canReset}]),onClick:T.handleSearchReset},{default:a((()=>[b(g(D.resource.reset),1)])),_:1},8,["class","onClick"])])),_:1})):r("",!0),T.isRange?(t(),i(V,{key:4},{default:a((()=>[l(V,{class:"input-label"},{default:a((()=>[b(g(D.resource.gt),1)])),_:1}),l($,{class:"input",modelValue:D.gtValue,"onUpdate:modelValue":x[1]||(x[1]=e=>D.gtValue=e)},null,8,["modelValue"]),l(V,{class:"input-label"},{default:a((()=>[b(g(D.resource.lt),1)])),_:1}),l($,{class:"input",modelValue:D.ltValue,"onUpdate:modelValue":x[2]||(x[2]=e=>D.ltValue=e)},null,8,["modelValue"])])),_:1})):r("",!0),T.isRange?(t(),i(V,{key:5,class:"flex-r opera-area"},{default:a((()=>[l(V,{class:s(["flex-f btn btn-default",{disable:!T.canReset}]),onClick:T.handleRangeReset},{default:a((()=>[b(g(D.resource.reset),1)])),_:1},8,["class","onClick"]),l(V,{class:"flex-f btn btn-submit",onClick:T.handleRangeSubmit},{default:a((()=>[b(g(D.resource.submit),1)])),_:1},8,["onClick"])])),_:1})):r("",!0),T.isDate?(t(),i(V,{key:6},{default:a((()=>[l(O,{ref:"datetimepicker",value:D.dateRange,type:"datetimerange","return-type":"timestamp",onChange:T.datetimechange,onMaskClick:T.timepickerclose},{default:a((()=>[l(V)])),_:1},8,["value","onChange","onMaskClick"])])),_:1})):r("",!0)])),_:1})):r("",!0)])),_:1})}],["__scopeId","data-v-3ed2b14f"]])},emits:["sort-change","filter-change"],props:{width:{type:[String,Number],default:""},align:{type:String,default:"left"},rowspan:{type:[Number,String],default:1},colspan:{type:[Number,String],default:1},sortable:{type:Boolean,default:!1},filterType:{type:String,default:""},filterData:{type:Array,default:()=>[]}},data:()=>({border:!1,ascending:!1,descending:!1}),computed:{customWidth(){if("number"==typeof this.width)return this.width;if("string"==typeof this.width){let e=new RegExp(/^[1-9][0-9]*px$/g),t=new RegExp(/^[1-9][0-9]*rpx$/g),i=new RegExp(/^[1-9][0-9]*$/g);if(null!==this.width.match(e))return this.width.replace("px","");if(null!==this.width.match(t)){let e=Number(this.width.replace("rpx","")),t=x().screenWidth/750;return Math.round(e*t)}return null!==this.width.match(i)?this.width:""}return""},contentAlign(){let e="left";switch(this.align){case"left":e="flex-start";break;case"center":e="center";break;case"right":e="flex-end"}return e}},created(){this.root=this.getTable("uniTable"),this.rootTr=this.getTable("uniTr"),this.rootTr.minWidthUpdate(this.customWidth?this.customWidth:140),this.border=this.root.border,this.root.thChildren.push(this)},methods:{sort(){if(this.sortable)return this.clearOther(),this.ascending||this.descending?this.ascending&&!this.descending?(this.ascending=!1,this.descending=!0,void this.$emit("sort-change",{order:"descending"})):void(!this.ascending&&this.descending&&(this.ascending=!1,this.descending=!1,this.$emit("sort-change",{order:null}))):(this.ascending=!0,void this.$emit("sort-change",{order:"ascending"}))},ascendingFn(){this.clearOther(),this.ascending=!this.ascending,this.descending=!1,this.$emit("sort-change",{order:this.ascending?"ascending":null})},descendingFn(){this.clearOther(),this.descending=!this.descending,this.ascending=!1,this.$emit("sort-change",{order:this.descending?"descending":null})},clearOther(){this.root.thChildren.map((e=>(e!==this&&(e.ascending=!1,e.descending=!1),e)))},ondropdown(e){this.$emit("filter-change",e)},getTable(e){let t=this.$parent,i=t.$options.name;for(;i!==e;){if(t=t.$parent,!t)return!1;i=t.$options.name}return t}}},[["render",function(e,d,c,p,f,b){const g=m,y=n,C=h("dropdown");return t(),u("th",{rowspan:c.rowspan,colspan:c.colspan,class:s(["uni-table-th",{"table--border":f.border}]),style:k({width:b.customWidth+"px","text-align":c.align})},[l(y,{class:"uni-table-th-row"},{default:a((()=>[l(y,{class:"uni-table-th-content",style:k({"justify-content":b.contentAlign}),onClick:b.sort},{default:a((()=>[w(e.$slots,"default",{},void 0,!0),c.sortable?(t(),i(y,{key:0,class:"arrow-box"},{default:a((()=>[l(g,{class:s(["arrow up",{active:f.ascending}]),onClick:o(b.ascendingFn,["stop"])},null,8,["class","onClick"]),l(g,{class:s(["arrow down",{active:f.descending}]),onClick:o(b.descendingFn,["stop"])},null,8,["class","onClick"])])),_:1})):r("",!0)])),_:3},8,["style","onClick"]),c.filterType||c.filterData.length?(t(),i(C,{key:0,filterData:c.filterData,filterType:c.filterType,onChange:b.ondropdown},null,8,["filterData","filterType","onChange"])):r("",!0)])),_:3})],14,["rowspan","colspan"])}],["__scopeId","data-v-e92a6103"]]);const N=e({name:"uniTr",components:{tableCheckbox:D},props:{disabled:{type:Boolean,default:!1},keyValue:{type:[String,Number],default:""}},options:{virtualHost:!0},data:()=>({value:!1,border:!1,selection:!1,widthThArr:[],ishead:!0,checked:!1,indeterminate:!1}),created(){this.root=this.getTable(),this.head=this.getTable("uniThead"),this.head&&(this.ishead=!1,this.head.init(this)),this.border=this.root.border,this.selection=this.root.type,this.root.trChildren.push(this);const e=this.root.data.find((e=>e[this.root.rowKey]===this.keyValue));e&&(this.rowData=e),this.root.isNodata()},mounted(){if(this.widthThArr.length>0){const e="selection"===this.selection?50:0;this.root.minWidth=this.widthThArr.reduce(((e,t)=>Number(e)+Number(t)))+e}},unmounted(){const e=this.root.trChildren.findIndex((e=>e===this));this.root.trChildren.splice(e,1),this.root.isNodata()},methods:{minWidthUpdate(e){this.widthThArr.push(e)},checkboxSelected(e){let t=this.root.data.find((e=>e[this.root.rowKey]===this.keyValue));this.checked=e.checked,this.root.check(t||this,e.checked,t?this.keyValue:null)},change(e){this.root.trChildren.forEach((t=>{t===this&&this.root.check(this,e.detail.value.length>0)}))},getTable(e="uniTable"){let t=this.$parent,i=t.$options.name;for(;i!==e;){if(t=t.$parent,!t)return!1;i=t.$options.name}return t}}},[["render",function(e,i,a,n,d,c){const o=h("table-checkbox");return t(),u("tr",{class:"uni-table-tr"},["selection"===d.selection&&d.ishead?(t(),u("th",{key:0,class:s(["checkbox",{"tr-table--border":d.border}])},[l(o,{checked:d.checked,indeterminate:d.indeterminate,disabled:a.disabled,onCheckboxSelected:c.checkboxSelected},null,8,["checked","indeterminate","disabled","onCheckboxSelected"])],2)):r("",!0),w(e.$slots,"default",{},void 0,!0)])}],["__scopeId","data-v-8aa202e3"]]);const A=e({name:"uniTable",options:{virtualHost:!0},emits:["selection-change"],props:{data:{type:Array,default:()=>[]},border:{type:Boolean,default:!1},stripe:{type:Boolean,default:!1},type:{type:String,default:""},emptyText:{type:String,default:"没有更多数据"},loading:{type:Boolean,default:!1},rowKey:{type:String,default:""}},data:()=>({noData:!0,minWidth:0,multiTableHeads:[]}),watch:{loading(e){},data(e){this.theadChildren,this.theadChildren&&this.theadChildren.rowspan,this.noData=!1}},created(){this.trChildren=[],this.thChildren=[],this.theadChildren=null,this.backData=[],this.backIndexData=[]},methods:{isNodata(){this.theadChildren;let e=1;this.theadChildren&&(e=this.theadChildren.rowspan),this.noData=this.trChildren.length-e<=0},selectionAll(){let e=1,t=this.theadChildren;this.theadChildren?e=t.rowspan-1:t=this.trChildren[0];let i=this.data&&this.data.length.length>0;t.checked=!0,t.indeterminate=!1,this.trChildren.forEach(((t,a)=>{if(!t.disabled){if(t.checked=!0,i&&t.keyValue){const e=this.data.find((e=>e[this.rowKey]===t.keyValue));this.backData.find((t=>t[this.rowKey]===e[this.rowKey]))||this.backData.push(e)}a>e-1&&-1===this.backIndexData.indexOf(a-e)&&this.backIndexData.push(a-e)}})),this.$emit("selection-change",{detail:{value:this.backData,index:this.backIndexData}})},toggleRowSelection(e,t){e=[].concat(e),this.trChildren.forEach(((i,a)=>{const s=e.findIndex((e=>"number"==typeof e?e===a-1:e[this.rowKey]===i.keyValue));let l=i.checked;-1!==s&&(i.checked="boolean"==typeof t?t:!i.checked,l!==i.checked&&this.check(i.rowData||i,i.checked,i.rowData?i.keyValue:null,!0))})),this.$emit("selection-change",{detail:{value:this.backData,index:this.backIndexData}})},clearSelection(){let e=this.theadChildren;this.theadChildren||(e=this.trChildren[0]),e.checked=!1,e.indeterminate=!1,this.trChildren.forEach((e=>{e.checked=!1})),this.backData=[],this.backIndexData=[],this.$emit("selection-change",{detail:{value:[],index:[]}})},toggleAllSelection(){let e=[],t=1,i=this.theadChildren;this.theadChildren?t=i.rowspan-1:i=this.trChildren[0],this.trChildren.forEach(((i,a)=>{i.disabled||a>t-1&&e.push(a-t)})),this.toggleRowSelection(e)},check(e,t,i,a){let s=this.theadChildren;this.theadChildren||(s=this.trChildren[0]);let l=this.trChildren.findIndex(((t,i)=>e===t));if(l<0&&(l=this.data.findIndex((e=>e[this.rowKey]===i))+1),this.trChildren.filter((e=>!e.disabled&&e.keyValue)).length,0===l)return void(t?this.selectionAll():this.clearSelection());if(t)i&&this.backData.push(e),this.backIndexData.push(l-1);else{const e=this.backData.findIndex((e=>e[this.rowKey]===i)),t=this.backIndexData.findIndex((e=>e===l-1));i&&this.backData.splice(e,1),this.backIndexData.splice(t,1)}this.trChildren.find(((e,t)=>t>0&&!e.checked&&!e.disabled))?(s.indeterminate=!0,s.checked=!1):(s.indeterminate=!1,s.checked=!0),0===this.backIndexData.length&&(s.indeterminate=!1),a||this.$emit("selection-change",{detail:{value:this.backData,index:this.backIndexData}})}}},[["render",function(e,h,d,c,o,u){const p=n;return t(),i(p,{class:s(["uni-table-scroll",{"table--border":d.border,"border-none":!o.noData}])},{default:a((()=>[S("table",{class:s(["uni-table",{"table--stripe":d.stripe}]),border:"0",cellpadding:"0",cellspacing:"0",style:k({"min-width":o.minWidth+"px"})},[w(e.$slots,"default",{},void 0,!0),o.noData?(t(),i(p,{key:0,class:"uni-table-loading"},{default:a((()=>[l(p,{class:s(["uni-table-text",{"empty-border":d.border}])},{default:a((()=>[b(g(d.emptyText),1)])),_:1},8,["class"])])),_:1})):r("",!0),d.loading?(t(),i(p,{key:1,class:s(["uni-table-mask",{"empty-border":d.border}])},{default:a((()=>[S("div",{class:"uni-table--loader"})])),_:1},8,["class"])):r("",!0)],6)])),_:3},8,["class"])}],["__scopeId","data-v-fe0656f6"]]);export{O as _,N as a,A as b};