@aplus-frontend/ui 0.1.26 → 0.1.28

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 (137) hide show
  1. package/es/src/ap-download/ap-download.vue.d.ts +12 -4
  2. package/es/src/ap-download/ap-download.vue.mjs +72 -37
  3. package/es/src/ap-download/interface.d.ts +5 -12
  4. package/es/src/ap-download/style/ap-download.css +6 -0
  5. package/es/src/ap-field/select/index.vue.mjs +65 -63
  6. package/es/src/ap-table/ap-table.vue.mjs +231 -183
  7. package/es/src/ap-table/components/interface.d.ts +33 -1
  8. package/es/src/ap-table/components/setting/images/icon_carst_down.svg.mjs +4 -0
  9. package/es/src/ap-table/components/setting/images/icon_fill_right.svg.mjs +4 -0
  10. package/es/src/ap-table/components/setting/modal/index.vue.d.ts +28 -0
  11. package/es/src/ap-table/components/setting/modal/index.vue.mjs +4 -0
  12. package/es/src/ap-table/components/setting/modal/index.vue2.mjs +152 -0
  13. package/es/src/ap-table/components/setting/select-group/index.vue.d.ts +13 -0
  14. package/es/src/ap-table/components/setting/select-group/index.vue.mjs +4 -0
  15. package/es/src/ap-table/components/setting/select-group/index.vue2.mjs +96 -0
  16. package/es/src/ap-table/components/setting/sortable/index.vue.d.ts +13 -0
  17. package/es/src/ap-table/components/setting/sortable/index.vue.mjs +4 -0
  18. package/es/src/ap-table/components/setting/sortable/index.vue2.mjs +51 -0
  19. package/es/src/ap-table/components/setting/sortable/item.vue.d.ts +20 -0
  20. package/es/src/ap-table/components/setting/sortable/item.vue.mjs +4 -0
  21. package/es/src/ap-table/components/setting/sortable/item.vue2.mjs +140 -0
  22. package/es/src/ap-table/components/setting/sorter/context.d.ts +11 -0
  23. package/es/src/ap-table/components/setting/sorter/context.mjs +20 -0
  24. package/es/src/ap-table/components/setting/sorter/index.vue.d.ts +18 -0
  25. package/es/src/ap-table/components/setting/sorter/index.vue.mjs +4 -0
  26. package/es/src/ap-table/components/setting/sorter/index.vue2.mjs +199 -0
  27. package/es/src/ap-table/components/setting/tree-select/index.vue.d.ts +13 -0
  28. package/es/src/ap-table/components/setting/tree-select/index.vue.mjs +4 -0
  29. package/es/src/ap-table/components/setting/tree-select/index.vue2.mjs +75 -0
  30. package/es/src/ap-table/components/setting/utils.d.ts +17 -0
  31. package/es/src/ap-table/components/setting/utils.mjs +48 -0
  32. package/es/src/ap-table/components/style/setting/modal.css +39 -0
  33. package/es/src/ap-table/components/style/setting/select-group.css +7 -0
  34. package/es/src/ap-table/components/style/setting/sortable-item-meta.css +50 -0
  35. package/es/src/ap-table/components/style/setting/sortable-item.css +3 -0
  36. package/es/src/ap-table/components/style/setting/sorter.css +26 -0
  37. package/es/src/ap-table/constants.d.ts +31 -8
  38. package/es/src/ap-table/constants.mjs +41 -53
  39. package/es/src/ap-table/context.d.ts +31 -0
  40. package/es/src/ap-table/context.mjs +20 -0
  41. package/es/src/ap-table/hooks/use-table-column-state.d.ts +18 -0
  42. package/es/src/ap-table/hooks/use-table-column-state.mjs +46 -0
  43. package/es/src/ap-table/hooks/use-table-content-height.mjs +19 -19
  44. package/es/src/ap-table/hooks/use-table-paging.d.ts +1 -0
  45. package/es/src/ap-table/hooks/use-table-paging.mjs +87 -82
  46. package/es/src/ap-table/interface.d.ts +51 -1
  47. package/es/src/ap-table/style/ap-table.css +29 -1
  48. package/es/src/ap-table/utils.d.ts +1 -1
  49. package/es/src/ap-table/utils.mjs +82 -82
  50. package/es/src/business/ap-attachment/ApAttachment.d.ts +1 -1
  51. package/es/src/business/ap-attachment/ApAttachment.mjs +89 -66
  52. package/es/src/business/ap-attachment/interface.d.ts +1 -1
  53. package/es/src/business/ap-attachment/style.css +6 -0
  54. package/es/src/business/ap-input-radio/interface.d.ts +1 -1
  55. package/es/src/business/hooks/usePageListApTable.d.ts +2 -2
  56. package/es/src/business/index.d.ts +1 -3
  57. package/es/src/editable-table/interface.d.ts +1 -1
  58. package/es/src/locale/lang/en.mjs +14 -0
  59. package/es/src/locale/lang/zh-cn.mjs +14 -0
  60. package/es/src/theme/ap-attachment/ap-attachment.css +6 -0
  61. package/es/src/theme/ap-download/ap-download.css +6 -0
  62. package/es/src/theme/ap-table/ap-table.css +29 -1
  63. package/es/src/theme/ap-table/setting/modal.css +39 -0
  64. package/es/src/theme/ap-table/setting/select-group.css +7 -0
  65. package/es/src/theme/ap-table/setting/sortable-item-meta.css +50 -0
  66. package/es/src/theme/ap-table/setting/sortable-item.css +3 -0
  67. package/es/src/theme/ap-table/setting/sorter.css +26 -0
  68. package/es/src/theme/css-var/index.mjs +22 -12
  69. package/lib/src/ap-download/ap-download.vue.d.ts +12 -4
  70. package/lib/src/ap-download/ap-download.vue.js +1 -1
  71. package/lib/src/ap-download/interface.d.ts +5 -12
  72. package/lib/src/ap-download/style/ap-download.css +6 -0
  73. package/lib/src/ap-field/select/index.vue.js +1 -1
  74. package/lib/src/ap-table/ap-table.vue.js +1 -1
  75. package/lib/src/ap-table/components/interface.d.ts +33 -1
  76. package/lib/src/ap-table/components/setting/images/icon_carst_down.svg.js +1 -0
  77. package/lib/src/ap-table/components/setting/images/icon_fill_right.svg.js +1 -0
  78. package/lib/src/ap-table/components/setting/modal/index.vue.d.ts +28 -0
  79. package/lib/src/ap-table/components/setting/modal/index.vue.js +1 -0
  80. package/lib/src/ap-table/components/setting/modal/index.vue2.js +1 -0
  81. package/lib/src/ap-table/components/setting/select-group/index.vue.d.ts +13 -0
  82. package/lib/src/ap-table/components/setting/select-group/index.vue.js +1 -0
  83. package/lib/src/ap-table/components/setting/select-group/index.vue2.js +1 -0
  84. package/lib/src/ap-table/components/setting/sortable/index.vue.d.ts +13 -0
  85. package/lib/src/ap-table/components/setting/sortable/index.vue.js +1 -0
  86. package/lib/src/ap-table/components/setting/sortable/index.vue2.js +1 -0
  87. package/lib/src/ap-table/components/setting/sortable/item.vue.d.ts +20 -0
  88. package/lib/src/ap-table/components/setting/sortable/item.vue.js +1 -0
  89. package/lib/src/ap-table/components/setting/sortable/item.vue2.js +1 -0
  90. package/lib/src/ap-table/components/setting/sorter/context.d.ts +11 -0
  91. package/lib/src/ap-table/components/setting/sorter/context.js +1 -0
  92. package/lib/src/ap-table/components/setting/sorter/index.vue.d.ts +18 -0
  93. package/lib/src/ap-table/components/setting/sorter/index.vue.js +1 -0
  94. package/lib/src/ap-table/components/setting/sorter/index.vue2.js +1 -0
  95. package/lib/src/ap-table/components/setting/tree-select/index.vue.d.ts +13 -0
  96. package/lib/src/ap-table/components/setting/tree-select/index.vue.js +1 -0
  97. package/lib/src/ap-table/components/setting/tree-select/index.vue2.js +1 -0
  98. package/lib/src/ap-table/components/setting/utils.d.ts +17 -0
  99. package/lib/src/ap-table/components/setting/utils.js +1 -0
  100. package/lib/src/ap-table/components/style/setting/modal.css +39 -0
  101. package/lib/src/ap-table/components/style/setting/select-group.css +7 -0
  102. package/lib/src/ap-table/components/style/setting/sortable-item-meta.css +50 -0
  103. package/lib/src/ap-table/components/style/setting/sortable-item.css +3 -0
  104. package/lib/src/ap-table/components/style/setting/sorter.css +26 -0
  105. package/lib/src/ap-table/constants.d.ts +31 -8
  106. package/lib/src/ap-table/constants.js +1 -1
  107. package/lib/src/ap-table/context.d.ts +31 -0
  108. package/lib/src/ap-table/context.js +1 -0
  109. package/lib/src/ap-table/hooks/use-table-column-state.d.ts +18 -0
  110. package/lib/src/ap-table/hooks/use-table-column-state.js +1 -0
  111. package/lib/src/ap-table/hooks/use-table-content-height.js +1 -1
  112. package/lib/src/ap-table/hooks/use-table-paging.d.ts +1 -0
  113. package/lib/src/ap-table/hooks/use-table-paging.js +1 -1
  114. package/lib/src/ap-table/interface.d.ts +51 -1
  115. package/lib/src/ap-table/style/ap-table.css +29 -1
  116. package/lib/src/ap-table/utils.d.ts +1 -1
  117. package/lib/src/ap-table/utils.js +1 -1
  118. package/lib/src/business/ap-attachment/ApAttachment.d.ts +1 -1
  119. package/lib/src/business/ap-attachment/ApAttachment.js +1 -1
  120. package/lib/src/business/ap-attachment/interface.d.ts +1 -1
  121. package/lib/src/business/ap-attachment/style.css +6 -0
  122. package/lib/src/business/ap-input-radio/interface.d.ts +1 -1
  123. package/lib/src/business/hooks/usePageListApTable.d.ts +2 -2
  124. package/lib/src/business/index.d.ts +1 -3
  125. package/lib/src/editable-table/interface.d.ts +1 -1
  126. package/lib/src/locale/lang/en.js +1 -1
  127. package/lib/src/locale/lang/zh-cn.js +1 -1
  128. package/lib/src/theme/ap-attachment/ap-attachment.css +6 -0
  129. package/lib/src/theme/ap-download/ap-download.css +6 -0
  130. package/lib/src/theme/ap-table/ap-table.css +29 -1
  131. package/lib/src/theme/ap-table/setting/modal.css +39 -0
  132. package/lib/src/theme/ap-table/setting/select-group.css +7 -0
  133. package/lib/src/theme/ap-table/setting/sortable-item-meta.css +50 -0
  134. package/lib/src/theme/ap-table/setting/sortable-item.css +3 -0
  135. package/lib/src/theme/ap-table/setting/sorter.css +26 -0
  136. package/lib/src/theme/css-var/index.js +1 -1
  137. package/package.json +3 -2
