ray-template/assets/index.357f966b.js
2023-02-01 16:44:41 +08:00

2 lines
14 KiB
JavaScript

import{s as G}from"./pinia.04532b5d.js";import{b as O,R as E}from"./index.60f46551.js";import{V as $}from"./vuedraggable.69650ee3.js";import{M as h,N as L,S as A,q as g,I as v,T as j,U as Y,R as H,A as X,r as R,V as q,W as J,X as C,Y as I,Z as K,H as T,_ as W,u as Z,E as Q,B as ee}from"./naive-ui.7944048f.js";import{e as w,i as te,r as F,ao as e,l as k,E as z,p as ae,M as U,F as N,x as le,n as ue,c as r,q as b}from"./@vue.6f9b3ecc.js";import{p as ie}from"./print-js.47d9cc28.js";import{u as ne}from"./hook.746076e4.js";import{u as y,w as se}from"./xlsx.842cb549.js";import{d as oe}from"./dayjs.9ac94883.js";import"./vue-demi.b3a9cad9.js";import"./pinia-plugin-persistedstate.c449c8e7.js";import"./vue-i18n.715a0b35.js";import"./@intlify.c1495d3a.js";import"./vue-router.e6f2912b.js";import"./lodash-es.474663c3.js";import"./@vueuse.a0b06385.js";import"./screenfull.c1f291d3.js";import"./date-fns.03faffa8.js";import"./vueuc.feb70412.js";import"./evtd.9eee5233.js";import"./seemly.786de437.js";import"./@css-render.66179467.js";import"./vooks.d8957d1b.js";import"./vdirs.9b78243b.js";import"./@juggle.32c34d6c.js";import"./css-render.20ab466e.js";import"./@emotion.6322e2ae.js";import"./treemate.80cdf2c2.js";import"./date-fns-tz.974adeb4.js";import"./async-validator.fb49d0f5.js";import"./vue.3e1409f3.js";import"./sortablejs.95e4fa30.js";const re=t=>t.map(l=>(l.fixed&&(l.fixed==="right"?l.rightFixedActivated=!0:l.leftFixedActivated=!0),l.resizable&&(l.resizeColumnActivated=!0),l)),de=w({name:"TableSetting",emits:["columnsUpdate"],setup(t,{emit:a}){const l=O(),u=te("tableSettingProvider",{}),i=F(re(u.modelColumns.value)),d=F(!0),{themeValue:s}=G(l);return{settingOptions:i,handleDraggableEnd:()=>{a("columnsUpdate",i.value)},handleFixedClick:(c,p)=>{const n=`${c}FixedActivated`,o=i.value[p];n==="leftFixedActivated"?o.rightFixedActivated=!1:n==="rightFixedActivated"&&(o.leftFixedActivated=!1),o[n]=!o[n],o[n]?o.fixed=c:o.fixed=void 0,i.value[p]=o,a("columnsUpdate",i.value)},disableDraggable:d,FixedPopoverIcon:c=>{const{element:p,name:n,tooltip:o,fn:_,index:B,fixed:x,key:V}=c;return e(A,null,{trigger:()=>e(E,{customClassName:`draggable-item__icon ${p[V]?"draggable-item__icon--actived":""}`,name:n,size:"18",onClick:_.bind(this,x,B)},null),default:()=>o})},handleResizeColumnClick:c=>{const p=i.value[c];p.resizeColumnActivated=!p.resizeColumnActivated,p.resizable=p.resizeColumnActivated,i.value[c]=p,a("columnsUpdate",i.value)},themeValue:s}},render(){return e(A,{trigger:"click",placement:"bottom",showArrow:!1,raw:!0},{trigger:()=>e(E,{customClassName:"ray-table__setting",name:"setting",size:"18"},null),default:()=>e(h,{bordered:!1,class:"table-setting__card"},{default:()=>e($,{class:["ray-table__setting-option--draggable"],modelValue:this.settingOptions,"onUpdate:modelValue":t=>this.settingOptions=t,itemKey:"key",disabled:!this.disableDraggable,onEnd:this.handleDraggableEnd.bind(this)},{item:({element:t,index:a})=>e("div",{class:["draggable-item",this.themeValue?"draggable-item--dark":""]},[e(E,{customClassName:"draggable-item__d--icon",name:"draggable",size:"18"},null),e(L,null,{default:()=>[e("span",null,[t.title])]}),this.FixedPopoverIcon({element:t,name:"left_arrow",tooltip:"\u5DE6\u56FA\u5B9A",fn:this.handleFixedClick,index:a,fixed:"left",key:"leftFixedActivated"}),e(A,null,{trigger:()=>e(E,{customClassName:`draggable-item__icon ${t.resizeColumnActivated?"draggable-item__icon--actived":""}`,name:"resize_h",size:"18",onClick:this.handleResizeColumnClick.bind(this,a)},null),default:()=>"\u4FEE\u6539\u5217\u5BBD"}),this.FixedPopoverIcon({element:t,name:"right_arrow",tooltip:"\u53F3\u56FA\u5B9A",fn:this.handleFixedClick,index:a,fixed:"right",key:"rightFixedActivated"})])})})})}}),M=w({name:"TableAction",props:{tooltip:{type:String,required:!0},negativeText:{type:String,default:"\u53D6\u6D88"},positiveText:{type:String,default:"\u786E\u8BA4"},icon:{type:String,required:!0},iconSize:{type:Number,default:18}},emits:["positive","negative"],setup(t,{emit:a}){const l=F(!1);return{handleEmit:i=>{a(i==="positive"?"positive":"negative"),l.value=!1},showPopoconfirm:l}},render(){return e(j,{show:this.showPopoconfirm,"onUpdate:show":t=>this.showPopoconfirm=t,showArrow:!0},{trigger:()=>e(E,{name:this.icon,size:this.iconSize,customClassName:"ray-table-icon"},null),default:()=>this.tooltip,action:()=>e(g,null,{default:()=>[e(v,{size:"small",ghost:!0,onClick:this.handleEmit.bind(this,"negative")},{default:()=>[this.negativeText]}),e(v,{size:"small",ghost:!0,type:"info",onClick:this.handleEmit.bind(this,"positive")},{default:()=>[this.positiveText]})]})})}}),pe={...Y,rightClickMenu:{type:Array,default:()=>[]},title:{type:[String,Object],default:""},action:{type:Boolean,default:!0},actionExtra:{type:Object,default:()=>({})},showMenu:{type:Boolean,default:!0},exportTooltip:{type:String,default:"\u662F\u5426\u5BFC\u51FA\u4E3AExcel\u8868\u683C?"},exportType:{type:String,default:"xlsx"},exportPositiveText:{type:String,default:"\u786E\u8BA4"},exportNegativeText:{type:String,default:"\u53D6\u6D88"},exportFilename:{type:String,default:""},printPositiveText:{type:String,default:"\u786E\u8BA4"},printNegativeText:{type:String,default:"\u53D6\u6D88"},printTooltip:{type:String,default:"\u662F\u5426\u6253\u5370\u8BE5\u8868\u683C?"},printType:{type:String,default:"html"},printOptions:{type:Object,default:()=>({})},printIcon:{type:String,default:"print"},exportExcelIcon:{type:String,default:"export_excel"},tableHeaderSpace:{type:String,default:"10px"},bordered:{type:Boolean,default:!0}},ce=t=>t.reduce((l,u)=>(l[u.key]=u.title,l),{}),me=(t,a,l)=>{for(let u=t.s.c;u<=t.e.c;u++){const i=y.encode_col(u)+"1";a[i].v=l[a[i].v]}},he=async(t,a,l={})=>{await new Promise((u,i)=>{if(t!=null&&t.length){const d=ce(a!=null?a:[]),s=y.json_to_sheet(t),m=y.book_new(),f=l.filename?l.filename+".xlsx":oe().format("YYYY-MM-DD")+"\u5BFC\u51FA\u8868\u683C.xlsx";y.book_append_sheet(m,s,"Data");const D=y.decode_range(s["!ref"]);a!=null&&a.length&&me(D,s,d),se(m,f),u()}else i()})},S=w({name:"RayTable",props:pe,emits:["update:columns","menuSelect","exportSuccess","exportError"],setup(t,{emit:a}){const l=ne(),u=k(()=>t.rightClickMenu),i=k({get:()=>t.columns,set:n=>{a("update:columns",n)}}),d=z({x:0,y:0,showMenu:!1});let s=-1;const m=k(()=>({"--ray-table-header-space":t.tableHeaderSpace}));ae("tableSettingProvider",{modelRightClickMenu:u,modelColumns:i});const f=n=>{i.value=n},D=(n,o)=>{a("menuSelect",n,s,o),d.showMenu=!1},P=(n,o)=>{var B;return{...(B=t.rowProps)==null?void 0:B.call(t,n,o),onContextmenu:x=>{x.preventDefault(),s=o,d.showMenu=!1,ue().then(()=>{d.showMenu=!0,d.x=x.clientX,d.y=x.clientY})}}},c=async()=>{if(t.data.length&&t.columns.length)try{await he(t.data,t.columns,{filename:t.exportFilename}),a("exportSuccess")}catch{a("exportError")}},p=()=>{const n=Object.assign({},t.printOptions,{printable:l,type:t.printType,documentTitle:t.printOptions.documentTitle?t.printOptions.documentTitle:"\u8868\u683C"});ie(n)};return{tableUUID:l,handleColumnsUpdate:f,...U(d),handleRowProps:P,handleRightMenuSelect:D,handleExportPositive:c,handlePrintPositive:p,cssVars:m}},render(){return e(h,{class:"ray-table",bordered:this.bordered,style:[this.cssVars]},{default:()=>e(N,null,[e(H,le({id:this.tableUUID},this.$props,{rowProps:this.handleRowProps.bind(this)}),{empty:()=>{var t,a;return(a=(t=this.$slots)==null?void 0:t.empty)==null?void 0:a.call(t)},loading:()=>{var t,a;return(a=(t=this.$slots)==null?void 0:t.loading)==null?void 0:a.call(t)}}),this.showMenu?e(X,{show:this.showMenu,placement:"bottom-start",trigger:"manual",x:this.x,y:this.y,options:this.rightClickMenu,onClickoutside:()=>this.showMenu=!1,onSelect:this.handleRightMenuSelect.bind(this)},null):""]),header:()=>this.title,"header-extra":()=>this.action?e("div",{class:"ray-table-header-extra__space"},[e(M,{icon:this.printIcon,tooltip:this.printTooltip,positiveText:this.printPositiveText,negativeText:this.printNegativeText,onPositive:this.handlePrintPositive.bind(this)},null),e(R,{vertical:!0},null),e(M,{icon:this.exportExcelIcon,tooltip:this.exportTooltip,positiveText:this.exportPositiveText,negativeText:this.exportNegativeText,onPositive:this.handleExportPositive.bind(this)},null),e(R,{vertical:!0},null),e(de,{onColumnsUpdate:this.handleColumnsUpdate.bind(this)},null)]):"",footer:()=>{var t,a;return(a=(t=this.$slots).tableFooter)==null?void 0:a.call(t)}})}});const ge={value:{type:Boolean,default:!0},collapseToggleText:{type:Array,default:()=>["\u5C55\u5F00","\u6536\u8D77"]},bordered:{type:Boolean,default:!0},...q},fe=w({name:"RayCollapseGrid",props:ge,emits:["updateValue"],setup(t,{emit:a}){const l=F(t.value),u=()=>{l.value=!l.value,a("updateValue",l.value)};return{modelCollapsed:l,handleCollapse:u,CollapseIcon:()=>e("div",{class:"collapse-icon",onClick:u.bind(this)},[e("span",null,[l.value?t.collapseToggleText[0]:t.collapseToggleText[1]]),e(E,{customClassName:`collapse-icon--arrow ${l.value?"":"collapse-icon--arrow__expanded"}`,name:"expanded",size:"14"},null)])}},render(){return e(h,{bordered:this.bordered},{default:()=>e(J,{class:"ray-collapse-grid",collapsed:this.modelCollapsed,xGap:this.xGap||12,yGap:this.yGap||18,cols:this.cols,collapsedRows:this.collapsedRows},{default:()=>{var t,a;return[(a=(t=this.$slots).default)==null?void 0:a.call(t),e(C,{suffix:!0,class:"ray-collapse-grid__suffix--btn"},{default:()=>[e(g,{justify:"end"},{default:()=>{var l,u;return[(u=(l=this.$slots).action)==null?void 0:u.call(l),this.CollapseIcon()]}})]})]}})})}}),Je=w({name:"TableView",setup(){const t=[{title:"Name",key:"name"},{title:"Age",key:"age"},{title:"Address",key:"address"},{title:"Tags",key:"tags",render:s=>s.tags.map(f=>b(ee,{style:{marginRight:"6px"},type:"info",bordered:!1},{default:()=>f}))},{title:"Action",key:"actions",render:s=>b(v,{size:"small"},{default:()=>"Send Email"})}],a=F([...t].map(s=>({...s,width:400}))),l=F([{key:0,name:"John Brown",age:32,address:"New York No. 1 Lake Park",tags:["nice","developer"]},{key:1,name:"Jim Green",age:42,address:"London No. 1 Lake Park",tags:["wow"]},{key:2,name:"Joe Black",age:32,address:"Sidney No. 1 Lake Park",tags:["cool","teacher"]}]),u=[{label:"\u7F16\u8F91",key:"edit"},{label:()=>b("span",{style:{color:"red"}},"\u5220\u9664"),key:"delete"}],i=z({gridItemCount:4,gridCollapsedRows:1,tableLoading:!1}),d=(s,m)=>{s==="delete"&&l.value.splice(m,1)};return{...U(i),tableData:l,actionColumns:a,baseColumns:t,tableMenuOptions:u,handleMenuSelect:d}},render(){return e(Q,null,{default:()=>[e(h,{title:"RayTable"},{default:()=>[e("p",null,[r("\u8BE5\u7EC4\u4EF6\u57FA\u4E8E Naive UI DataTable \u7EC4\u4EF6\u5C01\u88C5. \u5B9E\u73B0\u53F3\u952E\u83DC\u5355, \u8868\u683C\u6807\u9898, \u5BFC\u51FA\u4E3A excel \u64CD\u4F5C\u680F\u7B49\u529F\u80FD")]),e("p",null,[r("RayTable \u5B8C\u5168\u7EE7\u627F DataTable \u7684\u6240\u6709\u5C5E\u6027\u4E0E\u65B9\u6CD5")]),e("p",null,[r("\u76F8\u5173\u62D3\u5C55 props \u5C5E\u6027, \u53EF\u4EE5\u5728\u6E90\u7801\u4F4D\u7F6E src/components/RayTable/src/props.ts \u4E2D\u67E5\u770B\u76F8\u5173\u4EE3\u7801\u4E0E\u6CE8\u91CA")]),e("p",null,[r("\u8BE5\u7EC4\u4EF6\u53EF\u4EE5\u914D\u5408 RayCollapseGird \u7EC4\u4EF6\u4F7F\u7528\u5B9E\u73B0\u53EF\u6298\u53E0\u641C\u7D22\u680F")])]}),e(h,{style:["margin-top: 18px"]},{default:()=>e(g,{vertical:!0},{default:()=>[e(g,{style:["margin-top: 18px"]},{default:()=>[r("\u8BE5\u7EC4\u4EF6\u57FA\u4E8E NGird \u5B9E\u73B0, \u4F46\u662F\u7531\u4E8E css grid \u9650\u5236, \u4E0D\u80FD\u5BF9\u4E8E NGridItem \u7EC4\u4EF6\u8FDB\u884C\u4E8C\u6B21\u5C01\u88C5, \u6240\u4EE5\u4F7F\u7528\u65F6\u5FC5\u987B\u914D\u5408 NGridItem \u4F7F\u7528\u624D\u80FD\u5B9E\u73B0\u793A\u4F8B\u6548\u679C(\u4F7F\u7528 NGridItem \u5305\u88F9\u5143\u7D20\u5373\u53EF).")]}),e(g,{style:["margin-top: 18px"]},{default:()=>[e(g,{align:"center"},{default:()=>[r("\u6570\u91CF "),e(I,{value:this.gridItemCount,"onUpdate:value":t=>this.gridItemCount=t},null)]}),e(g,{align:"center"},{default:()=>[r("\u884C\u6570 "),e(I,{value:this.gridCollapsedRows,"onUpdate:value":t=>this.gridCollapsedRows=t},null)]})]}),e(fe,{collapsedRows:this.gridCollapsedRows,cols:this.gridItemCount,onUpdateValue:t=>window.$message.info(`\u6211\u662F RayCollapseGrid \u7EC4\u4EF6${t?"\u6536\u8D77":"\u5C55\u5F00"}\u7684\u56DE\u8C03\u51FD\u6570`)},{action:()=>e(N,null,[e(v,null,{default:()=>[r("\u641C\u7D22")]}),e(v,null,{default:()=>[r("\u91CD\u7F6E")]})]),default:()=>e(N,null,[e(C,null,{default:()=>[e(K,null,null)]}),e(C,null,{default:()=>[e(T,null,null)]}),e(C,null,{default:()=>[e(W,{type:"datetimerange",clearable:!0},null)]}),e(C,null,{default:()=>[e(T,null,null)]}),e(C,null,{default:()=>[e(T,null,null)]})])})]})}),e(h,{title:"\u57FA\u7840\u4F7F\u7528",style:["margin-top: 18px"]},{default:()=>[e(S,{title:b(Z,{onUpdateValue:t=>this.tableLoading=t},{}),data:this.tableData,columns:this.baseColumns,action:!1,pagination:{pageSize:10},loading:this.tableLoading},{tableFooter:()=>"\u8868\u683C\u7684\u5E95\u90E8\u5185\u5BB9\u533A\u57DF\uFF0C\u6709\u65F6\u5019\u4F60\u53EF\u80FD\u4F1A\u7528\u4E0A"})]}),e(h,{style:["margin-top: 18px"]},{header:()=>e("div",null,[e("p",null,[r("\u4F7F\u7528\u54CD\u5E94\u5F0F\u65B9\u6CD5\u4EE3\u7406 columns \u5E76\u4E14\u6253\u5F00 action \u5219\u53EF\u4EE5\u542F\u7528\u64CD\u4F5C\u680F(v-model:columns)")]),e("p",null,[r("\u62D6\u62FD\u64CD\u4F5C\u680F\u52A8\u6001\u5207\u6362\u8868\u683C\u5217")]),e("p",null,[r("\u70B9\u51FB\u5DE6\u53F3\u56FA\u5B9A\u6309\u94AE, \u5373\u53EF\u52A8\u6001\u56FA\u5B9A\u5217")]),e("p",null,[r("\u70B9\u51FB\u4FEE\u6539\u5217\u5BBD\u5EA6, \u5373\u53EF\u62D6\u52A8\u5217\u4FEE\u6539\u5BBD\u5EA6")]),e("p",null,[r("\u70B9\u51FB\u5BFC\u51FA\u6309\u94AE\u5373\u53EF\u5BFC\u51FA excel \u8868\u683C, \u9ED8\u8BA4\u4EE5\u5217\u4E3A\u8868\u5934\u8F93\u51FA")]),e("p",null,[r("\u70B9\u51FB\u6253\u5370\u6309\u94AE\u5373\u53EF\u6253\u5370\u8BE5\u8868\u683C")])]),default:()=>e(S,{title:b(T,{placeholder:"\u8BF7\u8F93\u5165\u68C0\u7D22\u6761\u4EF6",style:["width: 200px"]}),data:this.tableData,columns:this.actionColumns,"onUpdate:columns":t=>this.actionColumns=t},null)}),e(h,{title:"\u53F3\u952E\u83DC\u5355",style:["margin-top: 18px"]},{default:()=>[e(S,{title:"\u53F3\u952E\u83DC\u5355\u8868\u683C",action:!1,data:this.tableData,columns:this.baseColumns,rightClickMenu:this.tableMenuOptions,onMenuSelect:this.handleMenuSelect.bind(this)},null)]})]})}});export{Je as default};