adtec-hnyzfc-core-package 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,40 @@
1
+ type __VLS_Props = {
2
+ modelValue?: boolean;
3
+ /** vxe-grid 实例(ref 指向的组件) */
4
+ gridRef?: any;
5
+ /** 弹窗标题 */
6
+ title?: string;
7
+ /** 导出文件名(不含扩展名) */
8
+ filename?: string;
9
+ /** 工作表名 */
10
+ sheetName?: string;
11
+ /** 导出范围类型:current=当前页,all=全部数据,selected=选中行;为空则直接导出当前页 */
12
+ exportTypes?: Array<'current' | 'all' | 'selected'>;
13
+ /** 提供后启用"全部数据"选项,返回全量记录 */
14
+ loadAllData?: () => Promise<any[]>;
15
+ /** 候选列配置(含多级列头时传嵌套 columns);不传则由 grid 当前列生成 */
16
+ columns?: any[];
17
+ /** 屏蔽不导出的列,按 field 或 title 匹配;勾选面板中对应列置灰且不可导出 */
18
+ excludeColumns?: string[];
19
+ /** 自定义导出样式钩子,在写入文件前回调 */
20
+ sheetMethod?: (params: Record<string, any>) => any;
21
+ };
22
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
23
+ success: () => any;
24
+ "update:modelValue": (value: boolean) => any;
25
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
26
+ onSuccess?: (() => any) | undefined;
27
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
28
+ }>, {
29
+ modelValue: boolean;
30
+ title: string;
31
+ columns: any[];
32
+ gridRef: any;
33
+ filename: string;
34
+ sheetName: string;
35
+ exportTypes: Array<"current" | "all" | "selected">;
36
+ loadAllData: () => Promise<any[]>;
37
+ excludeColumns: string[];
38
+ sheetMethod: (params: Record<string, any>) => any;
39
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
40
+ export default _default;
@@ -0,0 +1 @@
1
+ import{defineComponent as W,ref as x,computed as I,watch as X,nextTick as b,resolveComponent as u,openBlock as k,createBlock as T,isRef as Y,unref as Z,withCtx as d,createVNode as f,createElementBlock as A,Fragment as ee,renderList as te,createTextVNode as C,toDisplayString as M,createElementVNode as V,createCommentVNode as B}from"vue";import{useVModel as le}from"@vueuse/core";import oe from"../../utils/FrameworkUtils.js";import{_ as se}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"element-plus";import"xlsx-js-style";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";const ae={style:{width:"100%"}},ne={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"4px"}},re={class:"vxe-export-column-item"},de={key:0,class:"vxe-export-column-field"},ie=W({__name:"VxeExportDialog",props:{modelValue:{type:Boolean,default:!1},gridRef:{default:void 0},title:{default:""},filename:{default:""},sheetName:{default:""},exportTypes:{default:()=>[]},loadAllData:{type:Function,default:void 0},columns:{default:void 0},excludeColumns:{default:()=>[]},sheetMethod:{type:Function,default:void 0}},emits:["update:modelValue","success"],setup(F,{emit:K}){const a=F,D=K,g=le(a,"modelValue",D),N=x("current"),R=x(!1),w=x(),m=x([]),v=x([]);let _=!1;const z={current:{label:"当前页数据"},all:{label:"全部数据"},selected:{label:"选中行数据"}},L=I(()=>(a.exportTypes||[]).map(l=>({value:l,label:z[l]?.label||l}))),U=I(()=>a.title||(a.sheetName?`导出${a.sheetName}`:"导出数据")),$=I(()=>{const l=E(m.value).filter(e=>!e.disabled);return l.length>0&&l.every(e=>v.value.includes(e.key))}),S=l=>{if(!a.excludeColumns?.length)return!1;const e=l.field||l.property,o=l.title||l.label;return a.excludeColumns.some(n=>n&&(n===e||n===o))},j=l=>{const e=(o,n)=>(o||[]).map((t,s)=>{const i=t.children||t.childNodes||[],c=Array.isArray(i)&&i.length>0,p=t.field||t.property||"",y=t.type||"",h=p||y||t.colId||t.id||"col",r=n?`${n}::${h}::${s}`:`${h}::${s}`,J=!c&&S(t),Q=c||!["checkbox","radio"].includes(y);return{key:r,label:t.title||(c?"分组":p)||"未命名列",field:p,type:y,disabled:J,exportable:Q,resolved:t,children:e(i,r)}});return e(l)},E=l=>{const e=[],o=n=>{n.forEach(t=>{t.children?.length?o(t.children):e.push(t)})};return o(l),e},G=()=>{const l=a.gridRef,e=l?.getColumns?.()||[];if(!e.length)return[];const o=new Map;e.forEach(t=>{o.set(t.id,{column:t,children:[]})}),e.forEach(t=>{if(t.parentId){const s=l?.getColumnById?.(t.parentId);if(s){const i=o.get(t.parentId);i?i.column=s:o.set(t.parentId,{column:s,children:[]}),s.childNodes=s.childNodes||[],s.childNodes.includes(t)||s.childNodes.push(t)}}});const n=[];if(o.forEach(t=>{const s=t.column.parentId?o.get(t.column.parentId):null;s?s.children.push(t.column):n.push(t.column)}),a.columns?.length){const t=s=>{const i=s.children||s.childNodes||[];if(i.length)return{...s,children:i.map(t)};const c=s.field||s.property,p=s.type;return c&&l?.getColumnByField?.(c)||p&&e.find(h=>h.type===p&&(!c||h.field===c))||s};return a.columns.map(t)}return n},O=()=>{const l=new Map;if(E(m.value).forEach(o=>{v.value.includes(o.key)&&l.set(o.key,o)}),!l.size)return;const e=o=>{const n=[];return o.forEach(t=>{if(t.children?.length){const s=e(t.children);s.length&&n.push({...t.resolved||t.source||{},children:s})}else l.has(t.key)&&t.exportable&&t.resolved&&n.push(t.resolved)}),n};return e(m.value)},P=()=>{if(_)return;const l=w.value?.getCheckedLeaves?.()||[];v.value=l.map(e=>e.key)},q=()=>{const l=E(m.value).filter(o=>!o.disabled).map(o=>o.key),e=$.value?[]:l;v.value=e,_=!0,b(()=>{w.value?.setCheckedKeys?.(e),b(()=>{_=!1})})},H=async()=>{if(a.gridRef){R.value=!0;try{let l;N.value==="all"&&a.loadAllData?l=await a.loadAllData():N.value==="selected"&&(l=a.gridRef.getCheckboxRecords?.()??[]);const e=a.filename||a.sheetName||"导出数据",o={filename:e,sheetName:e,type:"xlsx",useStyle:!0};a.sheetMethod&&(o.sheetMethod=a.sheetMethod);const n=O();n&&(o.columns=n),a.excludeColumns?.length&&(o.excludeFields=a.excludeColumns),l&&(o.data=l),await a.gridRef.exportData(o),g.value=!1,D("success")}catch(l){oe.messageError(l)}finally{R.value=!1}}};return X(()=>a.modelValue,l=>{l&&b(()=>{m.value=j(G()),v.value=E(m.value).filter(e=>!e.disabled).map(e=>e.key),b(()=>{_=!0,w.value?.setCheckedKeys?.(v.value),b(()=>{_=!1})})})},{immediate:!0}),(l,e)=>{const o=u("el-radio"),n=u("el-radio-group"),t=u("el-form-item"),s=u("el-button"),i=u("el-tag"),c=u("el-tree"),p=u("el-scrollbar"),y=u("el-form"),h=u("el-dialog");return k(),T(h,{modelValue:Z(g),"onUpdate:modelValue":e[2]||(e[2]=r=>Y(g)?g.value=r:null),title:U.value,width:"520px","append-to-body":""},{footer:d(()=>[f(s,{onClick:e[1]||(e[1]=r=>g.value=!1)},{default:d(()=>[...e[5]||(e[5]=[C("取消",-1)])]),_:1}),f(s,{type:"primary",loading:R.value,onClick:H},{default:d(()=>[...e[6]||(e[6]=[C("导出",-1)])]),_:1},8,["loading"])]),default:d(()=>[f(y,{"label-width":"80px"},{default:d(()=>[f(t,{label:"导出范围"},{default:d(()=>[f(n,{modelValue:N.value,"onUpdate:modelValue":e[0]||(e[0]=r=>N.value=r)},{default:d(()=>[(k(!0),A(ee,null,te(L.value,r=>(k(),T(o,{key:r.value,value:r.value},{default:d(()=>[C(M(r.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1}),f(t,{label:"导出列"},{default:d(()=>[V("div",ae,[V("div",ne,[e[3]||(e[3]=V("span",{style:{"font-size":"12px",color:"#909399"}},"勾选需要导出的列,父级列可一键全选/取消",-1)),f(s,{link:"",type:"primary",size:"small",onClick:q},{default:d(()=>[C(M($.value?"取消全选":"全选"),1)]),_:1})]),f(p,{"max-height":"220px"},{default:d(()=>[f(c,{ref_key:"treeRef",ref:w,data:m.value,props:{label:"label",children:"children"},"node-key":"key","show-checkbox":"","default-expand-all":"","expand-on-click-node":!1,onCheck:P},{default:d(({data:r})=>[V("span",re,[V("span",null,M(r.label),1),r.field?(k(),A("span",de,M(r.field),1)):B("v-if",!0),r.disabled?(k(),T(i,{key:1,size:"small",type:"info",style:{"margin-left":"4px"}},{default:d(()=>[...e[4]||(e[4]=[C("已屏蔽",-1)])]),_:1})):B("v-if",!0)])]),_:1},8,["data"])]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue","title"])}}}),ge=se(ie,[["__scopeId","data-v-d67f1b10"]]);export{ge as default};
@@ -0,0 +1,30 @@
1
+ export interface VxeExportOptions {
2
+ /** vxe-grid 实例 */
3
+ grid: any;
4
+ /** 弹窗标题(也用作默认导出文件名) */
5
+ title?: string;
6
+ /** 导出文件名(不含扩展名),默认取 title */
7
+ filename?: string;
8
+ /** 工作表名,默认取 title */
9
+ sheetName?: string;
10
+ /** 导出范围类型:current=当前页,all=全部数据,selected=选中行;为空则直接导出当前页 */
11
+ exportTypes?: Array<'current' | 'all' | 'selected'>;
12
+ /** 提供后"全部数据"会调用它获取全量记录 */
13
+ loadAllData?: () => Promise<any[]>;
14
+ /** 候选列配置(含多级列头时传嵌套 columns);不传则由 grid 当前列生成 */
15
+ columns?: any[];
16
+ /** 屏蔽不导出的列,按 field 或 title 匹配;勾选面板中对应列会置灰且不可导出 */
17
+ excludeColumns?: string[];
18
+ /**
19
+ * 自定义导出样式钩子,在写入文件前回调。
20
+ * 参数包含 vxe 导出插件的 { workbook, worksheet, columns, colgroups, datas, $grid, $table, options },
21
+ * 可用 ExcelJS 的 worksheet 直接调整单元格样式/列宽/行高等。
22
+ */
23
+ sheetMethod?: (params: Record<string, any>) => any;
24
+ }
25
+ /**
26
+ * 导出 vxe-grid 数据。
27
+ * - 有 exportTypes:弹出统一导出范围弹窗,由用户在弹窗内确认导出;
28
+ * - 无 exportTypes:直接导出当前页数据,不弹窗。
29
+ */
30
+ export declare function exportGridData(options: VxeExportOptions): Promise<void>;
@@ -0,0 +1 @@
1
+ import{createApp as o,h as i}from"vue";import h from"element-plus";import c from"./VxeExportDialog.vue.js";import"@vueuse/core";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";let t=null,l=null;function d(){t&&(t.unmount(),t=null),l&&(l.remove(),l=null)}async function M(e){const{grid:m,exportTypes:a=[]}=e;if(!m)return;const r=e.filename||e.sheetName||e.title||"导出数据",u={filename:r,sheetName:r,type:"xlsx",useStyle:!0};if(e.sheetMethod&&(u.sheetMethod=e.sheetMethod),e.excludeColumns?.length&&(u.excludeFields=e.excludeColumns),!a.length){await m.exportData(u);return}d(),l=document.createElement("div"),document.body.appendChild(l),t=o({render:()=>i(c,{modelValue:!0,gridRef:m,title:e.title,filename:e.filename,sheetName:e.sheetName,exportTypes:a,loadAllData:e.loadAllData,columns:e.columns,excludeColumns:e.excludeColumns,sheetMethod:e.sheetMethod,"onUpdate:modelValue":n=>{n||d()}})}),t.use(h),t.mount(l)}export{M as exportGridData};
@@ -1 +1 @@
1
- import{reactive as j,ref as M,watch as T,onMounted as q,nextTick as u,onBeforeUnmount as F,h as y}from"vue";function I(o,m){let v=null;return function(...t){v&&clearTimeout(v),v=window.setTimeout(()=>{o.apply(this,t)},m)}}function A(o){return o==null}function O(o){return o==null||o===""}const X={name:"VxeTooltip",props:{modelValue:Boolean,content:[String,Number],trigger:{type:String,default:"hover"},theme:{type:String,default:"dark"},isArrow:{type:Boolean,default:!0},enterable:{type:Boolean,default:!0},enterDelay:{type:Number,default:0},leaveDelay:{type:Number,default:0}},emits:["update:modelValue"],setup(o,{slots:m,emit:v}){const t=j({target:null,isUpdate:!1,visible:!1,tipContent:"",tipActive:!1,tipTarget:null,tipZindex:0,tipStore:{style:{},placement:"",arrowStyle:{}}}),x={},f=M(),W=M(),b=()=>({scrollTop:window.scrollY||document.documentElement.scrollTop,scrollLeft:window.scrollX||document.documentElement.scrollLeft,visibleWidth:document.documentElement.clientWidth}),k=e=>{const n=e.getBoundingClientRect();return{top:n.top+b().scrollTop,left:n.left+b().scrollLeft}},w=()=>{const{tipTarget:e,tipStore:n}=t;if(e){const{scrollTop:i,scrollLeft:r,visibleWidth:s}=b(),{top:l,left:a}=k(e),c=f.value;if(!c)return;const d=6,V=c.offsetHeight,S=c.offsetWidth;let g=a,C=l-V-d;g=Math.max(d,a+Math.floor((e.offsetWidth-S)/2)),g+S+d>r+s&&(g=r+s-S-d),l-V<i+d&&(n.placement="bottom",C=l+e.offsetHeight+d),n.style.top=`${C}px`,n.style.left=`${g}px`,n.arrowStyle={left:`${a-g+e.offsetWidth/2}px`}}},N=e=>{e!==t.visible&&(t.visible=e,t.isUpdate=!0,v("update:modelValue",e))},D=()=>{const e=f.value;return e&&(e.parentNode||document.body.appendChild(e)),N(!0),t.tipZindex=1e3,t.tipStore.placement="top",t.tipStore.style={width:"auto",left:0,top:0,zIndex:t.tipZindex},t.tipStore.arrowStyle={left:"50%"},u().then(()=>(w(),u().then(()=>{w()})))},E=()=>{x.showDelayTip=I(()=>{t.tipActive&&D()},o.enterDelay)},h=(e,n)=>{if(!m.content&&(n===""||O(n)))return u();if(e){const{showDelayTip:r}=x,{trigger:s,enterDelay:l}=o;if(t.tipActive=!0,t.tipTarget=e,t.tipContent=A(n)?"":n,l&&s==="hover")r&&r();else return D()}return u()},B=()=>{h(t.target,o.content)},$=()=>{const{trigger:e,enterable:n,leaveDelay:i}=o;t.tipActive=!1,n&&e==="hover"?setTimeout(()=>{t.tipActive||p()},i):p()},L=()=>{t.tipActive=!0},U=()=>{const{trigger:e,enterable:n,leaveDelay:i}=o;t.tipActive=!1,n&&e==="hover"&&setTimeout(()=>{t.tipActive||p()},i)},Z=()=>{t.visible?p():h(t.target,o.content)},p=()=>(t.tipTarget=null,t.tipActive=!1,Object.assign(t.tipStore,{style:{},placement:"",arrowStyle:null}),N(!1),u()),H={open(e,n){return h(e||t.target,n)},close:p,updatePlacement(){return u().then(()=>{const{tipTarget:e}=t,n=f.value;if(e&&n)return w(),u().then(()=>{w()})})},isActived(){return t.tipActive},setActived(e){t.tipActive=!!e}},z=()=>{const{tipContent:e}=t,n=m.content,i=[];return n?i.push(y("div",{},n({}))):i.push(y("div",{},`${e}`)),y("div",{ref:W,class:"vxe-tooltip--content"},i)},P=()=>{const{theme:e,isArrow:n,enterable:i}=o,{tipActive:r,visible:s,tipStore:l}=t,a=m.default;let c;return i&&(c={onMouseenter:L,onMouseleave:U}),y("div",{ref:f,class:["vxe-tooltip--wrapper",`theme--${e}`,{[`placement--${l.placement}`]:l.placement,"is--enterable":i,"is--visible":s,"is--arrow":n,"is--active":r}],style:{...l.style,transition:"opacity 0.2s ease, transform 0.2s ease",opacity:s?1:0,transform:s?"scale(1)":"scale(0.95)"},...c},[z(),n?y("div",{class:"vxe-tooltip--arrow",style:l.arrowStyle}):null,...a?a({}):[]])};return T(()=>o.enterDelay,()=>{E()}),T(()=>o.content,e=>{t.tipContent=A(e)?"":e}),T(()=>o.modelValue,e=>{t.isUpdate||(e?h(t.target,o.content):p()),t.isUpdate=!1}),q(()=>{u(()=>{const{trigger:e,content:n}=o,i=f.value;if(i){const r=i.parentNode;if(r){t.tipContent=A(n)?"":n,t.tipZindex=1e3,Array.from(i.children).forEach((a,c)=>{c>1&&(r.insertBefore(a,i),t.target||(t.target=a))}),r.removeChild(i);const{target:l}=t;l&&(e==="hover"?(l.onmouseenter=B,l.onmouseleave=$):e==="click"&&(l.onclick=Z)),o.modelValue&&h(l,n)}}})}),F(()=>{const{target:e}=t,n=f.value;if(e&&(e.onmouseenter=null,e.onmouseleave=null,e.onclick=null),n){const i=n.parentNode;i&&i.removeChild(n)}}),E(),{...H,renderVN:P}},render(){return this.renderVN()}};export{X as default};
1
+ import{reactive as j,ref as M,watch as T,onMounted as q,nextTick as f,onBeforeUnmount as F,h as y}from"vue";function I(o,r){let v=null;return function(...t){v&&clearTimeout(v),v=window.setTimeout(()=>{o.apply(this,t)},r)}}function x(o){return o==null}function O(o){return o==null||o===""}function R(o){if(!o.classList||!o.classList.contains("vxe-cell--label"))return o;const r=o.closest(".vxe-cell--wrapper, .vxe-tree-cell");return r&&(r.scrollHeight>r.clientHeight+1||r.scrollWidth>r.clientWidth+1)?r:o}const Y={name:"VxeTooltip",props:{modelValue:Boolean,content:[String,Number],trigger:{type:String,default:"hover"},theme:{type:String,default:"dark"},isArrow:{type:Boolean,default:!0},enterable:{type:Boolean,default:!0},enterDelay:{type:Number,default:0},leaveDelay:{type:Number,default:0}},emits:["update:modelValue"],setup(o,{slots:r,emit:v}){const t=j({target:null,isUpdate:!1,visible:!1,tipContent:"",tipActive:!1,tipTarget:null,tipZindex:0,tipStore:{style:{},placement:"",arrowStyle:{}}}),A={},p=M(),W=M(),b=()=>({scrollTop:window.scrollY||document.documentElement.scrollTop,scrollLeft:window.scrollX||document.documentElement.scrollLeft,visibleWidth:document.documentElement.clientWidth}),L=e=>{const n=e.getBoundingClientRect();return{top:n.top+b().scrollTop,left:n.left+b().scrollLeft}},w=()=>{const{tipTarget:e,tipStore:n}=t;if(e){const{scrollTop:i,scrollLeft:s,visibleWidth:c}=b(),{top:l,left:a}=L(e),u=p.value;if(!u)return;const m=6,V=u.offsetHeight,S=u.offsetWidth;let g=a,C=l-V-m;g=Math.max(m,a+Math.floor((e.offsetWidth-S)/2)),g+S+m>s+c&&(g=s+c-S-m),l-V<i+m&&(n.placement="bottom",C=l+e.offsetHeight+m),n.style.top=`${C}px`,n.style.left=`${g}px`,n.arrowStyle={left:`${a-g+e.offsetWidth/2}px`}}},N=e=>{e!==t.visible&&(t.visible=e,t.isUpdate=!0,v("update:modelValue",e))},D=()=>{const e=p.value;return e&&(e.parentNode||document.body.appendChild(e)),N(!0),t.tipZindex=9999,t.tipStore.placement="top",t.tipStore.style={width:"auto",left:0,top:0,zIndex:t.tipZindex},t.tipStore.arrowStyle={left:"50%"},f().then(()=>(w(),f().then(()=>{w()})))},E=()=>{A.showDelayTip=I(()=>{t.tipActive&&D()},o.enterDelay)},h=(e,n)=>{if(!r.content&&(n===""||O(n)))return f();if(e){const{showDelayTip:s}=A,{trigger:c,enterDelay:l}=o;if(t.tipActive=!0,t.tipTarget=R(e),t.tipContent=x(n)?"":n,l&&c==="hover")s&&s();else return D()}return f()},k=()=>{h(t.target,o.content)},B=()=>{const{trigger:e,enterable:n,leaveDelay:i}=o;t.tipActive=!1,n&&e==="hover"?setTimeout(()=>{t.tipActive||d()},i):d()},$=()=>{t.tipActive=!0},H=()=>{const{trigger:e,enterable:n,leaveDelay:i}=o;t.tipActive=!1,n&&e==="hover"&&setTimeout(()=>{t.tipActive||d()},i)},U=()=>{t.visible?d():h(t.target,o.content)},d=()=>(t.tipTarget=null,t.tipActive=!1,Object.assign(t.tipStore,{style:{},placement:"",arrowStyle:null}),N(!1),f()),Z={open(e,n){return h(e||t.target,n)},close:d,updatePlacement(){return f().then(()=>{const{tipTarget:e}=t,n=p.value;if(e&&n)return w(),f().then(()=>{w()})})},isActived(){return t.tipActive},setActived(e){t.tipActive=!!e}},z=()=>{const{tipContent:e}=t,n=r.content,i=[];return n?i.push(y("div",{},n({}))):i.push(y("div",{},`${e}`)),y("div",{ref:W,class:"vxe-tooltip--content"},i)},P=()=>{const{theme:e,isArrow:n,enterable:i}=o,{tipActive:s,visible:c,tipStore:l}=t,a=r.default;let u;return i&&(u={onMouseenter:$,onMouseleave:H}),y("div",{ref:p,class:["vxe-tooltip--wrapper",`theme--${e}`,{[`placement--${l.placement}`]:l.placement,"is--enterable":i,"is--visible":c,"is--arrow":n,"is--active":s}],style:{...l.style,transition:"opacity 0.2s ease, transform 0.2s ease",opacity:c?1:0,transform:c?"scale(1)":"scale(0.95)"},...u},[z(),n?y("div",{class:"vxe-tooltip--arrow",style:l.arrowStyle}):null,...a?a({}):[]])};return T(()=>o.enterDelay,()=>{E()}),T(()=>o.content,e=>{t.tipContent=x(e)?"":e}),T(()=>o.modelValue,e=>{t.isUpdate||(e?h(t.target,o.content):d()),t.isUpdate=!1}),q(()=>{f(()=>{const{trigger:e,content:n}=o,i=p.value;if(i){const s=i.parentNode;if(s){t.tipContent=x(n)?"":n,t.tipZindex=1e3,Array.from(i.children).forEach((a,u)=>{u>1&&(s.insertBefore(a,i),t.target||(t.target=a))}),s.removeChild(i);const{target:l}=t;l&&(e==="hover"?(l.onmouseenter=k,l.onmouseleave=B):e==="click"&&(l.onclick=U)),o.modelValue&&h(l,n)}}})}),F(()=>{const{target:e}=t,n=p.value;if(e&&(e.onmouseenter=null,e.onmouseleave=null,e.onclick=null),n){const i=n.parentNode;i&&i.removeChild(n)}}),E(),{...Z,renderVN:P}},render(){return this.renderVN()}};export{Y as default};
@@ -1 +1 @@
1
- import{defineComponent as r,getCurrentInstance as a,resolveComponent as s,openBlock as m,createBlock as p,withCtx as c,resolveDynamicComponent as f,h as d,unref as u}from"vue";import{components as x,initVxeTableInPage as C}from"../../config/VxeTableConfig.js";import"vxe-table";import"@vxe-ui/core";import"@vxe-ui/plugin-render-element";import"@vxe-ui/plugin-render-element/dist/style.css";import"@vxe-ui/plugin-export-xlsx";import"exceljs";import"vxe-table/es/style.css";import"vxe-table/es/locale/lang/zh-CN";import"../../utils/patchWujiePopperCoordinates.js";import"../vxeReplace/index.js";import"../tooltip/index.js";import"../tooltip/src/tooltip.js";import"../../../chunks/VxeButton.vue_vue_type_script_setup_true_lang-s_mYx9TA.js";import"../../../chunks/VxeInput.vue_vue_type_script_setup_true_lang-v9AqGSoL.js";import"../../../chunks/VxeSelect.vue_vue_type_script_setup_true_lang-BfVzFeBc.js";import"../../../chunks/VxeCheckbox.vue_vue_type_script_setup_true_lang-Ccr5YD1x.js";import"../../../chunks/VxeModal.vue_vue_type_script_setup_true_lang-B4gh7jFR.js";import"../../../chunks/VxeLoading.vue_vue_type_script_setup_true_lang-B253kD5t.js";import"../../../chunks/VxePager.vue_vue_type_script_setup_true_lang-DpOa3T96.js";import"../../../chunks/VxeForm.vue_vue_type_script_setup_true_lang-DXNZ8Qzg.js";const H=r({__name:"index",props:{renderComponent:{default:()=>({enableElementPlus:!0,enableExcel:!1,enablePdf:!1})}},setup(t){const{VxeGrid:o}=x;r({components:{VxeGrid:o}}),C(t.renderComponent.enableExcel,t.renderComponent.enablePdf,t.renderComponent.enableElementPlus??!0);const n=a(),i=e=>{n&&(n.exposed=e)};return(e,b)=>{const l=s("el-flex");return m(),p(l,null,{default:c(()=>[(m(),p(f(d(u(o),{...e.$attrs,ref:i},e.$slots))))]),_:1})}}});export{H as default};
1
+ import{defineComponent as r,getCurrentInstance as a,resolveComponent as s,openBlock as m,createBlock as p,withCtx as c,resolveDynamicComponent as f,h as d,unref as u}from"vue";import{components as x,initVxeTableInPage as C}from"../../config/VxeTableConfig.js";import"vxe-table";import"@vxe-ui/core";import"@vxe-ui/plugin-export-xlsx";import"exceljs";import"vxe-table/es/style.css";import"vxe-table/es/locale/lang/zh-CN";import"../../utils/patchWujiePopperCoordinates.js";import"../vxeReplace/index.js";import"../tooltip/index.js";import"../tooltip/src/tooltip.js";import"../../../chunks/VxeButton.vue_vue_type_script_setup_true_lang-s_mYx9TA.js";import"../../../chunks/VxeInput.vue_vue_type_script_setup_true_lang-v9AqGSoL.js";import"../../../chunks/VxeSelect.vue_vue_type_script_setup_true_lang-BfVzFeBc.js";import"../../../chunks/VxeCheckbox.vue_vue_type_script_setup_true_lang-Ccr5YD1x.js";import"../../../chunks/VxeModal.vue_vue_type_script_setup_true_lang-B4gh7jFR.js";import"../../../chunks/VxeLoading.vue_vue_type_script_setup_true_lang-B253kD5t.js";import"../../../chunks/VxePager.vue_vue_type_script_setup_true_lang-DpOa3T96.js";import"../../../chunks/VxeForm.vue_vue_type_script_setup_true_lang-DXNZ8Qzg.js";const A=r({__name:"index",props:{renderComponent:{default:()=>({enableElementPlus:!0,enableExcel:!1,enablePdf:!1})}},setup(t){const{VxeGrid:o}=x;r({components:{VxeGrid:o}}),C(t.renderComponent.enableExcel,t.renderComponent.enablePdf,t.renderComponent.enableElementPlus??!0);const n=a(),i=e=>{n&&(n.exposed=e)};return(e,b)=>{const l=s("el-flex");return m(),p(l,null,{default:c(()=>[(m(),p(f(d(u(o),{...e.$attrs,ref:i},e.$slots))))]),_:1})}}});export{A as default};
@@ -1,12 +1,45 @@
1
- import '@vxe-ui/plugin-render-element/dist/style.css';
2
1
  import 'vxe-table/es/style.css';
3
2
  import '../css/vxeTableUI/all.scss';
4
- import type { App, Component } from 'vue';
3
+ import { type App, type Component } from 'vue';
5
4
  /**
6
- * 局部初始化 vxe-table 插件与配置
5
+ * Tab 键在可编辑单元格间切换:跳过不可编辑列,本行最后一个可编辑
6
+ * 单元格按 Tab 跳到下一行第一个可编辑单元格(最后一行回到第一行)。
7
7
  */
8
+ export declare const vxeEditTabNavigate: {
9
+ isTab: boolean;
10
+ isEsc: boolean;
11
+ tabMethod({ row, column, $table }: any): void;
12
+ };
13
+ export declare function setEditPseudoStyleDefault(enabled: boolean): void;
14
+ /**
15
+ * 可编辑单元格伪样式分类:按列 editRender.name/required 返回类型类。
16
+ * 页面在 gridOptions 里声明 `cellClassName: vxeEditCellClassName`
17
+ * (vxe 只读网格自身的 cellClassName prop,全局配置不会下发)。
18
+ */
19
+ export declare const vxeEditCellClassName: ({ column }: any) => string | string[];
20
+ export declare function setVxeCellClampLines(lines: number): void;
21
+ /**
22
+ * 单元格内容被截断(单行省略或 3 行 clamp)时返回完整文本用于浮显;
23
+ * 未超出返回空串,不弹浮显。配合 tooltipConfig.showAll 使用:
24
+ * showAll 分支下只有 contentMethod 返回非空内容才显示 tooltip。
25
+ */
26
+ export declare const vxeCellClampContentMethod: ({ row, column, $table }: any) => string | number;
8
27
  export declare function initVxeTableInPage(enableExcel?: boolean, enablePdf?: boolean, enableElementPlus?: boolean): void;
9
28
  export declare const components: Record<string, Component>;
29
+ /**
30
+ * 包装 vxe-grid:统一注入编辑相关默认配置,页面零配置。
31
+ *
32
+ * vxe 的限制:keyboardConfig / cellClassName 只读网格自身的 prop,
33
+ * 全局 setConfig 不会下发。这里通过包装组件在渲染时注入:
34
+ * - keyboardConfig:合并 vxeEditTabNavigate(isTab + isEsc + tabMethod),
35
+ * 使 Tab 编辑导航全局生效;
36
+ * - cellClassName:合并 vxeEditCellClassName(伪样式类型类),页面自己的
37
+ * cellClassName 仍会叠加;
38
+ * - 外部 ref 通过 Proxy 透传给内部 grid 实例,setEditCell/reloadData 等照常可用。
39
+ */
40
+ export declare const VxeGridWithEditDefaults: import("vue").DefineComponent<{}, () => globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
41
+ [key: string]: any;
42
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
10
43
  /**
11
44
  * 全局注册 vxe-grid,业务页面无需再局部引入/注册 VxeGrid。
12
45
  * 同时注册 PascalCase 与 kebab-case 两种写法。
@@ -1 +1 @@
1
- import{VxeGrid as r}from"vxe-table";import{VxeUI as e}from"@vxe-ui/core";import n from"@vxe-ui/plugin-render-element";import"@vxe-ui/plugin-render-element/dist/style.css";import{VxeUIPluginExportXLSX as s}from"@vxe-ui/plugin-export-xlsx";import u from"exceljs";import"vxe-table/es/style.css";import a from"vxe-table/es/locale/lang/zh-CN";import{patchWujiePopperCoordinates as g}from"../utils/patchWujiePopperCoordinates.js";import{registerVxeReplaceComponents as f}from"../components/vxeReplace/index.js";import"../components/tooltip/index.js";import"../components/tooltip/src/tooltip.js";import"vue";import"../../chunks/VxeButton.vue_vue_type_script_setup_true_lang-s_mYx9TA.js";import"../../chunks/VxeInput.vue_vue_type_script_setup_true_lang-v9AqGSoL.js";import"../../chunks/VxeSelect.vue_vue_type_script_setup_true_lang-BfVzFeBc.js";import"../../chunks/VxeCheckbox.vue_vue_type_script_setup_true_lang-Ccr5YD1x.js";import"../../chunks/VxeModal.vue_vue_type_script_setup_true_lang-B4gh7jFR.js";import"../../chunks/VxeLoading.vue_vue_type_script_setup_true_lang-B253kD5t.js";import"../../chunks/VxePager.vue_vue_type_script_setup_true_lang-DpOa3T96.js";import"../../chunks/VxeForm.vue_vue_type_script_setup_true_lang-DXNZ8Qzg.js";let o=!1;function i(){o||(o=!0,e.use(s,{ExcelJS:u}))}i();f();function D(t=!1,m=!1,l=!0){g(!0),e.setI18n("zh-CN",a),e.setLanguage("zh-CN"),l&&e.use(n),i(),e.setConfig({table:{showHeader:!0,keepSource:!0,autoResize:!0,height:"100%",showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0,cellConfig:{},headerCellConfig:{height:41},resizeConfig:{refreshDelay:20},resizableConfig:{dragMode:"auto",showDragTip:!1,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},columnDragConfig:{showIcon:!0,showGuidesStatus:!1,showDragTip:!1},checkboxConfig:{showHeader:!0,strict:!0,highlight:!1,range:!1},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4,resizable:!0},tooltipConfig:{enterable:!0,theme:"light"},rowConfig:{isCurrent:!0},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:10,transform:!0,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{enabled:!0,gt:60,preSize:0,oSize:1},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:2},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},columnConfig:{maxFixedSize:4,resizable:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}})}const O={VxeGrid:r};function L(t){t.component("VxeGrid",r),t.component("vxe-grid",r)}export{O as components,D as initVxeTableInPage,L as installVxeGrid};
1
+ import{VxeGrid as b}from"vxe-table";import{VxeUI as p}from"@vxe-ui/core";import{VxeUIPluginExportXLSX as M}from"@vxe-ui/plugin-export-xlsx";import k from"exceljs";import"vxe-table/es/style.css";import I from"vxe-table/es/locale/lang/zh-CN";import{patchWujiePopperCoordinates as P}from"../utils/patchWujiePopperCoordinates.js";import{registerVxeReplaceComponents as V}from"../components/vxeReplace/index.js";import{defineComponent as R,ref as L,onMounted as D,h as N}from"vue";import"../components/tooltip/index.js";import"../components/tooltip/src/tooltip.js";import"../../chunks/VxeButton.vue_vue_type_script_setup_true_lang-s_mYx9TA.js";import"../../chunks/VxeInput.vue_vue_type_script_setup_true_lang-v9AqGSoL.js";import"../../chunks/VxeSelect.vue_vue_type_script_setup_true_lang-BfVzFeBc.js";import"../../chunks/VxeCheckbox.vue_vue_type_script_setup_true_lang-Ccr5YD1x.js";import"../../chunks/VxeModal.vue_vue_type_script_setup_true_lang-B4gh7jFR.js";import"../../chunks/VxeLoading.vue_vue_type_script_setup_true_lang-B253kD5t.js";import"../../chunks/VxePager.vue_vue_type_script_setup_true_lang-DpOa3T96.js";import"../../chunks/VxeForm.vue_vue_type_script_setup_true_lang-DXNZ8Qzg.js";let h=!1;function w(){h||(h=!0,p.use(M,{ExcelJS:k}))}w();V();const v={isTab:!0,isEsc:!0,tabMethod({row:t,column:e,$table:o}){const r=o.getColumns().filter(n=>n.editRender);if(!r.length)return;const u=r.findIndex(n=>n.id===e.id);if(u<0)return;const{fullData:i}=o.getTableData();let a=u+1,d=t;if(a>=r.length){a=0;const n=i.findIndex(s=>s===t);n<i.length-1?d=i[n+1]:d=i[0]}const l=r[a];d&&l&&o.setEditCell(d,l)}};let y=!1;function re(t){y=!!t}const S=({column:t})=>{const e=t.editRender;if(!e)return"";const o=[],r=String(e.name||"").toLowerCase();return r.includes("select")?o.push("vxe-edit--select"):r.includes("date")||r.includes("time")?o.push("vxe-edit--date"):o.push("vxe-edit--input"),e.required&&o.push("vxe-edit--required"),o};let z=3;function ie(t){z=Math.max(0,Math.floor(Number(t)||0))}const F=({column:t})=>{if(!t||t.showOverflow||t.editRender||t.cellRender||t.slots&&(t.slots.default||t.slots.edit))return"";const e=t.type;return e&&["seq","checkbox","radio","expand","select"].includes(e)?"":"vxe-cell--clampable"},O=({row:t,column:e,$table:o})=>{if(!t||!e||!o)return"";const r=o.getCell(t,e),u=r?r.querySelector(".vxe-cell--wrapper"):null,i=r?r.querySelector(".vxe-tree-cell")||u:null;return i&&(i.scrollWidth>i.clientWidth+1||i.scrollHeight>i.clientHeight+1)?o.getCellLabel(t,e):""};p.setConfig({table:{showHeader:!0,keepSource:!0,autoResize:!0,height:"100%",showOverflow:!1,showHeaderOverflow:!0,showFooterOverflow:!0,cellClassName:S,cellConfig:{},headerCellConfig:{height:41},resizeConfig:{refreshDelay:20},resizableConfig:{dragMode:"auto",showDragTip:!1,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},columnDragConfig:{showIcon:!0,showGuidesStatus:!1,showDragTip:!1},checkboxConfig:{showHeader:!0,strict:!0,highlight:!1,range:!1},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4,resizable:!0},tooltipConfig:{enterable:!0,theme:"light",showAll:!0,contentMethod:O},rowConfig:{isCurrent:!0},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",childrenField:"children",indent:10,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},keyboardConfig:v,importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{enabled:!0,gt:60,preSize:0,oSize:1},virtualYConfig:{enabled:!1,gt:100,preSize:1,oSize:2},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},columnConfig:{maxFixedSize:4,resizable:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}});function le(t=!1,e=!1,o=!0){P(!0),p.setI18n("zh-CN",I),p.setLanguage("zh-CN"),w()}const ne={VxeGrid:b},x=R({name:"VxeGrid",inheritAttrs:!1,setup(t,{attrs:e,slots:o,expose:r}){const u=L(null),i={};let a=!1;return D(()=>{const l=u.value;if(!l||a)return;a=!0;const n=new Set([...Object.keys(l),...Object.getOwnPropertyNames(l)]);for(const s of n){if(s==="__v_skip"||s.startsWith("$")||i[s]!==void 0)continue;const c=l[s];typeof c=="function"&&(i[s]=c.bind(l))}}),r(i),()=>{const l=e.editPseudoStyle===void 0?y:!!e.editPseudoStyle,n=e.cellClampLines!==void 0?e.cellClampLines:e["cell-clamp-lines"],s=n===void 0?z:Math.max(0,Math.floor(Number(n)||0));return N(b,{...e,ref:u,class:[e.class,l?"is--edit-pseudo":""],style:[e.style,{"--vxe-cell-clamp-lines":String(s)}],keyboardConfig:{...v,...e.keyboardConfig||{}},border:e.border===void 0||e.border===!0?"inner":e.border,stripe:e.stripe===void 0?!0:e.stripe,cellClassName:c=>{const g=l?S(c):"",m=F(c)?s>0?"vxe-cell--clamp":"vxe-cell--wrap":"",C=e.cellClassName;if(typeof C=="function"){const f=C(c),E=Array.isArray(f)?f:f?[f]:[];return[g,m,...E].flat().filter(Boolean)}return[g,m].flat().filter(Boolean)}},o)}}});function se(t){t.component("VxeGrid",x),t.component("vxe-grid",x)}export{x as VxeGridWithEditDefaults,ne as components,le as initVxeTableInPage,se as installVxeGrid,re as setEditPseudoStyleDefault,ie as setVxeCellClampLines,O as vxeCellClampContentMethod,S as vxeEditCellClassName,v as vxeEditTabNavigate};
@@ -1,4 +1,4 @@
1
- import{ref as p,createApp as C,nextTick as b,h as l,computed as L}from"vue";import x,{ElDrawer as D,ElDialog as H,ElButton as f}from"element-plus";import I from"../stores/storeConfig.js";/* empty css */import*as _ from"@element-plus/icons-vue";import"../config/ElementPlusConfig.js";import j from"element-plus/es/locale/lang/zh-cn";import A from"./useListenerHooks.js";import"pinia";import"pinia-plugin-store";import"crypto-js/enc-utf8";import"crypto-js/enc-base64";import"../utils/patchWujiePopperCoordinates.js";import"@vueuse/core";function B(){if(document.getElementById("dialog-hooks-styles"))return;const o=document.createElement("style");o.id="dialog-hooks-styles",o.type="text/css",o.innerHTML=`
1
+ import{ref as u,createApp as C,nextTick as b,h as r,computed as L}from"vue";import x,{ElDrawer as D,ElDialog as H,ElButton as f}from"element-plus";import I from"../stores/storeConfig.js";/* empty css */import*as _ from"@element-plus/icons-vue";import"../config/ElementPlusConfig.js";import{installVxeGrid as V}from"../config/VxeTableConfig.js";import j from"element-plus/es/locale/lang/zh-cn";import A from"./useListenerHooks.js";import"pinia";import"pinia-plugin-store";import"crypto-js/enc-utf8";import"crypto-js/enc-base64";import"../utils/patchWujiePopperCoordinates.js";import"vxe-table";import"@vxe-ui/core";import"@vxe-ui/plugin-export-xlsx";import"exceljs";import"vxe-table/es/style.css";import"vxe-table/es/locale/lang/zh-CN";import"../components/vxeReplace/index.js";import"../components/tooltip/index.js";import"../components/tooltip/src/tooltip.js";import"../../chunks/VxeButton.vue_vue_type_script_setup_true_lang-s_mYx9TA.js";import"../../chunks/VxeInput.vue_vue_type_script_setup_true_lang-v9AqGSoL.js";import"../../chunks/VxeSelect.vue_vue_type_script_setup_true_lang-BfVzFeBc.js";import"../../chunks/VxeCheckbox.vue_vue_type_script_setup_true_lang-Ccr5YD1x.js";import"../../chunks/VxeModal.vue_vue_type_script_setup_true_lang-B4gh7jFR.js";import"../../chunks/VxeLoading.vue_vue_type_script_setup_true_lang-B253kD5t.js";import"../../chunks/VxePager.vue_vue_type_script_setup_true_lang-DpOa3T96.js";import"../../chunks/VxeForm.vue_vue_type_script_setup_true_lang-DXNZ8Qzg.js";import"@vueuse/core";function B(){if(document.getElementById("dialog-hooks-styles"))return;const e=document.createElement("style");e.id="dialog-hooks-styles",e.type="text/css",e.innerHTML=`
2
2
  /* 抽屉组件 - 无滚动条样式 */
3
3
  .dialog-hooks-no-scroll.el-drawer .el-drawer__body {
4
4
  overflow: hidden !important;
@@ -21,4 +21,4 @@ import{ref as p,createApp as C,nextTick as b,h as l,computed as L}from"vue";impo
21
21
  /* IE 和 Edge */
22
22
  -ms-overflow-style: none !important;
23
23
  }
24
- `,document.head.appendChild(o)}function X(o){return function(g){const s=p(!1),t=p(!1),a=p(),y=(d,h,c,k="drawer",u,w=!0)=>{s.value=!0,w||B();const E={...c,class:["dialog-hooks-no-scroll",...c.class||[]]},e=C(()=>l(k==="drawer"?D:H,{...E,...c,modelValue:s.value,onClosed(){e.unmount(),document.body.removeChild(m)},onClose(){i()}},{default:()=>l(d,{...h,loading:t.value,ref:a}),footer:()=>{if(u&&u.length){const n=u.map(r=>typeof r=="function"?r():r);return l("div",{className:"dialog-footer"},n)}return l("div",{className:"dialog-footer"},[l(f,{onClick:i},"取 消"),l(f,{type:"primary",onClick:v,loading:L(()=>t.value).value},"确 认")])}}));o.plugins?.forEach(n=>e.use(n)),e.use(x,{locale:j}),e.use(I),e.use(o.router);for(const[n,r]of Object.entries(_))e.component(n,r);o.setupApp?.(e);const m=document.createElement("div");document.body.appendChild(m),e.mount(m),b(()=>{a.value?.resetQuery?.()}),A()},v=async()=>{try{t.value=!0,await a.value?.confirm?.(),g&&i()}finally{t.value=!1}},i=()=>{s.value=!1};return{render:y,cancel:i,setLoading:d=>{t.value=d},getLoading:()=>t.value,instance:a}}}export{X as createDialogHooks,X as default};
24
+ `,document.head.appendChild(e)}function yo(e){return function(g){const s=u(!1),t=u(!1),n=u(),y=(m,h,d,k="drawer",p,w=!0)=>{s.value=!0,w||B();const E={...d,class:["dialog-hooks-no-scroll",...d.class||[]]},o=C(()=>r(k==="drawer"?D:H,{...E,...d,modelValue:s.value,onClosed(){o.unmount(),document.body.removeChild(c)},onClose(){a()}},{default:()=>r(m,{...h,loading:t.value,ref:n}),footer:()=>{if(p&&p.length){const i=p.map(l=>typeof l=="function"?l():l);return r("div",{className:"dialog-footer"},i)}return r("div",{className:"dialog-footer"},[r(f,{onClick:a},"取 消"),r(f,{type:"primary",onClick:v,loading:L(()=>t.value).value},"确 认")])}}));e.plugins?.forEach(i=>o.use(i)),o.use(x,{locale:j}),o.use(I),o.use(e.router);for(const[i,l]of Object.entries(_))o.component(i,l);V(o),e.setupApp?.(o);const c=document.createElement("div");document.body.appendChild(c),o.mount(c),b(()=>{n.value?.resetQuery?.()}),A()},v=async()=>{try{t.value=!0,await n.value?.confirm?.(),g&&a()}finally{t.value=!1}},a=()=>{s.value=!1};return{render:y,cancel:a,setLoading:m=>{t.value=m},getLoading:()=>t.value,instance:n}}}export{yo as createDialogHooks,yo as default};
@@ -1 +1 @@
1
- import{ref as m,createApp as g,h as t}from"vue";import v,{ElDialog as y,ElDrawer as C,ElButton as n}from"element-plus";import h from"./plugins.js";import E from"../stores/storeConfig.js";/* empty css */import"../config/ElementPlusConfig.js";import b from"element-plus/es/locale/lang/zh-cn";import"../mixin/globalMixin.js";import"../../chunks/operationAuth.vue_vue_type_script_setup_true_lang-Cqn1ksOr.js";import"vue-router";import"../stores/userInfoStore.js";import"pinia";import"../utils/userSessionStorage.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../chunks/ElFlex.vue_vue_type_script_setup_true_lang-D3H7QH-5.js";import"../interface/enum/FlexEnum.js";import"@vueuse/core";import"../components/icon/ElIcons.vue.js";import"../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../components/Search/ElSearch.vue.js";import"@element-plus/icons-vue";import"../../chunks/ElTitle.vue_vue_type_script_setup_true_lang-B0oGtxWu.js";import"../components/icon/ElIconBtn.vue.js";import"../components/Search/ElIconSearch.vue.js";import"../directives/vTrack.js";import"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/buildUploadHeaders.js";import"ts-md5";import"../components/autoToolTip/ElAutoToolTip.vue.js";import"../components/business/userSelect.vue.js";import"../api/BasicApi.js";import"../api/SysUserApi.js";import"../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../chunks/comp.selectUser.vue_vue_type_script_setup_true_lang-BQDO393q.js";import"../api/EmployeeInfoApi.js";import"../components/business/comp.userForm.vue.js";import"../api/DeptInfoApi.js";import"../hooks/useResetRefHooks.js";import"../../chunks/ElScrollbars.vue_vue_type_script_setup_true_lang-0Vhrxdyr.js";import"@vueuse/components";import"../../chunks/ElTotalTools.vue_vue_type_script_setup_true_lang-Dw9M4qw4.js";import"../components/ElCardList.vue.js";import"../components/kFrame/KFrame.vue.js";import"../components/kFrame/IframeOptions.js";import"pinia-plugin-store";import"../utils/patchWujiePopperCoordinates.js";function ko(a,u,c,s,d="dialog"){const p=m(!0),i=m(!1),e=m(),o=g(()=>t(d==="dialog"?y:C,{...c,modelValue:p.value,onClosed(){o.unmount(),document.body.removeChild(r)},onClose(){l()}},{default:()=>t(a,{...u,ref:e}),footer:()=>t("div",{className:"dialog-footer"},[t(n,{onClick:l},()=>"取 消"),t(n,{type:"primary",onClick:f,loading:i.value},()=>"确 认")])}));o.use(h),o.use(v,{locale:b}),o.use(E),o.use(s);const r=document.createElement("div");document.body.appendChild(r),o.mount(r);async function f(){i.value=!0;try{await e.value?.confirm?.()}finally{i.value=!1}}function l(){p.value=!1}}export{ko as renderDialog};
1
+ import{ref as m,createApp as g,h as t}from"vue";import v,{ElDialog as y,ElDrawer as C,ElButton as n}from"element-plus";import E from"./plugins.js";import h from"../stores/storeConfig.js";/* empty css */import"../config/ElementPlusConfig.js";import b from"element-plus/es/locale/lang/zh-cn";import"../mixin/globalMixin.js";import"../../chunks/operationAuth.vue_vue_type_script_setup_true_lang-Cqn1ksOr.js";import"vue-router";import"../stores/userInfoStore.js";import"pinia";import"../utils/userSessionStorage.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../chunks/ElFlex.vue_vue_type_script_setup_true_lang-D3H7QH-5.js";import"../interface/enum/FlexEnum.js";import"@vueuse/core";import"../components/icon/ElIcons.vue.js";import"../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../components/Search/ElSearch.vue.js";import"@element-plus/icons-vue";import"../../chunks/ElTitle.vue_vue_type_script_setup_true_lang-B0oGtxWu.js";import"../components/icon/ElIconBtn.vue.js";import"../components/Search/ElIconSearch.vue.js";import"../directives/vTrack.js";import"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/buildUploadHeaders.js";import"ts-md5";import"../components/autoToolTip/ElAutoToolTip.vue.js";import"../components/business/userSelect.vue.js";import"../api/BasicApi.js";import"../api/SysUserApi.js";import"../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../chunks/comp.selectUser.vue_vue_type_script_setup_true_lang-BQDO393q.js";import"../api/EmployeeInfoApi.js";import"../components/business/comp.userForm.vue.js";import"../api/DeptInfoApi.js";import"../hooks/useResetRefHooks.js";import"../../chunks/ElScrollbars.vue_vue_type_script_setup_true_lang-0Vhrxdyr.js";import"@vueuse/components";import"../../chunks/ElTotalTools.vue_vue_type_script_setup_true_lang-Dw9M4qw4.js";import"../components/ElCardList.vue.js";import"../components/kFrame/KFrame.vue.js";import"../components/kFrame/IframeOptions.js";import"pinia-plugin-store";import"../utils/patchWujiePopperCoordinates.js";function ko(a,u,c,s,d="dialog"){const p=m(!0),i=m(!1),e=m(),o=g(()=>t(d==="dialog"?y:C,{...c,modelValue:p.value,onClosed(){o.unmount(),document.body.removeChild(r)},onClose(){l()}},{default:()=>t(a,{...u,ref:e}),footer:()=>t("div",{className:"dialog-footer"},[t(n,{onClick:l},()=>"取 消"),t(n,{type:"primary",onClick:f,loading:i.value},()=>"确 认")])}));o.use(E),o.use(v,{locale:b}),o.use(h),o.use(s);const r=document.createElement("div");document.body.appendChild(r),o.mount(r);async function f(){i.value=!0;try{await e.value?.confirm?.()}finally{i.value=!1}}function l(){p.value=!1}}export{ko as renderDialog};
@@ -289,11 +289,15 @@ export namespace VxeColumnPropTypes {
289
289
  autoSelect?: boolean
290
290
  defaultValue?: ((params: { column: VxeTableDefines.ColumnInfo<D> }) => any) | null | undefined | string | number | RegExp | object | any[] | Date
291
291
  immediate?: boolean
292
- content?: string
293
- placeholder?: string
294
-
295
- /**
296
- * 只对 VxeNumberInput 有效,当值为负数时,自动显示为红色
292
+ content?: string
293
+ placeholder?: string
294
+ /**
295
+ * 是否必填(仅用于可编辑单元格伪样式的右上角必填角标,非校验规则)
296
+ */
297
+ required?: boolean
298
+
299
+ /**
300
+ * 只对 VxeNumberInput 有效,当值为负数时,自动显示为红色
297
301
  */
298
302
  showNegativeStatus?: boolean
299
303