@@ -0,0 +1,18 @@
1
+ import { ApTableSettingSorterProps } from '../../interface';
2
+ import { ApColumnState } from '../../../interface';
3
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
4
+ declare const _default: DefineComponent<__VLS_TypePropsToOption<ApTableSettingSorterProps>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
5
+ "update:value": (value: ApColumnState[]) => void;
6
+ }, string, PublicProps, Readonly< ExtractPropTypes<__VLS_TypePropsToOption<ApTableSettingSorterProps>>> & {
7
+ "onUpdate:value"?: ((value: ApColumnState[]) => any) | undefined;
8
+ }, {}, {}>;
9
+ export default _default;
10
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
11
+ type __VLS_TypePropsToOption<T> = {
12
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
13
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
14
+ } : {
15
+ type: PropType<T[K]>;
16
+ required: true;
17
+ };
18
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index.vue2.js");exports.default=e.default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),h=require("ant-design-vue"),k=require("vuedraggable");require("../sortable/index.vue.js");require("../../../../config-provider/index.js");require("../../style/setting/sorter.css");const q=require("./context.js"),E=require("../../../../config-provider/hooks/use-namespace.js"),z=require("../../../../config-provider/hooks/use-locale.js"),C=require("../sortable/index.vue2.js"),D={key:0},M={key:1},R={key:2},F=e.defineComponent({__name:"index",props:{value:{},onReset:{type:Function}},emits:["update:value"],setup(y,{emit:_}){const r=e.ref([]),u=e.ref([]),i=e.ref([]),{b:s}=E.useNamespace("column-setting-sorter"),{t:f}=z.useLocale(),d=y,x=_;q.useProvideSorterMethods({fixedToLeft:V,fixedToRight:B,unFixed:w});function N(t,n){const o=n[0].findIndex(a=>a.key===t.key);if(~o)n[0].splice(o,1);else{const a=n[1].findIndex(l=>l.key===t.key);n[1].splice(a,1)}}function m(t,n){const o=[...e.unref(r.value)],a=[...e.unref(i.value)],l=[...e.unref(u.value)],v={left:{target:o,search:[l,a]},right:{target:a,search:[l,o]},normal:{target:l,search:[o,a]}}[n];return n==="right"?v.target.unshift(t):v.target.push(t),N(t,v.search),[...o,...l,...a]}function V(t){const n=m(t,"left");c(n)}function B(t){const n=m(t,"right");c(n)}function w(t){const n=m(t,"normal");c(n)}function p(t){var n;return(n=t.children)!=null&&n.length?t.children.some(o=>o.show):t.show}function g(t,n){t.value?t.value.push(n):t.value=[n]}const T=e.computed(()=>{let t=0;function n(o){var a;for(const l of o)(a=l.children)!=null&&a.length?n(l.children):l.show&&(t+=1)}return n(d.value),t});function L(t){c([...t,...e.unref(u),...e.unref(i)])}function S(t){c([...e.unref(r),...t,...e.unref(i)])}function b(t){c([...e.unref(r),...e.unref(u),...t])}e.watch(()=>d.value,t=>{if(t){r.value=[],u.value=[],i.value=[];for(const n of t)n.fixed==="left"?g(r,n):n.fixed==="right"?g(i,n):g(u,n)}},{immediate:!0});function c(t){x("update:value",t)}return(t,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(s)())},[e.createVNode(e.unref(h.Flex),{class:e.normalizeClass(e.unref(s)("header")),align:"center",justify:"space-between"},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass(e.unref(s)("header-title"))},e.toDisplayString(e.unref(f)("ap.apTable.setting.selectCount",{count:T.value})),3),e.createVNode(e.unref(h.Button),{type:"link",size:"small",style:{padding:"0"},onClick:d.onReset},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("ap.apTable.setting.reset")),1)]),_:1},8,["onClick"])]),_:1},8,["class"]),e.createVNode(e.unref(h.Divider),{style:{margin:"0px"}}),e.createElementVNode("div",{class:e.normalizeClass(e.unref(s)("content"))},[r.value.length?(e.openBlock(),e.createElementBlock("div",D,[e.createElementVNode("span",{class:e.normalizeClass(e.unref(s)("section-title"))},e.toDisplayString(e.unref(f)("ap.apTable.setting.fixToLeft")),3),e.createVNode(e.unref(k),{"model-value":r.value,"onUpdate:modelValue":L,"item-key":"key"},{item:e.withCtx(({element:o})=>[p(o)?(e.openBlock(),e.createBlock(C.default,{key:0,value:o},null,8,["value"])):e.createCommentVNode("",!0)]),_:1},8,["model-value"])])):e.createCommentVNode("",!0),u.value.length?(e.openBlock(),e.createElementBlock("div",M,[e.createElementVNode("span",{class:e.normalizeClass(e.unref(s)("section-title"))},e.toDisplayString(e.unref(f)("ap.apTable.setting.unFixed")),3),e.createVNode(e.unref(k),{"model-value":u.value,"onUpdate:modelValue":S,"item-key":"key"},{item:e.withCtx(({element:o})=>[p(o)?(e.openBlock(),e.createBlock(C.default,{key:0,value:o},null,8,["value"])):e.createCommentVNode("",!0)]),_:1},8,["model-value"])])):e.createCommentVNode("",!0),i.value.length?(e.openBlock(),e.createElementBlock("div",R,[e.createElementVNode("span",{class:e.normalizeClass(e.unref(s)("section-title"))},e.toDisplayString(e.unref(f)("ap.apTable.setting.fixToRight")),3),e.createVNode(e.unref(k),{"model-value":i.value,"onUpdate:modelValue":b,"item-key":"key"},{item:e.withCtx(({element:o})=>[p(o)?(e.openBlock(),e.createBlock(C.default,{key:0,value:o},null,8,["value"])):e.createCommentVNode("",!0)]),_:1},8,["model-value"])])):e.createCommentVNode("",!0)],2)],2))}});exports.default=F;
@@ -0,0 +1,13 @@
1
+ import { ApTableSettingTreeSelectProps } from '../../interface';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
3
+ declare const _default: DefineComponent<__VLS_TypePropsToOption<ApTableSettingTreeSelectProps>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<__VLS_TypePropsToOption<ApTableSettingTreeSelectProps>>>, {}, {}>;
4
+ export default _default;
5
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
6
+ type __VLS_TypePropsToOption<T> = {
7
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
8
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
9
+ } : {
10
+ type: PropType<T[K]>;
11
+ required: true;
12
+ };
13
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index.vue2.js");exports.default=e.default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=require("ant-design-vue");require("../select-group/index.vue.js");const _=require("../../../context.js"),g=require("../utils.js"),B=require("../select-group/index.vue2.js"),v=e.defineComponent({__name:"index",props:{value:{}},setup(d){const u=d,{columnsBackup:k}=_.useInjectApTable(),f=e.computed(()=>[...e.unref(k)||[]].sort((t,n)=>{var r,c,i,a;return(r=t.children)!=null&&r.length&&!((c=n.children)!=null&&c.length)?1:!((i=t.children)!=null&&i.length)&&((a=n.children)!=null&&a.length)?-1:0}));function s(o){return u.value.find(t=>t.key===o.key)}function p(o){const t=s(o);return{checked:t==null?void 0:t.show,disabled:t==null?void 0:t.disabled}}function h(o,t){const n=u.value,r=n==null?void 0:n.find(c=>c.key===o);r&&(r.show=t)}return(o,t)=>(e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.unref(l.Row),{gutter:[24,16]},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,n=>{var r;return e.openBlock(),e.createElementBlock(e.Fragment,{key:n.key},[(r=n.children)!=null&&r.length?(e.openBlock(),e.createBlock(e.unref(l.Col),{key:1,span:24},{default:e.withCtx(()=>[e.createVNode(B.default,{value:s(n)},null,8,["value"])]),_:2},1024)):(e.openBlock(),e.createBlock(e.unref(l.Col),{key:0,span:8},{default:e.withCtx(()=>[e.createVNode(e.unref(l.Checkbox),e.mergeProps({ref_for:!0},p(n),{"onUpdate:checked":c=>h(n.key,c)}),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(g.cloneLabelNode)(n.title))))]),_:2},1040,["onUpdate:checked"])]),_:2},1024))],64)}),128))]),_:1})]))}});exports.default=v;
@@ -0,0 +1,17 @@
1
+ import { ColumnsType } from 'ant-design-vue/es/table';
2
+ import { ApColumnState } from '../../interface';
3
+ /**
4
+ * 根据列状态重新生成表格列配置
5
+ * @param columns 表格列数组
6
+ * @param columnStateList 表格列状态数组
7
+ * @returns
8
+ */
9
+ export default function generateColumnsByColumnState(columns: ColumnsType, columnStateList: ApColumnState[]): ColumnsType;
10
+ export declare function customCloneColumnStates<T extends ApColumnState | ApColumnState[]>(columnStates: T): T;
11
+ /**
12
+ * 克隆列设置用的label,并为其添加额外的props
13
+ * @param node
14
+ * @param overrideProps
15
+ * @returns
16
+ */
17
+ export declare function cloneLabelNode(node: any): any;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("lodash-unified"),s=require("vue");function r(e,l){var u;const n=[];for(const t of l){const i=e.find(o=>o.key===t.key);if((u=t.children)!=null&&u.length){const o=r(i.children,t.children);o.length&&n.push({...i,fixed:t.fixed,children:o})}else{if(!t.show)continue;n.push({...i,fixed:t.fixed})}}return n}function f(e){return c.cloneDeepWith(e,(l,n)=>{if(n==="label")return l})}const a={display:"inline","-webkit-line-clamp":"unset","-webkit-box-orient":"unset",overflow:"unset","text-overflow":"unset","white-space":"unset",wordBreak:"unset"};function d(e){return s.isVNode(e)?s.cloneVNode(e,{style:a}):e}exports.cloneLabelNode=d;exports.customCloneColumnStates=f;exports.default=r;
@@ -0,0 +1,39 @@
1
+ .aplus-ap-column-setting-wrapper {
2
+ display: flex;
3
+ flex-direction: row;
4
+ flex-wrap: nowrap;
5
+ height: 100%;
6
+ }
7
+ .aplus-ap-column-setting-left {
8
+ flex: 1;
9
+ flex-shrink: 1;
10
+ min-width: 0;
11
+ padding-inline: 20px;
12
+ display: flex;
13
+ flex-direction: column;
14
+ }
15
+ .aplus-ap-column-setting-left__header {
16
+ display: flex;
17
+ flex-direction: row;
18
+ flex-wrap: nowrap;
19
+ justify-content: space-between;
20
+ align-items: center;
21
+ padding: 12px;
22
+ }
23
+ .aplus-ap-column-setting-left__content {
24
+ flex: 1;
25
+ padding-inline: 12px;
26
+ padding-block: 16px;
27
+ overflow-y: auto;
28
+ }
29
+ .aplus-ap-column-setting-left__content .ant-checkbox-wrapper {
30
+ max-width: 100%;
31
+ }
32
+ .aplus-ap-column-setting-left__content .ant-checkbox-wrapper > span:last-child {
33
+ white-space: nowrap;
34
+ overflow: hidden;
35
+ text-overflow: ellipsis;
36
+ }
37
+ .aplus-ap-column-setting-right {
38
+ width: 240px;
39
+ }
@@ -0,0 +1,7 @@
1
+ .aplus-select-group-header {
2
+ background-color: #F2F6F9;
3
+ padding: 4px 12px;
4
+ border-radius: 4px;
5
+ margin-bottom: 16px;
6
+ margin-inline: -12px;
7
+ }
@@ -0,0 +1,50 @@
1
+ .aplus-sortable-item-meta {
2
+ padding: 6px 8px;
3
+ margin-top: 4px;
4
+ display: flex;
5
+ flex-direction: row;
6
+ flex-wrap: nowrap;
7
+ justify-content: space-between;
8
+ align-items: center;
9
+ }
10
+ .aplus-sortable-item-meta:hover {
11
+ background-color: #F1F7FF;
12
+ border-radius: 2px;
13
+ cursor: pointer;
14
+ }
15
+ .aplus-sortable-item-meta:hover .aplus-sortable-item-meta-right {
16
+ display: block;
17
+ }
18
+ .aplus-sortable-item-meta:hover .aplus-sortable-item-meta-left__holder {
19
+ color: var(--basic-color-primary, #0070ff) !important;
20
+ }
21
+ .aplus-sortable-item-meta-left {
22
+ flex: 1;
23
+ display: inline-flex;
24
+ align-items: center;
25
+ min-width: 0;
26
+ }
27
+ .aplus-sortable-item-meta-left__indicator {
28
+ display: inline-flex;
29
+ justify-content: center;
30
+ align-items: center;
31
+ width: 16px;
32
+ height: 16px;
33
+ margin-right: 4px;
34
+ flex-shrink: 0;
35
+ }
36
+ .aplus-sortable-item-meta-left__label-wrapper {
37
+ white-space: nowrap;
38
+ overflow: hidden;
39
+ text-overflow: ellipsis;
40
+ }
41
+ .aplus-sortable-item-meta-right {
42
+ display: none;
43
+ padding-left: 12px;
44
+ }
45
+ .aplus-sortable-item-meta .is-level2 {
46
+ margin-left: 16px;
47
+ }
48
+ .aplus-sortable-item-meta-action-icon:hover {
49
+ color: var(--basic-color-primary, #0070ff);
50
+ }
@@ -0,0 +1,3 @@
1
+ .aplus-sortable-item .is-hidden {
2
+ display: none;
3
+ }
@@ -0,0 +1,26 @@
1
+ .aplus-column-setting-sorter {
2
+ display: flex;
3
+ flex-direction: column;
4
+ height: 100%;
5
+ }
6
+ .aplus-column-setting-sorter-section-title {
7
+ font-size: 12px;
8
+ line-height: 20px;
9
+ color: #8896b0;
10
+ padding: 2px 8px;
11
+ margin: 4px;
12
+ }
13
+ .aplus-column-setting-sorter-header {
14
+ padding: 16px 20px;
15
+ }
16
+ .aplus-column-setting-sorter-header-title {
17
+ font-size: 14px;
18
+ line-height: 22px;
19
+ font-weight: bold;
20
+ color: #182948;
21
+ }
22
+ .aplus-column-setting-sorter-content {
23
+ flex: 1;
24
+ overflow-y: auto;
25
+ padding: 8px 12px 12px 8px;
26
+ }
@@ -1,6 +1,6 @@
1
1
  import { ApFieldPassword } from '../ap-field';
2
2
  import { ApTableValueFields, ValueEnum } from './interface';
3
- import { CSSProperties, CreateComponentPublicInstance, ExtractPropTypes, PropType, HTMLAttributes, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ComponentOptionsBase, VNode, RendererNode, RendererElement, DefineComponent, PublicProps, ComputedRef } from 'vue';
3
+ import { CreateComponentPublicInstance, ExtractPropTypes, PropType, HTMLAttributes, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ComponentOptionsBase, VNode, RendererNode, RendererElement, CSSProperties, DefineComponent, PublicProps, ComputedRef } from 'vue';
4
4
  import { ColSize } from 'ant-design-vue/es/grid';
5
5
  import { ApFieldDateProps, ApFormItemSlots, ApFieldDateRangeProps, ApFieldNumberProps, ApFieldRadioProps, ApFieldSelectProps, ApFieldSwitchProps, ApFieldTextProps, ApFormItemTextPassword, ApFieldTextAreaProps, ApFieldCheckboxProps, ApFieldTextPasswordProps, FieldMode, GroupActionTypes } from '..';
6
6
  import { RuleObject } from 'ant-design-vue/es/form';
@@ -5242,7 +5242,11 @@ export declare const apTableFormItemMap: {
5242
5242
  focus: (options?: InputFocusOptions) => void;
5243
5243
  blur: () => void;
5244
5244
  input: any;
5245
- setSelectionRange: (start: number, end: number, direction?: "forward" | "backward" | "none") => void;
5245
+ setSelectionRange: (start: number, end: number, direction
5246
+ /**
5247
+ * 不需要渲染到Form表单的valueType字段
5248
+ */
5249
+ ?: "forward" | "backward" | "none") => void;
5246
5250
  select: () => void;
5247
5251
  }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{
5248
5252
  label: {
@@ -5653,7 +5657,11 @@ export declare const apTableFormItemMap: {
5653
5657
  focus: (options?: InputFocusOptions) => void;
5654
5658
  blur: () => void;
5655
5659
  input: any;
5656
- setSelectionRange: (start: number, end: number, direction?: "forward" | "backward" | "none") => void;
5660
+ setSelectionRange: (start: number, end: number, direction
5661
+ /**
5662
+ * 不需要渲染到Form表单的valueType字段
5663
+ */
5664
+ ?: "forward" | "backward" | "none") => void;
5657
5665
  select: () => void;
5658
5666
  }, {}, {}, {}, {
5659
5667
  disabled: boolean;
@@ -5866,7 +5874,11 @@ export declare const apTableFormItemMap: {
5866
5874
  focus: (options?: InputFocusOptions) => void;
5867
5875
  blur: () => void;
5868
5876
  input: any;
5869
- setSelectionRange: (start: number, end: number, direction?: "forward" | "backward" | "none") => void;
5877
+ setSelectionRange: (start: number, end: number, direction
5878
+ /**
5879
+ * 不需要渲染到Form表单的valueType字段
5880
+ */
5881
+ ?: "forward" | "backward" | "none") => void;
5870
5882
  select: () => void;
5871
5883
  }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {
5872
5884
  disabled: boolean;
@@ -13919,7 +13931,11 @@ export declare const apTableRenderItemMap: {
13919
13931
  focus: (options?: InputFocusOptions) => void;
13920
13932
  blur: () => void;
13921
13933
  input: any;
13922
- setSelectionRange: (start: number, end: number, direction?: "forward" | "backward" | "none") => void;
13934
+ setSelectionRange: (start: number, end: number, direction
13935
+ /**
13936
+ * 不需要渲染到Form表单的valueType字段
13937
+ */
13938
+ ?: "forward" | "backward" | "none") => void;
13923
13939
  select: () => void;
13924
13940
  }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
13925
13941
  "update:value": (...args: any[]) => void;
@@ -14229,7 +14245,11 @@ export declare const apTableRenderItemMap: {
14229
14245
  focus: (options?: InputFocusOptions) => void;
14230
14246
  blur: () => void;
14231
14247
  input: any;
14232
- setSelectionRange: (start: number, end: number, direction?: "forward" | "backward" | "none") => void;
14248
+ setSelectionRange: (start: number, end: number, direction
14249
+ /**
14250
+ * 不需要渲染到Form表单的valueType字段
14251
+ */
14252
+ ?: "forward" | "backward" | "none") => void;
14233
14253
  select: () => void;
14234
14254
  }, {}, {}, {}, {
14235
14255
  type: "number" | "reset" | "submit" | "button" | "search" | "time" | "month" | "date" | "week" | "hidden" | "checkbox" | "radio" | "color" | "text" | "range" | "image" | "tel" | "url" | "email" | "datetime-local" | "file" | "password";
@@ -14390,7 +14410,11 @@ export declare const apTableRenderItemMap: {
14390
14410
  focus: (options?: InputFocusOptions) => void;
14391
14411
  blur: () => void;
14392
14412
  input: any;
14393
- setSelectionRange: (start: number, end: number, direction?: "forward" | "backward" | "none") => void;
14413
+ setSelectionRange: (start: number, end: number, direction
14414
+ /**
14415
+ * 不需要渲染到Form表单的valueType字段
14416
+ */
14417
+ ?: "forward" | "backward" | "none") => void;
14394
14418
  select: () => void;
14395
14419
  }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
14396
14420
  "update:value": (...args: any[]) => void;
@@ -15632,4 +15656,3 @@ export declare const apTableRenderItemMap: {
15632
15656
  * 不需要渲染到Form表单的valueType字段
15633
15657
  */
15634
15658
  export declare const noRenderAsFormItemValueList: (keyof ApTableValueFields)[];
15635
- export declare const ellipsisTitleStyle: CSSProperties;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../ap-action/index.js");require("../ap-field/index.js");require("../ap-form/index.js");require("./components/index/index.vue.js");require("./components/status/index.vue.js");const t=require("../ap-form/items/date/index.vue.js"),_=require("../ap-form/items/date-range/index.vue.js"),u=require("../ap-form/items/number/index.vue.js"),r=require("../ap-form/items/radio/index.vue.js"),i=require("../ap-form/items/select/index.vue.js"),s=require("../ap-form/items/switch/index.vue.js"),e=require("../ap-form/items/text/index.js"),n=require("../ap-form/items/text-area/index.vue.js"),a=require("../ap-form/items/checkbox/index.vue.js"),p=require("../ap-field/date/index.vue.js"),l=require("../ap-field/date-range/index.vue.js"),d=require("../ap-field/number/index.vue.js"),c=require("../ap-field/radio/index.vue.js"),o=require("../ap-field/select/index.vue.js"),v=require("../ap-field/switch/index.vue.js"),x=require("../ap-field/text/index.js"),q=require("../ap-field/text-area/index.vue.js"),g=require("../ap-field/checkbox/index.vue.js"),f=require("../ap-action/group/index.vue.js"),y=require("./components/index/index.vue2.js"),m=require("./components/status/index.vue2.js"),$=require("../ap-field/text/password.vue.js"),b={date:t.default,dateRange:_.default,number:u.default,radio:r.default,select:i.default,switch:s.default,text:e.ApFormItemText,textArea:n.default,checkbox:a.default,password:e.ApFormItemText.Password},w={date:p.default,dateRange:l.default,number:d.default,radio:c.default,select:o.default,switch:v.default,text:x.ApFieldText,textArea:q.default,checkbox:g.default,action:f.default,index:y.default,status:m.default,password:$.default},T=["action","index"],h={display:"-webkit-inline-box","-webkit-line-clamp":2,"-webkit-box-orient":"vertical",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",maxWidth:"100%",verticalAlign:"middle",wordBreak:"break-all",flex:1};exports.apTableFormItemMap=b;exports.apTableRenderItemMap=w;exports.ellipsisTitleStyle=h;exports.noRenderAsFormItemValueList=T;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../ap-action/index.js");require("../ap-field/index.js");require("../ap-form/index.js");require("./components/index/index.vue.js");require("./components/status/index.vue.js");const t=require("../ap-form/items/date/index.vue.js"),_=require("../ap-form/items/date-range/index.vue.js"),u=require("../ap-form/items/number/index.vue.js"),r=require("../ap-form/items/radio/index.vue.js"),s=require("../ap-form/items/select/index.vue.js"),i=require("../ap-form/items/switch/index.vue.js"),e=require("../ap-form/items/text/index.js"),n=require("../ap-form/items/text-area/index.vue.js"),p=require("../ap-form/items/checkbox/index.vue.js"),a=require("../ap-field/date/index.vue.js"),d=require("../ap-field/date-range/index.vue.js"),c=require("../ap-field/number/index.vue.js"),l=require("../ap-field/radio/index.vue.js"),o=require("../ap-field/select/index.vue.js"),v=require("../ap-field/switch/index.vue.js"),x=require("../ap-field/text/index.js"),q=require("../ap-field/text-area/index.vue.js"),g=require("../ap-field/checkbox/index.vue.js"),f=require("../ap-action/group/index.vue.js"),y=require("./components/index/index.vue2.js"),$=require("./components/status/index.vue2.js"),m=require("../ap-field/text/password.vue.js"),b={date:t.default,dateRange:_.default,number:u.default,radio:r.default,select:s.default,switch:i.default,text:e.ApFormItemText,textArea:n.default,checkbox:p.default,password:e.ApFormItemText.Password},I={date:a.default,dateRange:d.default,number:c.default,radio:l.default,select:o.default,switch:v.default,text:x.ApFieldText,textArea:q.default,checkbox:g.default,action:f.default,index:y.default,status:$.default,password:m.default},T=["action","index"];exports.apTableFormItemMap=b;exports.apTableRenderItemMap=I;exports.noRenderAsFormItemValueList=T;
@@ -0,0 +1,31 @@
1
+ import { ColumnType } from 'ant-design-vue/es/table';
2
+ import { ComputedRef, InjectionKey } from 'vue';
3
+ import { ApTableProps } from './interface';
4
+ type TableSize = ApTableProps['size'];
5
+ type ApTableContextProps<RecordType> = {
6
+ /**
7
+ * 表格列配置
8
+ */
9
+ columns?: ComputedRef<ColumnType<RecordType>[]>;
10
+ /**
11
+ * 表格列配置备份(只有在props变更后才会变更)
12
+ */
13
+ columnsBackup?: ComputedRef<ColumnType<RecordType>[]>;
14
+ /**
15
+ * 更新数据源的方法
16
+ * @param name
17
+ * @param value
18
+ * @param triggerChange 是否触发外部的`onValuesChange`函数
19
+ * @returns
20
+ */
21
+ updateColumns?: (nextColumns: ColumnType<RecordType>[]) => void;
22
+ /**
23
+ * ApForm内部实例
24
+ */
25
+ size?: ComputedRef<TableSize>;
26
+ updateSize?: (nextSize: TableSize) => void;
27
+ };
28
+ export declare const ApTableContextKey: InjectionKey<ApTableContextProps<any>>;
29
+ export declare function useProvideApTable<ModelType>(state: ApTableContextProps<ModelType>): void;
30
+ export declare function useInjectApTable(): ApTableContextProps<any>;
31
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),t=Symbol("apTableContextKey");function u(o){e.provide(t,o)}function n(){return e.inject(t,{columns:e.computed(()=>[]),updateColumns:()=>{},size:e.computed(()=>"middle"),updateSize:()=>{}})}exports.ApTableContextKey=t;exports.useInjectApTable=n;exports.useProvideApTable=u;
@@ -0,0 +1,18 @@
1
+ import { ApColumnState } from '../interface';
2
+ import { Ref, ComputedRef } from 'vue';
3
+ export declare const useTableColumnState: (initialColumnState: ApColumnState[]) => {
4
+ columnState: Ref<{
5
+ key: string | number;
6
+ show?: boolean | undefined;
7
+ fixed?: ("left" | "right") | undefined;
8
+ disabled?: boolean | undefined;
9
+ label?: any;
10
+ children?: any[] | undefined;
11
+ }[]>;
12
+ selectAll: () => void;
13
+ unSelectAll: () => void;
14
+ toggleSelect: (key: string, show?: boolean) => void;
15
+ setColumnState: (nextColumnState: ApColumnState[]) => void;
16
+ isAllSelected: ComputedRef<boolean>;
17
+ toggleSelectAll: () => void;
18
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),d=require("../../utils/index.js");function r(s,e){s.forEach(u=>{var o;e(u),(o=u.children)!=null&&o.length&&r(u.children,e)})}const h=s=>{const e=l.ref(s),u=l.computed(()=>l.unref(e).every(t=>t.show));function o(){const t=l.unref(e);r(t,n=>{!n.disabled&&(n.show=!0)})}function f(){const t=l.unref(e);r(t,n=>{!n.disabled&&(n.show=!1)})}function i(){l.unref(u)?f():o()}function a(t,n){r(l.unref(e),c=>{c.key===t&&(c.show=d.isDef(n)?n:!c.show)})}function S(t){e.value=t}return{columnState:e,selectAll:o,unSelectAll:f,toggleSelect:a,setColumnState:S,isAllSelected:u,toggleSelectAll:i}};exports.useTableColumnState=h;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("@vueuse/core"),r=require("vue");function g(t){if(!t)return 0;const e=parseFloat(t);return Number.isNaN(e)?0:e}function s(t){if(!t)return 0;const e=getComputedStyle(t);return t.clientHeight+g(e.marginTop)+g(e.marginBottom)}const p=t=>{const e=r.ref(),{height:f}=m.useElementSize(e),u=r.ref();let a=!1;const h=r.computed(()=>{var o,c,l;const i=((c=(o=e.value)==null?void 0:o.querySelector(".ant-table-header"))==null?void 0:c.clientHeight)||47,n=(l=e.value)==null?void 0:l.querySelector(".ant-pagination"),d=n?s(n):r.unref(u);return n&&(a=!0),Math.ceil(r.unref(f)-i-(d||0)-((t==null?void 0:t.offset)||0))});return r.onUpdated(()=>{var n;if(a)return;const i=(n=e.value)==null?void 0:n.querySelector(".ant-pagination");if(!i){u.value=0;return}u.value=s(i),a=!0}),{contentRef:e,height:h}};exports.default=p;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const S=require("@vueuse/core"),r=require("vue");function f(t){if(!t)return 0;const e=parseFloat(t);return Number.isNaN(e)?0:e}function d(t){if(!t)return 0;const e=getComputedStyle(t);return t.clientHeight+f(e.marginTop)+f(e.marginBottom)}const b=t=>{const e=r.ref(),{height:p}=S.useElementSize(e),i=r.ref();let u=!1;const H=r.computed(()=>{var c,l,g,s,h;const n=((l=(c=e.value)==null?void 0:c.querySelector(".aplus-ap-table-header-wrapper"))==null?void 0:l.clientHeight)||0,a=((s=(g=e.value)==null?void 0:g.querySelector(".ant-table-header"))==null?void 0:s.clientHeight)||47,o=(h=e.value)==null?void 0:h.querySelector(".ant-pagination"),m=o?d(o):r.unref(i);return o&&(u=!0),Math.ceil(r.unref(p)-a-n-(m||0)-((t==null?void 0:t.offset)||0))});return r.onUpdated(()=>{var a;if(u)return;const n=(a=e.value)==null?void 0:a.querySelector(".ant-pagination");if(!n){i.value=0;return}i.value=d(n),u=!0}),{contentRef:e,height:H}};exports.default=b;
@@ -91,4 +91,5 @@ export declare const useTablePaging: <DataType = any, ParamsType = Record<string
91
91
  dataSource: DataType[];
92
92
  }>;
93
93
  dataSource: ComputedRef<DataType[]>;
94
+ setDataSource: (dataSource: DataType[]) => void;
94
95
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),O=require("../utils.js"),X=require("lodash-unified");require("../../config-provider/index.js");const Y=require("../../config-provider/hooks/use-locale.js"),Z=require("../../config-provider/hooks/use-namespace.js"),_=({manual:j=!1,defaultCurrent:R=1,defaultPageSize:V=10,request:D,defaultParams:M={},defaultData:A=[],formatParams:x,paramsValueTypeMap:z,resetFieldsIgnores:q,filterFields:B,sortFields:E,showLessItems:b=!1,showTotal:L=!0})=>{let P=0,f={};const $=t=>x?x(t):t,c=e.ref(),i=e.ref(R),d=e.ref(V),{t:S}=Y.useLocale(),{b:T}=Z.useNamespace("ap-table"),o=e.ref({total:0,records:A,loading:!1}),y=async t=>{var r;const n=$(t),a=Date.now();P=a,o.value.loading=!0;try{const s=await D({...M,...n});P===a&&(o.value.total=s.total||((r=s.data)==null?void 0:r.length)||0,o.value.records=[...s.data||[]])}catch{P===a&&(o.value.records=[],o.value.total=0)}finally{o.value.loading=!1}},N=t=>{const n={};return Object.entries(t).forEach(([a,r])=>{if(n[a]=r,z&&r){const s=z[a];s&&(n[a]=O.parseFieldValue(s,r))}}),n},J=async t=>{var r,s,g,p,h,l,m;const n=((s=(r=c.value)==null?void 0:r.apForm)==null?void 0:s.getFieldsValue())||{},a={};Object.entries(n).forEach(([v,u])=>{q&&q.indexOf(v)>-1&&(a[v]=u)}),await((p=(g=c.value)==null?void 0:g.apForm)==null?void 0:p.resetFields()),(m=(l=(h=c.value)==null?void 0:h.apForm)==null?void 0:l.setFieldsValue)==null||m.call(l,a),e.nextTick(()=>{t==null||t()})},F=t=>{f=t;const n=N(t);y(n)},Q=t=>{F({...f,...t})},w=()=>{var n,a;const t=((a=(n=c.value)==null?void 0:n.apForm)==null?void 0:a.getFieldsValue(!0))||{};i.value=1,F({...t,current:1,pageSize:f.pageSize||V})},U=()=>{J(w)},G=()=>{F(f)},H=t=>{const n=e.unref(o).total-t,a=Math.ceil(n/e.unref(d)),r=e.unref(i)>a?a:e.unref(i);Q({current:r>0?r:1})},C=(t,n,a)=>{var h,l,m,v;const r=((l=(h=c.value)==null?void 0:h.apForm)==null?void 0:l.getFieldsValue(!0))||{};i.value=t.current,d.value=t.pageSize;const s=X.isArray(a)?[...a]:[a],g={};for(const u of s)(m=e.unref(E))!=null&&m.includes(u.field)&&(g[O.dataIndexToStr(u.field)]=u.order);const p={};for(const u of Object.keys(n))(v=e.unref(B))!=null&&v.includes(u)&&(p[u]=n[u]);F({...r,filter:p,sort:g,current:t.current,pageSize:t.pageSize})};e.onMounted(()=>{var n,a;const t=((a=(n=c.value)==null?void 0:n.apForm)==null?void 0:a.getFieldsValue(!0))||{};if(f={current:e.unref(i),pageSize:e.unref(d),...t},!j){const r=N(f);y(r)}});const K=e.computed(()=>e.unref(o).total===0?"-":`${e.unref(i.value)}/${Math.ceil(e.unref(o).total/e.unref(d))}`),W=e.computed(()=>({loading:e.unref(o).loading,pagination:{current:e.unref(i),pageSize:e.unref(d),total:e.unref(o).total,showSizeChanger:!b,showQuickJumper:!b,showLessItems:b,size:"default",showTotal:L?t=>e.createVNode("span",{class:T("pagination-total-wrapper")},[S("ap.apTable.pagination.totalLeftPrefix")," ",e.createVNode("span",{class:T("pagination-count-text")},[t])," ",S("ap.apTable.pagination.totalLeftSuffix"),e.createVNode("span",{class:T("pagination--total-right")},[S("ap.apTable.pagination.totalRightPrefix")," ",e.createVNode("span",{class:T("pagination-count-text")},[e.unref(K)])," ",S("ap.apTable.pagination.totalRightSuffix")])]):void 0},onChange:C,dataSource:e.unref(o).records}));return{formRef:c,submit:w,reset:U,refresh:G,refreshByDelete:H,data:o,current:i,pageSize:d,handleTableChange:C,tableProps:W,dataSource:e.computed(()=>e.unref(o).records)}};exports.useTablePaging=_;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),O=require("../utils.js"),Y=require("lodash-unified");require("../../config-provider/index.js");const Z=require("../../config-provider/hooks/use-locale.js"),_=require("../../config-provider/hooks/use-namespace.js"),I=({manual:j=!1,defaultCurrent:D=1,defaultPageSize:V=10,request:R,defaultParams:M={},defaultData:A=[],formatParams:x,paramsValueTypeMap:z,resetFieldsIgnores:q,filterFields:B,sortFields:E,showLessItems:P=!1,showTotal:L=!0})=>{let S=0,f={};const $=e=>x?x(e):e,l=t.ref(),i=t.ref(D),g=t.ref(V),{t:T}=Z.useLocale(),{b:F}=_.useNamespace("ap-table"),r=t.ref({total:0,records:A,loading:!1}),y=async e=>{var o;const n=$(e),a=Date.now();S=a,r.value.loading=!0;try{const s=await R({...M,...n});S===a&&(r.value.total=s.total||((o=s.data)==null?void 0:o.length)||0,r.value.records=[...s.data||[]])}catch{S===a&&(r.value.records=[],r.value.total=0)}finally{r.value.loading=!1}},N=e=>{const n={};return Object.entries(e).forEach(([a,o])=>{if(n[a]=o,z&&o){const s=z[a];s&&(n[a]=O.parseFieldValue(s,o))}}),n},J=async e=>{var o,s,p,d,h,c,v;const n=((s=(o=l.value)==null?void 0:o.apForm)==null?void 0:s.getFieldsValue())||{},a={};Object.entries(n).forEach(([m,u])=>{q&&q.indexOf(m)>-1&&(a[m]=u)}),await((d=(p=l.value)==null?void 0:p.apForm)==null?void 0:d.resetFields()),(v=(c=(h=l.value)==null?void 0:h.apForm)==null?void 0:c.setFieldsValue)==null||v.call(c,a),t.nextTick(()=>{e==null||e()})},b=e=>{f=e;const n=N(e);y(n)},Q=e=>{b({...f,...e})},w=()=>{var n,a;const e=((a=(n=l.value)==null?void 0:n.apForm)==null?void 0:a.getFieldsValue(!0))||{};i.value=1,b({...e,current:1,pageSize:f.pageSize||V})},U=()=>{J(w)},G=()=>{b(f)},H=e=>{const n=t.unref(r).total-e,a=Math.ceil(n/t.unref(g)),o=t.unref(i)>a?a:t.unref(i);Q({current:o>0?o:1})},C=(e,n,a)=>{var h,c,v,m;const o=((c=(h=l.value)==null?void 0:h.apForm)==null?void 0:c.getFieldsValue(!0))||{};i.value=e.current,g.value=e.pageSize;const s=Y.isArray(a)?[...a]:[a],p={};for(const u of s)(v=t.unref(E))!=null&&v.includes(u.field)&&(p[O.dataIndexToStr(u.field)]=u.order);const d={};for(const u of Object.keys(n))(m=t.unref(B))!=null&&m.includes(u)&&(d[u]=n[u]);b({...o,filter:d,sort:p,current:e.current,pageSize:e.pageSize})};t.onMounted(()=>{var n,a;const e=((a=(n=l.value)==null?void 0:n.apForm)==null?void 0:a.getFieldsValue(!0))||{};if(f={current:t.unref(i),pageSize:t.unref(g),...e},!j){const o=N(f);y(o)}});const K=t.computed(()=>t.unref(r).total===0?"-":`${t.unref(i.value)}/${Math.ceil(t.unref(r).total/t.unref(g))}`);function W(e){e!=null&&e.length&&(r.value.records=e,r.value.total=e.length)}const X=t.computed(()=>({loading:t.unref(r).loading,pagination:{current:t.unref(i),pageSize:t.unref(g),total:t.unref(r).total,showSizeChanger:!P,showQuickJumper:!P,showLessItems:P,size:"default",showTotal:L?e=>t.createVNode("span",{class:F("pagination-total-wrapper")},[T("ap.apTable.pagination.totalLeftPrefix")," ",t.createVNode("span",{class:F("pagination-count-text")},[e])," ",T("ap.apTable.pagination.totalLeftSuffix"),t.createVNode("span",{class:F("pagination--total-right")},[T("ap.apTable.pagination.totalRightPrefix")," ",t.createVNode("span",{class:F("pagination-count-text")},[t.unref(K)])," ",T("ap.apTable.pagination.totalRightSuffix")])]):void 0},onChange:C,dataSource:t.unref(r).records}));return{formRef:l,submit:w,reset:U,refresh:G,refreshByDelete:H,data:r,current:i,pageSize:g,handleTableChange:C,tableProps:X,dataSource:t.computed(()=>t.unref(r).records),setDataSource:W}};exports.useTablePaging=I;
@@ -72,6 +72,52 @@ export type CommonFieldReturnType = ApFormItemProps & {
72
72
  placeholder?: string;
73
73
  disabled?: boolean;
74
74
  };
75
+ export type ApTableSettingType = {
76
+ /**
77
+ * 用于持久化缓存的key
78
+ */
79
+ persistenceKey?: string;
80
+ /**
81
+ * 持久化类型
82
+ */
83
+ persistenceType?: 'localStorage' | 'sessionStorage';
84
+ /**
85
+ * 列的默认状态
86
+ */
87
+ defaultValue?: Recordable<Omit<ApColumnState, 'children' | 'key'>>;
88
+ /**
89
+ * 列状态变更时的回调(注意,返回的是全量状态)
90
+ * @param val
91
+ * @returns
92
+ */
93
+ onChange?: (val: ApColumnState[]) => void;
94
+ };
95
+ export type ApColumnState = {
96
+ /**
97
+ * 列的唯一标识
98
+ */
99
+ key: string | number;
100
+ /**
101
+ * 列是否显示
102
+ */
103
+ show?: boolean;
104
+ /**
105
+ * 列的固定状态
106
+ */
107
+ fixed?: 'left' | 'right';
108
+ /**
109
+ * 是否可以修改列状态
110
+ */
111
+ disabled?: boolean;
112
+ /**
113
+ * 列对应显示的文本
114
+ */
115
+ label?: any;
116
+ /**
117
+ * 子节点状态
118
+ */
119
+ children?: ApColumnState[];
120
+ };
75
121
  export type FieldPropsType<ReturnType, RecordType, ExtraValueType, ValueType extends ApTableValueTypes, MergedValueType extends ExtraValueType | ValueType> = ReturnType | ((opt: Partial<{
76
122
  value: any;
77
123
  text: any;
@@ -81,7 +127,7 @@ export type FieldPropsType<ReturnType, RecordType, ExtraValueType, ValueType ext
81
127
  column: ApColumnType<RecordType, ExtraValueType, ValueType, MergedValueType>;
82
128
  }>) => ReturnType);
83
129
  export type ApColumnType<RecordType = any, ExtraValueType = 'text', ValueType extends ApTableValueTypes = ApTableValueTypes, MergedValueType extends ExtraValueType | ValueType = ExtraValueType | ValueType> = MergedValueType extends ExtraValueType | ValueType ? ExtraProColumnType<RecordType> & {
84
- children?: ApColumnType<RecordType, ExtraValueType, ValueType, MergedValueType>[];
130
+ children?: Omit<ApColumnType<RecordType, ExtraValueType, ValueType, MergedValueType>, 'fixed'>[];
85
131
  /**
86
132
  * 表单项所占据的格子数(1-24格)
87
133
  */
@@ -267,6 +313,10 @@ export type ApTableProps<RecordType = any, ParamsType = any> = Omit<TableProps<R
267
313
  * 设置表格列是否可以resize
268
314
  */
269
315
  columnResizable?: ColumnType['resizable'];
316
+ /**
317
+ * 是否开启表格设置
318
+ */
319
+ settings?: true | ApTableSettingType;
270
320
  };
271
321
  export type ApTableExpose<SearchParamsType = Recordable, RecordType = any> = {
272
322
  /**
@@ -7,7 +7,9 @@
7
7
  display: flex;
8
8
  flex-direction: column;
9
9
  }
10
- .aplus-ap-table-adaptive .ant-table-wrapper,
10
+ .aplus-ap-table-adaptive .ant-table-wrapper {
11
+ flex: 1;
12
+ }
11
13
  .aplus-ap-table-adaptive .ant-spin-nested-loading,
12
14
  .aplus-ap-table-adaptive .ant-spin-container {
13
15
  height: 100%;
@@ -35,6 +37,8 @@
35
37
  .aplus-ap-table__table-wrapper {
36
38
  flex: 1;
37
39
  max-height: 100%;
40
+ display: flex;
41
+ flex-direction: column;
38
42
  }
39
43
  .aplus-ap-table__table-wrapper-card {
40
44
  padding: 16px;
@@ -98,3 +102,27 @@
98
102
  .aplus-ap-table-pagination-total-wrapper {
99
103
  color: var(--ap-table-pagination-total-color, #526A90);
100
104
  }
105
+ .aplus-ap-table-header {
106
+ padding-bottom: 16px;
107
+ display: flex;
108
+ justify-content: space-between;
109
+ align-items: center;
110
+ flex-wrap: nowrap;
111
+ }
112
+ .aplus-ap-table-header__title {
113
+ flex: 1;
114
+ flex-shrink: 1;
115
+ min-width: 0;
116
+ }
117
+ .aplus-ap-table-table-header__title {
118
+ display: -webkit-inline-box;
119
+ -webkit-line-clamp: 2;
120
+ -webkit-box-orient: vertical;
121
+ overflow: hidden;
122
+ text-overflow: ellipsis;
123
+ white-space: normal;
124
+ max-width: 100%;
125
+ vertical-align: middle;
126
+ word-break: break-all;
127
+ flex: 1;
128
+ }
@@ -8423,7 +8423,7 @@ export declare function updateFormProps(item: ApColumnType<any, any>, fieldProps
8423
8423
  * @returns
8424
8424
  */
8425
8425
  export declare function objectToString(value: any): any;
8426
- export declare function getTableTitle(column: ApColumnType<any>, slot?: (props: {
8426
+ export declare function getTableTitle(column: ApColumnType<any>, titleNodeClassName: string, slot?: (props: {
8427
8427
  title: any;
8428
8428
  column: ApColumnType<any>;
8429
8429
  }) => any, tooltipColor?: string): number | boolean | void | VNodeArrayChildren | import("vue/jsx-runtime").JSX.Element | ((props: ColumnTitleProps<any>) => VNodeArrayChildren | VueNode) | null;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("vue"),i=require("lodash-unified"),c=require("./constants.js"),T=require("@fruits-chain/utils");require("../ap-form/index.js");const g=require("ant-design-vue"),b=require("@ant-design/icons-vue"),y=require("../ap-form/ap-form-item.vue.js");function h(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!u.isVNode(e)}const d=(e,t,n)=>{let r={};return i.isObject(e)?Object.keys(e).forEach(s=>{i.isObject(e[s])?r[s]=d(e[s],t[s],n):r[s]=n(e[s],t)}):r=n(e,t),r},j=(e,t)=>{switch(e){case"dayjs":return t.valueOf();case"dayjsRange":return t.map(n=>n.valueOf());case"dayjsDayRange":{const[n,r]=t;return[n.startOf("day").valueOf(),r.endOf("day").valueOf()]}case"multiple":case"multipleNumber":return i.isArray(t)?t:[t];case"boolean":return t;case"object":return t;default:return t}};function F(e){return i.isArray(e)?e.join("."):e}function N(e){const t=Object.prototype.toString.call(e).match(/^\[object (.*)\]$/)[1].toLowerCase();return t==="string"&&typeof e=="object"?"object":e===null?"null":e===void 0?"undefined":t}const f=e=>N(e)==="map"?e:new Map(Object.entries(e||{})),a=e=>{const t=[],n=f(e);return n.forEach((r,s)=>{const o=n.get(s)||n.get(`${s}`);if(o){if(typeof o=="object"&&(o!=null&&o.text)){t.push({text:o==null?void 0:o.text,value:s,label:o==null?void 0:o.text,disabled:o.disabled});return}t.push({text:o,label:o,value:s})}}),t},O=e=>i.isUndefined(e)||e<0?0:e,S=(e,t,n)=>{if(n)return n;const r=["select","date"],s=["text","textArea","number"];if(t==="dateRange")return[e("ap.common.chooseText"),e("ap.common.chooseText")];if(r.includes(t))return e("ap.common.chooseText");if(s.includes(t))return e("ap.common.inputText")};function p(e,t){return!e||!i.isFunction(e)?e:e(t)}function V(e){let t=e.valueType||"text";return e.valueEnum&&(t="status"),t}function E(e,t,n,r){var l;const s=c.apTableRenderItemMap[e];if(s)return u.createVNode(s,u.mergeProps(t,{mode:"read"}),null);const o=r==null?void 0:r[e];return((l=o==null?void 0:o.render)==null?void 0:l.call(o,t.value,n,t))||t.value}function P(e,t){if(e.customRenderFormItem)return()=>{const s=e.customRenderFormItem(e);return u.cloneVNode(s,{...e.fieldProps,span:e.span,...s.props||{}})};const n=c.apTableFormItemMap[e.valueType];if(n)return n;const r=t==null?void 0:t[e.valueType];return()=>{var o;const s=(o=r==null?void 0:r.renderFormItem)==null?void 0:o.call(r,e.fieldProps.field);return s?u.createVNode(y.default,u.mergeProps(e.fieldProps,{span:e.span}),h(s)?s:{default:()=>[s]}):null}}function v(e,t){const n=p(e.fieldProps,t),r=(n==null?void 0:n.field)||n||{},s=e.valueType==="switch",o=e.valueType==="index",l=s?{checked:t.value}:{value:o?t.index+1:t.value};return e.valueEnum&&(r.valueEnum=e.valueEnum),{...i.omit(r,["request"]),...l}}function I(e){const t={...e};return i.isBoolean(e.filters)&&e.filters&&e.valueEnum&&(t.filters=a(e.valueEnum)),t}function C(e,t){var r;const n=t||{};return e.valueEnum&&!((r=n.field)!=null&&r.options)&&(n.field={...n.field,options:a(e.valueEnum)}),n}function q(e){if(!T.isType("Object")(e))return e;try{return JSON.stringify(e)}catch{return e}}function x(e,t,n){const r=t==null?void 0:t({title:e.title,column:e});if(r&&(r.length>1||r[0].children&&r[0].children!=="v-if"))return r;const o=i.isString(e.title)?u.createVNode("span",{style:c.ellipsisTitleStyle,title:e.title},[e.title]):e.title,l=e.tooltip?i.isString(e.tooltip)?u.createVNode(u.Fragment,null,[e.tooltip]):e.tooltip(e):null,m=()=>u.createVNode("span",{style:{display:"inline-flex",alignItems:"center"}},[o,u.createVNode(g.Tooltip,{title:l,placement:"bottom"},{default:()=>[u.createVNode(b.QuestionCircleOutlined,{style:{padding:"4px",color:n,verticalAlign:"middle"}},null)]})]);return l?m:o}exports.apColumnToColumn=I;exports.dataIndexToStr=F;exports.formatParamsValueType=d;exports.getColumnOrder=O;exports.getFieldProps=p;exports.getPlaceholder=S;exports.getSearchFormItemRenderNode=P;exports.getTableCellRenderNode=E;exports.getTableRenderProps=v;exports.getTableRenderType=V;exports.getTableTitle=x;exports.objectToMap=f;exports.objectToString=q;exports.parseFieldValue=j;exports.updateFormProps=C;exports.valueEnumToArray=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("vue"),i=require("lodash-unified"),d=require("./constants.js"),g=require("@fruits-chain/utils");require("../ap-form/index.js");const b=require("ant-design-vue"),y=require("@ant-design/icons-vue"),h=require("../ap-form/ap-form-item.vue.js");function j(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!u.isVNode(e)}const f=(e,t,n)=>{let o={};return i.isObject(e)?Object.keys(e).forEach(r=>{i.isObject(e[r])?o[r]=f(e[r],t[r],n):o[r]=n(e[r],t)}):o=n(e,t),o},F=(e,t)=>{switch(e){case"dayjs":return t.valueOf();case"dayjsRange":return t.map(n=>n.valueOf());case"dayjsDayRange":{const[n,o]=t;return[n.startOf("day").valueOf(),o.endOf("day").valueOf()]}case"multiple":case"multipleNumber":return i.isArray(t)?t:[t];case"boolean":return t;case"object":return t;default:return t}};function N(e){return i.isArray(e)?e.join("."):e}function O(e){const t=Object.prototype.toString.call(e).match(/^\[object (.*)\]$/)[1].toLowerCase();return t==="string"&&typeof e=="object"?"object":e===null?"null":e===void 0?"undefined":t}const p=e=>O(e)==="map"?e:new Map(Object.entries(e||{})),c=e=>{const t=[],n=p(e);return n.forEach((o,r)=>{const s=n.get(r)||n.get(`${r}`);if(s){if(typeof s=="object"&&(s!=null&&s.text)){t.push({text:s==null?void 0:s.text,value:r,label:s==null?void 0:s.text,disabled:s.disabled});return}t.push({text:s,label:s,value:r})}}),t},S=e=>i.isUndefined(e)||e<0?0:e,V=(e,t,n)=>{if(n)return n;const o=["select","date"],r=["text","textArea","number"];if(t==="dateRange")return[e("ap.common.chooseText"),e("ap.common.chooseText")];if(o.includes(t))return e("ap.common.chooseText");if(r.includes(t))return e("ap.common.inputText")};function m(e,t){return!e||!i.isFunction(e)?e:e(t)}function E(e){let t=e.valueType||"text";return e.valueEnum&&(t="status"),t}function P(e,t,n,o){var l;const r=d.apTableRenderItemMap[e];if(r)return u.createVNode(r,u.mergeProps(t,{mode:"read"}),null);const s=o==null?void 0:o[e];return((l=s==null?void 0:s.render)==null?void 0:l.call(s,t.value,n,t))||t.value}function v(e,t){if(e.customRenderFormItem)return()=>{const r=e.customRenderFormItem(e);return u.cloneVNode(r,{...e.fieldProps,span:e.span,...r.props||{}})};const n=d.apTableFormItemMap[e.valueType];if(n)return n;const o=t==null?void 0:t[e.valueType];return()=>{var s;const r=(s=o==null?void 0:o.renderFormItem)==null?void 0:s.call(o,e.fieldProps.field);return r?u.createVNode(h.default,u.mergeProps(e.fieldProps,{span:e.span}),j(r)?r:{default:()=>[r]}):null}}function I(e,t){const n=m(e.fieldProps,t),o=(n==null?void 0:n.field)||n||{},r=e.valueType==="switch",s=e.valueType==="index",l=r?{checked:t.value}:{value:s?t.index+1:t.value};return e.valueEnum&&(o.valueEnum=e.valueEnum),{...i.omit(o,["request"]),...l}}function q(e){const t={...e};return i.isBoolean(e.filters)&&e.filters&&e.valueEnum&&(t.filters=c(e.valueEnum)),t}function x(e,t){var o;const n=t||{};return e.valueEnum&&!((o=n.field)!=null&&o.options)&&(n.field={...n.field,options:c(e.valueEnum)}),n}function C(e){if(!g.isType("Object")(e))return e;try{return JSON.stringify(e)}catch{return e}}function _(e,t,n,o){const r=n==null?void 0:n({title:e.title,column:e});if(r&&(r.length>1||r[0].children&&r[0].children!=="v-if"))return r;const l=i.isString(e.title)?u.createVNode("span",{class:t,title:e.title},[e.title]):e.title,a=e.tooltip?i.isString(e.tooltip)?u.createVNode(u.Fragment,null,[e.tooltip]):e.tooltip(e):null,T=u.createVNode("span",{style:{display:"inline-flex",alignItems:"center"}},[l,u.createVNode(b.Tooltip,{title:a,placement:"bottom"},{default:()=>[u.createVNode(y.QuestionCircleOutlined,{style:{padding:"4px",color:o,verticalAlign:"middle"}},null)]})]);return a?T:l}exports.apColumnToColumn=q;exports.dataIndexToStr=N;exports.formatParamsValueType=f;exports.getColumnOrder=S;exports.getFieldProps=m;exports.getPlaceholder=V;exports.getSearchFormItemRenderNode=v;exports.getTableCellRenderNode=P;exports.getTableRenderProps=I;exports.getTableRenderType=E;exports.getTableTitle=_;exports.objectToMap=p;exports.objectToString=C;exports.parseFieldValue=F;exports.updateFormProps=x;exports.valueEnumToArray=c;
@@ -42,7 +42,7 @@ declare const _default: DefineComponent<{
42
42
  toolTipBgColor: {
43
43
  type: StringConstructor;
44
44
  };
45
- }, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
45
+ }, () => false | import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
46
46
  attachmentList: {
47
47
  type: PropType<Array<AttachmentItemProps>>;
48
48
  default: never[];
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),f=require("ant-design-vue");require("../../config-provider/index.js");const L=require("./constans.js"),v=require("../../ap-download/utils/getFileInfo.js");require("./style.css");const x=require("../../ap-download/hooks/index.js"),O=require("lodash-unified"),T=require("../../config-provider/hooks/use-namespace.js"),h=require("../../config-provider/hooks/use-global-config.js"),b=require("../../config-provider/hooks/use-locale.js"),P=e.defineComponent({name:"ApAttachment",props:L.ApAttachmentProps(),setup(t){const{b:g,e:o}=T.useNamespace("ap-attachment"),N=h.useGlobalConfig("uiMode"),p=h.useGlobalConfig("apUpload"),{lang:A,t:c}=b.useLocale(),s=e.useSlots(),V=e.computed(()=>A.value==="zh-cn"?"zh_CN":"en_US"),l=e.computed(()=>t.attachmentList.length===1),r=e.computed(()=>t.attachmentList.length>0?t.attachmentList[0].fileName:""),w=e.computed(()=>l.value?r.value:c("ap.apAttachment.downloadall")),d=e.computed(()=>t.color?t.color:N.value==="aplus"?"#0070FF":"#1890FF"),C=e.computed(()=>({width:l.value?"auto":"266px"})),m=e.computed(()=>({"--download-main-color":d.value,"--download-main-color-opacity":v.getHexWithOpacity(d.value,.6)})),q=e.computed(()=>{var a;return t.getOssAccess||((a=p.value)==null?void 0:a.getOssAccess)}),y=e.computed(()=>{const a=s.default?s.default()[0]:null;return a?e.cloneVNode(a,{style:{"font-size":"16px"}}):null}),u=async a=>{if(!t.disabled){const n=await x.useOssInit(q.value,e.unref(V)),i=O.isArray(e.toRaw(a))?e.toRaw(a):[e.toRaw(a)];await n.downloadFile(v.getFileInfo(t.needName,i))}},F=a=>a&&a.length>0?e.createVNode("ul",{class:[o("file-list")],style:m.value},[a.map((n,i)=>e.createVNode("li",{key:i,class:[o("file-item")],onClick:()=>u(n)},[n.fileName])),e.createVNode("li",{class:[o("down-load-all")],onClick:()=>u(t.attachmentList)},[c("ap.apAttachment.downloadall")])]):null;return()=>e.createVNode("div",{class:[g()],style:[C.value,m.value]},[e.createVNode(f.Tooltip,{title:w.value,placement:t.textToolTipPlacement,color:t.toolTipBgColor},{default:()=>[e.createVNode("div",{class:[o("content")],onClick:()=>u(l.value?t.attachmentList[0]:t.attachmentList)},[s.default?e.createVNode("div",{class:[o("text-render")]},[y.value,e.createTextVNode(" ")]):null,e.createVNode("div",{class:[o("text-inner")]},[r.value])])]}),e.createVNode(f.Popover,{content:F(t.attachmentList),placement:t.fileMorePopoverPlacement,color:"#fff"},{default:()=>[!l.value&&e.createVNode("div",{class:[o("more")]},[c("ap.apAttachment.more")])]})])}});exports.default=P;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),h=require("ant-design-vue");require("../../config-provider/index.js");const x=require("./constans.js"),N=require("../../ap-download/utils/getFileInfo.js");require("./style.css");const P=require("../../ap-download/hooks/index.js"),S=require("lodash-unified"),m=require("@ant-design/icons-vue"),I=require("../../config-provider/hooks/use-namespace.js"),p=require("../../config-provider/hooks/use-global-config.js"),M=require("../../config-provider/hooks/use-locale.js"),_=e.defineComponent({name:"ApAttachment",props:x.ApAttachmentProps(),setup(t){const{b:V,e:l}=I.useNamespace("ap-attachment"),A=p.useGlobalConfig("uiMode"),L=p.useGlobalConfig("apUpload"),{lang:w,t:i}=M.useLocale(),n=e.ref(!1),c=e.ref(""),r=e.useSlots(),y=e.computed(()=>w.value==="zh-cn"?"zh_CN":"en_US"),u=e.computed(()=>t.attachmentList.length===1),v=e.computed(()=>t.attachmentList.length>0?t.attachmentList[0].fileName:""),C=e.computed(()=>u.value?v.value:i("ap.apAttachment.downloadall")),f=e.computed(()=>t.color?t.color:A.value==="aplus"?"#0070FF":"#1890FF"),q=e.computed(()=>({width:u.value?"auto":"266px"})),g=e.computed(()=>({"--download-main-color":f.value,"--download-main-color-opacity":N.getHexWithOpacity(f.value,.6)})),F=e.computed(()=>{var a;return t.getOssAccess||((a=L.value)==null?void 0:a.getOssAccess)}),O=e.computed(()=>{const a=r.default?r.default()[0]:null;return a?e.cloneVNode(a,{style:{"font-size":"16px"}}):null}),d=async(a,s)=>{if(!t.disabled){n.value=!0,s&&(c.value=s);try{const o=await P.useOssInit(F.value,e.unref(y)),T=S.isArray(e.toRaw(a))?e.toRaw(a):[e.toRaw(a)];await o.downloadFile(N.getFileInfo(t.needName,T))}catch(o){console.error(o)}finally{n.value=!1,c.value=""}}},b=a=>a&&a.length>0?e.createVNode("ul",{class:[l("file-list")],style:g.value},[a.map((s,o)=>e.createVNode("li",{key:o,class:[l("file-item")],onClick:()=>d(s,o+1)},[n.value&&c.value===o+1?e.createVNode("span",{class:[l("spin")]},[e.createVNode(m.LoadingOutlined,{spin:!0},null)]):null,s.fileName])),e.createVNode("li",{class:[l("down-load-all")],onClick:()=>d(t.attachmentList,"all")},[n.value&&c.value==="all"?e.createVNode("span",{class:[l("spin")]},[e.createVNode(m.LoadingOutlined,{spin:!0},null)]):null,i("ap.apAttachment.downloadall")])]):null;return()=>{var a;return((a=t.attachmentList)==null?void 0:a.length)>0&&e.createVNode("div",{class:[V()],style:[q.value,g.value]},[e.createVNode(h.Tooltip,{title:C.value,placement:t.textToolTipPlacement,color:t.toolTipBgColor},{default:()=>[e.createVNode("div",{class:[l("content")],onClick:()=>d(u.value?t.attachmentList[0]:t.attachmentList,"global")},[n.value&&c.value==="global"?e.createVNode("div",{class:[l("spin")]},[e.createVNode(m.LoadingOutlined,{spin:!0},null)]):null,r.default?e.createVNode("div",{class:[l("text-render")]},[O.value,e.createTextVNode(" ")]):null,e.createVNode("div",{class:[l("text-inner")]},[v.value])])]}),e.createVNode(h.Popover,{content:b(t.attachmentList),placement:t.fileMorePopoverPlacement,color:"#fff"},{default:()=>[!u.value&&e.createVNode("div",{class:[l("more")]},[i("ap.apAttachment.more")])]})])}}});exports.default=_;
@@ -1,5 +1,5 @@
1
1
  import { ApDownLoadProps } from '../../ap-download/interface';
2
- import { TooltipPlacement } from 'ant-design-vue/es/Tooltip';
2
+ import { TooltipPlacement } from 'ant-design-vue/es/tooltip';
3
3
  export type AttachmentItemProps = {
4
4
  fileName: string;
5
5
  filePath: string;