@robot-admin/naive-ui-components 0.24.2 → 0.24.3

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.
Files changed (94) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +4 -2
  3. package/README_EN.md +4 -2
  4. package/SECURITY.md +12 -2
  5. package/dist/C_AntV2.cjs +1 -1
  6. package/dist/C_AntV2.js +3 -3
  7. package/dist/C_Form.base.css +40 -40
  8. package/dist/C_Form.css +40 -40
  9. package/dist/C_Map2.cjs +1 -1
  10. package/dist/C_Map2.js +1 -1
  11. package/dist/C_Table.base.css +150 -150
  12. package/dist/C_Table.css +110 -110
  13. package/dist/C_Table2.cjs +2 -2
  14. package/dist/C_Table2.js +2 -2
  15. package/dist/C_Upload2.cjs +1 -1
  16. package/dist/C_Upload2.js +1 -1
  17. package/dist/C_VideoPlayer.css +30 -20
  18. package/dist/C_VideoPlayer2.cjs +2 -2
  19. package/dist/C_VideoPlayer2.js +3 -3
  20. package/dist/Steps.cjs +1 -1
  21. package/dist/Steps.js +1 -1
  22. package/dist/Tabs.cjs +1 -1
  23. package/dist/Tabs.js +1 -1
  24. package/dist/constants2.d.cts +6 -6
  25. package/dist/constants2.d.ts +6 -6
  26. package/dist/constants3.d.cts +2 -2
  27. package/dist/constants3.d.ts +2 -2
  28. package/dist/data2.cjs +1 -1
  29. package/dist/data2.d.cts +4 -4
  30. package/dist/data2.d.ts +4 -4
  31. package/dist/data2.js +1 -1
  32. package/dist/index.cjs +1 -1
  33. package/dist/index.js +1 -1
  34. package/dist/index.vue.d.cts +4 -4
  35. package/dist/index.vue.d.ts +4 -4
  36. package/dist/index10.vue.d.cts +2 -2
  37. package/dist/index10.vue.d.ts +5 -5
  38. package/dist/index11.vue.d.cts +5 -5
  39. package/dist/index13.vue.d.ts +3 -3
  40. package/dist/index14.vue.d.cts +3 -3
  41. package/dist/index15.vue.d.ts +8 -8
  42. package/dist/index16.vue.d.cts +8 -8
  43. package/dist/index16.vue.d.ts +1 -1
  44. package/dist/index17.vue.d.cts +1 -1
  45. package/dist/index17.vue.d.ts +1 -1
  46. package/dist/index18.vue.d.cts +1 -1
  47. package/dist/index18.vue.d.ts +2 -2
  48. package/dist/index19.vue.d.cts +2 -2
  49. package/dist/index19.vue.d.ts +1 -1
  50. package/dist/index2.vue.d.cts +2 -2
  51. package/dist/index2.vue.d.ts +2 -2
  52. package/dist/index20.vue.d.cts +1 -1
  53. package/dist/index22.vue.d.ts +2 -2
  54. package/dist/index23.vue.d.cts +2 -2
  55. package/dist/index26.vue.d.cts +4 -4
  56. package/dist/index26.vue.d.ts +4 -4
  57. package/dist/index28.vue.d.cts +2 -2
  58. package/dist/index28.vue.d.ts +2 -2
  59. package/dist/index29.vue.d.cts +2 -2
  60. package/dist/index29.vue.d.ts +2 -2
  61. package/dist/index3.vue.d.cts +3 -3
  62. package/dist/index3.vue.d.ts +3 -3
  63. package/dist/index9.vue.d.ts +2 -2
  64. package/dist/mapUtils.d.cts +1 -1
  65. package/dist/mapUtils.d.ts +1 -1
  66. package/dist/serializeSearch.cjs +1 -1
  67. package/dist/serializeSearch.js +1 -1
  68. package/dist/style.css +180 -170
  69. package/dist/useCollapsePanel.d.cts +2 -2
  70. package/dist/useCollapsePanel.d.ts +2 -2
  71. package/dist/useCropperCore.d.cts +6 -6
  72. package/dist/useCropperCore.d.ts +6 -6
  73. package/dist/useDictionary.cjs +1 -1
  74. package/dist/useDictionary.js +1 -1
  75. package/dist/useDynamicFormState.d.cts +2 -2
  76. package/dist/useDynamicFormState.d.ts +2 -2
  77. package/dist/useEdgeInteraction.d.cts +3 -3
  78. package/dist/useEdgeInteraction.d.ts +3 -3
  79. package/dist/useInfiniteScroll.d.cts +2 -2
  80. package/dist/useInfiniteScroll.d.ts +2 -2
  81. package/dist/useQRCode.d.cts +3 -3
  82. package/dist/useQRCode.d.ts +3 -3
  83. package/dist/useSignatureHistory.d.cts +4 -4
  84. package/dist/useSignatureHistory.d.ts +4 -4
  85. package/dist/useSplitResize.d.cts +6 -6
  86. package/dist/useSplitResize.d.ts +6 -6
  87. package/dist/useWorkflowValidation.d.cts +97 -97
  88. package/dist/useWorkflowValidation.d.ts +97 -97
  89. package/dist/verification.d.cts +2 -2
  90. package/dist/verification.d.ts +2 -2
  91. package/docs/engineering.en.md +1 -1
  92. package/docs/engineering.md +1 -1
  93. package/docs/stability-review-20261031.md +46 -0
  94. package/package.json +4 -2
package/dist/C_Table2.cjs CHANGED
@@ -1,3 +1,3 @@
1
- require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./dictionary.cjs`),n=require(`./data2.cjs`),r=require(`./useComponentLocale.cjs`),i=require(`./feedback.cjs`),a=require(`./C_Icon2.cjs`),o=require(`./export-helper.cjs`),s=require(`./C_Loading2.cjs`),c=require(`./useActionTask.cjs`),l=require(`./C_ActionBar2.cjs`),u=require(`./useDictionary.cjs`),d=require(`./formValidation.cjs`),f=require(`./useTableGlobalConfig.cjs`);let p=require(`vue`),m=require(`naive-ui`);const h={editable:!1,editMode:`none`,showRowActions:!1,modalTitle:`编辑数据`,modalWidth:600,onEditSave:void 0,onEditCancel:void 0,onEditError:void 0},g=e=>{if(e===!1||e===void 0)return h;if(typeof e==`string`)return g({mode:e});if(e===!0)return{editable:!0,editMode:`modal`,showRowActions:!0,modalTitle:`编辑数据`,modalWidth:600,onEditSave:void 0,onEditCancel:void 0,onEditError:void 0};let t=e.enabled!==!1&&e.mode!==`none`;return{editable:t,editMode:e.mode||`modal`,showRowActions:t&&e.showRowActions!==!1,modalTitle:e.modalTitle||`编辑数据`,modalWidth:e.modalWidth||600,onEditSave:e.onSave,onEditCancel:e.onCancel,onEditError:e.onError}},_=e=>e?e===!0?{expandable:!0,defaultExpandedKeys:void 0,onLoadExpandData:void 0,onExpandError:void 0,renderExpandContent:void 0,rowExpandable:void 0}:{expandable:e.enabled!==!1,defaultExpandedKeys:e.defaultExpandedKeys,onLoadExpandData:e.onLoadData,onExpandError:e.onError,renderExpandContent:e.renderContent,rowExpandable:e.rowExpandable}:{expandable:!1,defaultExpandedKeys:void 0,onLoadExpandData:void 0,onExpandError:void 0,renderExpandContent:void 0,rowExpandable:void 0},v=e=>{if(!e)return{enableSelection:!1,defaultCheckedKeys:void 0,rowCheckable:void 0,maxSelection:void 0,enableChildSelection:!1,childRowCheckable:void 0,enableParentChildLink:!1,parentChildLinkMode:`loose`};if(e===!0)return{enableSelection:!0,defaultCheckedKeys:void 0,rowCheckable:void 0,maxSelection:void 0,enableChildSelection:!1,childRowCheckable:void 0,enableParentChildLink:!1,parentChildLinkMode:`loose`};let t=e.childSelection||{},n=e.parentChildLink||{};return{enableSelection:e.enabled!==!1,defaultCheckedKeys:e.defaultCheckedKeys,rowCheckable:e.rowCheckable,maxSelection:e.maxSelection,enableChildSelection:t.enabled||!1,childRowCheckable:t.childRowCheckable,enableParentChildLink:n.enabled||!1,parentChildLinkMode:n.mode||`loose`}},y=(t,n)=>{let r={enabled:!0,page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:n?e.t(n).size:`medium`};return t===!1?{pagination:null}:t===!0||t===void 0?{pagination:r}:{pagination:{...r,...t}}},b=e=>e?e===!0?{dynamicRows:{enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0}}:{dynamicRows:e}:{dynamicRows:void 0},x={striped:!0,bordered:!0,singleLine:!0,size:`medium`,maxHeight:void 0,scrollX:void 0,columnWidth:180};function S(t,n){let{size:r}=e.t(n);return t?{striped:t.striped??x.striped,bordered:t.bordered??x.bordered,singleLine:t.singleLine??x.singleLine,size:t.size??r,maxHeight:t.maxHeight,scrollX:t.scrollX,columnWidth:t.columnWidth??x.columnWidth}:{...x,size:r}}const ee=(t,n)=>({showToolbar:t?.show!==!1,enableColumnSettings:t?.columnSettings!==!1,toolbarActions:t?.actions??[],toolbarRightActions:t?.rightActions??[],toolbarActionBarConfig:{...n?{size:e.t(n).size,compact:n===`compact`}:{},...t?.actionBar}}),C=e=>e?e===!0?{virtualScroll:!0,virtualItemHeight:34,virtualMaxHeight:600}:{virtualScroll:e.enabled!==!1,virtualItemHeight:e.itemHeight??34,virtualMaxHeight:e.maxHeight??600}:{virtualScroll:!1,virtualItemHeight:34,virtualMaxHeight:600},w=e=>e?{summaryPosition:e.position??`bottom`,summaryRender:e.render}:{summaryPosition:void 0,summaryRender:void 0},te=e=>e?e===!0?{enableColumnDrag:!0,columnDragHandleClass:void 0,columnDragAnimationDuration:150}:{enableColumnDrag:e.enabled!==!1,columnDragHandleClass:e.handleClass,columnDragAnimationDuration:e.animationDuration??150}:{enableColumnDrag:!1,columnDragHandleClass:void 0,columnDragAnimationDuration:150},T=e=>e?e===!0?{treeEnabled:!0,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1}:{treeEnabled:e.enabled!==!1,treeChildrenKey:e.childrenKey??`children`,treeIndent:e.indent??16,treeDefaultExpandAll:e.defaultExpandAll??!1}:{treeEnabled:!1,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1},E=e=>e?e===!0?{rowDrag:{enabled:!0}}:{rowDrag:e.enabled===!1?void 0:e}:{rowDrag:void 0},D=e=>e?e===!0?{crossPageSelection:{enabled:!0}}:{crossPageSelection:e.enabled===!1?void 0:e}:{crossPageSelection:void 0};function O(t={}){return{density:t.density,controlSize:t.density?e.t(t.density).size:`small`,feedback:t.feedback,locale:t.locale,...g(t.edit),..._(t.expand),...v(t.selection),...y(t.pagination,t.density),...b(t.dynamicRows),...S(t.display,t.density),...ee(t.toolbar,t.density),...C(t.virtualScroll),...w(t.summary),...te(t.columnDrag),...T(t.tree),...E(t.rowDrag),...D(t.crossPageSelection),exportConfig:t.export,persistKey:t.persistKey,formatterConfig:t.formatterConfig,error:t.error,batchActions:t.batchActions}}const k=e=>({isNonEditable:t=>!e.editable||t.editable===!1||e.editMode===`none`,isRowEditMode:()=>[`row`,`both`].includes(e.editMode),isCellEditMode:()=>[`cell`,`both`].includes(e.editMode)});function A(e){return e.type===void 0&&e.editable!==!1&&e.key!==`_actions`&&String(e.key??``).trim().length>0}function j(e,t){if(!A(e))return[];let n=[...e.editProps?.rules??[]];return e.required&&!n.some(e=>e.required)&&n.unshift(d.t(e.title,`${e.title}不能为空`)),n.map(n=>{let r={...n};if(r.type===void 0&&(e.editType===`number`&&(r.type=`number`),e.editType===`switch`&&(r.type=`boolean`)),n.validator){let e=n.validator;r.validator=(n,r,i,a,o)=>{let s=!1;try{let c=e(n,r,e=>{s=!0,i(e)},t?.()??a,o);return c===void 0&&!s?!0:c}catch(e){return e instanceof Error?e:Error(String(e))}}}if(n.asyncValidator){let e=n.asyncValidator;r.asyncValidator=(n,r,i,a,o)=>new Promise((i,s)=>{e(n,r,e=>{e?s(e):i()},t?.()??a,o)?.then(i,s)})}return r})}async function M(e,t,n,r,i=e.key??`value`){if(e.level===`warning`)return null;let a=`${n}校验失败`;try{let n=(await import(`async-validator`)).default;return await new(`default`in n?n.default:n)({[i]:e}).validate({...r,[i]:t},{first:!0,suppressWarning:!0,suppressValidatorError:!0}),null}catch(e){return(e?.errors)?.[0]?.message??(e instanceof Error?e.message:a)}}function N(e){let t=0,r=(0,p.ref)(null),i=(0,p.ref)({}),a=(0,p.ref)(!1),o=(0,p.ref)([]),s=()=>{t++,r.value=null,i.value={},o.value=[]},c=e=>r.value===e,l=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},u=e=>{let t=l(e);return!t||a.value?!1:(r.value=e,i.value={[String(e)]:n.t(t)},o.value=[],!0)},d=async()=>{if(r.value===null||a.value)return;let t=e.data();if(!t||!Array.isArray(t))return;let n=t.findIndex(t=>e.rowKey(t)===r.value);a.value=!0;try{n>-1&&await e.onCancel?.(t[n],n),r.value=null,i.value={}}finally{a.value=!1}},f=async(n,i)=>{let a=t,s=(e.columns?.()||[]).filter(A).map(async e=>{let t=String(e.key);if(!t)return null;let r=(await Promise.all(j(e).map(r=>M(r,n[t],e.title||t,n,t)))).find(Boolean);return r?{field:t,message:r}:null}),c=(await Promise.all(s)).filter(Boolean);return t===a?(r.value===i&&(o.value=c),c.length===0):!1},m=async()=>{let e=r.value;if(e===null)return!0;let t=i.value[String(e)];return t?f(n.t(t),e):!0},h=async()=>{let o=r.value;if(o===null||a.value)return;let s=i.value[String(o)];if(!s)return;let c=n.t(s),u=t,d=l(o);a.value=!0;try{if(!await f(c,o)||t!==u)return;let n=e.data(),a=n.findIndex(t=>e.rowKey(t)===o);return a===-1||n[a]!==d||(await e.onSave?.(c,a,o),t!==u)?void 0:(r.value=null,i.value={},{updatedData:c,rowIndex:a})}finally{a.value=!1}},g=e=>{if(r.value===e)return i.value[String(e)]};return{editingRowKey:r,editingData:i,isSaving:a,isEditingRow:c,startEditRow:u,cancelEditRow:d,saveEditRow:h,validateRow:m,validationErrors:o,getEditingRowData:g,updateEditingRowData:(e,t,r)=>{let i=g(e);!i||a.value||(i[t]=n.t(r))},findRowData:l,invalidate:s}}function P(e,t){let n=String(e);return`${typeof e}:${n.length}:${n}|${t.length}:${t}`}function F(e){let t=0,r=(0,p.ref)({rowKey:null,columnKey:null}),i=(0,p.ref)({}),a=(0,p.ref)(!1),o=(0,p.ref)(null),s=()=>{t++,r.value={rowKey:null,columnKey:null},i.value={},o.value=null},c=(e,t)=>r.value.rowKey===e&&r.value.columnKey===t,l=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},u=(e,t)=>{let s=l(e);return!s||!t||a.value?!1:(r.value={rowKey:e,columnKey:t},i.value={[P(e,t)]:n.t(s[t])},o.value=null,!0)},d=t=>(e.columns?.()??[]).find(e=>String(e.key)===t),f=async()=>{let e=t;o.value=null;let{rowKey:n,columnKey:a}=r.value;if(n===null||a===null)return!0;let s=d(a);if(!s)return!0;let c=P(n,a),u=i.value[c],f=s.title||a,p={...l(n),[a]:u},m=await Promise.all(j(s).map(e=>M(e,u,f,p,a)));if(t!==e)return!1;let h=m.find(Boolean);return h?(o.value=h,!1):!0};return{editingCell:r,editingData:i,isSaving:a,isEditingCell:c,startEditCell:u,saveEditCell:async()=>{let{rowKey:o,columnKey:s}=r.value;if(o===null||s===null||a.value)return;let c=P(o,s),u=n.t(i.value[c]),d=t,p=l(o);a.value=!0;try{if(!await f()||t!==d)return;let a=e.data(),c=a.findIndex(t=>e.rowKey(t)===o);if(c===-1||a[c]!==p)return;let l={...a[c],[s]:u};return await e.onSave?.(n.t(l),c,s,o),t===d?(r.value={rowKey:null,columnKey:null},i.value={},{updatedData:l,rowIndex:c,columnKey:s}):void 0}finally{a.value=!1}},cancelEditCell:()=>{let{rowKey:e,columnKey:t}=r.value;a.value||(e!==null&&t!==null&&delete i.value[P(e,t)],r.value={rowKey:null,columnKey:null},o.value=null)},validateCell:f,cellValidationError:o,getEditingCellValue:(e,t)=>i.value[P(e,t)],updateEditingCellValue:(e,t,r)=>{!c(e,t)||a.value||(i.value[P(e,t)]=n.t(r))},findRowData:l,invalidate:s}}function ne(e){let t=0,r=(0,p.ref)(!1),i=(0,p.ref)(!1),a=(0,p.ref)(null),o=(0,p.ref)({}),s=()=>{t++,r.value=!1,a.value=null,o.value={}},c=(0,p.computed)(()=>{if(a.value===null)return-1;let t=e.data();return Array.isArray(t)?t.findIndex(t=>e.rowKey(t)===a.value):-1});return{isModalVisible:r,isSaving:i,editingData:o,editingRowKey:a,editingRowIndex:c,startEdit:(s,c)=>{if(i.value)return!1;let l=e.data();if(!Array.isArray(l))return!1;let u=l.findIndex(t=>e.rowKey(t)===s);return u===-1?!1:(t++,a.value=s,o.value=n.t(c??l[u]),r.value=!0,!0)},saveEdit:async s=>{if(i.value||a.value===null)return;let l=c.value;if(l===-1)return;let u=a.value,d=t,f=n.t(s??o.value);i.value=!0;try{return await e.onSave?.(f,l,u),t===d?(r.value=!1,a.value=null,o.value={},{updatedData:f,rowIndex:l}):void 0}finally{i.value=!1}},cancelEdit:async()=>{if(i.value)return!1;let n=t,s=c.value;try{if(a.value!==null&&s>-1){let t=e.data();t[s]&&await e.onCancel?.(t[s],s)}}finally{t===n&&(r.value=!1,a.value=null,o.value={})}return!0},updateEditingData:e=>i.value?!1:(o.value=n.t(e),!0),resetEditingState:()=>i.value?!1:(a.value=null,o.value={},!0),isEditingRow:e=>a.value===e&&r.value,getEditingRowData:e=>a.value===e?o.value:null,invalidate:s}}function re(e,t){try{let n=t(e);if(typeof n==`string`&&n!==``)return JSON.stringify([`string`,n]);if(typeof n==`number`&&Number.isFinite(n))return JSON.stringify([`number`,n])}catch{}}function ie(e,t){if(!t)return e;let n=[],r=new WeakSet,i=[];for(let t=e.length-1;t>=0;t--)i.push(e[t]);for(;i.length;){let e=i.pop();if(r.has(e))continue;r.add(e),n.push(e);let a=e[t];if(Array.isArray(a))for(let e=a.length-1;e>=0;e--){let t=a[e];t&&typeof t==`object`&&i.push(t)}}return n}function I(e,t,n,r){let i=new WeakSet,a=e=>{if(e===t)return n;if(!r||i.has(e))return e;i.add(e);let o=e[r];if(!Array.isArray(o))return e;let s=o.map(e=>e&&typeof e==`object`?a(e):e);return s.some((e,t)=>e!==o[t])?{...e,[r]:s}:e};return e.map(a)}function ae(e){return e}function oe(e){return e}function se(e,t){let n=new Map,r=[];return e.forEach((e,i)=>{let a;try{a=t(e)}catch(t){r.push({type:`error`,row:e,index:i,cause:t});return}if(a==null||a===``){r.push({type:`missing`,row:e,index:i});return}let o=n.get(a);if(o!==void 0){r.push({type:`duplicate`,row:e,index:i,key:a,firstIndex:o});return}n.set(a,i)}),r}function ce(e,t,n){let r=new Set,i=new WeakSet,a=[...e],o=e=>{try{return n(e)}catch{return}},s=e=>e!=null&&e!==``;for(;a.length;){let e=a.pop();if(i.has(e))continue;i.add(e);let n=e[t];if(!Array.isArray(n)||n.length===0)continue;let c=o(e);s(c)&&r.add(c);for(let e of n)e&&typeof e==`object`&&a.push(e)}return[...r]}const le=e=>({expandedKeys:(0,p.ref)([...e.defaultExpandedKeys||[]]),expandDataMap:(0,p.ref)(new Map),loadingMap:(0,p.ref)(new Map),errorMap:(0,p.ref)(new Map),checkedKeys:e.enableSelection?(0,p.ref)([...e.defaultCheckedKeys||[]]):(0,p.ref)([]),childSelections:(e.enableChildSelection,(0,p.ref)(new Map))}),L=e=>{let t=(0,p.computed)(()=>ie((0,p.unref)(e.data),e.childrenKey)),n=e.rowKey,r=(0,p.computed)(()=>{let e=new Map;for(let r of t.value){let t=n(r);e.has(t)||e.set(t,r)}return e});return{data:t,getRowKey:n,getChildRowKey:e.childRowKey||(e=>e.id),findRow:e=>r.value.get(e),isRowExpandable:t=>e.rowExpandable?.(t)??!0,isRowCheckable:t=>e.rowCheckable?.(t)??!0,isChildRowCheckable:(t,n)=>e.childRowCheckable?.(t,n)??!0}},ue=(e,t,n)=>{let r=new Map,i=new Map,a=!1,o=0,s=new Set(n.defaultExpandedKeys||[]),c=t=>{let n=t===void 0?new Set([...e.expandDataMap.value.keys(),...e.errorMap.value.keys(),...r.keys()]):new Set([t]);for(let t of n)r.delete(t),i.delete(t),e.expandDataMap.value.delete(t),e.errorMap.value.delete(t),e.loadingMap.value.delete(t),e.childSelections.value.delete(t)},l=async o=>{if(!n.onLoadData||a)return[];let s=t.getRowKey(o);if(e.expandDataMap.value.has(s))return e.expandDataMap.value.get(s);if(e.errorMap.value.has(s))return[];let c=r.get(s);if(c)return c.promise;let l={};i.set(s,o),e.loadingMap.value.set(s,!0);let u=()=>!a&&r.get(s)?.token===l,d,f=new Promise(e=>{d=e});return r.set(s,{token:l,promise:f}),(async()=>{try{let t=await n.onLoadData(o),r=Array.isArray(t)?t:[];return u()?(e.expandDataMap.value.set(s,r),n.enableChildSelection&&!e.childSelections.value.has(s)&&e.childSelections.value.set(s,[]),r):[]}catch(t){return u()&&(e.errorMap.value.set(s,t),n.onError?.(t,o)),[]}finally{u()&&(r.delete(s),e.loadingMap.value.set(s,!1))}})().then(d,()=>d([])),f};return(0,p.watch)(t.data,n=>{if(o+=1,i.size===0&&e.expandedKeys.value.length===0&&s.size===0)return;let r=new Map(n.map(e=>[t.getRowKey(e),e]));for(let[t,n]of i){let i=r.get(t);i!==n&&(c(t),i&&e.expandedKeys.value.includes(t)&&l(i),i||s.delete(t))}s=new Set([...s].filter(e=>r.has(e))),e.expandedKeys.value=e.expandedKeys.value.filter(e=>r.has(e))}),(0,p.getCurrentScope)()&&(0,p.onScopeDispose)(()=>{a=!0,o+=1,c()}),{loadData:l,retryExpand:async e=>{let n=t.findRow(e);n&&(c(e),await l(n))},invalidateExpand:c,handleRowExpand:async(r,i)=>{let c=t.getRowKey(r);if(o+=1,i){if(s.add(c),e.expandedKeys.value.includes(c)||(e.expandedKeys.value=[...e.expandedKeys.value,c]),await l(r),a||t.findRow(c)!==r||!s.has(c))return}else s.delete(c),e.expandedKeys.value=e.expandedKeys.value.filter(e=>e!==c);n.onExpandChange?.(e.expandedKeys.value,r,i)},expandAll:async()=>{if(a)return;let r=++o,i=t.data.value.filter(t.isRowExpandable);s=new Set(i.map(t.getRowKey)),e.expandedKeys.value=[...s],await Promise.allSettled(i.map(l)),!(a||r!==o)&&(e.expandedKeys.value=i.map(t.getRowKey),n.onExpandChange?.(e.expandedKeys.value))},collapseAll:()=>{o+=1,s.clear(),e.expandedKeys.value=[],e.childSelections.value.clear(),n.onExpandChange?.(e.expandedKeys.value)},handleExpandChange:async r=>{let i=++o;s=new Set(r);let c=new Set(e.expandedKeys.value),u=new Set(r),d=[...u].filter(e=>!c.has(e)),f=e.expandedKeys.value.filter(e=>!u.has(e));for(let t of f)e.childSelections.value.delete(t);e.expandedKeys.value=[...r],await Promise.all(d.map(async e=>{let n=t.findRow(e);n&&await l(n)})),!(a||i!==o)&&n.onExpandChange?.(r)}}},R=(e,t,n)=>{let r=[],i=[],a=(t,a,o=!1)=>{let s=t.length===r.length&&t.every((e,t)=>e===r[t]),c=a.length===i.length&&a.every((e,t)=>e===i[t]);!o&&s&&c||(r=[...t],i=[...a],n.onSelectionChange?.(t,a,e.childSelections.value))},o=(0,p.computed)(()=>t.data.value.filter(t.isRowCheckable)),s=(0,p.computed)(()=>e.checkedKeys.value.length),c=(r,i=!1)=>{let s=new Set(o.value.map(e=>t.getRowKey(e))),c=[...new Set(r)].filter(e=>s.has(e)),l=n.maxSelection?c.slice(0,Math.max(0,n.maxSelection)):c;e.checkedKeys.value=l;let u=new Set(l);a(l,t.data.value.filter(e=>u.has(t.getRowKey(e))),i)},l=(e,t=!1)=>{n.enableSelection&&c(e,t)};return{commitSelection:c,selectAll:()=>{n.enableSelection&&l(o.value.map(t.getRowKey))},clearSelection:()=>{l([])},handleSelectionChange:l,selectedRowsCount:s,selectableRows:o}},de=(e,t,n)=>{let r=()=>!!(t.enableParentChildLink&&t.enableSelection&&t.enableChildSelection);return{handleParentChildLink:(i,a,o)=>{if(!r())return;let s=t.parentChildLinkMode===`strict`?a.length===o&&o>0:a.length>0,c=[...e.checkedKeys.value],l=c.includes(i),u=s&&!l?[...c,i]:!s&&l?c.filter(e=>e!==i):c;n.handleSelectionChange(u,!0)},isLinkEnabled:r}},fe=(e,t,n,r,i)=>({totalChildSelections:(0,p.computed)(()=>i.enableChildSelection?Array.from(e.childSelections.value.values()).reduce((e,t)=>e+t.length,0):0),clearAllSelections:()=>{e.childSelections.value.clear(),r.commitSelection([],!0)},handleChildSelectionChange:(r,a)=>{if(!i.enableChildSelection)return;let o=t.findRow(r);if(!o)return;let s=(e.expandDataMap.value.get(r)||[]).filter(e=>t.isChildRowCheckable(e,o)),c=new Set(s.map(t.getChildRowKey)),l=[...new Set(a)].filter(e=>c.has(e)),u=e.childSelections.value.get(r)??[];if(u.length===l.length&&u.every((e,t)=>e===l[t]))return;e.childSelections.value.set(r,l);let d=new Set(l),f=s.filter(e=>d.has(t.getChildRowKey(e)));n.isLinkEnabled()&&n.handleParentChildLink(r,l,s.length),i.onChildSelectionChange?.(r,l,f)}}),pe=(e,t,n,r,i)=>{if(!i.enableChildSelection)return;let a=t.childSelections.value.get(e)||[],o=t.expandDataMap.value.get(e)||[],s=n.findRow(e);if(!s)return;let c=o.filter(e=>n.isChildRowCheckable(e,s));return{selectedKeys:a,isAllChecked:c.length>0&&c.every(e=>a.includes(n.getChildRowKey(e))),selectAll:()=>{let t=c.map(e=>n.getChildRowKey(e));r.handleChildSelectionChange(e,t)},clearAll:()=>{r.handleChildSelectionChange(e,[])}}},me=e=>(0,p.h)(`div`,{class:`flex justify-center items-center py-8`},e?[e()]:[(0,p.h)(m.NSpin,{size:`small`}),(0,p.h)(`span`,{class:`ml-2 text-gray-500`},`加载中...`)]),z=()=>(0,p.h)(`div`,{class:`text-center py-8 text-gray-400`},`暂无数据`),B=e=>{if(!e.length)return[];let t=e[0];return!t||typeof t!=`object`?[]:[{title:`序号`,key:`_index`,width:60,align:`center`,titleAlign:`center`,render:(e,t)=>t+1},...Object.keys(t).filter(e=>![`id`,`key`].includes(e)).map(e=>({key:e,title:e.charAt(0).toUpperCase()+e.slice(1),width:120,align:`center`,titleAlign:`center`,ellipsis:{tooltip:!0}}))]},he=(e,t,n,r,i,a)=>{let o=[];return a.enableChildSelection&&o.push({type:`selection`,multiple:!0,disabled:t=>{let n=r.findRow(e);return!n||!r.isChildRowCheckable(t,n)}}),o.push(...B(t)),(0,p.h)(`div`,{class:`p-4 bg-gray-50`},[(0,p.h)(`div`,{class:`mb-2 text-sm text-gray-600`},`详细信息 (${t.length} 条)`),(0,p.h)(m.NDataTable,{data:t,columns:o,size:`small`,striped:!0,checkedRowKeys:n?.selectedKeys||[],rowKey:e=>r.getChildRowKey(e),onUpdateCheckedRowKeys:a.enableChildSelection?t=>{i.handleChildSelectionChange(e,t)}:void 0})])},ge=(e,t,n,i,a)=>{let{t:o}=r.t(()=>a.locale),s=r=>{let s=t.getRowKey(r),c=e.expandDataMap.value.get(s)||[],l=e.loadingMap.value.get(s)||!1,u=pe(s,e,t,n,a);return a.renderContent?a.renderContent(r,c,l,u):l?me(a.renderLoading):e.errorMap.value.has(s)?(0,p.h)(`div`,{class:`c-table-expand-error`,role:`alert`},[(0,p.h)(`span`,o(`table.loadFailed`)),(0,p.h)(m.NButton,{size:`small`,onClick:()=>i.retryExpand(s)},()=>o(`common.retry`))]):c.length?he(s,c,u,t,n,a):z()};return{getTableColumns:e=>e.map(e=>{if(e.type===`selection`&&a.enableSelection){let n=`disabled`in e?e.disabled:void 0,r=`multiple`in e?e.multiple:void 0;return{...e,type:`selection`,disabled:e=>!!n?.(e)||!t.isRowCheckable(e),multiple:a.maxSelection===1?!1:r??!0}}return e.type===`expand`&&(a.onLoadData||a.renderContent)?{...e,type:`expand`,expandable:n=>t.isRowExpandable(n)&&(!(`expandable`in e)||e.expandable?.(n)!==!1),renderExpand:s}:e})}};function _e(e){let t=le(e),n=L(e),r=ue(t,n,e),i=R(t,n,e),a=fe(t,n,de(t,e,i),i,e),o=ge(t,n,a,r,e);return(0,p.watch)(n.data,()=>{!e.enableSelection||t.checkedKeys.value.length===0||i.handleSelectionChange(t.checkedKeys.value)}),e.defaultExpandedKeys?.length&&(0,p.nextTick)(async()=>{let i=e.defaultExpandedKeys||[];if(i.length===0)return;let a=i.map(async e=>{let i=n.findRow(e);i&&!t.expandDataMap.value.has(e)&&await r.loadData(i)});await Promise.allSettled(a)}),{expandedKeys:t.expandedKeys,checkedKeys:t.checkedKeys,childSelections:t.childSelections,selectedRowsCount:i.selectedRowsCount,totalChildSelections:a.totalChildSelections,expandAll:r.expandAll,collapseAll:r.collapseAll,expandRow:async e=>{if(t.expandedKeys.value.includes(e)&&!t.loadingMap.value.get(e))return;let i=n.findRow(e);i&&await r.handleRowExpand(i,!0)},handleExpandChange:r.handleExpandChange,selectAll:i.selectAll,clearSelection:i.clearSelection,clearAllSelections:a.clearAllSelections,handleSelectionChange:i.handleSelectionChange,getTableColumns:o.getTableColumns,expandDataMap:t.expandDataMap,loadingMap:t.loadingMap,errorMap:t.errorMap,retryExpand:r.retryExpand,invalidateExpand:r.invalidateExpand}}const ve={text:`Robot Admin`,textSize:16,textColor:`rgba(128, 128, 128, 0.3)`,font:`Microsoft JhengHei`,opacity:.3,rotate:-20,position:`repeat`,xGap:200,yGap:120},ye={scale:1,quality:.92,format:`png`,backgroundColor:`#ffffff`,logging:!1,allowTaint:!0,useCORS:!0},be={orientation:`portrait`,paperSize:`A4`,margin:`10mm 10mm 0 10mm`,style:`@page { margin: 10mm 10mm 0 10mm; } @media print { body { margin: 0; } }`,header:``,footer:``,showModal:!1,modalMessage:`正在准备打印...`,onLoadingStart:()=>{},onLoadingEnd:()=>{},onPrintDialogClose:()=>{}};function xe(e,t,n,r){e.save(),e.translate(t/2,n/2),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()}function Se(e,t,n,r){[[50,50],[t-50,50],[50,n-50],[t-50,n-50]].forEach(([t,n])=>{e.save(),e.translate(t,n),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()})}function V(e,t,n,r){let i=Math.sqrt(t*t+n*n),a=t/2,o=n/2;e.save(),e.translate(a,o),e.rotate(Math.atan2(n,t));let s=Math.floor(i/r.xGap),c=-i/2;for(let t=0;t<=s;t++){let n=c+t*r.xGap;e.fillText(r.text,n,0)}e.restore()}function H(e,t,n,r){let i=Math.ceil(t/r.xGap)+1,a=Math.ceil(n/r.yGap)+1;for(let t=0;t<a;t++)for(let n=0;n<i;n++){let i=n*r.xGap+r.xGap/2,a=t*r.yGap+r.yGap/2;e.save(),e.translate(i,a),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()}}function Ce(e,t){let n=e.getContext(`2d`);if(!n)return e;let r={...ve,...t},{width:i,height:a}=e;n.save(),n.globalAlpha=r.opacity,n.font=`${r.textSize}px ${r.font}`,n.fillStyle=r.textColor,n.textAlign=`center`,n.textBaseline=`middle`;let o={center:xe,corner:Se,diagonal:V,repeat:H};return(o[r.position]||o.repeat)(n,i,a,r),n.restore(),e}async function U(e,t={}){if(typeof window>`u`)throw Error(`截图功能仅支持浏览器环境`);let n={...ye,...t},{default:r}=await import(`html2canvas`);return await r(e,{logging:n.logging,scale:n.scale,allowTaint:n.allowTaint,useCORS:n.useCORS,backgroundColor:n.backgroundColor,onclone:e=>{let t=e.body;t.style.transform=`scale(1)`}})}function we(e,t=`png`,n=.92){let r=`image/${t}`;return t===`png`?e.toDataURL(r):e.toDataURL(r,n)}function Te(e,t=`screenshot-${new Date().toISOString().slice(0,10)}.png`,n=`png`){let r=we(e,n),i=document.createElement(`a`);i.download=t,i.href=r,document.body.appendChild(i),i.click(),document.body.removeChild(i)}async function Ee(e,t={}){if(typeof window>`u`)throw Error(`打印功能仅支持浏览器环境`);let n={...be,...t},{default:r}=await import(`print-js`);return new Promise((t,i)=>{try{n.onLoadingStart?.(),r({printable:e,type:`image`,style:n.style,showModal:n.showModal,modalMessage:n.modalMessage,onLoadingEnd:n.onLoadingEnd,onPrintDialogClose:()=>{n.onPrintDialogClose?.(),t()}})}catch(e){i(e)}})}function De(e,t,n){let r=0,i=0;e.forEach(e=>{let{width:n,height:a}=e;t===`horizontal`?(r+=n,i=Math.max(i,a)):(r=Math.max(r,n),i+=a)});let a=(e.length-1)*n;return t===`horizontal`?r+=a:i+=a,{totalWidth:r,totalHeight:i}}function Oe(e,t){let{orientation:n,spacing:r,backgroundColor:i,totalWidth:a,totalHeight:o}=t,s=document.createElement(`canvas`);s.width=a,s.height=o;let c=s.getContext(`2d`);if(!c)throw Error(`无法创建画布上下文`);c.fillStyle=i,c.fillRect(0,0,a,o);let l=0,u=0;return e.forEach(e=>{c.drawImage(e,l,u),n===`horizontal`?l+=e.width+r:u+=e.height+r}),s}function ke(e,t,n){return e.length?{orientation:t.orientation||`vertical`,spacing:t.spacing||20,backgroundColor:t.backgroundColor||`#ffffff`}:(n.warning(`没有要打印的元素`),null)}async function Ae(e,t,n,r){let{orientation:i,spacing:a,backgroundColor:o}=n;r(10);let s=await Promise.all(e.map(e=>U(e,t.capture)));r(50);let{totalWidth:c,totalHeight:l}=De(s,i,a);return r(60),Oe(s,{orientation:i,spacing:a,backgroundColor:o,totalWidth:c,totalHeight:l})}async function W(e,t,n,r,i){r(70),t.watermark&&Ce(e,t.watermark),r(90),await Ee(we(e,t.capture?.format,t.capture?.quality),t.print),r(100),i.success(`合并打印完成,共合并 ${n} 个元素`)}function G(){let e=i.t(),t=(0,p.ref)(!1),n=(0,p.ref)(0),r=e=>{n.value=Math.max(0,Math.min(100,e))},a=async(e,t={})=>{try{r(0),r(30);let n=await U(e,t.capture);r(60),t.watermark&&Ce(n,t.watermark),r(90);let i=we(n,t.capture?.format||`png`,t.capture?.quality||.92);return r(100),i}catch(e){throw Error(`截图失败: ${e instanceof Error?e.message:`未知错误`}`)}},o=async(n,i={})=>{t.value=!0,r(0);try{await(0,p.nextTick)();let t=await a(n,i);r(95),await Ee(t,i.print),r(100),e.success(`打印完成`)}catch(t){throw e.error(`打印失败: ${t instanceof Error?t.message:`未知错误`}`,t),t}finally{t.value=!1,r(0)}},s=async(n,r,i={})=>{t.value=!0;try{await(0,p.nextTick)();let t=await U(n,i.capture);i.watermark&&Ce(t,i.watermark);let a=i.capture?.format||`png`,o=`screenshot-${new Date().toISOString().slice(0,19).replace(/:/g,`-`)}.${a}`;Te(t,r||o,a),e.success(`下载完成`)}catch(t){throw e.error(`下载失败`,t),t}finally{t.value=!1}},c=async(e,t=`Robot Admin`)=>o(e,{watermark:{text:t,position:`repeat`,textColor:`rgba(128, 128, 128, 0.3)`}}),l=async(e,t={})=>{let n=e.length;r(10);let i=e.map(async(e,i)=>{let o=await a(e,t);return r(10+(i+1)/n*70),o});return Promise.all(i)},u=async(e,t={})=>{await e.reduce(async(n,r,i)=>{await n,await Ee(r,t),i<e.length-1&&await new Promise(e=>{setTimeout(()=>e(),1e3)})},Promise.resolve())};return{loading:t,progress:n,captureWithWatermark:a,printWithWatermark:o,downloadScreenshot:s,quickPrint:c,batchCapture:l,batchPrint:async(n,i={})=>{if(!n.length){e.warning(`没有要打印的元素`);return}t.value=!0;try{r(0);let t=await l(n,i);r(80),await u(t,i.print),r(100),e.success(`批量打印完成,共 ${n.length} 个元素`)}catch(t){throw e.error(`批量打印失败`,t),t}finally{t.value=!1,r(0)}},mergePrint:async(n,i={},a={})=>{let o=ke(n,a,e);if(o){t.value=!0;try{await W(await Ae(n,i,o,r),i,n.length,r,e)}catch(t){throw e.error(`合并打印失败`,t),t}finally{t.value=!1,r(0)}}},createPreset:(e,t)=>({use:e=>o(e,t),download:(e,n)=>s(e,n,t)}),updateProgress:r,utils:{captureElement:U,drawWatermark:Ce,canvasToDataURL:we,downloadCanvas:Te,printImage:Ee}}}const je={table:{watermark:{text:`Robot Admin - 数据表格`,position:`repeat`,textColor:`rgba(100, 100, 100, 0.25)`,textSize:14,xGap:250,yGap:120},capture:{scale:1.2},print:{orientation:`landscape`,style:`@page { margin: 8mm; } body { font-family: Arial, sans-serif; }`}},form:{watermark:{text:`Robot Admin - 表单数据`,position:`diagonal`,textColor:`rgba(150, 150, 150, 0.2)`,textSize:16},print:{orientation:`portrait`}},report:{watermark:{text:`Robot Admin - 机密报告`,position:`center`,textColor:`rgba(200, 50, 50, 0.15)`,textSize:24},capture:{quality:.95,format:`png`}}};function Me(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?`row_${crypto.randomUUID()}`:`row_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function K(e,t){return typeof t==`function`?t(e):Reflect.get(e,t)}function Ne(e,t,r){if(e){let i=e(r===void 0?void 0:n.t(r));if(!i||typeof i!=`object`||Array.isArray(i))return null;let a=n.t(i);return r&&typeof t==`string`?{...n.t(r),[t]:Reflect.get(a,t)}:a}return typeof t==`string`?{...r?n.t(r):{},[t]:Me()}:null}function Pe(e,...t){let n=t[0]??{},o={enabled:!0,rowKey:`id`,enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0,confirmDelete:!0,deleteConfirmText:``,printPreset:`table`,printTargetSelector:`.c-table-wrapper`},s=(0,p.reactive)({...o,...(0,p.toValue)(n)});(0,p.watch)(()=>(0,p.toValue)(n),e=>{let t=s;Object.keys(t).forEach(e=>delete t[e]),Object.assign(t,o,e)},{deep:!0});let c=i.t(()=>s.feedback),{t:l}=r.t(()=>s.locale),u=`c-table-radio-${Me()}`,d=(0,p.ref)(null),f=(0,p.ref)(!1),h=(0,p.computed)(()=>d.value===null?null:e.value.find(e=>K(e,s.rowKey)===d.value)||null),g=(0,p.computed)(()=>h.value?e.value.findIndex(e=>e===h.value):-1),_=(0,p.computed)(()=>g.value>0),v=(0,p.computed)(()=>g.value>=0&&g.value<e.value.length-1),{loading:y,progress:b,printWithWatermark:x,downloadScreenshot:S,quickPrint:ee}=G(),C=()=>{if(s.printOptions)return s.printOptions;let e=je[s.printPreset||`table`];return s.printWatermarkText&&e.watermark?{...e,watermark:{...e.watermark,text:s.printWatermarkText}}:e},w=e=>{s.onRowChange?.(e)},te=t=>{let n=K(t,s.rowKey);return(typeof n==`string`&&n!==``||typeof n==`number`&&Number.isFinite(n))&&!e.value.some(e=>K(e,s.rowKey)===n)?!0:(c.warning(l(`table.invalidRowKeys`,{count:1})),!1)},T=e=>{try{let t=Ne(s.defaultRowData,s.rowKey,e);if(t)return te(t)?t:null;c.warning(l(`table.invalidRowKeys`,{count:1}))}catch(t){c.error(l(`table.actionFailed`,{action:l(e?`table.copyRow`:`table.addRow`)}),t)}return null},E=()=>{if(!s.enabled||!s.enableAdd)return;let t=T();t&&(w([...e.value,t]),s.onRowAdd?.(t),c.success(l(`table.addRowSuccess`)))},D=()=>{if(!s.enabled||!s.enableInsert||!h.value){c.warning(l(`table.selectRowFirst`));return}let t=T();if(!t)return;let n=[...e.value];n.splice(g.value+1,0,t),w(n),s.onRowAdd?.(t),c.success(l(`table.insertRowSuccess`))},O=()=>{if(!s.enabled||!s.enableDelete||!h.value){c.warning(l(`table.selectDeleteRowFirst`));return}s.confirmDelete?f.value=!0:k()},k=()=>{if(!h.value)return;let t=h.value,n=g.value;w(e.value.filter((e,t)=>t!==n)),d.value=null,s.onSelectionChange?.(null,null),s.onRowDelete?.(t,n),c.success(l(`table.deleteRowSuccess`)),f.value=!1},A=()=>{if(!s.enabled||!s.enableCopy||!h.value){c.warning(l(`table.selectCopyRowFirst`));return}let t=h.value,n=T(t);n&&(w([...e.value,n]),s.onRowCopy?.(t,n),c.success(l(`table.copyRowSuccess`)))},j=()=>{if(!s.enabled||!s.enableMove||!_.value)return;let t=g.value,n=[...e.value],r=n[t];[n[t],n[t-1]]=[n[t-1],n[t]],w(n),s.onRowMove?.(r,t,t-1),c.success(l(`table.moveUpSuccess`))},M=()=>{if(!s.enabled||!s.enableMove||!v.value)return;let t=g.value,n=[...e.value],r=n[t];[n[t],n[t+1]]=[n[t+1],n[t]],w(n),s.onRowMove?.(r,t,t+1),c.success(l(`table.moveDownSuccess`))},N=t=>{if(!s.enabled)return;let n=e.value.find(e=>K(e,s.rowKey)===t);n&&(d.value=t,s.onSelectionChange?.(t,n))},P=()=>{d.value=null,s.onSelectionChange?.(null,null)},F=async e=>{if(!e.value){c.error(l(`table.printTargetMissing`));return}let t=C();await x(e.value,t)};return(0,p.getCurrentScope)()&&(0,p.onScopeDispose)(()=>{d.value=null,f.value=!1}),{selectedRowKey:d,selectedRowData:h,selectedRowIndex:g,canMoveUp:_,canMoveDown:v,deleteConfirmVisible:f,printLoading:y,printProgress:b,addRow:E,insertRow:D,deleteRow:O,confirmDelete:k,copyRow:A,moveRowUp:j,moveRowDown:M,selectRow:N,clearSelection:P,handlePrint:F,handleDownload:async(e,t)=>{if(!e.value){c.error(l(`table.downloadTargetMissing`));return}let n=C();await S(e.value,t,n)},handleQuickPrint:async e=>{if(!e.value){c.error(l(`table.printTargetMissing`));return}let t=s.printWatermarkText||`Robot Admin`;await ee(e.value,t)},enhanceColumns:e=>{if(!s.enabled)return e;let t=[...e];return s.enabled&&s.enableRadioSelection&&t.unshift({key:`_radio_selection`,title:l(`common.select`),width:80,align:`center`,editable:!1,render:e=>{let t=K(e,s.rowKey);return(0,p.h)(`div`,{class:`flex justify-center`},[(0,p.h)(`input`,{type:`radio`,name:u,"aria-label":l(`common.select`),checked:d.value===t,class:`cursor-pointer accent-blue-500 scale-110`,onChange:e=>{e.target.checked&&N(t)}})])}}),t},renderToolbar:e=>{if(!s.enabled)return null;let t=[];s.enablePrint&&t.push((0,p.h)(m.NButton,{loading:y.value,type:`primary`,ghost:!0,onClick:async()=>{try{let t=e??document.querySelector(s.printTargetSelector);t?await F((0,p.shallowRef)(t)):c.warning(l(`table.printTargetMissing`))}catch(e){c.error(l(`table.printTargetMissing`),e)}}},{icon:()=>(0,p.h)(a.t,{name:`mdi:printer`,title:l(`common.print`)}),default:()=>l(`common.print`)}));let n=[];return s.enableAdd&&n.push((0,p.h)(m.NButton,{onClick:E,type:`primary`},{icon:()=>(0,p.h)(a.t,{name:`mdi:plus`,title:l(`table.addRow`)}),default:()=>l(`table.addRow`)})),s.enableInsert&&n.push((0,p.h)(m.NTooltip,{disabled:!!h.value},{trigger:()=>(0,p.h)(m.NButton,{onClick:D,disabled:!h.value,type:`primary`,ghost:!0},{icon:()=>(0,p.h)(a.t,{name:`mdi:table-row-plus-after`,title:l(`table.insertRow`)}),default:()=>l(`table.insertRow`)}),default:()=>l(`table.selectRowFirst`)})),s.enableDelete&&n.push((0,p.h)(m.NTooltip,{disabled:!!h.value},{trigger:()=>(0,p.h)(m.NButton,{onClick:O,disabled:!h.value,type:`error`,ghost:!0},{icon:()=>(0,p.h)(a.t,{name:`mdi:delete`,title:l(`table.deleteRow`)}),default:()=>l(`table.deleteRow`)}),default:()=>l(`table.selectDeleteRowFirst`)})),s.enableCopy&&n.push((0,p.h)(m.NTooltip,{disabled:!!h.value},{trigger:()=>(0,p.h)(m.NButton,{onClick:A,disabled:!h.value,type:`info`,ghost:!0},{icon:()=>(0,p.h)(a.t,{name:`mdi:content-copy`,title:l(`table.copyRow`)}),default:()=>l(`table.copyRow`)}),default:()=>l(`table.selectCopyRowFirst`)})),s.enableMove&&n.push((0,p.h)(m.NTooltip,{disabled:_.value},{trigger:()=>(0,p.h)(m.NButton,{onClick:j,disabled:!_.value,type:`warning`,ghost:!0},{icon:()=>(0,p.h)(a.t,{name:`mdi:arrow-up`,title:l(`table.moveUp`)}),default:()=>l(`table.moveUp`)}),default:()=>h.value?l(`table.firstRow`):l(`table.selectRowFirst`)}),(0,p.h)(m.NTooltip,{disabled:v.value},{trigger:()=>(0,p.h)(m.NButton,{onClick:M,disabled:!v.value,type:`warning`,ghost:!0},{icon:()=>(0,p.h)(a.t,{name:`mdi:arrow-down`,title:l(`table.moveDown`)}),default:()=>l(`table.moveDown`)}),default:()=>h.value?l(`table.lastRow`):l(`table.selectRowFirst`)})),n.length>0&&t.push((0,p.h)(m.NButtonGroup,{},()=>n)),(0,p.h)(`div`,{class:`dynamic-rows-toolbar mb-4 flex justify-end`},[(0,p.h)(m.NSpace,{},()=>t)])},renderConfirmModal:()=>(0,p.h)(m.NModal,{show:f.value,"onUpdate:show":e=>{f.value=e},preset:`dialog`,title:l(`table.deleteTitle`),content:s.deleteConfirmText||l(`table.deleteRowContent`),positiveText:l(`table.confirmDeleteRow`),negativeText:l(`common.cancel`),onPositiveClick:k})}}function Fe(e){let t=0,{data:n,rowKey:a,emit:o}=e,s=()=>(0,p.toValue)(e.config),c=()=>s().treeEnabled?s().treeChildrenKey??`children`:void 0,l=(0,p.computed)(()=>ie(n(),c())),u=()=>l.value,d=i.t(()=>s().feedback),{t:f}=r.t(()=>s().locale),m=(e,t,r)=>n()===e&&l.value.find(e=>a(e)===t)===r,h={onSave:async(e,r,i,u)=>{let d=n(),f=u??a(e),p=l.value.find(e=>a(e)===f);if(!p)return;let h=l.value.indexOf(p),g={...p,...e},_=t;if(s().editable)try{if(await s().onEditSave?.(g,h,i),t!==_||(await o(`save`,g,h,i),t!==_)||!m(d,f,p))return;o(`update:data`,I(n(),p,g,c()))}catch(e){throw s().onEditError?.(e),o(`edit-error`,e),e}},onCancel:async(e,n)=>{let r=t;try{if(await s().onEditCancel?.(e,n),t!==r)return;await o(`cancel`,e,n)}catch(e){throw s().onEditError?.(e),o(`edit-error`,e),e}},onExpandChange:(e,t,n)=>{o(`expand-change`,e,t,n)},onSelectionChange:(e,t,n)=>{o(`selection-change`,e,t,n)},onChildSelectionChange:(e,t,n)=>{o(`child-selection-change`,e,t,n)},onRowChange:e=>{o(`update:data`,e),s().dynamicRows?.onRowChange?.(e)},onRowSelectionChange:(e,t)=>{o(`row-selection-change`,e,t),s().dynamicRows?.onSelectionChange?.(e,t)},onRowAdd:e=>{o(`row-add`,e),s().dynamicRows?.onRowAdd?.(e)},onRowDelete:(e,t)=>{o(`row-delete`,e,t),s().dynamicRows?.onRowDelete?.(e,t)},onRowCopy:(e,t)=>{o(`row-copy`,e,t),s().dynamicRows?.onRowCopy?.(e,t)},onRowMove:(e,t,n)=>{o(`row-move`,e,t,n),s().dynamicRows?.onRowMove?.(e,t,n)}},g=()=>({rowEdit:N({data:u,rowKey:a,onSave:(e,t,n)=>h.onSave(e,t,void 0,n),onCancel:h.onCancel,columns:e.columns}),cellEdit:F({data:u,rowKey:a,onSave:h.onSave,columns:e.columns}),modalEdit:ne({data:u,rowKey:a,onSave:(e,t,n)=>h.onSave(e,t,void 0,n),onCancel:h.onCancel})}),_=()=>_e({data:(0,p.computed)(()=>n()),rowKey:a,get childrenKey(){return c()},childRowKey:e=>e.id,get locale(){return s().locale},renderLoading:e.renderLoading,get defaultExpandedKeys(){return s().defaultExpandedKeys},get onLoadData(){return s().onLoadExpandData},onError:(e,t)=>{let n=s().onExpandError;n?n(e,t):d.error(f(`table.loadFailed`),e)},get renderContent(){return s().renderExpandContent},get rowExpandable(){return s().rowExpandable},get enableSelection(){return s().enableSelection},get defaultCheckedKeys(){return s().defaultCheckedKeys},get rowCheckable(){return s().rowCheckable},get maxSelection(){return s().maxSelection},get enableChildSelection(){return s().enableChildSelection},get childRowCheckable(){return s().childRowCheckable},get enableParentChildLink(){return s().enableParentChildLink},get parentChildLinkMode(){return s().parentChildLinkMode},onExpandChange:h.onExpandChange,onSelectionChange:h.onSelectionChange,onChildSelectionChange:h.onChildSelectionChange}),v=()=>Pe((0,p.computed)(()=>n()),(0,p.computed)(()=>({...s().dynamicRows,rowKey:s().dynamicRows?.rowKey??(0,p.toValue)(e.rowKeyField)??a,enabled:!!s().dynamicRows&&s().dynamicRows?.enabled!==!1,feedback:s().feedback,locale:s().locale,onRowChange:h.onRowChange,onSelectionChange:h.onRowSelectionChange,onRowAdd:h.onRowAdd,onRowDelete:h.onRowDelete,onRowCopy:h.onRowCopy,onRowMove:h.onRowMove}))),y=g();(0,p.watch)(y.rowEdit.validationErrors,e=>{y.rowEdit.editingRowKey.value!==null&&e.length&&d.error(e[0].message)}),(0,p.watch)(y.cellEdit.cellValidationError,e=>{y.cellEdit.editingCell.value.rowKey!==null&&e&&d.error(e)});let b=()=>{t++,y.rowEdit.invalidate(),y.cellEdit.invalidate(),y.modalEdit.invalidate()};(0,p.watch)([()=>s().editable,()=>s().editMode],b,{flush:`sync`}),(0,p.getCurrentScope)()&&(0,p.onScopeDispose)(b);let x=_(),S=v();return{editStates:y,expandState:x,dynamicRowsState:S,stateManager:{edit:{start(e,t){if(!s().editable)return;let n=s().editMode;n===`modal`?y.modalEdit.startEdit(e):n===`cell`&&t?y.cellEdit.startEditCell(e,t):(n===`row`||n===`both`)&&y.rowEdit.startEditRow(e)},cancel(){y.modalEdit.isModalVisible.value?y.modalEdit.cancelEdit():y.cellEdit.editingCell.value.rowKey===null?y.rowEdit.editingRowKey.value!==null&&y.rowEdit.cancelEditRow():y.cellEdit.cancelEditCell()},async save(){y.modalEdit.isModalVisible.value?await y.modalEdit.saveEdit():y.cellEdit.editingCell.value.rowKey===null?y.rowEdit.editingRowKey.value!==null&&await y.rowEdit.saveEditRow():await y.cellEdit.saveEditCell()},isEditing(e,t){return s().editMode===`modal`?y.modalEdit.isEditingRow(e):t?y.cellEdit.isEditingCell(e,t):y.rowEdit.isEditingRow(e)},getEditingData(){return y.modalEdit.isModalVisible.value?y.modalEdit.editingData.value:y.rowEdit.editingRowKey.value===null?null:y.rowEdit.getEditingRowData(y.rowEdit.editingRowKey.value)}},expand:{async row(e){if(x){let t=[...x.expandedKeys.value];t.includes(e)||(t.push(e),x.handleExpandChange(t))}},collapse(e){if(x){let t=x.expandedKeys.value.filter(t=>t!==e);x.handleExpandChange(t)}},async toggle(e){x?.expandedKeys.value.includes(e)?this.collapse(e):await this.row(e)},async all(){await x?.expandAll()},collapseAll(){x?.collapseAll()},isExpanded(e){return x?.expandedKeys.value.includes(e)??!1}},selection:{select(e){if(x?.checkedKeys.value&&!x.checkedKeys.value.includes(e)){let t=[...x.checkedKeys.value,e];x.handleSelectionChange(t)}},unselect(e){if(x?.checkedKeys.value){let t=x.checkedKeys.value.filter(t=>t!==e);x.handleSelectionChange(t)}},all(){x?.selectAll()},clear(){x?.clearSelection()},isSelected(e){return x?.checkedKeys.value.includes(e)??!1},getSelected(){if(!x?.checkedKeys.value)return[];let e=new Set(x.checkedKeys.value);return l.value.filter(t=>e.has(a(t)))}},childSelection:{select(e,t){if(x?.childSelections.value){let n=x.childSelections.value.get(e)||[];if(!n.includes(t)){let r=[...n,t];x.childSelections.value.set(e,r),o(`child-selection-change`,e,r,[])}}},unselect(e,t){if(x?.childSelections.value){let n=(x.childSelections.value.get(e)||[]).filter(e=>e!==t);x.childSelections.value.set(e,n),o(`child-selection-change`,e,n,[])}},selectAll(e){if(x?.childSelections.value&&x.expandDataMap?.value){let t=x.expandDataMap.value.get(e)||[],n=t.map(e=>e.id);x.childSelections.value.set(e,n),o(`child-selection-change`,e,n,t)}},clear(e){x?.childSelections.value&&(x.childSelections.value.set(e,[]),o(`child-selection-change`,e,[],[]))},getSelected(e){if(!x?.childSelections.value||!x.expandDataMap?.value)return[];let t=x.childSelections.value.get(e)||[];return(x.expandDataMap.value.get(e)||[]).filter(e=>t.includes(e.id))}},dynamicRows:{add(){S?.addRow()},insert(){S?.insertRow()},delete(){S?.deleteRow()},copy(){S?.copyRow()},moveUp(){S?.moveRowUp()},moveDown(){S?.moveRowDown()},clearSelection(){S?.clearSelection()},getSelected(){return S?.selectedRowData.value||null},async print(e){S&&e&&await S.handlePrint((0,p.shallowRef)(e))},async download(e,t){S&&e&&await S.handleDownload((0,p.shallowRef)(e),t)}},clearAllSelections(){x?.clearAllSelections()}},expandedKeys:(0,p.computed)(()=>x?.expandedKeys.value??[]),checkedKeys:(0,p.computed)(()=>x?.checkedKeys.value??[]),eventHandlers:h}}const q={page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:`medium`};function J(e,t){return!Number.isFinite(e)||(e??0)<=0?t:Math.max(1,Math.trunc(e))}function Ie(e){let{data:t,config:n,emit:r}=e,i=(0,p.ref)(q.page),a=(0,p.ref)(q.pageSize),o=(0,p.computed)(()=>{let e=typeof t==`function`?t():(0,p.unref)(t);return Array.isArray(e)?e:[]}),s=(0,p.computed)(()=>{let e=n.value;return e?.remote?Math.max(0,Math.trunc(e.total??o.value.length)):o.value.length}),c=()=>n.value?.enabled?Math.max(1,Math.ceil(s.value/a.value)):1,l=(e,t)=>{let n=Math.min(J(e,1),c());i.value!==n&&(i.value=n,t&&r?.(`pagination-change`,n,a.value))},u=e=>l(e,!0),d=e=>{let t=J(e,q.pageSize),n=a.value!==t;a.value=t,i.value=1,n&&r?.(`pagination-change`,1,t)},f=()=>l(1,!0),m=(0,p.computed)(()=>{let e=n.value;if(!e?.enabled||e.remote)return o.value;let t=(i.value-1)*a.value;return o.value.slice(t,t+a.value)}),h=(0,p.computed)(()=>{let e=n.value;return e?.enabled?{page:i.value,pageSize:a.value,itemCount:s.value,showSizePicker:e.showSizePicker??q.showSizePicker,showQuickJumper:e.showQuickJumper??q.showQuickJumper,pageSizes:e.pageSizes??q.pageSizes,simple:e.simple??q.simple,size:e.size??q.size,prefix:e=>`共 ${e.itemCount??0} 条`,suffix:e=>(e.itemCount??0)>0?`第 ${e.startIndex+1}-${e.endIndex} 条`:`暂无数据`,"onUpdate:page":u,"onUpdate:pageSize":d}:null});return(0,p.watch)(()=>[n.value?.page,n.value?.pageSize],([e,t])=>{a.value=J(t,q.pageSize),i.value=Math.min(J(e,q.page),c())},{immediate:!0}),(0,p.watch)([s,a],()=>{let e=Math.min(i.value,c());e!==i.value&&(i.value=e,r?.(`pagination-change`,e,a.value))}),{currentPage:i,currentPageSize:a,paginatedData:m,paginationConfig:h,handlePageChange:u,handlePageSizeChange:d,resetToFirstPage:f,getTotalPages:c}}function Le(e){return e.flatMap(e=>e.visible===!1?[]:`children`in e&&Array.isArray(e.children)?Le(e.children):`type`in e&&e.type?[]:[e])}function Re(e,t){return e==null?t==null?0:-1:t==null?1:typeof e==`number`&&typeof t==`number`?e-t:typeof e==`string`&&typeof t==`string`?e.localeCompare(t):0}function ze(e,t,n){let{sorter:r}=e;return typeof r==`function`?r(t,n):r&&typeof r==`object`&&typeof r.compare==`function`?r.compare(t,n):r===`default`||typeof r==`object`&&r.compare===`default`?Re(t[e.key],n[e.key]):0}function Y(e,t,n){let r=Array.isArray(t)?t:[t];if(t==null||r.length===0)return!0;let{filter:i}=e,a=t=>t==null?!0:typeof i==`function`?i(t,n):i===`default`?String(n[e.key]).includes(String(t)):!0;return e.filterMode===`and`?r.every(a):r.some(a)}function Be(e,t){return e.filterOptionValues===void 0?e.filterOptionValue===void 0?Object.prototype.hasOwnProperty.call(t,e.key)?t[e.key]:e.defaultFilterOptionValues??e.defaultFilterOptionValue:e.filterOptionValue:e.filterOptionValues}function Ve(e){let t=(0,p.shallowRef)(),n=(0,p.shallowRef)({}),r=(0,p.computed)(()=>Le((0,p.toValue)(e.columns))),i=(0,p.computed)(()=>r.value.flatMap(e=>{if(e.filter!==`default`&&typeof e.filter!=`function`)return[];let t=Be(e,n.value);return t==null||Array.isArray(t)&&t.length===0?[]:[{column:e,value:t}]})),a=(0,p.computed)(()=>{let t=(0,p.toValue)(e.data);if((0,p.toValue)(e.remote))return t;let n=i.value;return n.length?t.filter(e=>n.every(({column:t,value:n})=>Y(t,n,e))):t}),o=(0,p.computed)(()=>{let e=r.value.filter(e=>e.sortOrder===!1||e.sortOrder===`ascend`||e.sortOrder===`descend`);return e.length?e.map(e=>({columnKey:e.key,order:e.sortOrder})):t.value===void 0?r.value.map(e=>({columnKey:e.key,order:e.defaultSortOrder})):t.value?Array.isArray(t.value)?t.value:[t.value]:[]});return{processedData:(0,p.computed)(()=>{if((0,p.toValue)(e.remote))return(0,p.toValue)(e.data);let t=o.value.flatMap(e=>{let t=r.value.find(t=>t.key===e.columnKey);if(!t?.sorter||!e.order)return[];let n=typeof t.sorter==`object`?t.sorter.multiple??0:0;return[{column:t,direction:e.order===`ascend`?1:-1,priority:n}]}).sort((e,t)=>t.priority-e.priority);return t.length?a.value.slice().sort((e,n)=>{for(let r of t){let t=ze(r.column,e,n)*r.direction;if(t)return t}return 0}):a.value}),setSorter:e=>{t.value=e},setFilters:e=>{n.value={...e}}}}const He=e=>e&&typeof e==`object`&&`error`in e?e.error:null;function Ue(e){let{actions:t,config:n,tableManager:o,rowKey:s,onRowDeleted:l,onViewDetail:u,isDeleteFeedbackHandled:d}=e,f=c.t(),h=!0;(0,p.getCurrentScope)()&&(0,p.onScopeDispose)(()=>{h=!1});let g=(e,t)=>JSON.stringify([typeof e,e,t]),_=i.t(()=>n.value.feedback),{t:v}=r.t(()=>n.value.locale),y=e=>e===`edit`?n.value.editable&&t.value?.edit!==!1:typeof t.value?.[e]==`function`,b=e=>e!==!1&&typeof e==`function`,x=e=>e&&typeof e==`object`&&`data`in e?e.data:e,S=(e,t,r=`primary`,i,o,s=!1)=>(0,p.h)(m.NButton,{size:n.value.controlSize??`small`,type:r,quaternary:!0,onClick:i,loading:s||(o?f.isRunning(o):!1),disabled:o?f.isRunning(o):!1},()=>[(0,p.h)(a.t,{name:e,size:14,title:t})]),ee=async(e,r)=>{let i=s(e),a=t.value?.edit;if(b(a)){try{await a(e,r)}catch(e){_.error(v(`table.actionFailed`,{action:v(`common.edit`)}),e)}return}n.value.editMode===`modal`?o.editStates.modalEdit.startEdit(i,{...e}):o.editStates.rowEdit.startEditRow(i)},C=(e,t)=>{h&&!t&&_.error(v(`table.deleteFailed`),e)},w=async(e,t,n)=>{let r=d?.(e)===!0;try{let i=await e(t,n);if(!h)return;let a=He(i);if(a!=null){C(a,r);return}r||_.success(v(`table.deleteSuccess`)),l?.(t,n)}catch(e){throw C(e,r),e}},te=async(e,n)=>{let r=t.value?.delete;b(r)&&await _.confirm({title:v(`table.deleteTitle`),content:v(`table.deleteContent`),positiveText:v(`common.confirm`),negativeText:v(`common.cancel`),type:`warning`})&&h&&await w(r,e,n)},T=async(e,n)=>{let r=t.value?.detail;if(!b(r)){u?.(e);return}try{let t=await r(e,n);if(!h)return;let i=x(t);u?.(i||e)}catch(t){if(!h)return;_.error(v(`table.detailFailed`),t),u?.(e)}},E=(e,t)=>f.run(g(s(e),`edit`),()=>ee(e,t)),D=(e,t)=>f.run(g(s(e),`delete`),()=>te(e,t)),O=(e,t)=>f.run(g(s(e),`detail`),()=>T(e,t)),k=e=>o.editStates.rowEdit.isEditingRow(e)?[S(`mdi:check`,v(`common.save`),`primary`,()=>void f.run(g(e,`save`),()=>o.editStates.rowEdit.saveEditRow()).catch(e=>_.error(v(`table.actionFailed`,{action:v(`common.save`)}),e)),g(e,`save`)),S(`mdi:close`,v(`common.cancel`),`default`,()=>void f.run(g(e,`cancel`),()=>o.editStates.rowEdit.cancelEditRow()).catch(e=>_.error(v(`table.actionFailed`,{action:v(`common.cancel`)}),e)),g(e,`cancel`))]:[S(`mdi:pencil`,v(`common.edit`),`warning`,()=>o.editStates.rowEdit.startEditRow(e))],A=(e,r)=>{let i=[];return y(`detail`)&&i.push(S(`mdi:eye`,v(`common.detail`),`info`,()=>void O(e,r),g(s(e),`detail`))),y(`edit`)&&(n.value.editMode===`modal`||b(t.value?.edit))&&i.push(S(`mdi:pencil`,v(`common.edit`),`warning`,()=>void E(e,r),g(s(e),`edit`))),y(`delete`)&&i.push(S(`mdi:delete`,v(`common.delete`),`error`,()=>void D(e,r).catch(()=>void 0),g(s(e),`delete`))),i},j=(e,n)=>{let r=t.value?.custom;if(!r?.length)return null;let i=r.filter(t=>t.show?t.show(e,n):!0);return i.length?(0,p.h)(m.NDropdown,{options:i.map(t=>{let r=typeof t.label==`function`?t.label(e,n):t.label,i=typeof t.icon==`function`?t.icon(e,n):t.icon;return{label:r,key:t.key,icon:()=>(0,p.h)(a.t,{name:i,size:14}),disabled:t.disabled?.(e,n)||f.isRunning(g(s(e),`custom:${t.key}`))}}),onSelect:t=>{let r=i.find(e=>e.key===t);if(!r)return;let a=typeof r.label==`function`?r.label(e,n):r.label;f.run(g(s(e),`custom:${r.key}`),()=>r.onClick(e,n),()=>!r.disabled?.(e,n)).catch(e=>_.error(v(`table.actionFailed`,{action:a}),e))}},()=>S(`mdi:dots-horizontal`,v(`table.moreActions`),`default`,()=>{},void 0,i.some(t=>f.isRunning(g(s(e),`custom:${t.key}`))))):null};return{renderActions:(e,r)=>{if(t.value?.render)return t.value.render(e,r);let i=s(e),a=n.value.editable&&[`row`,`both`].includes(n.value.editMode);if(a&&o.editStates.rowEdit.isEditingRow(i))return(0,p.h)(m.NSpace,{size:2,wrap:!1},()=>k(i));let c=b(t.value?.edit),l=[...a&&!c?k(i):[],...A(e,r)],u=j(e,r);return u&&l.push(u),(0,p.h)(m.NSpace,{size:2,wrap:!1},()=>l)},isActionEnabled:y}}const We=[[/^(success|ok|done|complete|completed|normal|active|enabled|启用|正常|完成|已完成|运行|运行中|在线|生效|已发运)$/i,`success`],[/^(warning|warn|hold|pending|standby|待机|待审核|暂停|预警|部分完成|待下达|待复核|待发运)$/i,`warning`],[/^(error|fail|failed|danger|fault|offline|disabled|故障|失败|错误|异常|停用|离线|断开)$/i,`error`],[/^(info|processing|new|draft|进行中|新建|草稿|审批中|同步中|执行中|已下达|装车中)$/i,`info`]];function X(e,t,n){let r=typeof n==`object`&&Object.prototype.hasOwnProperty.call(n,String(e))?n[String(e)]:void 0,i=typeof r==`object`?r.label??t:t,a=typeof r==`string`?r:r?.color,o=We.find(([t])=>t.test(String(e))||t.test(i))?.[1]??`default`;return{label:i,color:a??o}}function Z(){let e;return(t,n)=>{e===void 0&&(e=typeof document>`u`?null:document.createElement(`canvas`).getContext(`2d`));let r=t;return e?(e.font=n,e.measureText(r).width):Array.from(r).reduce((e,t)=>e+(t.charCodeAt(0)>255?13:7),0)}}const Q=(0,p.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./date-picker.cjs`))),$={number:m.NInputNumber,switch:m.NSwitch,input:m.NInput,email:m.NInput,mobile:m.NInput,date:e=>(0,p.h)(Q,{...e,type:`date`,format:`yyyy-MM-dd`}),select:m.NSelect,textarea:e=>(0,p.h)(m.NInput,{...e,type:`textarea`,rows:3})},Ge={number:`inputNumber`,date:`datePicker`,textarea:`textarea`,select:`select`,switch:`switch`},Ke=(e,t)=>e.filter(A).map(e=>{let n={...e.editProps};return delete n.rules,{prop:String(e.key),label:e.title||String(e.key),type:Ge[e.editType??(e.dictionary===void 0?`input`:`select`)]??`input`,dictionary:e.dictionary,...e.dictionary!==void 0&&Array.isArray(e.editProps?.options)?{children:e.editProps.options.map(e=>({...e}))}:{},placeholder:e.editProps?.placeholder??`请输入${e.title}`,rules:j(e,t),attrs:n,layout:{span:1},show:!0}});function qe(e,n,r,i){let a=e,o={value:n,"onUpdate:value":r,placeholder:`请输入${a.title??``}`,style:{width:`100%`},...i.size?{size:i.size}:{},...e.editProps,...i.busy?{disabled:!0}:{}};if(!i.dictionaryOptions||e.editProps?.options!==void 0||e.editType&&e.editType!==`select`)return o;let s=o[`onUpdate:value`];return o.value=t.r(n),o[`onUpdate:value`]=e=>s(t.n(e)),{...o,options:t.o(i.dictionaryOptions),fallbackOption:e=>({value:e,label:String(t.n(e)??``)})}}function Je(e,t,n,r={},i=0,a,o=!1){if(e.editRender)return e.editRender(t,r,i,{onUpdate:n});let s=typeof a==`object`?a:{size:a,busy:o},c=qe(e,t,n,s);return(0,p.h)($[e.editType||(s.dictionaryOptions?`select`:`input`)]||$.input,c)}function Ye(e,t,n,r,i){if(e.render)return e.render(t,n)??String(r??``);let a=e.formatter?f.n(r,t,e.formatter,i):String(r??``);if(!e.status||r==null||r===``)return a;let o=X(r,a,e.status),s=o.color===`danger`?`error`:o.color===`neutral`?`default`:o.color,c=[`default`,`success`,`warning`,`error`,`info`,`primary`].includes(s);return(0,p.h)(m.NTag,{size:`small`,round:!0,bordered:!1,type:c?s:`default`,...c?{}:{color:{textColor:s,color:`color-mix(in srgb, ${s} 12%, transparent)`}}},()=>o.label)}function Xe(e,t,n,r,i,o={rowData:{},rowIndex:0}){let s=(e,t,n)=>(0,p.h)(`button`,{class:`cell-action-btn cell-action-${e}`,disabled:o.busy,"aria-busy":o.busy||void 0,title:t,type:`button`,onClick:e=>{e.stopPropagation(),e.preventDefault(),n(e)}},[(0,p.h)(a.t,{name:`mdi:${e===`save`?`check`:`close`}`,title:e===`save`?`保存`:`取消`,size:12})]);return(0,p.h)(`div`,{class:`cell-editing-container`},[(0,p.h)(`div`,{class:`cell-editing-input`},[Je(e,t,n,o.rowData,o.rowIndex,o)]),(0,p.h)(`div`,{class:`cell-editing-actions`},[s(`save`,`保存`,r),s(`cancel`,`取消`,i)])])}function Ze(e,t,n,r,i,o){let s;return s=e.render?e.render(t,n)??String(r??``):e.formatter?f.n(r,t,e.formatter,o):String(r??``),(0,p.h)(`div`,{class:`cell-edit-wrapper`},[(0,p.h)(`span`,{class:`cell-value`},s),(0,p.h)(a.t,{name:`mdi:square-edit-outline`,title:`编辑`,class:`cell-edit-icon`,size:14,clickable:!0,onClick:e=>{e.stopPropagation(),i()}})])}function Qe(e){let{rawColumns:t,config:n,rowKey:r,tableManager:i,actionsRenderer:a,editModeChecker:o,showActionsColumn:s}=e,c=(0,p.ref)([]),l=(0,p.ref)(!1),d=e=>{let t=e.find(e=>e.key===`_actions`),n=c.value.find(e=>e.key===`_actions`),r=e.filter(e=>e.key!==`_actions`);c.value=s.value?[...r,t||n||{key:`_actions`,title:`操作`,width:180,editable:!1,visible:!0,fixed:`right`}]:r};(0,p.watch)([t,s],([e])=>{e?.length?d(e):c.value=[]},{deep:!0,immediate:!0});let m=u.t(()=>new Map(c.value.filter(e=>e.dictionary!==void 0).map(e=>[String(e.key),e.dictionary])),{onError:e=>n.value.feedback?.error?.(e instanceof Error?e.message:String(e),e)}),h=e=>e.dictionary===void 0?void 0:m.getOptions(String(e.key)),g=e=>e.dictionary!==void 0&&!e.formatter?{...e,formatter:{type:`enum`,fn:t=>m.getLabel(String(e.key),t)}}:e,_=(e,t,r,a)=>{let o=e.key??``,s=t[o],{isEditingCell:c,getEditingCellValue:l,updateEditingCellValue:u,saveEditCell:d,cancelEditCell:f,startEditCell:p}=i.editStates.cellEdit;return c(a,o)?Xe(e,l(a,o),e=>u(a,o,e),()=>d(),()=>f(),{rowData:t,rowIndex:r,busy:i.editStates.cellEdit.isSaving?.value,size:n.value.density?n.value.controlSize:void 0,dictionaryOptions:h(e)}):Ze(e,t,r,s,()=>p(a,o),n.value.formatterConfig)},v=(e,t,a)=>{let s=e.key??``,c=t[s],l=r(t),u=o.value;if(u.isNonEditable(e))return Ye(e,t,a,c,n.value.formatterConfig);if(u.isRowEditMode()&&i.editStates.rowEdit.isEditingRow(l)){let r=i.editStates.rowEdit.getEditingRowData(l);return Je(e,r?.[s],e=>i.editStates.rowEdit.updateEditingRowData(l,s,e),r??t,a,{size:n.value.density?n.value.controlSize:void 0,busy:i.editStates.rowEdit.isSaving?.value,dictionaryOptions:h(e)})}return u.isCellEditMode()?_(e,t,a,l):Ye(e,t,a,c,n.value.formatterConfig)},y=Z(),b=t=>Math.ceil(y(t.title??String(t.key??``),e.getFont?.(!0)??`600 13px sans-serif`)+(t.sorter?20:0)+(t.filter?28:0)+28),x=t=>{let r=e.getFont?.()??`13px sans-serif`,i=g(t),a=b(t)-28,o=e.data?.value??[],s=Math.min(o.length,100);for(let e=0;e<s;e++){let c=o[s===1?0:Math.floor(e*(o.length-1)/(s-1))],l=c[String(t.key)],u=i.formatter?f.n(l,c,i.formatter,n.value.formatterConfig):String(l??``);t.status&&(u=X(l,u,t.status).label),a=Math.max(a,y(u.slice(0,128),r)+(t.status?16:0))}let c=t.minWidth??80;return Math.max(c,Math.min(Math.max(c,t.maxWidth??360),Math.ceil(a+28)))},S=t=>{if(t.type===`selection`||t.type===`expand`)return t.width??40;let n=t.width??(t.type===`index`?50:e.columnWidthExplicit||t.autoWidth===!1?e.columnWidth??180:x(t));return typeof n==`number`?Math.max(n,b(t)):n},ee=e=>{let t=e;return{...t,type:void 0,key:`_index`,title:t.title??`序号`,width:S(e),className:[t.className,`c-table-index-column`].filter(Boolean).join(` `),titleAlign:t.titleAlign??`center`,align:t.align??`center`,render:(e,t)=>t+1,fixed:e.fixed}},C=t=>{let n=t,r=g(t),i=n.width===void 0&&!e.columnWidthExplicit&&n.autoWidth!==!1,a={...n,width:S(t),minWidth:Math.max(n.minWidth??(i?80:0),b(n)),maxWidth:n.maxWidth==null?void 0:Math.max(n.maxWidth,b(n)),ellipsis:n.ellipsis??(i?{tooltip:!0}:void 0),titleAlign:n.titleAlign||`center`,align:n.align||`center`,render:(e,t)=>v(r,e,t)};return t.fixed&&(a.fixed=t.fixed),t.resizable&&typeof a.width==`number`&&(a.resizable=!0,a.maxWidth=Math.max(a.minWidth,t.maxWidth??500)),a},w=(0,p.computed)(()=>{let e=c.value.filter(e=>{let t=e;return t.visible!==!1&&t.key!==`_actions`}).map(e=>{let t=e;return e.type===`index`?ee(e):e.type===`selection`||e.type===`expand`?{...t,width:S(e)}:C(e)});if(i.dynamicRowsState&&(e=i.dynamicRowsState.enhanceColumns(e)),i.expandState&&(n.value.expandable||n.value.enableSelection)&&(e=i.expandState.getTableColumns(e)),s.value){let t=c.value.find(e=>e.key===`_actions`);e.push({...t,type:void 0,key:`_actions`,title:t?.title??`操作`,width:S({...t,key:`_actions`,title:t?.title??`操作`,width:t?.width??180}),minWidth:Math.max(t?.minWidth??0,b(t??{key:`_actions`,title:`操作`})),maxWidth:t?.maxWidth==null?void 0:Math.max(t.maxWidth,b(t)),className:[t?.className,`c-table-actions-column`].filter(Boolean).join(` `),align:t?.align??`center`,titleAlign:t?.titleAlign??`center`,render:a,fixed:t?.fixed})}return e});return{reactiveColumns:c,showSettingsPanel:l,computedColumns:w,computedScrollX:(0,p.computed)(()=>{if(e.scrollX!==void 0)return e.scrollX;let t=w.value.some(e=>e.fixed),n=c.value.some(t=>!t.type&&t.width===void 0&&!e.columnWidthExplicit&&t.autoWidth!==!1),r=c.value.some(e=>!e.type&&typeof e.width==`number`&&b(e)>e.width);if(!(!t&&!n&&!r))return w.value.reduce((e,t)=>{let{width:n}=t;return e+(typeof n==`number`?n:typeof n==`string`&&/^\s*\d+(?:\.\d+)?(?:px)?\s*$/.test(n)?Number.parseFloat(n):typeof t.minWidth==`number`?t.minWidth:180)},0)}),getDictionaryLabel:(e,t)=>m.getLabel(String(e.key),t),handleColumnChange:e=>{c.value=e.map(e=>{let t=e;return{...e,visible:t.visible!==!1,fixed:e.fixed,width:t.width??(t.type?S(e):void 0),align:t.align||`center`,titleAlign:t.titleAlign||`center`}})}}}function $e(e){let{data:t,onReorder:n,onSort:r}=e,i=(0,p.ref)(!1),a=null,o=0,s=!1,c,l=null,u,d,f=null,m,h=t=>t.map(t=>re(t,e.rowKey)),g=()=>{m?.parentNode!==l||!l||f&&f.parentNode!==l||l.insertBefore(m,f)},_=()=>{a?.destroy(),a=null,l=null,u=void 0,d=void 0,m=void 0,f=null,i.value=!1},v=(e,t,n)=>{if(!u||u.length!==e.length||u.some((t,n)=>t!==e[n])||t.some((e,t)=>e===void 0||e!==d?.[t])||n.length!==t.length||new Set(n).size!==t.length)return!1;let r=new Set(t);return n.every(e=>r.has(e))},y=e=>{i.value=!1;let{item:a}=e,o=a.getAttribute(`data-c-table-row-key`),s=[...t.value],c=h(s),p=l?[...l.children].map(e=>e.getAttribute(`data-c-table-row-key`)).filter(e=>e!==null):[],_=a===m&&v(s,c,p);if(g(),u=void 0,d=void 0,m=void 0,f=null,!_||!o)return;let y=c.indexOf(o),b=p.indexOf(o);if(y<0||b<0||y===b)return;let[x]=s.splice(y,1);s.splice(b,0,x),n?.(s),r?.(x,y,b)},b=async n=>{let r=++o;c?.disconnect(),c=void 0,_();let g=(0,p.toValue)(e.config);if(!(!g||g.enabled===!1||!n||s))try{let{default:e}=await import(`sortablejs`);if(s||r!==o)return;let p=()=>{if(s||r!==o)return;let c=n.querySelector(`.n-data-table-tbody`);c!==l&&(_(),c&&(l=c,a=new e(c,{animation:g.animationDuration??150,handle:g.handleSelector,draggable:`> tr[data-c-table-row-key]`,ghostClass:g.ghostClass??`row-drag-ghost`,chosenClass:g.chosenClass??`row-drag-chosen`,onMove:e=>e.related.hasAttribute(`data-c-table-row-key`),onStart:e=>{u=[...t.value],d=h(u),m=e.item,f=e.item.nextSibling,i.value=!0},onEnd:y})))};c=new MutationObserver(p),c.observe(n,{childList:!0,subtree:!0}),p()}catch{}},x=()=>{o+=1,c?.disconnect(),c=void 0,_()};return(0,p.onBeforeUnmount)(()=>{s=!0,x()}),{initRowDrag:b,destroyRowDrag:x,isDragging:i}}function et(e){let t=(0,p.ref)(new Set),n=(0,p.shallowReactive)(new Map),r=()=>(0,p.toValue)(e.config)?.enabled===!0,i=(t=e.allData.value)=>ie(t,(0,p.toValue)(e.childrenKey)),a=(0,p.computed)(()=>{let t=new Map,n=new Map;for(let r of i()){let i=e.rowKey(r),a=t.get(i);if(!a)t.set(i,r);else{let e=n.get(i);e?e.push(r):n.set(i,[a,r])}}return{index:t,duplicates:n}}),o=t=>e.rowCheckable?.(t)!==!1,s=()=>{let t=(0,p.toValue)(e.config)?.maxSelection;return Number.isFinite(t)&&(t??0)>0?Math.trunc(t):void 0},c=(0,p.computed)(()=>t.value.size),l=()=>[...t.value].flatMap(e=>{let t=n.get(e);return t?[t]:[]}),u=e=>{let t=s(),n=new Set;for(let r of e){if(t&&n.size>=t)break;n.add(r)}return n},d=(r,i=[])=>{let a=u(r);for(let t of i){let r=e.rowKey(t);a.has(r)&&n.set(r,t)}for(let e of n.keys())a.has(e)||n.delete(e);let o=t.value;o.size===a.size&&[...o].every(e=>a.has(e))||(t.value=a,e.onSelectionChange?.([...a],l()))},f=n=>i(n).map(e.rowKey).filter(e=>t.value.has(e)),m=(n,a)=>{if(!r())return;let s=i(a),c=new Set(s.filter(o).map(e.rowKey)),l=new Set(t.value);s.forEach(t=>l.delete(e.rowKey(t))),n.forEach(e=>{c.has(e)&&l.add(e)}),d(l,s)},h=()=>{if(!r())return;let n=i().filter(o),a=n.map(e.rowKey);d((0,p.toValue)(e.remote)?[...t.value,...a]:a,n)},g=e=>{if(!r())return!1;if(t.value.has(e))return!0;let{index:n,duplicates:i}=a.value,c=i.get(e),l=c?c.find(o):n.get(e);if(!l||!c&&!o(l))return!1;let u=s();return u&&t.value.size>=u?!1:(d([...t.value,e],[l]),!0)},_=e=>{if(!t.value.has(e))return;let n=new Set(t.value);n.delete(e),d(n)},v=()=>d([]);return(0,p.watch)(e.allData,a=>{if(!r()||t.value.size===0)return;let o=i(a);if((0,p.toValue)(e.remote)){for(let r of o){let i=e.rowKey(r);t.value.has(i)&&n.set(i,r)}return}let s=new Set(o.map(e.rowKey));d([...t.value].filter(e=>s.has(e)),o)}),(0,p.watch)(()=>[r(),s()],([e])=>{e?d(t.value):v()}),{selectedKeys:t,selectedCount:c,getPageCheckedKeys:f,handlePageSelectionChange:m,selectAll:h,select:g,unselect:_,clearAll:v,getSelectedRows:l,isSelected:e=>t.value.has(e)}}function tt(e,t){return e.filter(e=>typeof e.key!=`string`||e.key.startsWith(`_`)||e.type===`selection`||e.type===`expand`?!1:t?.length?t.includes(e.key):e.visible!==!1)}function nt(e,t,n){let r=e[t.key];return t.formatter?f.n(r,e,t.formatter,n):r==null?``:typeof r==`boolean`?r?`是`:`否`:String(r)}function rt(e,t,n){let r=n&&/^[=+\-@\t\r]/.test(e)?`'${e}`:e;return r.includes(t)||r.includes(`"`)||r.includes(`
1
+ require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./dictionary.cjs`),n=require(`./data2.cjs`),r=require(`./useComponentLocale.cjs`),i=require(`./feedback.cjs`),a=require(`./C_Icon2.cjs`),o=require(`./export-helper.cjs`),s=require(`./C_Loading2.cjs`),c=require(`./useActionTask.cjs`),l=require(`./C_ActionBar2.cjs`),u=require(`./useDictionary.cjs`),d=require(`./formValidation.cjs`),f=require(`./useTableGlobalConfig.cjs`);let p=require(`vue`),m=require(`naive-ui`);const h={editable:!1,editMode:`none`,showRowActions:!1,modalTitle:`编辑数据`,modalWidth:600,onEditSave:void 0,onEditCancel:void 0,onEditError:void 0},g=e=>{if(e===!1||e===void 0)return h;if(typeof e==`string`)return g({mode:e});if(e===!0)return{editable:!0,editMode:`modal`,showRowActions:!0,modalTitle:`编辑数据`,modalWidth:600,onEditSave:void 0,onEditCancel:void 0,onEditError:void 0};let t=e.enabled!==!1&&e.mode!==`none`;return{editable:t,editMode:e.mode||`modal`,showRowActions:t&&e.showRowActions!==!1,modalTitle:e.modalTitle||`编辑数据`,modalWidth:e.modalWidth||600,onEditSave:e.onSave,onEditCancel:e.onCancel,onEditError:e.onError}},_=e=>e?e===!0?{expandable:!0,defaultExpandedKeys:void 0,onLoadExpandData:void 0,onExpandError:void 0,renderExpandContent:void 0,rowExpandable:void 0}:{expandable:e.enabled!==!1,defaultExpandedKeys:e.defaultExpandedKeys,onLoadExpandData:e.onLoadData,onExpandError:e.onError,renderExpandContent:e.renderContent,rowExpandable:e.rowExpandable}:{expandable:!1,defaultExpandedKeys:void 0,onLoadExpandData:void 0,onExpandError:void 0,renderExpandContent:void 0,rowExpandable:void 0},v=e=>{if(!e)return{enableSelection:!1,defaultCheckedKeys:void 0,rowCheckable:void 0,maxSelection:void 0,enableChildSelection:!1,childRowCheckable:void 0,enableParentChildLink:!1,parentChildLinkMode:`loose`};if(e===!0)return{enableSelection:!0,defaultCheckedKeys:void 0,rowCheckable:void 0,maxSelection:void 0,enableChildSelection:!1,childRowCheckable:void 0,enableParentChildLink:!1,parentChildLinkMode:`loose`};let t=e.childSelection||{},n=e.parentChildLink||{};return{enableSelection:e.enabled!==!1,defaultCheckedKeys:e.defaultCheckedKeys,rowCheckable:e.rowCheckable,maxSelection:e.maxSelection,enableChildSelection:t.enabled||!1,childRowCheckable:t.childRowCheckable,enableParentChildLink:n.enabled||!1,parentChildLinkMode:n.mode||`loose`}},y=(t,n)=>{let r={enabled:!0,page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:n?e.t(n).size:`medium`};return t===!1?{pagination:null}:t===!0||t===void 0?{pagination:r}:{pagination:{...r,...t}}},b=e=>e?e===!0?{dynamicRows:{enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0}}:{dynamicRows:e}:{dynamicRows:void 0},x={striped:!0,bordered:!0,singleLine:!0,size:`medium`,maxHeight:void 0,scrollX:void 0,columnWidth:180};function S(t,n){let{size:r}=e.t(n);return t?{striped:t.striped??x.striped,bordered:t.bordered??x.bordered,singleLine:t.singleLine??x.singleLine,size:t.size??r,maxHeight:t.maxHeight,scrollX:t.scrollX,columnWidth:t.columnWidth??x.columnWidth}:{...x,size:r}}const ee=(t,n)=>({showToolbar:t?.show!==!1,enableColumnSettings:t?.columnSettings!==!1,toolbarActions:t?.actions??[],toolbarRightActions:t?.rightActions??[],toolbarActionBarConfig:{...n?{size:e.t(n).size,compact:n===`compact`}:{},...t?.actionBar}}),C=e=>e?e===!0?{virtualScroll:!0,virtualItemHeight:34,virtualMaxHeight:600}:{virtualScroll:e.enabled!==!1,virtualItemHeight:e.itemHeight??34,virtualMaxHeight:e.maxHeight??600}:{virtualScroll:!1,virtualItemHeight:34,virtualMaxHeight:600},w=e=>e?{summaryPosition:e.position??`bottom`,summaryRender:e.render}:{summaryPosition:void 0,summaryRender:void 0},te=e=>e?e===!0?{enableColumnDrag:!0,columnDragHandleClass:void 0,columnDragAnimationDuration:150}:{enableColumnDrag:e.enabled!==!1,columnDragHandleClass:e.handleClass,columnDragAnimationDuration:e.animationDuration??150}:{enableColumnDrag:!1,columnDragHandleClass:void 0,columnDragAnimationDuration:150},T=e=>e?e===!0?{treeEnabled:!0,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1}:{treeEnabled:e.enabled!==!1,treeChildrenKey:e.childrenKey??`children`,treeIndent:e.indent??16,treeDefaultExpandAll:e.defaultExpandAll??!1}:{treeEnabled:!1,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1},E=e=>e?e===!0?{rowDrag:{enabled:!0}}:{rowDrag:e.enabled===!1?void 0:e}:{rowDrag:void 0},D=e=>e?e===!0?{crossPageSelection:{enabled:!0}}:{crossPageSelection:e.enabled===!1?void 0:e}:{crossPageSelection:void 0};function ne(t={}){return{density:t.density,controlSize:t.density?e.t(t.density).size:`small`,feedback:t.feedback,locale:t.locale,...g(t.edit),..._(t.expand),...v(t.selection),...y(t.pagination,t.density),...b(t.dynamicRows),...S(t.display,t.density),...ee(t.toolbar,t.density),...C(t.virtualScroll),...w(t.summary),...te(t.columnDrag),...T(t.tree),...E(t.rowDrag),...D(t.crossPageSelection),exportConfig:t.export,persistKey:t.persistKey,formatterConfig:t.formatterConfig,error:t.error,batchActions:t.batchActions}}const O=e=>({isNonEditable:t=>!e.editable||t.editable===!1||e.editMode===`none`,isRowEditMode:()=>[`row`,`both`].includes(e.editMode),isCellEditMode:()=>[`cell`,`both`].includes(e.editMode)});function k(e){return e.type===void 0&&e.editable!==!1&&e.key!==`_actions`&&String(e.key??``).trim().length>0}function A(e,t){if(!k(e))return[];let n=[...e.editProps?.rules??[]];return e.required&&!n.some(e=>e.required)&&n.unshift(d.t(e.title,`${e.title}不能为空`)),n.map(n=>{let r={...n};if(r.type===void 0&&(e.editType===`number`&&(r.type=`number`),e.editType===`switch`&&(r.type=`boolean`)),n.validator){let e=n.validator;r.validator=(n,r,i,a,o)=>{let s=!1;try{let c=e(n,r,e=>{s=!0,i(e)},t?.()??a,o);return c===void 0&&!s?!0:c}catch(e){return e instanceof Error?e:Error(String(e))}}}if(n.asyncValidator){let e=n.asyncValidator;r.asyncValidator=(n,r,i,a,o)=>new Promise((i,s)=>{e(n,r,e=>{e?s(e):i()},t?.()??a,o)?.then(i,s)})}return r})}async function j(e,t,n,r,i=e.key??`value`){if(e.level===`warning`)return null;let a=`${n}校验失败`;try{let n=(await import(`async-validator`)).default;return await new(`default`in n?n.default:n)({[i]:e}).validate({...r,[i]:t},{first:!0,suppressWarning:!0,suppressValidatorError:!0}),null}catch(e){return(e?.errors)?.[0]?.message??(e instanceof Error?e.message:a)}}function M(e){let t=0,r=(0,p.ref)(null),i=(0,p.ref)({}),a=(0,p.ref)(!1),o=(0,p.ref)([]),s=()=>{t++,r.value=null,i.value={},o.value=[]};(0,p.getCurrentScope)()&&(0,p.onScopeDispose)(s);let c=e=>r.value===e,l=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},u=e=>{let s=l(e);return!s||a.value?!1:(t++,r.value=e,i.value={[String(e)]:n.t(s)},o.value=[],!0)},d=async()=>{if(r.value===null||a.value)return;let n=e.data();if(!n||!Array.isArray(n))return;t++;let o=n.findIndex(t=>e.rowKey(t)===r.value);a.value=!0;try{o>-1&&await e.onCancel?.(n[o],o),r.value=null,i.value={}}finally{a.value=!1}},f=async(n,i)=>{let a=t,s=(e.columns?.()||[]).filter(k).map(async e=>{let t=String(e.key);if(!t)return null;let r=(await Promise.all(A(e).map(r=>j(r,n[t],e.title||t,n,t)))).find(Boolean);return r?{field:t,message:r}:null}),c=(await Promise.all(s)).filter(Boolean);return t===a?(r.value===i&&(o.value=c),c.length===0):!1},m=async()=>{let e=r.value;if(e===null)return!0;let t=i.value[String(e)];return t?f(n.t(t),e):!0},h=async()=>{let o=r.value;if(o===null||a.value)return;let s=i.value[String(o)];if(!s)return;let c=n.t(s),u=t,d=l(o);a.value=!0;try{if(!await f(c,o)||t!==u)return;let n=e.data(),a=n.findIndex(t=>e.rowKey(t)===o);return a===-1||n[a]!==d||(await e.onSave?.(c,a,o),t!==u)?void 0:(r.value=null,i.value={},{updatedData:c,rowIndex:a})}finally{a.value=!1}},g=e=>{if(r.value===e)return i.value[String(e)]};return{editingRowKey:r,editingData:i,isSaving:a,isEditingRow:c,startEditRow:u,cancelEditRow:d,saveEditRow:h,validateRow:m,validationErrors:o,getEditingRowData:g,updateEditingRowData:(e,r,i)=>{let o=g(e);!o||a.value||(t++,o[r]=n.t(i))},findRowData:l,invalidate:s}}function N(e,t){let n=String(e);return`${typeof e}:${n.length}:${n}|${t.length}:${t}`}function P(e){let t=0,r=(0,p.ref)({rowKey:null,columnKey:null}),i=(0,p.ref)({}),a=(0,p.ref)(!1),o=(0,p.ref)(null),s=()=>{t++,r.value={rowKey:null,columnKey:null},i.value={},o.value=null};(0,p.getCurrentScope)()&&(0,p.onScopeDispose)(s);let c=(e,t)=>r.value.rowKey===e&&r.value.columnKey===t,l=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},u=(e,s)=>{let c=l(e);return!c||!s||a.value?!1:(t++,r.value={rowKey:e,columnKey:s},i.value={[N(e,s)]:n.t(c[s])},o.value=null,!0)},d=t=>(e.columns?.()??[]).find(e=>String(e.key)===t),f=async()=>{let e=t;o.value=null;let{rowKey:n,columnKey:a}=r.value;if(n===null||a===null)return!0;let s=d(a);if(!s)return!0;let c=N(n,a),u=i.value[c],f=s.title||a,p={...l(n),[a]:u},m=await Promise.all(A(s).map(e=>j(e,u,f,p,a)));if(t!==e)return!1;let h=m.find(Boolean);return h?(o.value=h,!1):!0};return{editingCell:r,editingData:i,isSaving:a,isEditingCell:c,startEditCell:u,saveEditCell:async()=>{let{rowKey:o,columnKey:s}=r.value;if(o===null||s===null||a.value)return;let c=N(o,s),u=n.t(i.value[c]),d=t,p=l(o);a.value=!0;try{if(!await f()||t!==d)return;let a=e.data(),c=a.findIndex(t=>e.rowKey(t)===o);if(c===-1||a[c]!==p)return;let l={...a[c],[s]:u};return await e.onSave?.(n.t(l),c,s,o),t===d?(r.value={rowKey:null,columnKey:null},i.value={},{updatedData:l,rowIndex:c,columnKey:s}):void 0}finally{a.value=!1}},cancelEditCell:()=>{let{rowKey:e,columnKey:n}=r.value;a.value||(t++,e!==null&&n!==null&&delete i.value[N(e,n)],r.value={rowKey:null,columnKey:null},o.value=null)},validateCell:f,cellValidationError:o,getEditingCellValue:(e,t)=>i.value[N(e,t)],updateEditingCellValue:(e,r,o)=>{!c(e,r)||a.value||(t++,i.value[N(e,r)]=n.t(o))},findRowData:l,invalidate:s}}function re(e){let t=0,r=(0,p.ref)(!1),i=(0,p.ref)(!1),a=(0,p.ref)(null),o=(0,p.ref)({}),s=()=>{t++,r.value=!1,a.value=null,o.value={}},c=(0,p.computed)(()=>{if(a.value===null)return-1;let t=e.data();return Array.isArray(t)?t.findIndex(t=>e.rowKey(t)===a.value):-1});return{isModalVisible:r,isSaving:i,editingData:o,editingRowKey:a,editingRowIndex:c,startEdit:(s,c)=>{if(i.value)return!1;let l=e.data();if(!Array.isArray(l))return!1;let u=l.findIndex(t=>e.rowKey(t)===s);return u===-1?!1:(t++,a.value=s,o.value=n.t(c??l[u]),r.value=!0,!0)},saveEdit:async s=>{if(i.value||a.value===null)return;let l=c.value;if(l===-1)return;let u=a.value,d=t,f=n.t(s??o.value);i.value=!0;try{return await e.onSave?.(f,l,u),t===d?(r.value=!1,a.value=null,o.value={},{updatedData:f,rowIndex:l}):void 0}finally{i.value=!1}},cancelEdit:async()=>{if(i.value)return!1;let n=t,s=c.value;try{if(a.value!==null&&s>-1){let t=e.data();t[s]&&await e.onCancel?.(t[s],s)}}finally{t===n&&(r.value=!1,a.value=null,o.value={})}return!0},updateEditingData:e=>i.value?!1:(o.value=n.t(e),!0),resetEditingState:()=>i.value?!1:(a.value=null,o.value={},!0),isEditingRow:e=>a.value===e&&r.value,getEditingRowData:e=>a.value===e?o.value:null,invalidate:s}}function ie(e,t){try{let n=t(e);if(typeof n==`string`&&n!==``)return JSON.stringify([`string`,n]);if(typeof n==`number`&&Number.isFinite(n))return JSON.stringify([`number`,n])}catch{}}function ae(e,t){if(!t)return e;let n=[],r=new WeakSet,i=[];for(let t=e.length-1;t>=0;t--)i.push(e[t]);for(;i.length;){let e=i.pop();if(r.has(e))continue;r.add(e),n.push(e);let a=e[t];if(Array.isArray(a))for(let e=a.length-1;e>=0;e--){let t=a[e];t&&typeof t==`object`&&i.push(t)}}return n}function F(e,t,n,r){let i=new WeakSet,a=e=>{if(e===t)return n;if(!r||i.has(e))return e;i.add(e);let o=e[r];if(!Array.isArray(o))return e;let s=o.map(e=>e&&typeof e==`object`?a(e):e);return s.some((e,t)=>e!==o[t])?{...e,[r]:s}:e};return e.map(a)}function oe(e){return e}function se(e){return e}function ce(e,t){let n=new Map,r=[];return e.forEach((e,i)=>{let a;try{a=t(e)}catch(t){r.push({type:`error`,row:e,index:i,cause:t});return}if(a==null||a===``){r.push({type:`missing`,row:e,index:i});return}let o=n.get(a);if(o!==void 0){r.push({type:`duplicate`,row:e,index:i,key:a,firstIndex:o});return}n.set(a,i)}),r}function le(e,t,n){let r=new Set,i=new WeakSet,a=[...e],o=e=>{try{return n(e)}catch{return}},s=e=>e!=null&&e!==``;for(;a.length;){let e=a.pop();if(i.has(e))continue;i.add(e);let n=e[t];if(!Array.isArray(n)||n.length===0)continue;let c=o(e);s(c)&&r.add(c);for(let e of n)e&&typeof e==`object`&&a.push(e)}return[...r]}const ue=e=>({expandedKeys:(0,p.ref)([...e.defaultExpandedKeys||[]]),expandDataMap:(0,p.ref)(new Map),loadingMap:(0,p.ref)(new Map),errorMap:(0,p.ref)(new Map),checkedKeys:e.enableSelection?(0,p.ref)([...e.defaultCheckedKeys||[]]):(0,p.ref)([]),childSelections:(e.enableChildSelection,(0,p.ref)(new Map))}),de=e=>{let t=(0,p.computed)(()=>ae((0,p.unref)(e.data),e.childrenKey)),n=e.rowKey,r=(0,p.computed)(()=>{let e=new Map;for(let r of t.value){let t=n(r);e.has(t)||e.set(t,r)}return e});return{data:t,getRowKey:n,getChildRowKey:e.childRowKey||(e=>e.id),findRow:e=>r.value.get(e),isRowExpandable:t=>e.rowExpandable?.(t)??!0,isRowCheckable:t=>e.rowCheckable?.(t)??!0,isChildRowCheckable:(t,n)=>e.childRowCheckable?.(t,n)??!0}},fe=(e,t,n)=>{let r=new Map,i=new Map,a=!1,o=0,s=new Set(n.defaultExpandedKeys||[]),c=t=>{let n=t===void 0?new Set([...e.expandDataMap.value.keys(),...e.errorMap.value.keys(),...r.keys()]):new Set([t]);for(let t of n)r.delete(t),i.delete(t),e.expandDataMap.value.delete(t),e.errorMap.value.delete(t),e.loadingMap.value.delete(t),e.childSelections.value.delete(t)},l=async o=>{if(!n.onLoadData||a)return[];let s=t.getRowKey(o);if(e.expandDataMap.value.has(s))return e.expandDataMap.value.get(s);if(e.errorMap.value.has(s))return[];let c=r.get(s);if(c)return c.promise;let l={};i.set(s,o),e.loadingMap.value.set(s,!0);let u=()=>!a&&r.get(s)?.token===l,d,f=new Promise(e=>{d=e});return r.set(s,{token:l,promise:f}),(async()=>{try{let t=await n.onLoadData(o),r=Array.isArray(t)?t:[];return u()?(e.expandDataMap.value.set(s,r),n.enableChildSelection&&!e.childSelections.value.has(s)&&e.childSelections.value.set(s,[]),r):[]}catch(t){return u()&&(e.errorMap.value.set(s,t),n.onError?.(t,o)),[]}finally{u()&&(r.delete(s),e.loadingMap.value.set(s,!1))}})().then(d,()=>d([])),f};return(0,p.watch)(t.data,n=>{if(o+=1,i.size===0&&e.expandedKeys.value.length===0&&s.size===0)return;let r=new Map(n.map(e=>[t.getRowKey(e),e]));for(let[t,n]of i){let i=r.get(t);i!==n&&(c(t),i&&e.expandedKeys.value.includes(t)&&l(i),i||s.delete(t))}s=new Set([...s].filter(e=>r.has(e))),e.expandedKeys.value=e.expandedKeys.value.filter(e=>r.has(e))}),(0,p.getCurrentScope)()&&(0,p.onScopeDispose)(()=>{a=!0,o+=1,c()}),{loadData:l,retryExpand:async e=>{let n=t.findRow(e);n&&(c(e),await l(n))},invalidateExpand:c,handleRowExpand:async(r,i)=>{let c=t.getRowKey(r);if(o+=1,i){if(s.add(c),e.expandedKeys.value.includes(c)||(e.expandedKeys.value=[...e.expandedKeys.value,c]),await l(r),a||t.findRow(c)!==r||!s.has(c))return}else s.delete(c),e.expandedKeys.value=e.expandedKeys.value.filter(e=>e!==c);n.onExpandChange?.(e.expandedKeys.value,r,i)},expandAll:async()=>{if(a)return;let r=++o,i=t.data.value.filter(t.isRowExpandable);s=new Set(i.map(t.getRowKey)),e.expandedKeys.value=[...s],await Promise.allSettled(i.map(l)),!(a||r!==o)&&(e.expandedKeys.value=i.map(t.getRowKey),n.onExpandChange?.(e.expandedKeys.value))},collapseAll:()=>{o+=1,s.clear(),e.expandedKeys.value=[],e.childSelections.value.clear(),n.onExpandChange?.(e.expandedKeys.value)},handleExpandChange:async r=>{let i=++o;s=new Set(r);let c=new Set(e.expandedKeys.value),u=new Set(r),d=[...u].filter(e=>!c.has(e)),f=e.expandedKeys.value.filter(e=>!u.has(e));for(let t of f)e.childSelections.value.delete(t);e.expandedKeys.value=[...r],await Promise.all(d.map(async e=>{let n=t.findRow(e);n&&await l(n)})),!(a||i!==o)&&n.onExpandChange?.(r)}}},I=(e,t,n)=>{let r=[],i=[],a=(t,a,o=!1)=>{let s=t.length===r.length&&t.every((e,t)=>e===r[t]),c=a.length===i.length&&a.every((e,t)=>e===i[t]);!o&&s&&c||(r=[...t],i=[...a],n.onSelectionChange?.(t,a,e.childSelections.value))},o=(0,p.computed)(()=>t.data.value.filter(t.isRowCheckable)),s=(0,p.computed)(()=>e.checkedKeys.value.length),c=(r,i=!1)=>{let s=new Set(o.value.map(e=>t.getRowKey(e))),c=[...new Set(r)].filter(e=>s.has(e)),l=n.maxSelection?c.slice(0,Math.max(0,n.maxSelection)):c;e.checkedKeys.value=l;let u=new Set(l);a(l,t.data.value.filter(e=>u.has(t.getRowKey(e))),i)},l=(e,t=!1)=>{n.enableSelection&&c(e,t)};return{commitSelection:c,selectAll:()=>{n.enableSelection&&l(o.value.map(t.getRowKey))},clearSelection:()=>{l([])},handleSelectionChange:l,selectedRowsCount:s,selectableRows:o}},L=(e,t,n)=>{let r=()=>!!(t.enableParentChildLink&&t.enableSelection&&t.enableChildSelection);return{handleParentChildLink:(i,a,o)=>{if(!r())return;let s=t.parentChildLinkMode===`strict`?a.length===o&&o>0:a.length>0,c=[...e.checkedKeys.value],l=c.includes(i),u=s&&!l?[...c,i]:!s&&l?c.filter(e=>e!==i):c;n.handleSelectionChange(u,!0)},isLinkEnabled:r}},pe=(e,t,n,r,i)=>({totalChildSelections:(0,p.computed)(()=>i.enableChildSelection?Array.from(e.childSelections.value.values()).reduce((e,t)=>e+t.length,0):0),clearAllSelections:()=>{e.childSelections.value.clear(),r.commitSelection([],!0)},handleChildSelectionChange:(r,a)=>{if(!i.enableChildSelection)return;let o=t.findRow(r);if(!o)return;let s=(e.expandDataMap.value.get(r)||[]).filter(e=>t.isChildRowCheckable(e,o)),c=new Set(s.map(t.getChildRowKey)),l=[...new Set(a)].filter(e=>c.has(e)),u=e.childSelections.value.get(r)??[];if(u.length===l.length&&u.every((e,t)=>e===l[t]))return;e.childSelections.value.set(r,l);let d=new Set(l),f=s.filter(e=>d.has(t.getChildRowKey(e)));n.isLinkEnabled()&&n.handleParentChildLink(r,l,s.length),i.onChildSelectionChange?.(r,l,f)}}),me=(e,t,n,r,i)=>{if(!i.enableChildSelection)return;let a=t.childSelections.value.get(e)||[],o=t.expandDataMap.value.get(e)||[],s=n.findRow(e);if(!s)return;let c=o.filter(e=>n.isChildRowCheckable(e,s));return{selectedKeys:a,isAllChecked:c.length>0&&c.every(e=>a.includes(n.getChildRowKey(e))),selectAll:()=>{let t=c.map(e=>n.getChildRowKey(e));r.handleChildSelectionChange(e,t)},clearAll:()=>{r.handleChildSelectionChange(e,[])}}},he=e=>(0,p.h)(`div`,{class:`flex justify-center items-center py-8`},e?[e()]:[(0,p.h)(m.NSpin,{size:`small`}),(0,p.h)(`span`,{class:`ml-2 text-gray-500`},`加载中...`)]),R=()=>(0,p.h)(`div`,{class:`text-center py-8 text-gray-400`},`暂无数据`),z=e=>{if(!e.length)return[];let t=e[0];return!t||typeof t!=`object`?[]:[{title:`序号`,key:`_index`,width:60,align:`center`,titleAlign:`center`,render:(e,t)=>t+1},...Object.keys(t).filter(e=>![`id`,`key`].includes(e)).map(e=>({key:e,title:e.charAt(0).toUpperCase()+e.slice(1),width:120,align:`center`,titleAlign:`center`,ellipsis:{tooltip:!0}}))]},ge=(e,t,n,r,i,a)=>{let o=[];return a.enableChildSelection&&o.push({type:`selection`,multiple:!0,disabled:t=>{let n=r.findRow(e);return!n||!r.isChildRowCheckable(t,n)}}),o.push(...z(t)),(0,p.h)(`div`,{class:`p-4 bg-gray-50`},[(0,p.h)(`div`,{class:`mb-2 text-sm text-gray-600`},`详细信息 (${t.length} 条)`),(0,p.h)(m.NDataTable,{data:t,columns:o,size:`small`,striped:!0,checkedRowKeys:n?.selectedKeys||[],rowKey:e=>r.getChildRowKey(e),onUpdateCheckedRowKeys:a.enableChildSelection?t=>{i.handleChildSelectionChange(e,t)}:void 0})])},_e=(e,t,n,i,a)=>{let{t:o}=r.t(()=>a.locale),s=r=>{let s=t.getRowKey(r),c=e.expandDataMap.value.get(s)||[],l=e.loadingMap.value.get(s)||!1,u=me(s,e,t,n,a);return a.renderContent?a.renderContent(r,c,l,u):l?he(a.renderLoading):e.errorMap.value.has(s)?(0,p.h)(`div`,{class:`c-table-expand-error`,role:`alert`},[(0,p.h)(`span`,o(`table.loadFailed`)),(0,p.h)(m.NButton,{size:`small`,onClick:()=>i.retryExpand(s)},()=>o(`common.retry`))]):c.length?ge(s,c,u,t,n,a):R()};return{getTableColumns:e=>e.map(e=>{if(e.type===`selection`&&a.enableSelection){let n=`disabled`in e?e.disabled:void 0,r=`multiple`in e?e.multiple:void 0;return{...e,type:`selection`,disabled:e=>!!n?.(e)||!t.isRowCheckable(e),multiple:a.maxSelection===1?!1:r??!0}}return e.type===`expand`&&(a.onLoadData||a.renderContent)?{...e,type:`expand`,expandable:n=>t.isRowExpandable(n)&&(!(`expandable`in e)||e.expandable?.(n)!==!1),renderExpand:s}:e})}};function ve(e){let t=ue(e),n=de(e),r=fe(t,n,e),i=I(t,n,e),a=pe(t,n,L(t,e,i),i,e),o=_e(t,n,a,r,e);return(0,p.watch)(n.data,()=>{!e.enableSelection||t.checkedKeys.value.length===0||i.handleSelectionChange(t.checkedKeys.value)}),e.defaultExpandedKeys?.length&&(0,p.nextTick)(async()=>{let i=e.defaultExpandedKeys||[];if(i.length===0)return;let a=i.map(async e=>{let i=n.findRow(e);i&&!t.expandDataMap.value.has(e)&&await r.loadData(i)});await Promise.allSettled(a)}),{expandedKeys:t.expandedKeys,checkedKeys:t.checkedKeys,childSelections:t.childSelections,selectedRowsCount:i.selectedRowsCount,totalChildSelections:a.totalChildSelections,expandAll:r.expandAll,collapseAll:r.collapseAll,expandRow:async e=>{if(t.expandedKeys.value.includes(e)&&!t.loadingMap.value.get(e))return;let i=n.findRow(e);i&&await r.handleRowExpand(i,!0)},handleExpandChange:r.handleExpandChange,selectAll:i.selectAll,clearSelection:i.clearSelection,clearAllSelections:a.clearAllSelections,handleSelectionChange:i.handleSelectionChange,getTableColumns:o.getTableColumns,expandDataMap:t.expandDataMap,loadingMap:t.loadingMap,errorMap:t.errorMap,retryExpand:r.retryExpand,invalidateExpand:r.invalidateExpand}}const ye={text:`Robot Admin`,textSize:16,textColor:`rgba(128, 128, 128, 0.3)`,font:`Microsoft JhengHei`,opacity:.3,rotate:-20,position:`repeat`,xGap:200,yGap:120},be={scale:1,quality:.92,format:`png`,backgroundColor:`#ffffff`,logging:!1,allowTaint:!0,useCORS:!0},xe={orientation:`portrait`,paperSize:`A4`,margin:`10mm 10mm 0 10mm`,style:`@page { margin: 10mm 10mm 0 10mm; } @media print { body { margin: 0; } }`,header:``,footer:``,showModal:!1,modalMessage:`正在准备打印...`,onLoadingStart:()=>{},onLoadingEnd:()=>{},onPrintDialogClose:()=>{}};function Se(e,t,n,r){e.save(),e.translate(t/2,n/2),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()}function Ce(e,t,n,r){[[50,50],[t-50,50],[50,n-50],[t-50,n-50]].forEach(([t,n])=>{e.save(),e.translate(t,n),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()})}function B(e,t,n,r){let i=Math.sqrt(t*t+n*n),a=t/2,o=n/2;e.save(),e.translate(a,o),e.rotate(Math.atan2(n,t));let s=Math.floor(i/r.xGap),c=-i/2;for(let t=0;t<=s;t++){let n=c+t*r.xGap;e.fillText(r.text,n,0)}e.restore()}function V(e,t,n,r){let i=Math.ceil(t/r.xGap)+1,a=Math.ceil(n/r.yGap)+1;for(let t=0;t<a;t++)for(let n=0;n<i;n++){let i=n*r.xGap+r.xGap/2,a=t*r.yGap+r.yGap/2;e.save(),e.translate(i,a),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()}}function we(e,t){let n=e.getContext(`2d`);if(!n)return e;let r={...ye,...t},{width:i,height:a}=e;n.save(),n.globalAlpha=r.opacity,n.font=`${r.textSize}px ${r.font}`,n.fillStyle=r.textColor,n.textAlign=`center`,n.textBaseline=`middle`;let o={center:Se,corner:Ce,diagonal:B,repeat:V};return(o[r.position]||o.repeat)(n,i,a,r),n.restore(),e}async function H(e,t={}){if(typeof window>`u`)throw Error(`截图功能仅支持浏览器环境`);let n={...be,...t},{default:r}=await import(`html2canvas`);return await r(e,{logging:n.logging,scale:n.scale,allowTaint:n.allowTaint,useCORS:n.useCORS,backgroundColor:n.backgroundColor,onclone:e=>{let t=e.body;t.style.transform=`scale(1)`}})}function Te(e,t=`png`,n=.92){let r=`image/${t}`;return t===`png`?e.toDataURL(r):e.toDataURL(r,n)}function Ee(e,t=`screenshot-${new Date().toISOString().slice(0,10)}.png`,n=`png`){let r=Te(e,n),i=document.createElement(`a`);i.download=t,i.href=r,document.body.appendChild(i),i.click(),document.body.removeChild(i)}async function De(e,t={}){if(typeof window>`u`)throw Error(`打印功能仅支持浏览器环境`);let n={...xe,...t},{default:r}=await import(`print-js`);return new Promise((t,i)=>{try{n.onLoadingStart?.(),r({printable:e,type:`image`,style:n.style,showModal:n.showModal,modalMessage:n.modalMessage,onLoadingEnd:n.onLoadingEnd,onPrintDialogClose:()=>{n.onPrintDialogClose?.(),t()}})}catch(e){i(e)}})}function Oe(e,t,n){let r=0,i=0;e.forEach(e=>{let{width:n,height:a}=e;t===`horizontal`?(r+=n,i=Math.max(i,a)):(r=Math.max(r,n),i+=a)});let a=(e.length-1)*n;return t===`horizontal`?r+=a:i+=a,{totalWidth:r,totalHeight:i}}function ke(e,t){let{orientation:n,spacing:r,backgroundColor:i,totalWidth:a,totalHeight:o}=t,s=document.createElement(`canvas`);s.width=a,s.height=o;let c=s.getContext(`2d`);if(!c)throw Error(`无法创建画布上下文`);c.fillStyle=i,c.fillRect(0,0,a,o);let l=0,u=0;return e.forEach(e=>{c.drawImage(e,l,u),n===`horizontal`?l+=e.width+r:u+=e.height+r}),s}function Ae(e,t,n){return e.length?{orientation:t.orientation||`vertical`,spacing:t.spacing||20,backgroundColor:t.backgroundColor||`#ffffff`}:(n.warning(`没有要打印的元素`),null)}async function je(e,t,n,r){let{orientation:i,spacing:a,backgroundColor:o}=n;r(10);let s=await Promise.all(e.map(e=>H(e,t.capture)));r(50);let{totalWidth:c,totalHeight:l}=Oe(s,i,a);return r(60),ke(s,{orientation:i,spacing:a,backgroundColor:o,totalWidth:c,totalHeight:l})}async function U(e,t,n,r,i){r(70),t.watermark&&we(e,t.watermark),r(90),await De(Te(e,t.capture?.format,t.capture?.quality),t.print),r(100),i.success(`合并打印完成,共合并 ${n} 个元素`)}function Me(){let e=i.t(),t=(0,p.ref)(!1),n=(0,p.ref)(0),r=e=>{n.value=Math.max(0,Math.min(100,e))},a=async(e,t={})=>{try{r(0),r(30);let n=await H(e,t.capture);r(60),t.watermark&&we(n,t.watermark),r(90);let i=Te(n,t.capture?.format||`png`,t.capture?.quality||.92);return r(100),i}catch(e){throw Error(`截图失败: ${e instanceof Error?e.message:`未知错误`}`)}},o=async(n,i={})=>{t.value=!0,r(0);try{await(0,p.nextTick)();let t=await a(n,i);r(95),await De(t,i.print),r(100),e.success(`打印完成`)}catch(t){throw e.error(`打印失败: ${t instanceof Error?t.message:`未知错误`}`,t),t}finally{t.value=!1,r(0)}},s=async(n,r,i={})=>{t.value=!0;try{await(0,p.nextTick)();let t=await H(n,i.capture);i.watermark&&we(t,i.watermark);let a=i.capture?.format||`png`,o=`screenshot-${new Date().toISOString().slice(0,19).replace(/:/g,`-`)}.${a}`;Ee(t,r||o,a),e.success(`下载完成`)}catch(t){throw e.error(`下载失败`,t),t}finally{t.value=!1}},c=async(e,t=`Robot Admin`)=>o(e,{watermark:{text:t,position:`repeat`,textColor:`rgba(128, 128, 128, 0.3)`}}),l=async(e,t={})=>{let n=e.length;r(10);let i=e.map(async(e,i)=>{let o=await a(e,t);return r(10+(i+1)/n*70),o});return Promise.all(i)},u=async(e,t={})=>{await e.reduce(async(n,r,i)=>{await n,await De(r,t),i<e.length-1&&await new Promise(e=>{setTimeout(()=>e(),1e3)})},Promise.resolve())};return{loading:t,progress:n,captureWithWatermark:a,printWithWatermark:o,downloadScreenshot:s,quickPrint:c,batchCapture:l,batchPrint:async(n,i={})=>{if(!n.length){e.warning(`没有要打印的元素`);return}t.value=!0;try{r(0);let t=await l(n,i);r(80),await u(t,i.print),r(100),e.success(`批量打印完成,共 ${n.length} 个元素`)}catch(t){throw e.error(`批量打印失败`,t),t}finally{t.value=!1,r(0)}},mergePrint:async(n,i={},a={})=>{let o=Ae(n,a,e);if(o){t.value=!0;try{await U(await je(n,i,o,r),i,n.length,r,e)}catch(t){throw e.error(`合并打印失败`,t),t}finally{t.value=!1,r(0)}}},createPreset:(e,t)=>({use:e=>o(e,t),download:(e,n)=>s(e,n,t)}),updateProgress:r,utils:{captureElement:H,drawWatermark:we,canvasToDataURL:Te,downloadCanvas:Ee,printImage:De}}}const Ne={table:{watermark:{text:`Robot Admin - 数据表格`,position:`repeat`,textColor:`rgba(100, 100, 100, 0.25)`,textSize:14,xGap:250,yGap:120},capture:{scale:1.2},print:{orientation:`landscape`,style:`@page { margin: 8mm; } body { font-family: Arial, sans-serif; }`}},form:{watermark:{text:`Robot Admin - 表单数据`,position:`diagonal`,textColor:`rgba(150, 150, 150, 0.2)`,textSize:16},print:{orientation:`portrait`}},report:{watermark:{text:`Robot Admin - 机密报告`,position:`center`,textColor:`rgba(200, 50, 50, 0.15)`,textSize:24},capture:{quality:.95,format:`png`}}};function W(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?`row_${crypto.randomUUID()}`:`row_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function G(e,t){return typeof t==`function`?t(e):Reflect.get(e,t)}function Pe(e,t,r){if(e){let i=e(r===void 0?void 0:n.t(r));if(!i||typeof i!=`object`||Array.isArray(i))return null;let a=n.t(i);return r&&typeof t==`string`?{...n.t(r),[t]:Reflect.get(a,t)}:a}return typeof t==`string`?{...r?n.t(r):{},[t]:W()}:null}function Fe(e,...t){let n=t[0]??{},o={enabled:!0,rowKey:`id`,enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0,confirmDelete:!0,deleteConfirmText:``,printPreset:`table`,printTargetSelector:`.c-table-wrapper`},s=(0,p.reactive)({...o,...(0,p.toValue)(n)});(0,p.watch)(()=>(0,p.toValue)(n),e=>{let t=s;Object.keys(t).forEach(e=>delete t[e]),Object.assign(t,o,e)},{deep:!0});let c=i.t(()=>s.feedback),{t:l}=r.t(()=>s.locale),u=`c-table-radio-${W()}`,d=(0,p.ref)(null),f=(0,p.ref)(!1),h=(0,p.computed)(()=>d.value===null?null:e.value.find(e=>G(e,s.rowKey)===d.value)||null),g=(0,p.computed)(()=>h.value?e.value.findIndex(e=>e===h.value):-1),_=(0,p.computed)(()=>g.value>0),v=(0,p.computed)(()=>g.value>=0&&g.value<e.value.length-1),{loading:y,progress:b,printWithWatermark:x,downloadScreenshot:S,quickPrint:ee}=Me(),C=()=>{if(s.printOptions)return s.printOptions;let e=Ne[s.printPreset||`table`];return s.printWatermarkText&&e.watermark?{...e,watermark:{...e.watermark,text:s.printWatermarkText}}:e},w=e=>{s.onRowChange?.(e)},te=t=>{let n=G(t,s.rowKey);return(typeof n==`string`&&n!==``||typeof n==`number`&&Number.isFinite(n))&&!e.value.some(e=>G(e,s.rowKey)===n)?!0:(c.warning(l(`table.invalidRowKeys`,{count:1})),!1)},T=e=>{try{let t=Pe(s.defaultRowData,s.rowKey,e);if(t)return te(t)?t:null;c.warning(l(`table.invalidRowKeys`,{count:1}))}catch(t){c.error(l(`table.actionFailed`,{action:l(e?`table.copyRow`:`table.addRow`)}),t)}return null},E=()=>{if(!s.enabled||!s.enableAdd)return;let t=T();t&&(w([...e.value,t]),s.onRowAdd?.(t),c.success(l(`table.addRowSuccess`)))},D=()=>{if(!s.enabled||!s.enableInsert||!h.value){c.warning(l(`table.selectRowFirst`));return}let t=T();if(!t)return;let n=[...e.value];n.splice(g.value+1,0,t),w(n),s.onRowAdd?.(t),c.success(l(`table.insertRowSuccess`))},ne=()=>{if(!s.enabled||!s.enableDelete||!h.value){c.warning(l(`table.selectDeleteRowFirst`));return}s.confirmDelete?f.value=!0:O()},O=()=>{if(!h.value)return;let t=h.value,n=g.value;w(e.value.filter((e,t)=>t!==n)),d.value=null,s.onSelectionChange?.(null,null),s.onRowDelete?.(t,n),c.success(l(`table.deleteRowSuccess`)),f.value=!1},k=()=>{if(!s.enabled||!s.enableCopy||!h.value){c.warning(l(`table.selectCopyRowFirst`));return}let t=h.value,n=T(t);n&&(w([...e.value,n]),s.onRowCopy?.(t,n),c.success(l(`table.copyRowSuccess`)))},A=()=>{if(!s.enabled||!s.enableMove||!_.value)return;let t=g.value,n=[...e.value],r=n[t];[n[t],n[t-1]]=[n[t-1],n[t]],w(n),s.onRowMove?.(r,t,t-1),c.success(l(`table.moveUpSuccess`))},j=()=>{if(!s.enabled||!s.enableMove||!v.value)return;let t=g.value,n=[...e.value],r=n[t];[n[t],n[t+1]]=[n[t+1],n[t]],w(n),s.onRowMove?.(r,t,t+1),c.success(l(`table.moveDownSuccess`))},M=t=>{if(!s.enabled)return;let n=e.value.find(e=>G(e,s.rowKey)===t);n&&(d.value=t,s.onSelectionChange?.(t,n))},N=()=>{d.value=null,s.onSelectionChange?.(null,null)},P=async e=>{if(!e.value){c.error(l(`table.printTargetMissing`));return}let t=C();await x(e.value,t)};return(0,p.getCurrentScope)()&&(0,p.onScopeDispose)(()=>{d.value=null,f.value=!1}),{selectedRowKey:d,selectedRowData:h,selectedRowIndex:g,canMoveUp:_,canMoveDown:v,deleteConfirmVisible:f,printLoading:y,printProgress:b,addRow:E,insertRow:D,deleteRow:ne,confirmDelete:O,copyRow:k,moveRowUp:A,moveRowDown:j,selectRow:M,clearSelection:N,handlePrint:P,handleDownload:async(e,t)=>{if(!e.value){c.error(l(`table.downloadTargetMissing`));return}let n=C();await S(e.value,t,n)},handleQuickPrint:async e=>{if(!e.value){c.error(l(`table.printTargetMissing`));return}let t=s.printWatermarkText||`Robot Admin`;await ee(e.value,t)},enhanceColumns:e=>{if(!s.enabled)return e;let t=[...e];return s.enabled&&s.enableRadioSelection&&t.unshift({key:`_radio_selection`,title:l(`common.select`),width:80,align:`center`,editable:!1,render:e=>{let t=G(e,s.rowKey);return(0,p.h)(`div`,{class:`flex justify-center`},[(0,p.h)(`input`,{type:`radio`,name:u,"aria-label":l(`common.select`),checked:d.value===t,class:`cursor-pointer accent-blue-500 scale-110`,onChange:e=>{e.target.checked&&M(t)}})])}}),t},renderToolbar:e=>{if(!s.enabled)return null;let t=[];s.enablePrint&&t.push((0,p.h)(m.NButton,{loading:y.value,type:`primary`,ghost:!0,onClick:async()=>{try{let t=e??document.querySelector(s.printTargetSelector);t?await P((0,p.shallowRef)(t)):c.warning(l(`table.printTargetMissing`))}catch(e){c.error(l(`table.printTargetMissing`),e)}}},{icon:()=>(0,p.h)(a.t,{name:`mdi:printer`,title:l(`common.print`)}),default:()=>l(`common.print`)}));let n=[];return s.enableAdd&&n.push((0,p.h)(m.NButton,{onClick:E,type:`primary`},{icon:()=>(0,p.h)(a.t,{name:`mdi:plus`,title:l(`table.addRow`)}),default:()=>l(`table.addRow`)})),s.enableInsert&&n.push((0,p.h)(m.NTooltip,{disabled:!!h.value},{trigger:()=>(0,p.h)(m.NButton,{onClick:D,disabled:!h.value,type:`primary`,ghost:!0},{icon:()=>(0,p.h)(a.t,{name:`mdi:table-row-plus-after`,title:l(`table.insertRow`)}),default:()=>l(`table.insertRow`)}),default:()=>l(`table.selectRowFirst`)})),s.enableDelete&&n.push((0,p.h)(m.NTooltip,{disabled:!!h.value},{trigger:()=>(0,p.h)(m.NButton,{onClick:ne,disabled:!h.value,type:`error`,ghost:!0},{icon:()=>(0,p.h)(a.t,{name:`mdi:delete`,title:l(`table.deleteRow`)}),default:()=>l(`table.deleteRow`)}),default:()=>l(`table.selectDeleteRowFirst`)})),s.enableCopy&&n.push((0,p.h)(m.NTooltip,{disabled:!!h.value},{trigger:()=>(0,p.h)(m.NButton,{onClick:k,disabled:!h.value,type:`info`,ghost:!0},{icon:()=>(0,p.h)(a.t,{name:`mdi:content-copy`,title:l(`table.copyRow`)}),default:()=>l(`table.copyRow`)}),default:()=>l(`table.selectCopyRowFirst`)})),s.enableMove&&n.push((0,p.h)(m.NTooltip,{disabled:_.value},{trigger:()=>(0,p.h)(m.NButton,{onClick:A,disabled:!_.value,type:`warning`,ghost:!0},{icon:()=>(0,p.h)(a.t,{name:`mdi:arrow-up`,title:l(`table.moveUp`)}),default:()=>l(`table.moveUp`)}),default:()=>h.value?l(`table.firstRow`):l(`table.selectRowFirst`)}),(0,p.h)(m.NTooltip,{disabled:v.value},{trigger:()=>(0,p.h)(m.NButton,{onClick:j,disabled:!v.value,type:`warning`,ghost:!0},{icon:()=>(0,p.h)(a.t,{name:`mdi:arrow-down`,title:l(`table.moveDown`)}),default:()=>l(`table.moveDown`)}),default:()=>h.value?l(`table.lastRow`):l(`table.selectRowFirst`)})),n.length>0&&t.push((0,p.h)(m.NButtonGroup,{},()=>n)),(0,p.h)(`div`,{class:`dynamic-rows-toolbar mb-4 flex justify-end`},[(0,p.h)(m.NSpace,{},()=>t)])},renderConfirmModal:()=>(0,p.h)(m.NModal,{show:f.value,"onUpdate:show":e=>{f.value=e},preset:`dialog`,title:l(`table.deleteTitle`),content:s.deleteConfirmText||l(`table.deleteRowContent`),positiveText:l(`table.confirmDeleteRow`),negativeText:l(`common.cancel`),onPositiveClick:O})}}function Ie(e){let t=0,{data:n,rowKey:a,emit:o}=e,s=()=>(0,p.toValue)(e.config),c=()=>s().treeEnabled?s().treeChildrenKey??`children`:void 0,l=(0,p.computed)(()=>ae(n(),c())),u=()=>l.value,d=i.t(()=>s().feedback),{t:f}=r.t(()=>s().locale),m=(e,t,r)=>n()===e&&l.value.find(e=>a(e)===t)===r,h={onSave:async(e,r,i,u)=>{let d=n(),f=u??a(e),p=l.value.find(e=>a(e)===f);if(!p)return;let h=l.value.indexOf(p),g={...p,...e},_=t;if(s().editable)try{if(await s().onEditSave?.(g,h,i),t!==_||(await o(`save`,g,h,i),t!==_)||!m(d,f,p))return;o(`update:data`,F(n(),p,g,c()))}catch(e){throw s().onEditError?.(e),o(`edit-error`,e),e}},onCancel:async(e,n)=>{let r=t;try{if(await s().onEditCancel?.(e,n),t!==r)return;await o(`cancel`,e,n)}catch(e){throw s().onEditError?.(e),o(`edit-error`,e),e}},onExpandChange:(e,t,n)=>{o(`expand-change`,e,t,n)},onSelectionChange:(e,t,n)=>{o(`selection-change`,e,t,n)},onChildSelectionChange:(e,t,n)=>{o(`child-selection-change`,e,t,n)},onRowChange:e=>{o(`update:data`,e),s().dynamicRows?.onRowChange?.(e)},onRowSelectionChange:(e,t)=>{o(`row-selection-change`,e,t),s().dynamicRows?.onSelectionChange?.(e,t)},onRowAdd:e=>{o(`row-add`,e),s().dynamicRows?.onRowAdd?.(e)},onRowDelete:(e,t)=>{o(`row-delete`,e,t),s().dynamicRows?.onRowDelete?.(e,t)},onRowCopy:(e,t)=>{o(`row-copy`,e,t),s().dynamicRows?.onRowCopy?.(e,t)},onRowMove:(e,t,n)=>{o(`row-move`,e,t,n),s().dynamicRows?.onRowMove?.(e,t,n)}},g=()=>({rowEdit:M({data:u,rowKey:a,onSave:(e,t,n)=>h.onSave(e,t,void 0,n),onCancel:h.onCancel,columns:e.columns}),cellEdit:P({data:u,rowKey:a,onSave:h.onSave,columns:e.columns}),modalEdit:re({data:u,rowKey:a,onSave:(e,t,n)=>h.onSave(e,t,void 0,n),onCancel:h.onCancel})}),_=()=>ve({data:(0,p.computed)(()=>n()),rowKey:a,get childrenKey(){return c()},childRowKey:e=>e.id,get locale(){return s().locale},renderLoading:e.renderLoading,get defaultExpandedKeys(){return s().defaultExpandedKeys},get onLoadData(){return s().onLoadExpandData},onError:(e,t)=>{let n=s().onExpandError;n?n(e,t):d.error(f(`table.loadFailed`),e)},get renderContent(){return s().renderExpandContent},get rowExpandable(){return s().rowExpandable},get enableSelection(){return s().enableSelection},get defaultCheckedKeys(){return s().defaultCheckedKeys},get rowCheckable(){return s().rowCheckable},get maxSelection(){return s().maxSelection},get enableChildSelection(){return s().enableChildSelection},get childRowCheckable(){return s().childRowCheckable},get enableParentChildLink(){return s().enableParentChildLink},get parentChildLinkMode(){return s().parentChildLinkMode},onExpandChange:h.onExpandChange,onSelectionChange:h.onSelectionChange,onChildSelectionChange:h.onChildSelectionChange}),v=()=>Fe((0,p.computed)(()=>n()),(0,p.computed)(()=>({...s().dynamicRows,rowKey:s().dynamicRows?.rowKey??(0,p.toValue)(e.rowKeyField)??a,enabled:!!s().dynamicRows&&s().dynamicRows?.enabled!==!1,feedback:s().feedback,locale:s().locale,onRowChange:h.onRowChange,onSelectionChange:h.onRowSelectionChange,onRowAdd:h.onRowAdd,onRowDelete:h.onRowDelete,onRowCopy:h.onRowCopy,onRowMove:h.onRowMove}))),y=g();(0,p.watch)(y.rowEdit.validationErrors,e=>{y.rowEdit.editingRowKey.value!==null&&e.length&&d.error(e[0].message)}),(0,p.watch)(y.cellEdit.cellValidationError,e=>{y.cellEdit.editingCell.value.rowKey!==null&&e&&d.error(e)});let b=()=>{t++,y.rowEdit.invalidate(),y.cellEdit.invalidate(),y.modalEdit.invalidate()};(0,p.watch)([()=>s().editable,()=>s().editMode],b,{flush:`sync`}),(0,p.getCurrentScope)()&&(0,p.onScopeDispose)(b);let x=_(),S=v();return{editStates:y,expandState:x,dynamicRowsState:S,stateManager:{edit:{start(e,t){if(!s().editable)return;let n=s().editMode;n===`modal`?y.modalEdit.startEdit(e):n===`cell`&&t?y.cellEdit.startEditCell(e,t):(n===`row`||n===`both`)&&y.rowEdit.startEditRow(e)},cancel(){y.modalEdit.isModalVisible.value?y.modalEdit.cancelEdit():y.cellEdit.editingCell.value.rowKey===null?y.rowEdit.editingRowKey.value!==null&&y.rowEdit.cancelEditRow():y.cellEdit.cancelEditCell()},async save(){y.modalEdit.isModalVisible.value?await y.modalEdit.saveEdit():y.cellEdit.editingCell.value.rowKey===null?y.rowEdit.editingRowKey.value!==null&&await y.rowEdit.saveEditRow():await y.cellEdit.saveEditCell()},isEditing(e,t){return s().editMode===`modal`?y.modalEdit.isEditingRow(e):t?y.cellEdit.isEditingCell(e,t):y.rowEdit.isEditingRow(e)},getEditingData(){return y.modalEdit.isModalVisible.value?y.modalEdit.editingData.value:y.rowEdit.editingRowKey.value===null?null:y.rowEdit.getEditingRowData(y.rowEdit.editingRowKey.value)}},expand:{async row(e){if(x){let t=[...x.expandedKeys.value];t.includes(e)||(t.push(e),x.handleExpandChange(t))}},collapse(e){if(x){let t=x.expandedKeys.value.filter(t=>t!==e);x.handleExpandChange(t)}},async toggle(e){x?.expandedKeys.value.includes(e)?this.collapse(e):await this.row(e)},async all(){await x?.expandAll()},collapseAll(){x?.collapseAll()},isExpanded(e){return x?.expandedKeys.value.includes(e)??!1}},selection:{select(e){if(x?.checkedKeys.value&&!x.checkedKeys.value.includes(e)){let t=[...x.checkedKeys.value,e];x.handleSelectionChange(t)}},unselect(e){if(x?.checkedKeys.value){let t=x.checkedKeys.value.filter(t=>t!==e);x.handleSelectionChange(t)}},all(){x?.selectAll()},clear(){x?.clearSelection()},isSelected(e){return x?.checkedKeys.value.includes(e)??!1},getSelected(){if(!x?.checkedKeys.value)return[];let e=new Set(x.checkedKeys.value);return l.value.filter(t=>e.has(a(t)))}},childSelection:{select(e,t){if(x?.childSelections.value){let n=x.childSelections.value.get(e)||[];if(!n.includes(t)){let r=[...n,t];x.childSelections.value.set(e,r),o(`child-selection-change`,e,r,[])}}},unselect(e,t){if(x?.childSelections.value){let n=(x.childSelections.value.get(e)||[]).filter(e=>e!==t);x.childSelections.value.set(e,n),o(`child-selection-change`,e,n,[])}},selectAll(e){if(x?.childSelections.value&&x.expandDataMap?.value){let t=x.expandDataMap.value.get(e)||[],n=t.map(e=>e.id);x.childSelections.value.set(e,n),o(`child-selection-change`,e,n,t)}},clear(e){x?.childSelections.value&&(x.childSelections.value.set(e,[]),o(`child-selection-change`,e,[],[]))},getSelected(e){if(!x?.childSelections.value||!x.expandDataMap?.value)return[];let t=x.childSelections.value.get(e)||[];return(x.expandDataMap.value.get(e)||[]).filter(e=>t.includes(e.id))}},dynamicRows:{add(){S?.addRow()},insert(){S?.insertRow()},delete(){S?.deleteRow()},copy(){S?.copyRow()},moveUp(){S?.moveRowUp()},moveDown(){S?.moveRowDown()},clearSelection(){S?.clearSelection()},getSelected(){return S?.selectedRowData.value||null},async print(e){S&&e&&await S.handlePrint((0,p.shallowRef)(e))},async download(e,t){S&&e&&await S.handleDownload((0,p.shallowRef)(e),t)}},clearAllSelections(){x?.clearAllSelections()}},expandedKeys:(0,p.computed)(()=>x?.expandedKeys.value??[]),checkedKeys:(0,p.computed)(()=>x?.checkedKeys.value??[]),eventHandlers:h}}const K={page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:`medium`};function q(e,t){return!Number.isFinite(e)||(e??0)<=0?t:Math.max(1,Math.trunc(e))}function Le(e){let{data:t,config:n,emit:r}=e,i=(0,p.ref)(K.page),a=(0,p.ref)(K.pageSize),o=(0,p.computed)(()=>{let e=typeof t==`function`?t():(0,p.unref)(t);return Array.isArray(e)?e:[]}),s=(0,p.computed)(()=>{let e=n.value;return e?.remote?Math.max(0,Math.trunc(e.total??o.value.length)):o.value.length}),c=()=>n.value?.enabled?Math.max(1,Math.ceil(s.value/a.value)):1,l=(e,t)=>{let n=Math.min(q(e,1),c());i.value!==n&&(i.value=n,t&&r?.(`pagination-change`,n,a.value))},u=e=>l(e,!0),d=e=>{let t=q(e,K.pageSize),n=a.value!==t;a.value=t,i.value=1,n&&r?.(`pagination-change`,1,t)},f=()=>l(1,!0),m=(0,p.computed)(()=>{let e=n.value;if(!e?.enabled||e.remote)return o.value;let t=(i.value-1)*a.value;return o.value.slice(t,t+a.value)}),h=(0,p.computed)(()=>{let e=n.value;return e?.enabled?{page:i.value,pageSize:a.value,itemCount:s.value,showSizePicker:e.showSizePicker??K.showSizePicker,showQuickJumper:e.showQuickJumper??K.showQuickJumper,pageSizes:e.pageSizes??K.pageSizes,simple:e.simple??K.simple,size:e.size??K.size,prefix:e=>`共 ${e.itemCount??0} 条`,suffix:e=>(e.itemCount??0)>0?`第 ${e.startIndex+1}-${e.endIndex} 条`:`暂无数据`,"onUpdate:page":u,"onUpdate:pageSize":d}:null});return(0,p.watch)(()=>[n.value?.page,n.value?.pageSize],([e,t])=>{a.value=q(t,K.pageSize),i.value=Math.min(q(e,K.page),c())},{immediate:!0}),(0,p.watch)([s,a],()=>{let e=Math.min(i.value,c());e!==i.value&&(i.value=e,r?.(`pagination-change`,e,a.value))}),{currentPage:i,currentPageSize:a,paginatedData:m,paginationConfig:h,handlePageChange:u,handlePageSizeChange:d,resetToFirstPage:f,getTotalPages:c}}function J(e){return e.flatMap(e=>e.visible===!1?[]:`children`in e&&Array.isArray(e.children)?J(e.children):`type`in e&&e.type?[]:[e])}function Y(e,t){return e==null?t==null?0:-1:t==null?1:typeof e==`number`&&typeof t==`number`?e-t:typeof e==`string`&&typeof t==`string`?e.localeCompare(t):0}function Re(e,t,n){let{sorter:r}=e;return typeof r==`function`?r(t,n):r&&typeof r==`object`&&typeof r.compare==`function`?r.compare(t,n):r===`default`||typeof r==`object`&&r.compare===`default`?Y(t[e.key],n[e.key]):0}function ze(e,t,n){let r=Array.isArray(t)?t:[t];if(t==null||r.length===0)return!0;let{filter:i}=e,a=t=>t==null?!0:typeof i==`function`?i(t,n):i===`default`?String(n[e.key]).includes(String(t)):!0;return e.filterMode===`and`?r.every(a):r.some(a)}function Be(e,t){return e.filterOptionValues===void 0?e.filterOptionValue===void 0?Object.prototype.hasOwnProperty.call(t,e.key)?t[e.key]:e.defaultFilterOptionValues??e.defaultFilterOptionValue:e.filterOptionValue:e.filterOptionValues}function Ve(e){let t=(0,p.shallowRef)(),n=(0,p.shallowRef)({}),r=(0,p.computed)(()=>J((0,p.toValue)(e.columns))),i=(0,p.computed)(()=>r.value.flatMap(e=>{if(e.filter!==`default`&&typeof e.filter!=`function`)return[];let t=Be(e,n.value);return t==null||Array.isArray(t)&&t.length===0?[]:[{column:e,value:t}]})),a=(0,p.computed)(()=>{let t=(0,p.toValue)(e.data);if((0,p.toValue)(e.remote))return t;let n=i.value;return n.length?t.filter(e=>n.every(({column:t,value:n})=>ze(t,n,e))):t}),o=(0,p.computed)(()=>{let e=r.value.filter(e=>e.sortOrder===!1||e.sortOrder===`ascend`||e.sortOrder===`descend`);return e.length?e.map(e=>({columnKey:e.key,order:e.sortOrder})):t.value===void 0?r.value.map(e=>({columnKey:e.key,order:e.defaultSortOrder})):t.value?Array.isArray(t.value)?t.value:[t.value]:[]});return{processedData:(0,p.computed)(()=>{if((0,p.toValue)(e.remote))return(0,p.toValue)(e.data);let t=o.value.flatMap(e=>{let t=r.value.find(t=>t.key===e.columnKey);if(!t?.sorter||!e.order)return[];let n=typeof t.sorter==`object`?t.sorter.multiple??0:0;return[{column:t,direction:e.order===`ascend`?1:-1,priority:n}]}).sort((e,t)=>t.priority-e.priority);return t.length?a.value.slice().sort((e,n)=>{for(let r of t){let t=Re(r.column,e,n)*r.direction;if(t)return t}return 0}):a.value}),setSorter:e=>{t.value=e},setFilters:e=>{n.value={...e}}}}const X=e=>e&&typeof e==`object`&&`error`in e?e.error:null;function He(e){let{actions:t,config:n,tableManager:o,rowKey:s,onRowDeleted:l,onViewDetail:u,isDeleteFeedbackHandled:d}=e,f=c.t(),h=!0;(0,p.getCurrentScope)()&&(0,p.onScopeDispose)(()=>{h=!1});let g=(e,t)=>JSON.stringify([typeof e,e,t]),_=i.t(()=>n.value.feedback),{t:v}=r.t(()=>n.value.locale),y=e=>e===`edit`?n.value.editable&&t.value?.edit!==!1:typeof t.value?.[e]==`function`,b=e=>e!==!1&&typeof e==`function`,x=e=>e&&typeof e==`object`&&`data`in e?e.data:e,S=(e,t,r=`primary`,i,o,s=!1)=>(0,p.h)(m.NButton,{size:n.value.controlSize??`small`,type:r,quaternary:!0,onClick:i,loading:s||(o?f.isRunning(o):!1),disabled:o?f.isRunning(o):!1},()=>[(0,p.h)(a.t,{name:e,size:14,title:t})]),ee=async(e,r)=>{let i=s(e),a=t.value?.edit;if(b(a)){try{await a(e,r)}catch(e){_.error(v(`table.actionFailed`,{action:v(`common.edit`)}),e)}return}n.value.editMode===`modal`?o.editStates.modalEdit.startEdit(i,{...e}):o.editStates.rowEdit.startEditRow(i)},C=(e,t)=>{h&&!t&&_.error(v(`table.deleteFailed`),e)},w=async(e,t,n)=>{let r=d?.(e)===!0;try{let i=await e(t,n);if(!h)return;let a=X(i);if(a!=null){C(a,r);return}r||_.success(v(`table.deleteSuccess`)),l?.(t,n)}catch(e){throw C(e,r),e}},te=async(e,n)=>{let r=t.value?.delete;b(r)&&await _.confirm({title:v(`table.deleteTitle`),content:v(`table.deleteContent`),positiveText:v(`common.confirm`),negativeText:v(`common.cancel`),type:`warning`})&&h&&await w(r,e,n)},T=async(e,n)=>{let r=t.value?.detail;if(!b(r)){u?.(e);return}try{let t=await r(e,n);if(!h)return;let i=x(t);u?.(i||e)}catch(t){if(!h)return;_.error(v(`table.detailFailed`),t),u?.(e)}},E=(e,t)=>f.run(g(s(e),`edit`),()=>ee(e,t)),D=(e,t)=>f.run(g(s(e),`delete`),()=>te(e,t)),ne=(e,t)=>f.run(g(s(e),`detail`),()=>T(e,t)),O=e=>o.editStates.rowEdit.isEditingRow(e)?[S(`mdi:check`,v(`common.save`),`primary`,()=>void f.run(g(e,`save`),()=>o.editStates.rowEdit.saveEditRow()).catch(e=>_.error(v(`table.actionFailed`,{action:v(`common.save`)}),e)),g(e,`save`)),S(`mdi:close`,v(`common.cancel`),`default`,()=>void f.run(g(e,`cancel`),()=>o.editStates.rowEdit.cancelEditRow()).catch(e=>_.error(v(`table.actionFailed`,{action:v(`common.cancel`)}),e)),g(e,`cancel`))]:[S(`mdi:pencil`,v(`common.edit`),`warning`,()=>o.editStates.rowEdit.startEditRow(e))],k=(e,r)=>{let i=[];return y(`detail`)&&i.push(S(`mdi:eye`,v(`common.detail`),`info`,()=>void ne(e,r),g(s(e),`detail`))),y(`edit`)&&(n.value.editMode===`modal`||b(t.value?.edit))&&i.push(S(`mdi:pencil`,v(`common.edit`),`warning`,()=>void E(e,r),g(s(e),`edit`))),y(`delete`)&&i.push(S(`mdi:delete`,v(`common.delete`),`error`,()=>void D(e,r).catch(()=>void 0),g(s(e),`delete`))),i},A=(e,n)=>{let r=t.value?.custom;if(!r?.length)return null;let i=r.filter(t=>t.show?t.show(e,n):!0);return i.length?(0,p.h)(m.NDropdown,{options:i.map(t=>{let r=typeof t.label==`function`?t.label(e,n):t.label,i=typeof t.icon==`function`?t.icon(e,n):t.icon;return{label:r,key:t.key,icon:()=>(0,p.h)(a.t,{name:i,size:14}),disabled:t.disabled?.(e,n)||f.isRunning(g(s(e),`custom:${t.key}`))}}),onSelect:t=>{let r=i.find(e=>e.key===t);if(!r)return;let a=typeof r.label==`function`?r.label(e,n):r.label;f.run(g(s(e),`custom:${r.key}`),()=>r.onClick(e,n),()=>!r.disabled?.(e,n)).catch(e=>_.error(v(`table.actionFailed`,{action:a}),e))}},()=>S(`mdi:dots-horizontal`,v(`table.moreActions`),`default`,()=>{},void 0,i.some(t=>f.isRunning(g(s(e),`custom:${t.key}`))))):null};return{renderActions:(e,r)=>{if(t.value?.render)return t.value.render(e,r);let i=s(e),a=n.value.editable&&[`row`,`both`].includes(n.value.editMode);if(a&&o.editStates.rowEdit.isEditingRow(i))return(0,p.h)(m.NSpace,{size:2,wrap:!1},()=>O(i));let c=b(t.value?.edit),l=[...a&&!c?O(i):[],...k(e,r)],u=A(e,r);return u&&l.push(u),(0,p.h)(m.NSpace,{size:2,wrap:!1},()=>l)},isActionEnabled:y}}const Ue=[[/^(success|ok|done|complete|completed|normal|active|enabled|启用|正常|完成|已完成|运行|运行中|在线|生效|已发运)$/i,`success`],[/^(warning|warn|hold|pending|standby|待机|待审核|暂停|预警|部分完成|待下达|待复核|待发运)$/i,`warning`],[/^(error|fail|failed|danger|fault|offline|disabled|故障|失败|错误|异常|停用|离线|断开)$/i,`error`],[/^(info|processing|new|draft|进行中|新建|草稿|审批中|同步中|执行中|已下达|装车中)$/i,`info`]];function We(e,t,n){let r=typeof n==`object`&&Object.prototype.hasOwnProperty.call(n,String(e))?n[String(e)]:void 0,i=typeof r==`object`?r.label??t:t,a=typeof r==`string`?r:r?.color,o=Ue.find(([t])=>t.test(String(e))||t.test(i))?.[1]??`default`;return{label:i,color:a??o}}function Ge(){let e;return(t,n)=>{e===void 0&&(e=typeof document>`u`?null:document.createElement(`canvas`).getContext(`2d`));let r=t;return e?(e.font=n,e.measureText(r).width):Array.from(r).reduce((e,t)=>e+(t.charCodeAt(0)>255?13:7),0)}}const Ke=(0,p.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./date-picker.cjs`))),Z={number:m.NInputNumber,switch:m.NSwitch,input:m.NInput,email:m.NInput,mobile:m.NInput,date:e=>(0,p.h)(Ke,{...e,type:`date`,format:`yyyy-MM-dd`}),select:m.NSelect,textarea:e=>(0,p.h)(m.NInput,{...e,type:`textarea`,rows:3})},Q={number:`inputNumber`,date:`datePicker`,textarea:`textarea`,select:`select`,switch:`switch`},qe=(e,t)=>e.filter(k).map(e=>{let n={...e.editProps};return delete n.rules,{prop:String(e.key),label:e.title||String(e.key),type:Q[e.editType??(e.dictionary===void 0?`input`:`select`)]??`input`,dictionary:e.dictionary,...e.dictionary!==void 0&&Array.isArray(e.editProps?.options)?{children:e.editProps.options.map(e=>({...e}))}:{},placeholder:e.editProps?.placeholder??`请输入${e.title}`,rules:A(e,t),attrs:n,layout:{span:1},show:!0}});function $(e,n,r,i){let a=e,o={value:n,"onUpdate:value":r,placeholder:`请输入${a.title??``}`,style:{width:`100%`},...i.size?{size:i.size}:{},...e.editProps,...i.busy?{disabled:!0}:{}};if(!i.dictionaryOptions||e.editProps?.options!==void 0||e.editType&&e.editType!==`select`)return o;let s=o[`onUpdate:value`];return o.value=t.r(n),o[`onUpdate:value`]=e=>s(t.n(e)),{...o,options:t.o(i.dictionaryOptions),fallbackOption:e=>({value:e,label:String(t.n(e)??``)})}}function Je(e,t,n,r={},i=0,a,o=!1){if(e.editRender)return e.editRender(t,r,i,{onUpdate:n});let s=typeof a==`object`?a:{size:a,busy:o},c=$(e,t,n,s);return(0,p.h)(Z[e.editType||(s.dictionaryOptions?`select`:`input`)]||Z.input,c)}function Ye(e,t,n,r,i){if(e.render)return e.render(t,n)??String(r??``);let a=e.formatter?f.n(r,t,e.formatter,i):String(r??``);if(!e.status||r==null||r===``)return a;let o=We(r,a,e.status),s=o.color===`danger`?`error`:o.color===`neutral`?`default`:o.color,c=[`default`,`success`,`warning`,`error`,`info`,`primary`].includes(s);return(0,p.h)(m.NTag,{size:`small`,round:!0,bordered:!1,type:c?s:`default`,...c?{}:{color:{textColor:s,color:`color-mix(in srgb, ${s} 12%, transparent)`}}},()=>o.label)}function Xe(e,t,n,r,i,o={rowData:{},rowIndex:0}){let s=(e,t,n)=>(0,p.h)(`button`,{class:`cell-action-btn cell-action-${e}`,disabled:o.busy,"aria-busy":o.busy||void 0,title:t,type:`button`,onClick:e=>{e.stopPropagation(),e.preventDefault(),n(e)}},[(0,p.h)(a.t,{name:`mdi:${e===`save`?`check`:`close`}`,title:e===`save`?`保存`:`取消`,size:12})]);return(0,p.h)(`div`,{class:`cell-editing-container`},[(0,p.h)(`div`,{class:`cell-editing-input`},[Je(e,t,n,o.rowData,o.rowIndex,o)]),(0,p.h)(`div`,{class:`cell-editing-actions`},[s(`save`,`保存`,r),s(`cancel`,`取消`,i)])])}function Ze(e,t,n,r,i,o){return(0,p.h)(`div`,{class:`cell-edit-wrapper`},[(0,p.h)(`span`,{class:`cell-value`},[Ye(e,t,n,r,o)]),(0,p.h)(a.t,{name:`mdi:square-edit-outline`,title:`编辑`,class:`cell-edit-icon`,size:14,clickable:!0,onClick:e=>{e.stopPropagation(),i()}})])}function Qe(e){let{rawColumns:t,config:n,rowKey:r,tableManager:i,actionsRenderer:a,editModeChecker:o,showActionsColumn:s}=e,c=(0,p.ref)([]),l=(0,p.ref)(!1),d=e=>{let t=e.find(e=>e.key===`_actions`),n=c.value.find(e=>e.key===`_actions`),r=e.filter(e=>e.key!==`_actions`);c.value=s.value?[...r,t||n||{key:`_actions`,title:`操作`,width:180,editable:!1,visible:!0,fixed:`right`}]:r};(0,p.watch)([t,s],([e])=>{e?.length?d(e):c.value=[]},{deep:!0,immediate:!0});let m=u.t(()=>new Map(c.value.filter(e=>e.dictionary!==void 0).map(e=>[String(e.key),e.dictionary])),{onError:e=>n.value.feedback?.error?.(e instanceof Error?e.message:String(e),e)}),h=e=>e.dictionary===void 0?void 0:m.getOptions(String(e.key)),g=e=>e.dictionary!==void 0&&!e.formatter?{...e,formatter:{type:`enum`,fn:t=>m.getLabel(String(e.key),t)}}:e,_=(e,t,r,a)=>{let o=e.key??``,s=t[o],{isEditingCell:c,getEditingCellValue:l,updateEditingCellValue:u,saveEditCell:d,cancelEditCell:f,startEditCell:p}=i.editStates.cellEdit;return c(a,o)?Xe(e,l(a,o),e=>u(a,o,e),()=>d(),()=>f(),{rowData:t,rowIndex:r,busy:i.editStates.cellEdit.isSaving?.value,size:n.value.density?n.value.controlSize:void 0,dictionaryOptions:h(e)}):Ze(e,t,r,s,()=>p(a,o),n.value.formatterConfig)},v=(e,t,a)=>{let s=e.key??``,c=t[s],l=r(t),u=o.value;if(u.isNonEditable(e))return Ye(e,t,a,c,n.value.formatterConfig);if(u.isRowEditMode()&&i.editStates.rowEdit.isEditingRow(l)){let r=i.editStates.rowEdit.getEditingRowData(l);return Je(e,r?.[s],e=>i.editStates.rowEdit.updateEditingRowData(l,s,e),r??t,a,{size:n.value.density?n.value.controlSize:void 0,busy:i.editStates.rowEdit.isSaving?.value,dictionaryOptions:h(e)})}return u.isCellEditMode()?_(e,t,a,l):Ye(e,t,a,c,n.value.formatterConfig)},y=Ge(),b=t=>Math.ceil(y(t.title??String(t.key??``),e.getFont?.(!0)??`600 13px sans-serif`)+(t.sorter?20:0)+(t.filter?28:0)+28),x=t=>{let r=e.getFont?.()??`13px sans-serif`,i=g(t),a=b(t)-28,o=e.data?.value??[],s=Math.min(o.length,100);for(let e=0;e<s;e++){let c=o[s===1?0:Math.floor(e*(o.length-1)/(s-1))],l=c[String(t.key)],u=i.formatter?f.n(l,c,i.formatter,n.value.formatterConfig):String(l??``);t.status&&(u=We(l,u,t.status).label),a=Math.max(a,y(u.slice(0,128),r)+(t.status?16:0))}let c=t.minWidth??80;return Math.max(c,Math.min(Math.max(c,t.maxWidth??360),Math.ceil(a+28)))},S=t=>{if(t.type===`selection`||t.type===`expand`)return t.width??40;let n=t.width??(t.type===`index`?50:e.columnWidthExplicit||t.autoWidth===!1?e.columnWidth??180:x(t));return typeof n==`number`?Math.max(n,b(t)):n},ee=e=>{let t=e;return{...t,type:void 0,key:`_index`,title:t.title??`序号`,width:S(e),className:[t.className,`c-table-index-column`].filter(Boolean).join(` `),titleAlign:t.titleAlign??`center`,align:t.align??`center`,render:(e,t)=>t+1,fixed:e.fixed}},C=t=>{let n=t,r=g(t),i=n.width===void 0&&!e.columnWidthExplicit&&n.autoWidth!==!1,a={...n,width:S(t),minWidth:Math.max(n.minWidth??(i?80:0),b(n)),maxWidth:n.maxWidth==null?void 0:Math.max(n.maxWidth,b(n)),ellipsis:n.ellipsis??(i?{tooltip:!0}:void 0),titleAlign:n.titleAlign||`center`,align:n.align||`center`,render:(e,t)=>v(r,e,t)};return t.fixed&&(a.fixed=t.fixed),t.resizable&&typeof a.width==`number`&&(a.resizable=!0,a.maxWidth=Math.max(a.minWidth,t.maxWidth??500)),a},w=(0,p.computed)(()=>{let e=c.value.filter(e=>{let t=e;return t.visible!==!1&&t.key!==`_actions`}).map(e=>{let t=e;return e.type===`index`?ee(e):e.type===`selection`||e.type===`expand`?{...t,width:S(e)}:C(e)});if(i.dynamicRowsState&&(e=i.dynamicRowsState.enhanceColumns(e)),i.expandState&&(n.value.expandable||n.value.enableSelection)&&(e=i.expandState.getTableColumns(e)),s.value){let t=c.value.find(e=>e.key===`_actions`);e.push({...t,type:void 0,key:`_actions`,title:t?.title??`操作`,width:S({...t,key:`_actions`,title:t?.title??`操作`,width:t?.width??180}),minWidth:Math.max(t?.minWidth??0,b(t??{key:`_actions`,title:`操作`})),maxWidth:t?.maxWidth==null?void 0:Math.max(t.maxWidth,b(t)),className:[t?.className,`c-table-actions-column`].filter(Boolean).join(` `),align:t?.align??`center`,titleAlign:t?.titleAlign??`center`,render:a,fixed:t?.fixed})}return e});return{reactiveColumns:c,showSettingsPanel:l,computedColumns:w,computedScrollX:(0,p.computed)(()=>{if(e.scrollX!==void 0)return e.scrollX;let t=w.value.some(e=>e.fixed),n=c.value.some(t=>!t.type&&t.width===void 0&&!e.columnWidthExplicit&&t.autoWidth!==!1),r=c.value.some(e=>!e.type&&typeof e.width==`number`&&b(e)>e.width);if(!(!t&&!n&&!r))return w.value.reduce((e,t)=>{let{width:n}=t;return e+(typeof n==`number`?n:typeof n==`string`&&/^\s*\d+(?:\.\d+)?(?:px)?\s*$/.test(n)?Number.parseFloat(n):typeof t.minWidth==`number`?t.minWidth:180)},0)}),getDictionaryLabel:(e,t)=>m.getLabel(String(e.key),t),handleColumnChange:e=>{c.value=e.map(e=>{let t=e;return{...e,visible:t.visible!==!1,fixed:e.fixed,width:t.width??(t.type?S(e):void 0),align:t.align||`center`,titleAlign:t.titleAlign||`center`}})}}}function $e(e){let{data:t,onReorder:n,onSort:r}=e,i=(0,p.ref)(!1),a=null,o=0,s=!1,c,l=null,u,d,f=null,m,h=t=>t.map(t=>ie(t,e.rowKey)),g=()=>{m?.parentNode!==l||!l||f&&f.parentNode!==l||l.insertBefore(m,f)},_=()=>{a?.destroy(),a=null,l=null,u=void 0,d=void 0,m=void 0,f=null,i.value=!1},v=(e,t,n)=>{if(!u||u.length!==e.length||u.some((t,n)=>t!==e[n])||t.some((e,t)=>e===void 0||e!==d?.[t])||n.length!==t.length||new Set(n).size!==t.length)return!1;let r=new Set(t);return n.every(e=>r.has(e))},y=e=>{i.value=!1;let{item:a}=e,o=a.getAttribute(`data-c-table-row-key`),s=[...t.value],c=h(s),p=l?[...l.children].map(e=>e.getAttribute(`data-c-table-row-key`)).filter(e=>e!==null):[],_=a===m&&v(s,c,p);if(g(),u=void 0,d=void 0,m=void 0,f=null,!_||!o)return;let y=c.indexOf(o),b=p.indexOf(o);if(y<0||b<0||y===b)return;let[x]=s.splice(y,1);s.splice(b,0,x),n?.(s),r?.(x,y,b)},b=async n=>{let r=++o;c?.disconnect(),c=void 0,_();let g=(0,p.toValue)(e.config);if(!(!g||g.enabled===!1||!n||s))try{let{default:e}=await import(`sortablejs`);if(s||r!==o)return;let p=()=>{if(s||r!==o)return;let c=n.querySelector(`.n-data-table-tbody`);c!==l&&(_(),c&&(l=c,a=new e(c,{animation:g.animationDuration??150,handle:g.handleSelector,draggable:`> tr[data-c-table-row-key]`,ghostClass:g.ghostClass??`row-drag-ghost`,chosenClass:g.chosenClass??`row-drag-chosen`,onMove:e=>e.related.hasAttribute(`data-c-table-row-key`),onStart:e=>{u=[...t.value],d=h(u),m=e.item,f=e.item.nextSibling,i.value=!0},onEnd:y})))};c=new MutationObserver(p),c.observe(n,{childList:!0,subtree:!0}),p()}catch{}},x=()=>{o+=1,c?.disconnect(),c=void 0,_()};return(0,p.onBeforeUnmount)(()=>{s=!0,x()}),{initRowDrag:b,destroyRowDrag:x,isDragging:i}}function et(e){let t=(0,p.ref)(new Set),n=(0,p.shallowReactive)(new Map),r=()=>(0,p.toValue)(e.config)?.enabled===!0,i=(t=e.allData.value)=>ae(t,(0,p.toValue)(e.childrenKey)),a=(0,p.computed)(()=>{let t=new Map,n=new Map;for(let r of i()){let i=e.rowKey(r),a=t.get(i);if(!a)t.set(i,r);else{let e=n.get(i);e?e.push(r):n.set(i,[a,r])}}return{index:t,duplicates:n}}),o=t=>e.rowCheckable?.(t)!==!1,s=()=>{let t=(0,p.toValue)(e.config)?.maxSelection;return Number.isFinite(t)&&(t??0)>0?Math.trunc(t):void 0},c=(0,p.computed)(()=>t.value.size),l=()=>[...t.value].flatMap(e=>{let t=n.get(e);return t?[t]:[]}),u=e=>{let t=s(),n=new Set;for(let r of e){if(t&&n.size>=t)break;n.add(r)}return n},d=(r,i=[])=>{let a=u(r);for(let t of i){let r=e.rowKey(t);a.has(r)&&n.set(r,t)}for(let e of n.keys())a.has(e)||n.delete(e);let o=t.value;o.size===a.size&&[...o].every(e=>a.has(e))||(t.value=a,e.onSelectionChange?.([...a],l()))},f=n=>i(n).map(e.rowKey).filter(e=>t.value.has(e)),m=(n,a)=>{if(!r())return;let s=i(a),c=new Set(s.filter(o).map(e.rowKey)),l=new Set(t.value);s.forEach(t=>l.delete(e.rowKey(t))),n.forEach(e=>{c.has(e)&&l.add(e)}),d(l,s)},h=()=>{if(!r())return;let n=i().filter(o),a=n.map(e.rowKey);d((0,p.toValue)(e.remote)?[...t.value,...a]:a,n)},g=e=>{if(!r())return!1;if(t.value.has(e))return!0;let{index:n,duplicates:i}=a.value,c=i.get(e),l=c?c.find(o):n.get(e);if(!l||!c&&!o(l))return!1;let u=s();return u&&t.value.size>=u?!1:(d([...t.value,e],[l]),!0)},_=e=>{if(!t.value.has(e))return;let n=new Set(t.value);n.delete(e),d(n)},v=()=>d([]);return(0,p.watch)(e.allData,a=>{if(!r()||t.value.size===0)return;let o=i(a);if((0,p.toValue)(e.remote)){for(let r of o){let i=e.rowKey(r);t.value.has(i)&&n.set(i,r)}return}let s=new Set(o.map(e.rowKey));d([...t.value].filter(e=>s.has(e)),o)}),(0,p.watch)(()=>[r(),s()],([e])=>{e?d(t.value):v()}),{selectedKeys:t,selectedCount:c,getPageCheckedKeys:f,handlePageSelectionChange:m,selectAll:h,select:g,unselect:_,clearAll:v,getSelectedRows:l,isSelected:e=>t.value.has(e)}}function tt(e,t){return e.filter(e=>typeof e.key!=`string`||e.key.startsWith(`_`)||e.type===`selection`||e.type===`expand`?!1:t?.length?t.includes(e.key):e.visible!==!1)}function nt(e,t,n){let r=e[t.key];return t.formatter?f.n(r,e,t.formatter,n):r==null?``:typeof r==`boolean`?r?`是`:`否`:String(r)}function rt(e,t,n){let r=n&&/^[=+\-@\t\r]/.test(e)?`'${e}`:e;return r.includes(t)||r.includes(`"`)||r.includes(`
2
2
  `)||r.includes(`\r`)?`"${r.replace(/"/g,`""`)}"`:r}function it(e){return[...e||`export`].map(e=>e.charCodeAt(0)<32||`<>:"/\\|?*`.includes(e)?`_`:e).join(``).trim()||`export`}function at(e,t,n){let r=n.csvSeparator??`,`,i=n.preventFormulaInjection!==!1,a=tt(t,n.columnKeys),o=[];n.includeHeader!==!1&&o.push(a.map(e=>rt(e.title??``,r,i)).join(r));for(let t of e){let e=a.map(e=>rt(nt(t,e,n.formatterConfig),r,i));o.push(e.join(r))}st(new Blob([``+o.join(`
3
- `)],{type:`text/csv;charset=utf-8;`}),`${it(n.filename)}.csv`)}async function ot(e,t,n){let r=tt(t,n.columnKeys),i;try{i=await Promise.resolve().then(()=>require(`./xlsx2.cjs`)).then(e=>e.r)}catch(r){n.onFallback?.(`xlsx`,`csv`,r),at(e,t,{...n,format:`csv`});return}let a=r.map(e=>e.title??e.key??``),o=e.map(e=>r.map(t=>nt(e,t,n.formatterConfig))),s=n.includeHeader===!1?o:[a,...o],c=i.utils.aoa_to_sheet(s),l=i.utils.book_new();i.utils.book_append_sheet(l,c,`Sheet1`),i.writeFile(l,`${it(n.filename)}.xlsx`)}function st(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),setTimeout(()=>URL.revokeObjectURL(n),0)}async function ct(e,t,n={}){n.format===`xlsx`?await ot(e,t,n):at(e,t,n)}const lt=e=>[{label:e.fixed?`✓ 取消固定`:`不固定`,key:`none`,disabled:!e.fixed},{label:e.fixed===`left`?`✓ 固定左侧`:`固定左侧`,key:`left`,disabled:!1},{label:e.fixed===`right`?`✓ 固定右侧`:`固定右侧`,key:`right`,disabled:!1}],ut=[`_actions`],dt=[`selection`,`expand`],ft=e=>ut.includes(e.key)||dt.includes(e.type),pt=e=>typeof e==`string`||typeof e==`number`&&Number.isFinite(e),mt=e=>typeof e==`number`&&Number.isFinite(e)&&e>=0||typeof e==`string`&&e.trim().length>0&&e.length<=128,ht=e=>e.map(e=>({...e})),gt=e=>{let t;try{t=JSON.parse(e)}catch{return[]}return Array.isArray(t)?t.flatMap((e,t)=>{if(!e||typeof e!=`object`||Array.isArray(e))return[];let n=e;return pt(n.key)?[{key:n.key,order:t,...typeof n.visible==`boolean`&&{visible:n.visible},...mt(n.width)&&{width:n.width},...(n.fixed===`left`||n.fixed===`right`)&&{fixed:n.fixed}}]:[]}):[]},_t=(e,t)=>{let n=new Map(gt(t).map(e=>[e.key,e]));return ht(e).map(e=>{let t=pt(e.key)?n.get(e.key):void 0;return t?{...e,visible:t.visible??e.visible,width:t.width??e.width,fixed:t.fixed??e.fixed}:e}).sort((e,t)=>{let r=pt(e.key)?n.get(e.key)?.order:void 0,i=pt(t.key)?n.get(t.key)?.order:void 0;return(r??1/0)-(i??1/0)})},vt=e=>JSON.stringify(e.filter(e=>pt(e.key)).map(e=>({key:e.key,visible:e.visible,width:e.width,fixed:e.fixed}))),yt={class:`column-management-tab`},bt={class:`search-row`},xt={class:`resizable-control`},St={class:`top-actions-bar`},Ct={class:`stats-info`},wt={class:`quick-actions`},Tt=[`draggable`,`onDragstart`,`onDragover`,`onDrop`],Et={class:`column-info`},Dt={class:`column-controls`},Ot={class:`column-details`},kt={class:`column-actions`},At={class:`drag-controls`},jt=(0,p.defineComponent)({name:`ColumnSettings`,__name:`index`,props:{columns:{},persistKey:{}},emits:[`change`],setup(e,{emit:t}){let n=e,r=t,i=e=>{if(!n.persistKey)return ht(e);try{let t=localStorage.getItem(`c_table_cols_${n.persistKey}`);return t?_t(e,t):ht(e)}catch{return ht(e)}},o=e=>{if(n.persistKey)try{localStorage.setItem(`c_table_cols_${n.persistKey}`,vt(e))}catch{}},s=(0,p.ref)(i(n.columns)),c=(0,p.ref)(``),l=(0,p.ref)(),u=(0,p.ref)(null),d=(0,p.ref)(null),f=(0,p.ref)(!1);(0,p.onMounted)(()=>{f.value=s.value.some(e=>e.resizable===!0),n.persistKey&&r(`change`,[...s.value])}),(0,p.watch)(()=>n.columns,e=>{s.value=i(e),f.value=s.value.some(e=>e.resizable===!0)},{deep:!0});let h=(0,p.computed)(()=>{if(!c.value)return s.value;let e=c.value.toLowerCase();return s.value.filter(t=>String(t.title??``).toLowerCase().includes(e)||String(t.key??``).toLowerCase().includes(e))}),g=(0,p.computed)(()=>s.value.filter(e=>e.visible!==!1).length),_=(0,p.computed)(()=>s.value.length),v=e=>{s.value.forEach(t=>{t.key!==`_actions`&&(t.visible=e)}),w()},y=()=>v(!0),b=()=>v(!1),x=e=>{let t=h.value[e];return s.value.findIndex(e=>e.key===t.key)},S=(e,t)=>{let n=x(e);n!==-1&&(t(s.value[n]),w())},ee=(e,t)=>{S(e,e=>{e.visible=t})},C=(e,t)=>{S(e,e=>{e.fixed=t===`none`?void 0:t})},w=()=>{o(s.value),r(`change`,[...s.value])},te=()=>{s.value=ht(n.columns),w()},T=e=>{s.value.forEach(t=>{ft(t)||(t.resizable=e,e&&(t.minWidth=t.minWidth||80,t.maxWidth=t.maxWidth||500))}),w()},E=(e,t)=>{let n=x(e),r=x(t);if(n!==-1&&r!==-1){let[e]=s.value.splice(n,1);s.value.splice(r,0,e),w()}},D=(e,t)=>{if(h.value[e].key===`_actions`){t.preventDefault();return}u.value=e,t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)},O=(e,t)=>{t.preventDefault(),!(u.value===null||h.value[e].key===`_actions`)&&(d.value=e,t.dataTransfer&&(t.dataTransfer.dropEffect=`move`))},k=e=>{u.value===null||h.value[e].key===`_actions`||(E(u.value,e),u.value=null,d.value=null)},A=()=>{u.value=null,d.value=null};return(e,t)=>((0,p.openBlock)(),(0,p.createElementBlock)(`div`,yt,[(0,p.createCommentVNode)(` 搜索框和列宽调整开关 `),(0,p.createElementVNode)(`div`,bt,[(0,p.createVNode)((0,p.unref)(m.NInput),{value:c.value,"onUpdate:value":t[0]||=e=>c.value=e,placeholder:`搜索列名...`,clearable:``,class:`search-input`},{prefix:(0,p.withCtx)(()=>[(0,p.createVNode)(a.t,{name:`mdi:magnify`})]),_:1},8,[`value`]),(0,p.createElementVNode)(`div`,xt,[(0,p.createVNode)(a.t,{name:`mdi:arrow-split-vertical`,size:`14`,title:f.value?`开启后可拖拽列边界调整宽度`:`允许调整列宽`},null,8,[`title`]),(0,p.createVNode)((0,p.unref)(m.NText),{style:{fontSize:`12px`,marginLeft:`4px`}},{default:(0,p.withCtx)(()=>[...t[2]||=[(0,p.createTextVNode)(` 列宽调整 `,-1)]]),_:1}),(0,p.createVNode)((0,p.unref)(m.NSwitch),{value:f.value,"onUpdate:value":[t[1]||=e=>f.value=e,T],size:`small`,style:{"margin-left":`6px`}},null,8,[`value`])])]),(0,p.createCommentVNode)(` 顶部操作栏:统计信息和快捷操作按钮 `),(0,p.createElementVNode)(`div`,St,[(0,p.createElementVNode)(`div`,Ct,[(0,p.createVNode)((0,p.unref)(m.NText),{depth:`3`,style:{fontSize:`13px`}},{default:(0,p.withCtx)(()=>[(0,p.createTextVNode)(` 已选 `+(0,p.toDisplayString)(g.value)+` / 总共 `+(0,p.toDisplayString)(_.value)+` 列 `,1)]),_:1})]),(0,p.createElementVNode)(`div`,wt,[(0,p.createVNode)((0,p.unref)(m.NSpace),{size:6},{default:(0,p.withCtx)(()=>[(0,p.createVNode)((0,p.unref)(m.NButton),{size:`tiny`,onClick:y},{default:(0,p.withCtx)(()=>[...t[3]||=[(0,p.createTextVNode)(` 全选 `,-1)]]),_:1}),(0,p.createVNode)((0,p.unref)(m.NButton),{size:`tiny`,onClick:b},{default:(0,p.withCtx)(()=>[...t[4]||=[(0,p.createTextVNode)(` 全不选 `,-1)]]),_:1}),(0,p.createVNode)((0,p.unref)(m.NButton),{size:`tiny`,onClick:te},{default:(0,p.withCtx)(()=>[...t[5]||=[(0,p.createTextVNode)(` 重置 `,-1)]]),_:1})]),_:1})])]),(0,p.createCommentVNode)(` 列列表 `),(0,p.createElementVNode)(`div`,{ref_key:`listRef`,ref:l,class:`column-list`},[((0,p.openBlock)(!0),(0,p.createElementBlock)(p.Fragment,null,(0,p.renderList)(h.value,(e,n)=>((0,p.openBlock)(),(0,p.createElementBlock)(`div`,{key:e.key,class:(0,p.normalizeClass)([`column-item`,{disabled:e.key===`_actions`,"fixed-left":e.fixed===`left`,"fixed-right":e.fixed===`right`}]),draggable:e.key!==`_actions`,onDragstart:e=>D(n,e),onDragover:e=>O(n,e),onDragend:A,onDrop:e=>k(n)},[(0,p.createElementVNode)(`div`,Et,[(0,p.createElementVNode)(`div`,Dt,[(0,p.createVNode)(a.t,{name:`mdi:drag`,size:`16`,class:(0,p.normalizeClass)([`drag-handle`,{disabled:e.key===`_actions`}])},null,8,[`class`]),(0,p.createVNode)((0,p.unref)(m.NCheckbox),{checked:e.visible!==!1,disabled:e.key===`_actions`,"onUpdate:checked":e=>ee(n,e)},null,8,[`checked`,`disabled`,`onUpdate:checked`])]),(0,p.createElementVNode)(`div`,Ot,[(0,p.createVNode)((0,p.unref)(m.NSpace),{align:`center`,size:6},{default:(0,p.withCtx)(()=>[(0,p.createVNode)((0,p.unref)(m.NText),{strong:``,style:{fontSize:`13px`}},{default:(0,p.withCtx)(()=>[(0,p.createTextVNode)((0,p.toDisplayString)(e.title||e.key),1)]),_:2},1024),e.fixed===`left`?((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(m.NTag),{key:0,size:`tiny`,type:`info`},{default:(0,p.withCtx)(()=>[...t[6]||=[(0,p.createTextVNode)(` 左固定 `,-1)]]),_:1})):(0,p.createCommentVNode)(`v-if`,!0),e.fixed===`right`?((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(m.NTag),{key:1,size:`tiny`,type:`warning`},{default:(0,p.withCtx)(()=>[...t[7]||=[(0,p.createTextVNode)(` 右固定 `,-1)]]),_:1})):(0,p.createCommentVNode)(`v-if`,!0)]),_:2},1024),(0,p.createVNode)((0,p.unref)(m.NText),{depth:`3`,style:{fontSize:`11px`}},{default:(0,p.withCtx)(()=>[(0,p.createTextVNode)((0,p.toDisplayString)(e.key),1)]),_:2},1024)])]),(0,p.createElementVNode)(`div`,kt,[(0,p.createElementVNode)(`div`,At,[(0,p.createVNode)(a.t,{name:`mdi:chevron-up`,size:`14`,title:`上移`,clickable:n!==0,class:(0,p.normalizeClass)({disabled:n===0}),onClick:e=>n!==0&&E(n,n-1)},null,8,[`clickable`,`class`,`onClick`]),(0,p.createVNode)(a.t,{name:`mdi:chevron-down`,size:`14`,title:`下移`,clickable:n!==h.value.length-1,class:(0,p.normalizeClass)({disabled:n===h.value.length-1}),onClick:e=>n!==h.value.length-1&&E(n,n+1)},null,8,[`clickable`,`class`,`onClick`])]),(0,p.createVNode)((0,p.unref)(m.NDropdown),{options:(0,p.unref)(lt)(e),onSelect:e=>C(n,e)},{default:(0,p.withCtx)(()=>[(0,p.createVNode)(a.t,{name:`mdi:pin`,size:`14`,title:`固定列`,clickable:``,style:(0,p.normalizeStyle)({color:e.fixed?`var(--n-primary-color)`:void 0})},null,8,[`style`])]),_:2},1032,[`options`,`onSelect`])])],42,Tt))),128))],512)]))}});var Mt=o.t(jt,[[`__scopeId`,`data-v-92119048`]]);const Nt=[`aria-busy`],Pt={key:1,class:`table-toolbar`},Ft={class:`toolbar-left`},It={class:`toolbar-right`},Lt={key:2,class:`batch-actions-bar`},Rt={class:`batch-info`},zt={key:3,class:`table-error-state`},Bt={class:`error-content`},Vt={class:`error-message`},Ht=(0,p.defineComponent)({name:`C_Table`,inheritAttrs:!1,__name:`index`,props:{columns:{},data:{},loading:{},rowKey:{},config:{default:()=>({})},crud:{},pagination:{type:[Object,Boolean],default:void 0},remote:{type:Boolean,default:void 0},virtualScrollX:{type:Boolean},wrapperClass:{},flexHeight:{type:Boolean}},emits:[`pagination-change`,`row-delete`,`batch-action-error`,`row-key-error`,`row-add`,`row-copy`,`row-move`,`row-selection-change`,`view-detail`,`column-change`,`expand-change`,`selection-change`,`child-selection-change`,`parent-child-link-change`,`update:data`,`save`,`cancel`,`edit-error`],setup(e,{expose:t,emit:o}){let u=(0,p.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./C_Form.cjs`)).then(e=>e.C_Form)),d=e,h=o,g=(0,p.ref)(null),_=(...e)=>{h(...e);let{crud:t}=d;if(t)switch(e[0]){case`save`:return t.save?.(e[1],e[2],e[3]);case`cancel`:return t.handleCancel?.();case`pagination-change`:return t.handlePaginationChange?.(e[1],e[2]);case`row-delete`:return t.handleRowDelete?.(e[1],e[2]);case`view-detail`:return t.detail?.show(e[1])}},v=f.i(),y=e=>{let t=d.rowKey??`id`;return typeof t==`function`?t(e):e[t]},b=(0,p.computed)(()=>{let e=d.config||{};if(d.crud){let t={};if(d.crud.actions){let e=d.crud.actions.value;t.actions={...e,...d.crud.save&&typeof e.edit==`function`?{edit:void 0}:{}}}d.crud.pagination&&(t.pagination=d.crud.pagination.value??void 0),e={...t,...e}}return f.r(e,v)}),x=(0,p.computed)(()=>d.columns??d.crud?.columns.value??[]),S=(0,p.computed)(()=>O(b.value)),ee=i.t(()=>S.value.feedback),{t:C}=r.t(()=>S.value.locale),w=(0,p.computed)(()=>k(S.value)),te=e=>e&&typeof e==`object`&&`value`in e?e.value:e,T=(0,p.computed)(()=>te(d.data)??d.crud?.data.value??[]),E=(0,p.computed)(()=>te(d.loading)??d.crud?.loading.value??!1),D=(0,p.computed)(()=>S.value.treeEnabled&&S.value.treeDefaultExpandAll?ce(T.value,S.value.treeChildrenKey,y):[]),A=(0,p.computed)(()=>({...S.value,defaultExpandedKeys:[...new Set([...S.value.defaultExpandedKeys??[],...D.value])]})),j=``;(0,p.watch)(()=>b.value.validateRowKeys===!1?[]:T.value.map(e=>{try{return y(e)}catch{return}}),()=>{if(b.value.validateRowKeys===!1){j=``;return}let e=se(T.value,y);if(e.length===0){j=``;return}let t=e.map(e=>[e.type,e.index,e.firstIndex,String(e.key)].join(`:`)).join(`|`);t!==j&&(j=t,ee.warning(C(`table.invalidRowKeys`,{count:e.length})),h(`row-key-error`,e))},{immediate:!0});let M=(0,p.computed)(()=>d.pagination!==void 0),N=(0,p.computed)(()=>d.remote??S.value.pagination?.remote??!1),P=(0,p.ref)((e=>{if(!e)return 10;if(e.defaultPageSize!==void 0)return e.defaultPageSize;let t=e.pageSizes?.[0];return typeof t==`number`?t:t?.value||10})(d.pagination)),F=(0,p.ref)(d.pagination?d.pagination.defaultPage??1:1),ne=e=>{F.value=e},ie=e=>{P.value=e},I=Fe({config:A,data:()=>T.value,rowKey:y,rowKeyField:()=>typeof d.rowKey==`function`?void 0:d.rowKey??`id`,emit:_,columns:()=>x.value,renderLoading:()=>(0,p.h)(s.t,{size:32,label:C(`table.loading`)})}),ae=new Set;(0,p.watch)(D,e=>{if(!S.value.treeEnabled||!S.value.treeDefaultExpandAll){ae.clear();return}let t=e.filter(e=>!ae.has(e));e.forEach(e=>ae.add(e));let n=I.expandedKeys.value,r=t.filter(e=>!n.includes(e));r.length&&I.expandState?.handleExpandChange([...n,...r])},{immediate:!0});let oe=Ue({actions:(0,p.computed)(()=>b.value.actions||{}),config:S,tableManager:I,rowKey:y,onRowDeleted:(e,t)=>h(`row-delete`,e,t),isDeleteFeedbackHandled:e=>d.crud?.actions?.value.delete===e,onViewDetail:e=>_(`view-detail`,e)}),le=(0,p.computed)(()=>{let{actions:e}=b.value;return!!(S.value.showRowActions||e?.delete||e?.detail||e?.custom?.length||e?.render)}),L=Qe({rawColumns:x,data:T,getFont:(e=!1)=>{let t=W.value,n=e?t?.querySelector(`.n-data-table-th`)??t:t;return n&&getComputedStyle(n).font||`600 13px sans-serif`},config:S,get columnWidth(){return S.value.columnWidth},get columnWidthExplicit(){return b.value.display?.columnWidth!==void 0},get scrollX(){return S.value.scrollX},rowKey:y,tableManager:I,actionsRenderer:oe.renderActions,editModeChecker:w,showActionsColumn:le}),{showSettingsPanel:ue,reactiveColumns:R,computedColumns:de,computedScrollX:fe}=L,pe=Ve({data:T,columns:R,remote:()=>M.value||S.value.pagination?.remote===!0}),me=Ve({data:T,columns:R,remote:N}),z=Ie({data:pe.processedData,config:(0,p.computed)(()=>M.value?null:S.value.pagination),emit:_}),B=(0,p.computed)(()=>{if(M.value){let e=g.value?.getCurrentPageData?.();if(e)return e;let t=me.processedData.value;if(!d.pagination||N.value)return t;let n=d.pagination.pageSize??P.value,r=Math.max(1,Math.min(d.pagination.page??F.value,Math.ceil(t.length/Math.max(1,n))));return t.slice((r-1)*n,r*n)}return z.paginatedData.value}),he=e=>{pe.setSorter(e),me.setSorter(e)},ge=e=>{pe.setFilters(e),me.setFilters(e),!M.value&&!S.value.pagination?.remote&&z.resetToFirstPage()},_e=(0,p.useAttrs)(),ve=(0,p.computed)(()=>S.value.rowDrag!==void 0&&S.value.rowDrag.enabled!==!1&&!S.value.virtualScroll&&d.virtualScrollX!==!0),ye=(0,p.computed)(()=>{let e=B.value,t=e.map(e=>[re(e,y),e]),n=new Set(t.map(([e])=>e));return t.some(([e])=>e===void 0)||n.size!==e.length?new Map:new Map(t)}),be=(e,t)=>{let n=_e.rowProps??_e[`row-props`],r=typeof n==`function`?n(e,t):void 0;if(!ve.value)return r;let i=re(e,y);return{...r,"data-c-table-row-key":i!==void 0&&ye.value.get(i)===e?i:void 0}},xe,Se=$e({data:B,rowKey:y,config:(0,p.computed)(()=>ve.value?S.value.rowDrag:void 0),onReorder:e=>{let t=new Map(T.value.map((e,t)=>[y(e),t]));if(xe=B.value.map(e=>t.get(y(e))),M.value?N.value:S.value.pagination?.remote===!0){_(`update:data`,e);return}let n=[...T.value];xe.forEach((t,r)=>{t!==void 0&&(n[t]=e[r])}),_(`update:data`,n)},onSort:(e,t,n)=>{let r=xe?.[t]??t,i=xe?.[n]??n;xe=void 0,h(`row-move`,e,r,i)}}),V=et({allData:T,rowKey:y,config:(0,p.computed)(()=>S.value.crossPageSelection),remote:()=>M.value?N.value:S.value.pagination?.remote===!0,childrenKey:()=>S.value.treeEnabled?S.value.treeChildrenKey:void 0,rowCheckable:e=>S.value.rowCheckable?.(e)??!0,onSelectionChange:(e,t)=>h(`selection-change`,e,t,new Map)}),H=(0,p.computed)(()=>S.value.crossPageSelection?.enabled===!0),Ce=(0,p.computed)(()=>H.value?V.selectedCount.value:I.checkedKeys?.value?.length??0),U=c.t(),we=async e=>{if(U.isRunning(e.key))return;let t=H.value?[...V.selectedKeys.value]:I.checkedKeys?.value??[],n=new Set(t),r=H.value?V.getSelectedRows():T.value.filter(e=>n.has(y(e)));try{if(!(await U.run(e.key,()=>e.onClick(t,r))).executed)return;S.value.batchActions?.clearSelectionOnSuccess&&Te()}catch(t){S.value.batchActions?.onError?.(t,e.key),h(`batch-action-error`,t,e.key)}},Te=()=>{H.value?V.clearAll():I.stateManager.selection.clear()},Ee=(0,p.computed)(()=>H.value?V.getPageCheckedKeys(B.value):null),De=e=>{if(H.value){V.handlePageSelectionChange(e,B.value);return}I.expandState?.handleSelectionChange?.(e)},Oe=c.t(),ke=async()=>{let e=S.value.exportConfig??{};await Oe.run(`export`,async()=>{let t=()=>H.value?V.getSelectedRows():I.stateManager.selection.getSelected(),n=e.scope===`page`?B.value:T.value;await ct(e.requestData?await e.requestData():e.scope===`selected`?t():n,(e.scope&&e.scope!==`source`?R.value:x.value).map(e=>e.dictionary!==void 0&&!e.formatter?{...e,formatter:{type:`enum`,fn:t=>L.getDictionaryLabel(e,t)}}:e),{...e,formatterConfig:S.value.formatterConfig})})},Ae=(0,p.computed)(()=>S.value.summaryRender),W=(0,p.ref)(),G=null,je=0,Me=()=>{je+=1,G?.destroy(),G=null},K=async()=>{let e=++je;if(G?.destroy(),G=null,!(!S.value.enableColumnDrag||!W.value))try{let{default:t}=await import(`sortablejs`);if(e!==je||!W.value)return;let n=W.value.querySelector(`.n-data-table-thead tr`);if(!n)return;G=new t(n,{animation:S.value.columnDragAnimationDuration,handle:S.value.columnDragHandleClass?`.${S.value.columnDragHandleClass}`:void 0,filter:`.c-table-actions-column`,preventOnFilter:!0,ghostClass:`column-drag-ghost`,onEnd:e=>{if(e.oldIndex==null||e.newIndex==null)return;let t=[...R.value],n=t.filter(e=>e.visible!==!1&&e.key!==`_actions`),r=n[e.oldIndex],i=n[e.newIndex];if(!r||!i||r===i)return;let a=t.indexOf(r),o=t.indexOf(i);t.splice(a,1),t.splice(o,0,r),L.handleColumnChange(t),h(`column-change`,t)}})}catch{}},Ne=(0,p.computed)(()=>({striped:S.value.striped,bordered:S.value.bordered,singleLine:S.value.singleLine,size:S.value.size,maxHeight:S.value.maxHeight,tableLayout:fe.value===void 0?void 0:`fixed`})),Pe=(0,p.ref)(),q=(0,p.ref)(!1),J=(0,p.ref)({}),Le=(0,p.computed)({get:()=>I.editStates.modalEdit.isModalVisible.value,set:e=>{I.editStates.modalEdit.isModalVisible.value=e}}),Re=(0,p.computed)(()=>`edit-form-${I.editStates.modalEdit.editingRowKey.value??`new`}`),ze=(0,p.computed)(()=>Ke(x.value,()=>J.value));(0,p.watch)(()=>I.editStates.modalEdit.editingData.value,e=>{e&&Object.keys(e).length>0&&(J.value=n.t(e))},{immediate:!0,deep:!0});let Y=null;(0,p.watch)(Le,e=>{e&&Y&&(clearTimeout(Y),Y=null),e||(Y&&clearTimeout(Y),Y=setTimeout(()=>{J.value={},Y=null},300))});let Be=async()=>{if(!Pe.value||q.value)return;let e=I.editStates.modalEdit.editingRowKey.value,t=n.t(J.value);q.value=!0;try{try{await Pe.value.validate()}catch{return}if(e!==I.editStates.modalEdit.editingRowKey.value||!n.a(t,J.value))return;await I.editStates.modalEdit.saveEdit(t)}finally{q.value=!1}},He=()=>{J.value={},I.editStates.modalEdit.cancelEdit()},We=e=>{L.handleColumnChange(e),h(`column-change`,L.reactiveColumns.value)},{edit:X,expand:Z,selection:Q,dynamicRows:$}=I.stateManager,Ge=()=>g.value?.getFilteredAndSortedData?.().length??me.processedData.value.length,qe={startEdit:X.start,cancelEdit:X.cancel,saveEdit:()=>I.editStates.modalEdit.isModalVisible.value?Be():X.save(),expandRow:Z.row,collapseRow:Z.collapse,toggleExpand:Z.toggle,retryExpand:e=>I.expandState.retryExpand(e),invalidateExpand:e=>I.expandState.invalidateExpand(e),expandAll:Z.all,collapseAll:Z.collapseAll,selectRow:e=>H.value?V.select(e):(Q.select(e),Q.isSelected(e)),unselectRow:e=>{H.value?V.unselect(e):Q.unselect(e)},selectAll:()=>{H.value?V.selectAll():Q.all()},clearSelection:Te,isRowSelected:e=>H.value?V.isSelected(e):Q.isSelected(e),clearAllSelections:()=>{V.clearAll(),I.stateManager.clearAllSelections()},selectChildRow:I.stateManager.childSelection.select,unselectChildRow:I.stateManager.childSelection.unselect,selectAllChildren:I.stateManager.childSelection.selectAll,clearChildrenSelection:I.stateManager.childSelection.clear,getChildSelectedRows:I.stateManager.childSelection.getSelected,addRow:$.add,insertRow:$.insert,deleteRow:$.delete,copyRow:$.copy,moveRowUp:$.moveUp,moveRowDown:$.moveDown,clearRowSelection:$?.clearSelection,getSelectedRowData:$.getSelected,printTable:e=>$.print(e??W.value),downloadTableScreenshot:(e,t)=>$.download(e??W.value,t),resetToFirstPage:()=>{M.value?(F.value=1,g.value?.page(1)):z.resetToFirstPage()},getTotalPages:()=>{if(!M.value)return z.getTotalPages();let e=d.pagination;if(!e)return 1;if(N.value&&e.itemCount===void 0&&e.pageCount!==void 0)return Math.max(1,e.pageCount);let t=N.value?e.itemCount??T.value.length:Ge(),n=e.pageSize??P.value;return Math.max(1,Math.ceil(t/Math.max(1,n)))},getSelectedRows:()=>H.value?V.getSelectedRows():Q.getSelected(),getEditingData:()=>X.getEditingData()??null,isEditing:X.isEditing,isExpanded:Z.isExpanded,getManager:()=>I.stateManager,exportData:ke,crossPageSelection:{enabled:H,selectedKeys:V.selectedKeys,selectedCount:V.selectedCount,select:V.select,unselect:V.unselect,selectAll:V.selectAll,clearAll:V.clearAll,getSelectedRows:V.getSelectedRows}};return t(qe),(0,p.onMounted)(()=>{let e=d.crud?.tableRef;e&&(e.value=qe),K(),W.value&&Se.initRowDrag(W.value)}),(0,p.watch)([()=>S.value.enableColumnDrag,()=>S.value.columnDragHandleClass,()=>E.value,()=>de.value.length],async()=>{await(0,p.nextTick)(),await K()},{immediate:!0,flush:`post`}),(0,p.watch)([()=>S.value.rowDrag,ve,()=>E.value,()=>B.value.length,()=>z.currentPage.value],async()=>{await(0,p.nextTick)(),W.value&&await Se.initRowDrag(W.value)},{immediate:!0,deep:!0,flush:`post`}),(0,p.onBeforeUnmount)(()=>{Y&&clearTimeout(Y),Me(),Se.destroyRowDrag()}),(t,n)=>((0,p.openBlock)(),(0,p.createElementBlock)(`div`,{ref_key:`tableWrapperRef`,ref:W,class:(0,p.normalizeClass)([`c-table-wrapper`,[e.wrapperClass,{"c-table-wrapper--flex":e.flexHeight},S.value.density&&`c-table-wrapper--${S.value.density}`]]),"aria-busy":E.value},[(0,p.createCommentVNode)(` 动态行工具栏 `),S.value.dynamicRows&&(0,p.unref)(I).dynamicRowsState?((0,p.openBlock)(),(0,p.createBlock)((0,p.resolveDynamicComponent)((0,p.unref)(I).dynamicRowsState.renderToolbar(W.value)),{key:0})):(0,p.createCommentVNode)(`v-if`,!0),(0,p.createCommentVNode)(` 表格工具栏 `),S.value.showToolbar?((0,p.openBlock)(),(0,p.createElementBlock)(`div`,Pt,[(0,p.createElementVNode)(`div`,Ft,[(0,p.renderSlot)(t.$slots,`toolbar-left`,{},void 0,!0),S.value.toolbarActions.length?((0,p.openBlock)(),(0,p.createBlock)(l.t,{key:0,actions:S.value.toolbarActions,config:{...S.value.toolbarActionBarConfig}},null,8,[`actions`,`config`])):(0,p.createCommentVNode)(`v-if`,!0)]),(0,p.createElementVNode)(`div`,It,[(0,p.renderSlot)(t.$slots,`toolbar-right`,{},void 0,!0),S.value.toolbarRightActions.length?((0,p.openBlock)(),(0,p.createBlock)(l.t,{key:0,actions:S.value.toolbarRightActions,config:{align:`right`,...S.value.toolbarActionBarConfig}},null,8,[`actions`,`config`])):(0,p.createCommentVNode)(`v-if`,!0),S.value.exportConfig?((0,p.openBlock)(),(0,p.createBlock)(a.t,{key:1,name:`mdi:download`,size:`18`,title:(0,p.unref)(C)(`table.export`),clickable:``,class:`column-settings-btn`,onClick:n[0]||=e=>ke()},null,8,[`title`])):(0,p.createCommentVNode)(`v-if`,!0),S.value.enableColumnSettings?((0,p.openBlock)(),(0,p.createBlock)(a.t,{key:2,name:`mdi:cog`,size:`18`,title:(0,p.unref)(C)(`table.settings`),clickable:``,class:`column-settings-btn`,onClick:n[1]||=e=>ue.value=!0},null,8,[`title`])):(0,p.createCommentVNode)(`v-if`,!0)])])):(0,p.createCommentVNode)(`v-if`,!0),(0,p.createCommentVNode)(` 批量操作栏 `),S.value.batchActions?.enabled&&Ce.value>0?((0,p.openBlock)(),(0,p.createElementBlock)(`div`,Lt,[(0,p.createElementVNode)(`span`,Rt,(0,p.toDisplayString)((0,p.unref)(C)(`table.selectedCount`,{count:Ce.value})),1),(0,p.createVNode)((0,p.unref)(m.NSpace),{size:8},{default:(0,p.withCtx)(()=>[((0,p.openBlock)(!0),(0,p.createElementBlock)(p.Fragment,null,(0,p.renderList)(S.value.batchActions.actions||[],e=>((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(m.NButton),{key:e.key,type:e.type||`default`,size:S.value.controlSize,loading:(0,p.unref)(U).isRunning(e.key),disabled:(0,p.unref)(U).isRunning(e.key),onClick:t=>we(e)},(0,p.createSlots)({default:(0,p.withCtx)(()=>[(0,p.createTextVNode)(` `+(0,p.toDisplayString)(e.label),1)]),_:2},[e.icon?{name:`icon`,fn:(0,p.withCtx)(()=>[(0,p.createVNode)(a.t,{name:e.icon,size:`14`},null,8,[`name`])]),key:`0`}:void 0]),1032,[`type`,`size`,`loading`,`disabled`,`onClick`]))),128)),(0,p.createVNode)((0,p.unref)(m.NButton),{size:S.value.controlSize,onClick:Te},{default:(0,p.withCtx)(()=>[(0,p.createTextVNode)((0,p.toDisplayString)((0,p.unref)(C)(`table.cancelSelection`)),1)]),_:1},8,[`size`])]),_:1})])):(0,p.createCommentVNode)(`v-if`,!0),(0,p.createCommentVNode)(` 错误状态 `),S.value.error?.show?((0,p.openBlock)(),(0,p.createElementBlock)(`div`,zt,[(0,p.renderSlot)(t.$slots,`error`,{error:S.value.error},()=>[(0,p.createElementVNode)(`div`,Bt,[(0,p.createVNode)(a.t,{name:`mdi:alert-circle-outline`,size:`48`}),(0,p.createElementVNode)(`p`,Vt,(0,p.toDisplayString)(S.value.error.message||(0,p.unref)(C)(`table.loadFailed`)),1),S.value.error.onRetry?((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(m.NButton),{key:0,type:`primary`,size:S.value.controlSize,onClick:S.value.error.onRetry},{default:(0,p.withCtx)(()=>[(0,p.createTextVNode)((0,p.toDisplayString)((0,p.unref)(C)(`common.retry`)),1)]),_:1},8,[`size`,`onClick`])):(0,p.createCommentVNode)(`v-if`,!0)])],!0)])):(0,p.createCommentVNode)(`v-if`,!0),(0,p.createCommentVNode)(` 表格主体 `),S.value.error?.show?(0,p.createCommentVNode)(`v-if`,!0):((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(m.NDataTable),(0,p.mergeProps)({key:4,ref_key:`tableRef`,ref:g},{...Ne.value,...t.$attrs},{"flex-height":e.flexHeight,columns:(0,p.unref)(de),data:M.value?T.value:(0,p.unref)(z).paginatedData.value,pagination:M.value?d.pagination:!1,remote:M.value?N.value:!0,"onUpdate:sorter":he,"onUpdate:filters":ge,"onUpdate:pageSize":ie,"onUpdate:page":ne,loading:E.value,"row-key":y,"row-props":be,"expanded-row-keys":(0,p.unref)(I).expandedKeys.value,"checked-row-keys":Ee.value??(0,p.unref)(I).checkedKeys.value,"onUpdate:expandedRowKeys":(0,p.unref)(I).expandState?.handleExpandChange,"onUpdate:checkedRowKeys":De,"scroll-x":(0,p.unref)(fe),"virtual-scroll":S.value.virtualScroll,"virtual-scroll-x":d.virtualScrollX,"min-row-height":S.value.virtualScroll?S.value.virtualItemHeight:void 0,"max-height":S.value.virtualScroll?S.value.virtualMaxHeight:S.value.maxHeight,summary:Ae.value,"summary-placement":S.value.summaryPosition,"children-key":S.value.treeEnabled?S.value.treeChildrenKey:void 0,indent:S.value.treeEnabled?S.value.treeIndent:void 0,"default-expand-all":S.value.treeEnabled?S.value.treeDefaultExpandAll:void 0,style:{width:`100%`}}),(0,p.createSlots)({loading:(0,p.withCtx)(()=>[(0,p.renderSlot)(t.$slots,`loading`,{},()=>[(0,p.createVNode)((0,p.unref)(s.t),{label:(0,p.unref)(C)(`table.loading`)},null,8,[`label`])],!0)]),_:2},[t.$slots.empty?{name:`empty`,fn:(0,p.withCtx)(()=>[(0,p.renderSlot)(t.$slots,`empty`,{},void 0,!0)]),key:`0`}:void 0]),1040,[`flex-height`,`columns`,`data`,`pagination`,`remote`,`loading`,`expanded-row-keys`,`checked-row-keys`,`onUpdate:expandedRowKeys`,`scroll-x`,`virtual-scroll`,`virtual-scroll-x`,`min-row-height`,`max-height`,`summary`,`summary-placement`,`children-key`,`indent`,`default-expand-all`])),(0,p.createCommentVNode)(` 分页 `),!M.value&&(0,p.unref)(z).paginationConfig.value?((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(m.NPagination),(0,p.mergeProps)({key:5},(0,p.unref)(z).paginationConfig.value,{class:`pagination-wrapper`}),null,16)):(0,p.createCommentVNode)(`v-if`,!0),(0,p.createCommentVNode)(` 编辑弹窗 `),S.value.editMode===`modal`||S.value.editMode===`both`?((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(m.NModal),{key:6,show:Le.value,"onUpdate:show":n[3]||=e=>Le.value=e,title:S.value.modalTitle,width:S.value.modalWidth,preset:`card`,"mask-closable":!1,"close-on-esc":!1,class:`w60%`,closable:!1},{action:(0,p.withCtx)(()=>[(0,p.createVNode)((0,p.unref)(m.NSpace),{justify:`end`},{default:(0,p.withCtx)(()=>[(0,p.createVNode)((0,p.unref)(m.NButton),{size:S.value.density?S.value.controlSize:`medium`,disabled:q.value,onClick:He},{default:(0,p.withCtx)(()=>[(0,p.createTextVNode)((0,p.toDisplayString)((0,p.unref)(C)(`common.cancel`)),1)]),_:1},8,[`size`,`disabled`]),(0,p.createVNode)((0,p.unref)(m.NButton),{type:`primary`,size:S.value.density?S.value.controlSize:`medium`,disabled:!Pe.value||q.value,loading:q.value,onClick:Be},{default:(0,p.withCtx)(()=>[(0,p.createTextVNode)((0,p.toDisplayString)((0,p.unref)(C)(`common.save`)),1)]),_:1},8,[`size`,`disabled`,`loading`])]),_:1})]),default:(0,p.withCtx)(()=>[Le.value&&ze.value.length?((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(u),{ref_key:`editFormRef`,ref:Pe,key:Re.value,modelValue:J.value,"onUpdate:modelValue":n[2]||=e=>J.value=e,options:ze.value,config:{layout:`grid`,density:S.value.density,grid:{cols:2,...S.value.density?{}:{xGap:16,yGap:16}},showActions:!1}},null,8,[`modelValue`,`options`,`config`])):(0,p.createCommentVNode)(`v-if`,!0)]),_:1},8,[`show`,`title`,`width`])):(0,p.createCommentVNode)(`v-if`,!0),(0,p.createCommentVNode)(` 动态行确认删除弹窗 `),S.value.dynamicRows&&(0,p.unref)(I).dynamicRowsState?((0,p.openBlock)(),(0,p.createBlock)((0,p.resolveDynamicComponent)((0,p.unref)(I).dynamicRowsState.renderConfirmModal()),{key:7})):(0,p.createCommentVNode)(`v-if`,!0),(0,p.createCommentVNode)(` 列设置抽屉 `),(0,p.createVNode)((0,p.unref)(m.NDrawer),{show:(0,p.unref)(ue),"onUpdate:show":n[4]||=e=>(0,p.isRef)(ue)?ue.value=e:null,width:420,placement:`right`,"mask-closable":!0},{default:(0,p.withCtx)(()=>[(0,p.createVNode)((0,p.unref)(m.NDrawerContent),{title:(0,p.unref)(C)(`table.columnSettings`),closable:``},{default:(0,p.withCtx)(()=>[(0,p.createVNode)(Mt,{columns:(0,p.unref)(R),"persist-key":S.value.persistKey,onChange:We},null,8,[`columns`,`persist-key`])]),_:1},8,[`title`])]),_:1},8,[`show`])],10,Nt))}});var Ut=o.t(Ht,[[`__scopeId`,`data-v-a8be53d0`]]);Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return ct}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Ut}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return k}});
3
+ `)],{type:`text/csv;charset=utf-8;`}),`${it(n.filename)}.csv`)}async function ot(e,t,n){let r=tt(t,n.columnKeys),i;try{i=await Promise.resolve().then(()=>require(`./xlsx2.cjs`)).then(e=>e.r)}catch(r){n.onFallback?.(`xlsx`,`csv`,r),at(e,t,{...n,format:`csv`});return}let a=r.map(e=>e.title??e.key??``),o=e.map(e=>r.map(t=>nt(e,t,n.formatterConfig))),s=n.includeHeader===!1?o:[a,...o],c=i.utils.aoa_to_sheet(s),l=i.utils.book_new();i.utils.book_append_sheet(l,c,`Sheet1`),i.writeFile(l,`${it(n.filename)}.xlsx`)}function st(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),setTimeout(()=>URL.revokeObjectURL(n),0)}async function ct(e,t,n={}){n.format===`xlsx`?await ot(e,t,n):at(e,t,n)}const lt=e=>[{label:e.fixed?`✓ 取消固定`:`不固定`,key:`none`,disabled:!e.fixed},{label:e.fixed===`left`?`✓ 固定左侧`:`固定左侧`,key:`left`,disabled:!1},{label:e.fixed===`right`?`✓ 固定右侧`:`固定右侧`,key:`right`,disabled:!1}],ut=[`_actions`],dt=[`selection`,`expand`],ft=e=>ut.includes(e.key)||dt.includes(e.type),pt=e=>typeof e==`string`||typeof e==`number`&&Number.isFinite(e),mt=e=>typeof e==`number`&&Number.isFinite(e)&&e>=0||typeof e==`string`&&e.trim().length>0&&e.length<=128,ht=e=>e.map(e=>({...e})),gt=e=>{let t;try{t=JSON.parse(e)}catch{return[]}return Array.isArray(t)?t.flatMap((e,t)=>{if(!e||typeof e!=`object`||Array.isArray(e))return[];let n=e;return pt(n.key)?[{key:n.key,order:t,...typeof n.visible==`boolean`&&{visible:n.visible},...mt(n.width)&&{width:n.width},...(n.fixed===`left`||n.fixed===`right`)&&{fixed:n.fixed}}]:[]}):[]},_t=(e,t)=>{let n=new Map(gt(t).map(e=>[e.key,e]));return ht(e).map(e=>{let t=pt(e.key)?n.get(e.key):void 0;return t?{...e,visible:t.visible??e.visible,width:t.width??e.width,fixed:t.fixed??e.fixed}:e}).sort((e,t)=>{let r=pt(e.key)?n.get(e.key)?.order:void 0,i=pt(t.key)?n.get(t.key)?.order:void 0;return(r??1/0)-(i??1/0)})},vt=e=>JSON.stringify(e.filter(e=>pt(e.key)).map(e=>({key:e.key,visible:e.visible,width:e.width,fixed:e.fixed}))),yt={class:`column-management-tab`},bt={class:`search-row`},xt={class:`resizable-control`},St={class:`top-actions-bar`},Ct={class:`stats-info`},wt={class:`quick-actions`},Tt=[`draggable`,`onDragstart`,`onDragover`,`onDrop`],Et={class:`column-info`},Dt={class:`column-controls`},Ot={class:`column-details`},kt={class:`column-actions`},At={class:`drag-controls`},jt=(0,p.defineComponent)({name:`ColumnSettings`,__name:`index`,props:{columns:{},persistKey:{}},emits:[`change`],setup(e,{emit:t}){let n=e,r=t,i=e=>{if(!n.persistKey)return ht(e);try{let t=localStorage.getItem(`c_table_cols_${n.persistKey}`);return t?_t(e,t):ht(e)}catch{return ht(e)}},o=e=>{if(n.persistKey)try{localStorage.setItem(`c_table_cols_${n.persistKey}`,vt(e))}catch{}},s=(0,p.ref)(i(n.columns)),c=(0,p.ref)(``),l=(0,p.ref)(),u=(0,p.ref)(null),d=(0,p.ref)(null),f=(0,p.ref)(!1);(0,p.onMounted)(()=>{f.value=s.value.some(e=>e.resizable===!0),n.persistKey&&r(`change`,[...s.value])}),(0,p.watch)(()=>n.columns,e=>{s.value=i(e),f.value=s.value.some(e=>e.resizable===!0)},{deep:!0});let h=(0,p.computed)(()=>{if(!c.value)return s.value;let e=c.value.toLowerCase();return s.value.filter(t=>String(t.title??``).toLowerCase().includes(e)||String(t.key??``).toLowerCase().includes(e))}),g=(0,p.computed)(()=>s.value.filter(e=>e.visible!==!1).length),_=(0,p.computed)(()=>s.value.length),v=e=>{s.value.forEach(t=>{t.key!==`_actions`&&(t.visible=e)}),w()},y=()=>v(!0),b=()=>v(!1),x=e=>{let t=h.value[e];return s.value.findIndex(e=>e.key===t.key)},S=(e,t)=>{let n=x(e);n!==-1&&(t(s.value[n]),w())},ee=(e,t)=>{S(e,e=>{e.visible=t})},C=(e,t)=>{S(e,e=>{e.fixed=t===`none`?void 0:t})},w=()=>{o(s.value),r(`change`,[...s.value])},te=()=>{s.value=ht(n.columns),w()},T=e=>{s.value.forEach(t=>{ft(t)||(t.resizable=e,e&&(t.minWidth=t.minWidth||80,t.maxWidth=t.maxWidth||500))}),w()},E=(e,t)=>{let n=x(e),r=x(t);if(n!==-1&&r!==-1){let[e]=s.value.splice(n,1);s.value.splice(r,0,e),w()}},D=(e,t)=>{if(h.value[e].key===`_actions`){t.preventDefault();return}u.value=e,t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)},ne=(e,t)=>{t.preventDefault(),!(u.value===null||h.value[e].key===`_actions`)&&(d.value=e,t.dataTransfer&&(t.dataTransfer.dropEffect=`move`))},O=e=>{u.value===null||h.value[e].key===`_actions`||(E(u.value,e),u.value=null,d.value=null)},k=()=>{u.value=null,d.value=null};return(e,t)=>((0,p.openBlock)(),(0,p.createElementBlock)(`div`,yt,[(0,p.createCommentVNode)(` 搜索框和列宽调整开关 `),(0,p.createElementVNode)(`div`,bt,[(0,p.createVNode)((0,p.unref)(m.NInput),{value:c.value,"onUpdate:value":t[0]||=e=>c.value=e,placeholder:`搜索列名...`,clearable:``,class:`search-input`},{prefix:(0,p.withCtx)(()=>[(0,p.createVNode)(a.t,{name:`mdi:magnify`})]),_:1},8,[`value`]),(0,p.createElementVNode)(`div`,xt,[(0,p.createVNode)(a.t,{name:`mdi:arrow-split-vertical`,size:`14`,title:f.value?`开启后可拖拽列边界调整宽度`:`允许调整列宽`},null,8,[`title`]),(0,p.createVNode)((0,p.unref)(m.NText),{style:{fontSize:`12px`,marginLeft:`4px`}},{default:(0,p.withCtx)(()=>[...t[2]||=[(0,p.createTextVNode)(` 列宽调整 `,-1)]]),_:1}),(0,p.createVNode)((0,p.unref)(m.NSwitch),{value:f.value,"onUpdate:value":[t[1]||=e=>f.value=e,T],size:`small`,style:{"margin-left":`6px`}},null,8,[`value`])])]),(0,p.createCommentVNode)(` 顶部操作栏:统计信息和快捷操作按钮 `),(0,p.createElementVNode)(`div`,St,[(0,p.createElementVNode)(`div`,Ct,[(0,p.createVNode)((0,p.unref)(m.NText),{depth:`3`,style:{fontSize:`13px`}},{default:(0,p.withCtx)(()=>[(0,p.createTextVNode)(` 已选 `+(0,p.toDisplayString)(g.value)+` / 总共 `+(0,p.toDisplayString)(_.value)+` 列 `,1)]),_:1})]),(0,p.createElementVNode)(`div`,wt,[(0,p.createVNode)((0,p.unref)(m.NSpace),{size:6},{default:(0,p.withCtx)(()=>[(0,p.createVNode)((0,p.unref)(m.NButton),{size:`tiny`,onClick:y},{default:(0,p.withCtx)(()=>[...t[3]||=[(0,p.createTextVNode)(` 全选 `,-1)]]),_:1}),(0,p.createVNode)((0,p.unref)(m.NButton),{size:`tiny`,onClick:b},{default:(0,p.withCtx)(()=>[...t[4]||=[(0,p.createTextVNode)(` 全不选 `,-1)]]),_:1}),(0,p.createVNode)((0,p.unref)(m.NButton),{size:`tiny`,onClick:te},{default:(0,p.withCtx)(()=>[...t[5]||=[(0,p.createTextVNode)(` 重置 `,-1)]]),_:1})]),_:1})])]),(0,p.createCommentVNode)(` 列列表 `),(0,p.createElementVNode)(`div`,{ref_key:`listRef`,ref:l,class:`column-list`},[((0,p.openBlock)(!0),(0,p.createElementBlock)(p.Fragment,null,(0,p.renderList)(h.value,(e,n)=>((0,p.openBlock)(),(0,p.createElementBlock)(`div`,{key:e.key,class:(0,p.normalizeClass)([`column-item`,{disabled:e.key===`_actions`,"fixed-left":e.fixed===`left`,"fixed-right":e.fixed===`right`}]),draggable:e.key!==`_actions`,onDragstart:e=>D(n,e),onDragover:e=>ne(n,e),onDragend:k,onDrop:e=>O(n)},[(0,p.createElementVNode)(`div`,Et,[(0,p.createElementVNode)(`div`,Dt,[(0,p.createVNode)(a.t,{name:`mdi:drag`,size:`16`,class:(0,p.normalizeClass)([`drag-handle`,{disabled:e.key===`_actions`}])},null,8,[`class`]),(0,p.createVNode)((0,p.unref)(m.NCheckbox),{checked:e.visible!==!1,disabled:e.key===`_actions`,"onUpdate:checked":e=>ee(n,e)},null,8,[`checked`,`disabled`,`onUpdate:checked`])]),(0,p.createElementVNode)(`div`,Ot,[(0,p.createVNode)((0,p.unref)(m.NSpace),{align:`center`,size:6},{default:(0,p.withCtx)(()=>[(0,p.createVNode)((0,p.unref)(m.NText),{strong:``,style:{fontSize:`13px`}},{default:(0,p.withCtx)(()=>[(0,p.createTextVNode)((0,p.toDisplayString)(e.title||e.key),1)]),_:2},1024),e.fixed===`left`?((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(m.NTag),{key:0,size:`tiny`,type:`info`},{default:(0,p.withCtx)(()=>[...t[6]||=[(0,p.createTextVNode)(` 左固定 `,-1)]]),_:1})):(0,p.createCommentVNode)(`v-if`,!0),e.fixed===`right`?((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(m.NTag),{key:1,size:`tiny`,type:`warning`},{default:(0,p.withCtx)(()=>[...t[7]||=[(0,p.createTextVNode)(` 右固定 `,-1)]]),_:1})):(0,p.createCommentVNode)(`v-if`,!0)]),_:2},1024),(0,p.createVNode)((0,p.unref)(m.NText),{depth:`3`,style:{fontSize:`11px`}},{default:(0,p.withCtx)(()=>[(0,p.createTextVNode)((0,p.toDisplayString)(e.key),1)]),_:2},1024)])]),(0,p.createElementVNode)(`div`,kt,[(0,p.createElementVNode)(`div`,At,[(0,p.createVNode)(a.t,{name:`mdi:chevron-up`,size:`14`,title:`上移`,clickable:n!==0,class:(0,p.normalizeClass)({disabled:n===0}),onClick:e=>n!==0&&E(n,n-1)},null,8,[`clickable`,`class`,`onClick`]),(0,p.createVNode)(a.t,{name:`mdi:chevron-down`,size:`14`,title:`下移`,clickable:n!==h.value.length-1,class:(0,p.normalizeClass)({disabled:n===h.value.length-1}),onClick:e=>n!==h.value.length-1&&E(n,n+1)},null,8,[`clickable`,`class`,`onClick`])]),(0,p.createVNode)((0,p.unref)(m.NDropdown),{options:(0,p.unref)(lt)(e),onSelect:e=>C(n,e)},{default:(0,p.withCtx)(()=>[(0,p.createVNode)(a.t,{name:`mdi:pin`,size:`14`,title:`固定列`,clickable:``,style:(0,p.normalizeStyle)({color:e.fixed?`var(--n-primary-color)`:void 0})},null,8,[`style`])]),_:2},1032,[`options`,`onSelect`])])],42,Tt))),128))],512)]))}});var Mt=o.t(jt,[[`__scopeId`,`data-v-92119048`]]);const Nt=[`aria-busy`],Pt={key:1,class:`table-toolbar`},Ft={class:`toolbar-left`},It={class:`toolbar-right`},Lt={key:2,class:`batch-actions-bar`},Rt={class:`batch-info`},zt={key:3,class:`table-error-state`},Bt={class:`error-content`},Vt={class:`error-message`},Ht=(0,p.defineComponent)({name:`C_Table`,inheritAttrs:!1,__name:`index`,props:{columns:{},data:{},loading:{},rowKey:{},config:{default:()=>({})},crud:{},pagination:{type:[Object,Boolean],default:void 0},remote:{type:Boolean,default:void 0},virtualScrollX:{type:Boolean},wrapperClass:{},flexHeight:{type:Boolean}},emits:[`pagination-change`,`row-delete`,`batch-action-error`,`row-key-error`,`row-add`,`row-copy`,`row-move`,`row-selection-change`,`view-detail`,`column-change`,`expand-change`,`selection-change`,`child-selection-change`,`parent-child-link-change`,`update:data`,`save`,`cancel`,`edit-error`],setup(e,{expose:t,emit:o}){let u=(0,p.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./C_Form.cjs`)).then(e=>e.C_Form)),d=e,h=o,g=(0,p.ref)(null),_=(...e)=>{h(...e);let{crud:t}=d;if(t)switch(e[0]){case`save`:return t.save?.(e[1],e[2],e[3]);case`cancel`:return t.handleCancel?.();case`pagination-change`:return t.handlePaginationChange?.(e[1],e[2]);case`row-delete`:return t.handleRowDelete?.(e[1],e[2]);case`view-detail`:return t.detail?.show(e[1])}},v=f.i(),y=e=>{let t=d.rowKey??`id`;return typeof t==`function`?t(e):e[t]},b=(0,p.computed)(()=>{let e=d.config||{};if(d.crud){let t={};if(d.crud.actions){let e=d.crud.actions.value;t.actions={...e,...d.crud.save&&typeof e.edit==`function`?{edit:void 0}:{}}}d.crud.pagination&&(t.pagination=d.crud.pagination.value??void 0),e={...t,...e}}return f.r(e,v)}),x=(0,p.computed)(()=>d.columns??d.crud?.columns.value??[]),S=(0,p.computed)(()=>ne(b.value)),ee=i.t(()=>S.value.feedback),{t:C}=r.t(()=>S.value.locale),w=(0,p.computed)(()=>O(S.value)),te=e=>e&&typeof e==`object`&&`value`in e?e.value:e,T=(0,p.computed)(()=>te(d.data)??d.crud?.data.value??[]),E=(0,p.computed)(()=>te(d.loading)??d.crud?.loading.value??!1),D=(0,p.computed)(()=>S.value.treeEnabled&&S.value.treeDefaultExpandAll?le(T.value,S.value.treeChildrenKey,y):[]),k=(0,p.computed)(()=>({...S.value,defaultExpandedKeys:[...new Set([...S.value.defaultExpandedKeys??[],...D.value])]})),A=``;(0,p.watch)(()=>b.value.validateRowKeys===!1?[]:T.value.map(e=>{try{return y(e)}catch{return}}),()=>{if(b.value.validateRowKeys===!1){A=``;return}let e=ce(T.value,y);if(e.length===0){A=``;return}let t=e.map(e=>[e.type,e.index,e.firstIndex,String(e.key)].join(`:`)).join(`|`);t!==A&&(A=t,ee.warning(C(`table.invalidRowKeys`,{count:e.length})),h(`row-key-error`,e))},{immediate:!0});let j=(0,p.computed)(()=>d.pagination!==void 0),M=(0,p.computed)(()=>d.remote??S.value.pagination?.remote??!1),N=(0,p.ref)((e=>{if(!e)return 10;if(e.defaultPageSize!==void 0)return e.defaultPageSize;let t=e.pageSizes?.[0];return typeof t==`number`?t:t?.value||10})(d.pagination)),P=(0,p.ref)(d.pagination?d.pagination.defaultPage??1:1),re=e=>{P.value=e},ae=e=>{N.value=e},F=Ie({config:k,data:()=>T.value,rowKey:y,rowKeyField:()=>typeof d.rowKey==`function`?void 0:d.rowKey??`id`,emit:_,columns:()=>x.value,renderLoading:()=>(0,p.h)(s.t,{size:32,label:C(`table.loading`)})}),oe=new Set;(0,p.watch)(D,e=>{if(!S.value.treeEnabled||!S.value.treeDefaultExpandAll){oe.clear();return}let t=e.filter(e=>!oe.has(e));e.forEach(e=>oe.add(e));let n=F.expandedKeys.value,r=t.filter(e=>!n.includes(e));r.length&&F.expandState?.handleExpandChange([...n,...r])},{immediate:!0});let se=He({actions:(0,p.computed)(()=>b.value.actions||{}),config:S,tableManager:F,rowKey:y,onRowDeleted:(e,t)=>h(`row-delete`,e,t),isDeleteFeedbackHandled:e=>d.crud?.actions?.value.delete===e,onViewDetail:e=>_(`view-detail`,e)}),ue=(0,p.computed)(()=>{let{actions:e}=b.value;return!!(S.value.showRowActions||e?.delete||e?.detail||e?.custom?.length||e?.render)}),de=Qe({rawColumns:x,data:T,getFont:(e=!1)=>{let t=U.value,n=e?t?.querySelector(`.n-data-table-th`)??t:t;return n&&getComputedStyle(n).font||`600 13px sans-serif`},config:S,get columnWidth(){return S.value.columnWidth},get columnWidthExplicit(){return b.value.display?.columnWidth!==void 0},get scrollX(){return S.value.scrollX},rowKey:y,tableManager:F,actionsRenderer:se.renderActions,editModeChecker:w,showActionsColumn:ue}),{showSettingsPanel:fe,reactiveColumns:I,computedColumns:L,computedScrollX:pe}=de,me=Ve({data:T,columns:I,remote:()=>j.value||S.value.pagination?.remote===!0}),he=Ve({data:T,columns:I,remote:M}),R=Le({data:me.processedData,config:(0,p.computed)(()=>j.value?null:S.value.pagination),emit:_}),z=(0,p.computed)(()=>{if(j.value){let e=g.value?.getCurrentPageData?.();if(e)return e;let t=he.processedData.value;if(!d.pagination||M.value)return t;let n=d.pagination.pageSize??N.value,r=Math.max(1,Math.min(d.pagination.page??P.value,Math.ceil(t.length/Math.max(1,n))));return t.slice((r-1)*n,r*n)}return R.paginatedData.value}),ge=e=>{me.setSorter(e),he.setSorter(e)},_e=e=>{me.setFilters(e),he.setFilters(e),!j.value&&!S.value.pagination?.remote&&R.resetToFirstPage()},ve=(0,p.useAttrs)(),ye=(0,p.computed)(()=>S.value.rowDrag!==void 0&&S.value.rowDrag.enabled!==!1&&!S.value.virtualScroll&&d.virtualScrollX!==!0),be=(0,p.computed)(()=>{let e=z.value,t=e.map(e=>[ie(e,y),e]),n=new Set(t.map(([e])=>e));return t.some(([e])=>e===void 0)||n.size!==e.length?new Map:new Map(t)}),xe=(e,t)=>{let n=ve.rowProps??ve[`row-props`],r=typeof n==`function`?n(e,t):void 0;if(!ye.value)return r;let i=ie(e,y);return{...r,"data-c-table-row-key":i!==void 0&&be.value.get(i)===e?i:void 0}},Se,Ce=$e({data:z,rowKey:y,config:(0,p.computed)(()=>ye.value?S.value.rowDrag:void 0),onReorder:e=>{let t=new Map(T.value.map((e,t)=>[y(e),t]));if(Se=z.value.map(e=>t.get(y(e))),j.value?M.value:S.value.pagination?.remote===!0){_(`update:data`,e);return}let n=[...T.value];Se.forEach((t,r)=>{t!==void 0&&(n[t]=e[r])}),_(`update:data`,n)},onSort:(e,t,n)=>{let r=Se?.[t]??t,i=Se?.[n]??n;Se=void 0,h(`row-move`,e,r,i)}}),B=et({allData:T,rowKey:y,config:(0,p.computed)(()=>S.value.crossPageSelection),remote:()=>j.value?M.value:S.value.pagination?.remote===!0,childrenKey:()=>S.value.treeEnabled?S.value.treeChildrenKey:void 0,rowCheckable:e=>S.value.rowCheckable?.(e)??!0,onSelectionChange:(e,t)=>h(`selection-change`,e,t,new Map)}),V=(0,p.computed)(()=>S.value.crossPageSelection?.enabled===!0),we=(0,p.computed)(()=>V.value?B.selectedCount.value:F.checkedKeys?.value?.length??0),H=c.t(),Te=async e=>{if(H.isRunning(e.key))return;let t=V.value?[...B.selectedKeys.value]:F.checkedKeys?.value??[],n=new Set(t),r=V.value?B.getSelectedRows():T.value.filter(e=>n.has(y(e)));try{if(!(await H.run(e.key,()=>e.onClick(t,r))).executed)return;S.value.batchActions?.clearSelectionOnSuccess&&Ee()}catch(t){S.value.batchActions?.onError?.(t,e.key),h(`batch-action-error`,t,e.key)}},Ee=()=>{V.value?B.clearAll():F.stateManager.selection.clear()},De=(0,p.computed)(()=>V.value?B.getPageCheckedKeys(z.value):null),Oe=e=>{if(V.value){B.handlePageSelectionChange(e,z.value);return}F.expandState?.handleSelectionChange?.(e)},ke=c.t(),Ae=async()=>{let e=S.value.exportConfig??{};await ke.run(`export`,async()=>{let t=()=>V.value?B.getSelectedRows():F.stateManager.selection.getSelected(),n=e.scope===`page`?z.value:T.value;await ct(e.requestData?await e.requestData():e.scope===`selected`?t():n,(e.scope&&e.scope!==`source`?I.value:x.value).map(e=>e.dictionary!==void 0&&!e.formatter?{...e,formatter:{type:`enum`,fn:t=>de.getDictionaryLabel(e,t)}}:e),{...e,formatterConfig:S.value.formatterConfig})})},je=(0,p.computed)(()=>S.value.summaryRender),U=(0,p.ref)(),Me=(0,p.computed)(()=>new Map(I.value.filter(e=>!e.type&&e.key!==`_actions`).map(e=>[e.key,e]))),Ne=null,W=0,G,Pe=()=>{W+=1,G?.(),G=void 0,Ne?.destroy(),Ne=null},Fe=async()=>{let e=W;if(!(!S.value.enableColumnDrag||!U.value))try{let{default:t}=await import(`sortablejs`);if(e!==W||!U.value)return;let n=U.value.querySelector(`.n-data-table-thead tr`);if(!n)return;let r=e=>e&&!e.type?Me.value.get(e.key):void 0,i=e=>[...n.children].indexOf(e.closest(`[data-col-key]`)),a=(e,t,n=L.value)=>e>=0&&t>=0&&n.slice(Math.min(e,t),Math.max(e,t)+1).every(e=>!!r(e)),o=(e,t)=>{e.parentNode===n&&(t&&t.parentNode!==n||n.insertBefore(e,t))},s;Ne=new t(n,{animation:S.value.columnDragAnimationDuration,handle:S.value.columnDragHandleClass?`.${S.value.columnDragHandleClass}`:void 0,filter:(e,t)=>!r(L.value[i(t)]),preventOnFilter:!0,ghostClass:`column-drag-ghost`,onMove:e=>a(s?.fromIndex??i(e.dragged),i(e.related),s?.rendered),onStart:e=>{s={columns:[...I.value],rendered:L.value,fromIndex:i(e.item),nextSibling:e.item.nextSibling},G=()=>{s&&o(e.item,s.nextSibling),s=void 0}},onEnd:e=>{let t=s;if(!t)return;let n=i(e.item);G?.(),G=void 0;let o=[...I.value];if(t.rendered!==L.value||o.length!==t.columns.length||o.some((e,n)=>e!==t.columns[n])||!a(t.fromIndex,n,t.rendered))return;let c=r(t.rendered[t.fromIndex]),l=r(t.rendered[n]);if(!c||!l||c===l)return;let u=o.indexOf(c),d=o.indexOf(l);o.splice(u,1),o.splice(d,0,c),de.handleColumnChange(o),h(`column-change`,o)}})}catch{}},K=(0,p.computed)(()=>({striped:S.value.striped,bordered:S.value.bordered,singleLine:S.value.singleLine,size:S.value.size,maxHeight:S.value.maxHeight,tableLayout:pe.value===void 0?void 0:`fixed`})),q=(0,p.ref)(),J=(0,p.ref)(!1),Y=(0,p.ref)({}),Re=(0,p.computed)({get:()=>F.editStates.modalEdit.isModalVisible.value,set:e=>{F.editStates.modalEdit.isModalVisible.value=e}}),ze=(0,p.computed)(()=>`edit-form-${F.editStates.modalEdit.editingRowKey.value??`new`}`),Be=(0,p.computed)(()=>qe(x.value,()=>Y.value));(0,p.watch)(()=>F.editStates.modalEdit.editingData.value,e=>{e&&Object.keys(e).length>0&&(Y.value=n.t(e))},{immediate:!0,deep:!0});let X=null;(0,p.watch)(Re,e=>{e&&X&&(clearTimeout(X),X=null),e||(X&&clearTimeout(X),X=setTimeout(()=>{Y.value={},X=null},300))});let Ue=async()=>{if(!q.value||J.value)return;let e=F.editStates.modalEdit.editingRowKey.value,t=n.t(Y.value);J.value=!0;try{try{await q.value.validate()}catch{return}if(e!==F.editStates.modalEdit.editingRowKey.value||!n.a(t,Y.value))return;await F.editStates.modalEdit.saveEdit(t)}finally{J.value=!1}},We=()=>{Y.value={},F.editStates.modalEdit.cancelEdit()},Ge=e=>{de.handleColumnChange(e),h(`column-change`,de.reactiveColumns.value)},{edit:Ke,expand:Z,selection:Q,dynamicRows:$}=F.stateManager,Je=()=>g.value?.getFilteredAndSortedData?.().length??he.processedData.value.length,Ye={startEdit:Ke.start,cancelEdit:Ke.cancel,saveEdit:()=>F.editStates.modalEdit.isModalVisible.value?Ue():Ke.save(),expandRow:Z.row,collapseRow:Z.collapse,toggleExpand:Z.toggle,retryExpand:e=>F.expandState.retryExpand(e),invalidateExpand:e=>F.expandState.invalidateExpand(e),expandAll:Z.all,collapseAll:Z.collapseAll,selectRow:e=>V.value?B.select(e):(Q.select(e),Q.isSelected(e)),unselectRow:e=>{V.value?B.unselect(e):Q.unselect(e)},selectAll:()=>{V.value?B.selectAll():Q.all()},clearSelection:Ee,isRowSelected:e=>V.value?B.isSelected(e):Q.isSelected(e),clearAllSelections:()=>{B.clearAll(),F.stateManager.clearAllSelections()},selectChildRow:F.stateManager.childSelection.select,unselectChildRow:F.stateManager.childSelection.unselect,selectAllChildren:F.stateManager.childSelection.selectAll,clearChildrenSelection:F.stateManager.childSelection.clear,getChildSelectedRows:F.stateManager.childSelection.getSelected,addRow:$.add,insertRow:$.insert,deleteRow:$.delete,copyRow:$.copy,moveRowUp:$.moveUp,moveRowDown:$.moveDown,clearRowSelection:$?.clearSelection,getSelectedRowData:$.getSelected,printTable:e=>$.print(e??U.value),downloadTableScreenshot:(e,t)=>$.download(e??U.value,t),resetToFirstPage:()=>{j.value?(P.value=1,g.value?.page(1)):R.resetToFirstPage()},getTotalPages:()=>{if(!j.value)return R.getTotalPages();let e=d.pagination;if(!e)return 1;if(M.value&&e.itemCount===void 0&&e.pageCount!==void 0)return Math.max(1,e.pageCount);let t=M.value?e.itemCount??T.value.length:Je(),n=e.pageSize??N.value;return Math.max(1,Math.ceil(t/Math.max(1,n)))},getSelectedRows:()=>V.value?B.getSelectedRows():Q.getSelected(),getEditingData:()=>Ke.getEditingData()??null,isEditing:Ke.isEditing,isExpanded:Z.isExpanded,getManager:()=>F.stateManager,exportData:Ae,crossPageSelection:{enabled:V,selectedKeys:B.selectedKeys,selectedCount:B.selectedCount,select:B.select,unselect:B.unselect,selectAll:B.selectAll,clearAll:B.clearAll,getSelectedRows:B.getSelectedRows}};return t(Ye),(0,p.onMounted)(()=>{let e=d.crud?.tableRef;e&&(e.value=Ye),U.value&&Ce.initRowDrag(U.value)}),(0,p.watch)(()=>S.value.enableColumnDrag?JSON.stringify([L.value.map(e=>[`key`in e?e.key:void 0,e.type]),S.value.columnDragHandleClass,S.value.columnDragAnimationDuration,E.value,S.value.error?.show]):void 0,async()=>{Pe();let e=W;await(0,p.nextTick)(),e===W&&await Fe()},{immediate:!0,flush:`sync`}),(0,p.watch)([()=>S.value.rowDrag,ye,()=>E.value,()=>z.value.length,()=>R.currentPage.value],async()=>{await(0,p.nextTick)(),U.value&&await Ce.initRowDrag(U.value)},{immediate:!0,deep:!0,flush:`post`}),(0,p.onBeforeUnmount)(()=>{X&&clearTimeout(X),Pe(),Ce.destroyRowDrag()}),(t,n)=>((0,p.openBlock)(),(0,p.createElementBlock)(`div`,{ref_key:`tableWrapperRef`,ref:U,class:(0,p.normalizeClass)([`c-table-wrapper`,[e.wrapperClass,{"c-table-wrapper--flex":e.flexHeight},S.value.density&&`c-table-wrapper--${S.value.density}`]]),"aria-busy":E.value},[(0,p.createCommentVNode)(` 动态行工具栏 `),S.value.dynamicRows&&(0,p.unref)(F).dynamicRowsState?((0,p.openBlock)(),(0,p.createBlock)((0,p.resolveDynamicComponent)((0,p.unref)(F).dynamicRowsState.renderToolbar(U.value)),{key:0})):(0,p.createCommentVNode)(`v-if`,!0),(0,p.createCommentVNode)(` 表格工具栏 `),S.value.showToolbar?((0,p.openBlock)(),(0,p.createElementBlock)(`div`,Pt,[(0,p.createElementVNode)(`div`,Ft,[(0,p.renderSlot)(t.$slots,`toolbar-left`,{},void 0,!0),S.value.toolbarActions.length?((0,p.openBlock)(),(0,p.createBlock)(l.t,{key:0,actions:S.value.toolbarActions,config:{...S.value.toolbarActionBarConfig}},null,8,[`actions`,`config`])):(0,p.createCommentVNode)(`v-if`,!0)]),(0,p.createElementVNode)(`div`,It,[(0,p.renderSlot)(t.$slots,`toolbar-right`,{},void 0,!0),S.value.toolbarRightActions.length?((0,p.openBlock)(),(0,p.createBlock)(l.t,{key:0,actions:S.value.toolbarRightActions,config:{align:`right`,...S.value.toolbarActionBarConfig}},null,8,[`actions`,`config`])):(0,p.createCommentVNode)(`v-if`,!0),S.value.exportConfig?((0,p.openBlock)(),(0,p.createBlock)(a.t,{key:1,name:`mdi:download`,size:`18`,title:(0,p.unref)(C)(`table.export`),clickable:``,class:`column-settings-btn`,onClick:n[0]||=e=>Ae()},null,8,[`title`])):(0,p.createCommentVNode)(`v-if`,!0),S.value.enableColumnSettings?((0,p.openBlock)(),(0,p.createBlock)(a.t,{key:2,name:`mdi:cog`,size:`18`,title:(0,p.unref)(C)(`table.settings`),clickable:``,class:`column-settings-btn`,onClick:n[1]||=e=>fe.value=!0},null,8,[`title`])):(0,p.createCommentVNode)(`v-if`,!0)])])):(0,p.createCommentVNode)(`v-if`,!0),(0,p.createCommentVNode)(` 批量操作栏 `),S.value.batchActions?.enabled&&we.value>0?((0,p.openBlock)(),(0,p.createElementBlock)(`div`,Lt,[(0,p.createElementVNode)(`span`,Rt,(0,p.toDisplayString)((0,p.unref)(C)(`table.selectedCount`,{count:we.value})),1),(0,p.createVNode)((0,p.unref)(m.NSpace),{size:8},{default:(0,p.withCtx)(()=>[((0,p.openBlock)(!0),(0,p.createElementBlock)(p.Fragment,null,(0,p.renderList)(S.value.batchActions.actions||[],e=>((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(m.NButton),{key:e.key,type:e.type||`default`,size:S.value.controlSize,loading:(0,p.unref)(H).isRunning(e.key),disabled:(0,p.unref)(H).isRunning(e.key),onClick:t=>Te(e)},(0,p.createSlots)({default:(0,p.withCtx)(()=>[(0,p.createTextVNode)(` `+(0,p.toDisplayString)(e.label),1)]),_:2},[e.icon?{name:`icon`,fn:(0,p.withCtx)(()=>[(0,p.createVNode)(a.t,{name:e.icon,size:`14`},null,8,[`name`])]),key:`0`}:void 0]),1032,[`type`,`size`,`loading`,`disabled`,`onClick`]))),128)),(0,p.createVNode)((0,p.unref)(m.NButton),{size:S.value.controlSize,onClick:Ee},{default:(0,p.withCtx)(()=>[(0,p.createTextVNode)((0,p.toDisplayString)((0,p.unref)(C)(`table.cancelSelection`)),1)]),_:1},8,[`size`])]),_:1})])):(0,p.createCommentVNode)(`v-if`,!0),(0,p.createCommentVNode)(` 错误状态 `),S.value.error?.show?((0,p.openBlock)(),(0,p.createElementBlock)(`div`,zt,[(0,p.renderSlot)(t.$slots,`error`,{error:S.value.error},()=>[(0,p.createElementVNode)(`div`,Bt,[(0,p.createVNode)(a.t,{name:`mdi:alert-circle-outline`,size:`48`}),(0,p.createElementVNode)(`p`,Vt,(0,p.toDisplayString)(S.value.error.message||(0,p.unref)(C)(`table.loadFailed`)),1),S.value.error.onRetry?((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(m.NButton),{key:0,type:`primary`,size:S.value.controlSize,onClick:S.value.error.onRetry},{default:(0,p.withCtx)(()=>[(0,p.createTextVNode)((0,p.toDisplayString)((0,p.unref)(C)(`common.retry`)),1)]),_:1},8,[`size`,`onClick`])):(0,p.createCommentVNode)(`v-if`,!0)])],!0)])):(0,p.createCommentVNode)(`v-if`,!0),(0,p.createCommentVNode)(` 表格主体 `),S.value.error?.show?(0,p.createCommentVNode)(`v-if`,!0):((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(m.NDataTable),(0,p.mergeProps)({key:4,ref_key:`tableRef`,ref:g},{...K.value,...t.$attrs},{"flex-height":e.flexHeight,columns:(0,p.unref)(L),data:j.value?T.value:(0,p.unref)(R).paginatedData.value,pagination:j.value?d.pagination:!1,remote:j.value?M.value:!0,"onUpdate:sorter":ge,"onUpdate:filters":_e,"onUpdate:pageSize":ae,"onUpdate:page":re,loading:E.value,"row-key":y,"row-props":xe,"expanded-row-keys":(0,p.unref)(F).expandedKeys.value,"checked-row-keys":De.value??(0,p.unref)(F).checkedKeys.value,"onUpdate:expandedRowKeys":(0,p.unref)(F).expandState?.handleExpandChange,"onUpdate:checkedRowKeys":Oe,"scroll-x":(0,p.unref)(pe),"virtual-scroll":S.value.virtualScroll,"virtual-scroll-x":d.virtualScrollX,"min-row-height":S.value.virtualScroll?S.value.virtualItemHeight:void 0,"max-height":S.value.virtualScroll?S.value.virtualMaxHeight:S.value.maxHeight,summary:je.value,"summary-placement":S.value.summaryPosition,"children-key":S.value.treeEnabled?S.value.treeChildrenKey:void 0,indent:S.value.treeEnabled?S.value.treeIndent:void 0,"default-expand-all":S.value.treeEnabled?S.value.treeDefaultExpandAll:void 0,style:{width:`100%`}}),(0,p.createSlots)({loading:(0,p.withCtx)(()=>[(0,p.renderSlot)(t.$slots,`loading`,{},()=>[(0,p.createVNode)((0,p.unref)(s.t),{label:(0,p.unref)(C)(`table.loading`)},null,8,[`label`])],!0)]),_:2},[t.$slots.empty?{name:`empty`,fn:(0,p.withCtx)(()=>[(0,p.renderSlot)(t.$slots,`empty`,{},void 0,!0)]),key:`0`}:void 0]),1040,[`flex-height`,`columns`,`data`,`pagination`,`remote`,`loading`,`expanded-row-keys`,`checked-row-keys`,`onUpdate:expandedRowKeys`,`scroll-x`,`virtual-scroll`,`virtual-scroll-x`,`min-row-height`,`max-height`,`summary`,`summary-placement`,`children-key`,`indent`,`default-expand-all`])),(0,p.createCommentVNode)(` 分页 `),!j.value&&(0,p.unref)(R).paginationConfig.value?((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(m.NPagination),(0,p.mergeProps)({key:5},(0,p.unref)(R).paginationConfig.value,{class:`pagination-wrapper`}),null,16)):(0,p.createCommentVNode)(`v-if`,!0),(0,p.createCommentVNode)(` 编辑弹窗 `),S.value.editMode===`modal`||S.value.editMode===`both`?((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(m.NModal),{key:6,show:Re.value,"onUpdate:show":n[3]||=e=>Re.value=e,title:S.value.modalTitle,width:S.value.modalWidth,preset:`card`,"mask-closable":!1,"close-on-esc":!1,class:`w60%`,closable:!1},{action:(0,p.withCtx)(()=>[(0,p.createVNode)((0,p.unref)(m.NSpace),{justify:`end`},{default:(0,p.withCtx)(()=>[(0,p.createVNode)((0,p.unref)(m.NButton),{size:S.value.density?S.value.controlSize:`medium`,disabled:J.value,onClick:We},{default:(0,p.withCtx)(()=>[(0,p.createTextVNode)((0,p.toDisplayString)((0,p.unref)(C)(`common.cancel`)),1)]),_:1},8,[`size`,`disabled`]),(0,p.createVNode)((0,p.unref)(m.NButton),{type:`primary`,size:S.value.density?S.value.controlSize:`medium`,disabled:!q.value||J.value,loading:J.value,onClick:Ue},{default:(0,p.withCtx)(()=>[(0,p.createTextVNode)((0,p.toDisplayString)((0,p.unref)(C)(`common.save`)),1)]),_:1},8,[`size`,`disabled`,`loading`])]),_:1})]),default:(0,p.withCtx)(()=>[Re.value&&Be.value.length?((0,p.openBlock)(),(0,p.createBlock)((0,p.unref)(u),{ref_key:`editFormRef`,ref:q,key:ze.value,modelValue:Y.value,"onUpdate:modelValue":n[2]||=e=>Y.value=e,options:Be.value,config:{layout:`grid`,density:S.value.density,grid:{cols:2,...S.value.density?{}:{xGap:16,yGap:16}},showActions:!1}},null,8,[`modelValue`,`options`,`config`])):(0,p.createCommentVNode)(`v-if`,!0)]),_:1},8,[`show`,`title`,`width`])):(0,p.createCommentVNode)(`v-if`,!0),(0,p.createCommentVNode)(` 动态行确认删除弹窗 `),S.value.dynamicRows&&(0,p.unref)(F).dynamicRowsState?((0,p.openBlock)(),(0,p.createBlock)((0,p.resolveDynamicComponent)((0,p.unref)(F).dynamicRowsState.renderConfirmModal()),{key:7})):(0,p.createCommentVNode)(`v-if`,!0),(0,p.createCommentVNode)(` 列设置抽屉 `),(0,p.createVNode)((0,p.unref)(m.NDrawer),{show:(0,p.unref)(fe),"onUpdate:show":n[4]||=e=>(0,p.isRef)(fe)?fe.value=e:null,width:420,placement:`right`,"mask-closable":!0},{default:(0,p.withCtx)(()=>[(0,p.createVNode)((0,p.unref)(m.NDrawerContent),{title:(0,p.unref)(C)(`table.columnSettings`),closable:``},{default:(0,p.withCtx)(()=>[(0,p.createVNode)(Mt,{columns:(0,p.unref)(I),"persist-key":S.value.persistKey,onChange:Ge},null,8,[`columns`,`persist-key`])]),_:1},8,[`title`])]),_:1},8,[`show`])],10,Nt))}});var Ut=o.t(Ht,[[`__scopeId`,`data-v-9f320de0`]]);Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return ct}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return He}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Ut}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return O}});