cnhis-design-vue 3.1.4 → 3.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/README.md +22 -22
  2. package/env.d.ts +26 -26
  3. package/es/packages/big-table/index.mjs +1 -1
  4. package/es/packages/big-table/index2.mjs +1 -14
  5. package/es/packages/big-table/src/BigTable.mjs +1 -2
  6. package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.mjs +1 -2315
  7. package/es/packages/big-table/src/BigTable2.mjs +1 -4
  8. package/es/packages/big-table/src/bigTableEmits.mjs +1 -1
  9. package/es/packages/big-table/src/bigTableEmits2.mjs +1 -48
  10. package/es/packages/big-table/src/bigTableProps.mjs +1 -1
  11. package/es/packages/big-table/src/bigTableProps2.mjs +1 -116
  12. package/es/packages/big-table/src/bigTableState.mjs +1 -1
  13. package/es/packages/big-table/src/bigTableState2.mjs +1 -51
  14. package/es/packages/big-table/src/components/NoData.mjs +1 -2
  15. package/es/packages/big-table/src/components/NoData.vue_vue_type_script_setup_true_lang.mjs +1 -72
  16. package/es/packages/big-table/src/components/NoData2.mjs +1 -4
  17. package/es/packages/big-table/src/components/SvgIcon.mjs +1 -2
  18. package/es/packages/big-table/src/components/SvgIcon.vue_vue_type_script_setup_true_lang.mjs +1 -34
  19. package/es/packages/big-table/src/components/SvgIcon2.mjs +1 -4
  20. package/es/packages/big-table/src/components/TextOverTooltip.mjs +1 -2
  21. package/es/packages/big-table/src/components/TextOverTooltip.vue_vue_type_script_setup_true_lang.mjs +1 -74
  22. package/es/packages/big-table/src/components/TextOverTooltip2.mjs +1 -4
  23. package/es/packages/big-table/src/components/edit-form/edit-date.mjs +1 -88
  24. package/es/packages/big-table/src/components/edit-form/edit-input.mjs +1 -51
  25. package/es/packages/big-table/src/components/edit-form/edit-select.mjs +1 -89
  26. package/es/packages/big-table/src/hooks/useBatchEditing.mjs +1 -1
  27. package/es/packages/big-table/src/hooks/useBatchEditing2.mjs +1 -284
  28. package/es/packages/big-table/src/hooks/useEdit.mjs +1 -1
  29. package/es/packages/big-table/src/hooks/useEdit2.mjs +1 -108
  30. package/es/packages/big-table/src/hooks/useFormat.mjs +1 -1
  31. package/es/packages/big-table/src/hooks/useFormat2.mjs +1 -480
  32. package/es/packages/big-table/src/hooks/useNestTable.mjs +1 -1
  33. package/es/packages/big-table/src/hooks/useNestTable2.mjs +1 -84
  34. package/es/packages/big-table/src/hooks/useTableParse.mjs +1 -1
  35. package/es/packages/big-table/src/hooks/useTableParse2.mjs +1 -135
  36. package/es/packages/big-table/src/utils.mjs +1 -1
  37. package/es/packages/big-table/src/utils2.mjs +1 -597
  38. package/es/packages/big-table/style/index.css +3 -5
  39. package/es/packages/big-table/style/index.less +557 -559
  40. package/es/packages/button-print/index.mjs +1 -1
  41. package/es/packages/button-print/index2.mjs +1 -11
  42. package/es/packages/button-print/src/ButtonPrint.mjs +1 -2
  43. package/es/packages/button-print/src/ButtonPrint.vue_vue_type_script_setup_true_lang.mjs +1 -452
  44. package/es/packages/button-print/src/ButtonPrint2.mjs +1 -4
  45. package/es/packages/button-print/src/components/IdentityVerification.mjs +1 -2
  46. package/es/packages/button-print/src/components/IdentityVerification.vue_vue_type_script_setup_true_lang.mjs +1 -126
  47. package/es/packages/button-print/src/components/IdentityVerification2.mjs +1 -4
  48. package/es/packages/button-print/src/utils/print.es.min.mjs +1 -1
  49. package/es/packages/button-print/src/utils/print.es.min2.mjs +1 -2080
  50. package/es/packages/button-print/style/index.css +1 -3
  51. package/es/packages/button-print/style/index.less +30 -32
  52. package/es/packages/drag-layout/index.mjs +1 -1
  53. package/es/packages/drag-layout/index2.mjs +1 -11
  54. package/es/packages/drag-layout/src/DragFormLeftItem.mjs +1 -2
  55. package/es/packages/drag-layout/src/DragFormLeftItem.vue_vue_type_script_setup_true_lang.mjs +1 -122
  56. package/es/packages/drag-layout/src/DragFormLeftItem2.mjs +1 -4
  57. package/es/packages/drag-layout/src/DragFormRightItem.mjs +1 -2
  58. package/es/packages/drag-layout/src/DragFormRightItem.vue_vue_type_script_setup_true_lang.mjs +1 -267
  59. package/es/packages/drag-layout/src/DragFormRightItem2.mjs +1 -4
  60. package/es/packages/drag-layout/src/DragLayout.mjs +1 -2
  61. package/es/packages/drag-layout/src/DragLayout.vue.d.ts +2 -10
  62. package/es/packages/drag-layout/src/DragLayout.vue_vue_type_script_setup_true_lang.mjs +1 -657
  63. package/es/packages/drag-layout/src/DragLayout2.mjs +1 -4
  64. package/es/packages/drag-layout/style/index.less +208 -208
  65. package/es/packages/field-set/index.mjs +1 -1
  66. package/es/packages/field-set/index2.mjs +1 -11
  67. package/es/packages/field-set/src/FieldSet.mjs +1 -2
  68. package/es/packages/field-set/src/FieldSet.vue_vue_type_script_setup_true_lang.mjs +1 -330
  69. package/es/packages/field-set/src/FieldSet2.mjs +1 -4
  70. package/es/packages/field-set/style/index.less +172 -172
  71. package/es/packages/form-table/index.d.ts +3 -0
  72. package/es/packages/form-table/index.mjs +1 -0
  73. package/es/packages/form-table/index2.mjs +1 -0
  74. package/es/packages/form-table/src/FormTable.mjs +1 -0
  75. package/es/packages/form-table/src/FormTable.vue.d.ts +2 -0
  76. package/es/packages/form-table/src/FormTable.vue_vue_type_script_setup_true_lang.mjs +1 -0
  77. package/es/packages/form-table/src/FormTable2.mjs +1 -0
  78. package/es/packages/form-table/src/configs/index.d.ts +35 -0
  79. package/es/packages/form-table/src/configs/index.mjs +1 -0
  80. package/es/packages/form-table/src/configs/index2.mjs +1 -0
  81. package/es/packages/form-table/src/hooks/index.d.ts +4 -0
  82. package/es/packages/form-table/src/hooks/index.mjs +1 -0
  83. package/es/packages/form-table/src/hooks/useBoundDate.d.ts +21 -0
  84. package/es/packages/form-table/src/hooks/useBoundDate.mjs +1 -0
  85. package/es/packages/form-table/src/hooks/useBoundDate2.mjs +1 -0
  86. package/es/packages/form-table/src/hooks/useDateType.d.ts +17 -0
  87. package/es/packages/form-table/src/hooks/useDateType.mjs +1 -0
  88. package/es/packages/form-table/src/hooks/useDateType2.mjs +1 -0
  89. package/es/packages/form-table/src/hooks/useFormCommon.d.ts +14 -0
  90. package/es/packages/form-table/src/hooks/useFormCommon.mjs +1 -0
  91. package/es/packages/form-table/src/hooks/useFormCommon2.mjs +1 -0
  92. package/es/packages/form-table/src/hooks/useFormEvent.d.ts +9 -0
  93. package/es/packages/form-table/src/hooks/useFormEvent.mjs +1 -0
  94. package/es/packages/form-table/src/hooks/useFormEvent2.mjs +1 -0
  95. package/es/packages/form-table/src/hooks/useItemDefault.d.ts +73 -0
  96. package/es/packages/form-table/src/hooks/useItemDefault.mjs +1 -0
  97. package/es/packages/form-table/src/hooks/useItemDefault2.mjs +1 -0
  98. package/es/packages/form-table/src/hooks/useSearch.d.ts +1 -0
  99. package/es/packages/form-table/src/hooks/useSearch.mjs +1 -0
  100. package/es/packages/form-table/src/hooks/useSearch2.mjs +1 -0
  101. package/es/packages/form-table/src/hooks/useValidate.d.ts +24 -0
  102. package/es/packages/form-table/src/hooks/useValidate.mjs +1 -0
  103. package/es/packages/form-table/src/hooks/useValidate2.mjs +1 -0
  104. package/es/packages/form-table/src/types/index.d.ts +9 -0
  105. package/es/packages/form-table/src/types/index.mjs +1 -0
  106. package/es/packages/form-table/style/index.css +98 -0
  107. package/es/packages/form-table/style/index.less +122 -0
  108. package/es/packages/grid/index.mjs +1 -1
  109. package/es/packages/grid/index2.mjs +1 -11
  110. package/es/packages/grid/src/Grid.mjs +1 -28
  111. package/es/packages/grid/src/hooks.mjs +1 -1
  112. package/es/packages/grid/src/hooks2.mjs +1 -165
  113. package/es/packages/grid/style/index.less +1 -1
  114. package/es/packages/index.css +4 -8
  115. package/es/packages/index.less +1201 -1205
  116. package/es/packages/index.mjs +1 -7
  117. package/es/packages/index2.mjs +1 -37
  118. package/es/packages/select-label/src/SelectLabel.mjs +1 -0
  119. package/es/packages/select-label/src/SelectLabel.vue.d.ts +7445 -0
  120. package/es/packages/select-label/src/SelectLabel.vue_vue_type_script_setup_true_lang.mjs +1 -0
  121. package/es/packages/select-label/src/SelectLabel2.mjs +1 -0
  122. package/es/packages/select-label/src/components/label-classify.mjs +1 -0
  123. package/es/packages/select-label/src/components/label-classify.vue.d.ts +3570 -0
  124. package/es/packages/select-label/src/components/label-classify.vue_vue_type_script_setup_true_lang.mjs +1 -0
  125. package/es/packages/select-label/src/components/label-classify2.mjs +1 -0
  126. package/es/packages/select-label/src/components/label-form-content.mjs +1 -0
  127. package/es/packages/select-label/src/components/label-form-content.vue.d.ts +4572 -0
  128. package/es/packages/select-label/src/components/label-form-content.vue_vue_type_script_setup_true_lang.mjs +1 -0
  129. package/es/packages/select-label/src/components/label-form-content2.mjs +1 -0
  130. package/es/packages/select-label/style/index.css +80 -0
  131. package/es/packages/select-label/style/index.less +85 -0
  132. package/es/packages/select-person/index.mjs +1 -1
  133. package/es/packages/select-person/index2.mjs +1 -11
  134. package/es/packages/select-person/src/SearchTree.mjs +1 -2
  135. package/es/packages/select-person/src/SearchTree.vue_vue_type_script_setup_true_lang.mjs +1 -231
  136. package/es/packages/select-person/src/SearchTree2.mjs +1 -4
  137. package/es/packages/select-person/src/SelectPerson.mjs +1 -2
  138. package/es/packages/select-person/src/SelectPerson.vue.d.ts +7 -3
  139. package/es/packages/select-person/src/SelectPerson.vue_vue_type_script_setup_true_lang.mjs +1 -892
  140. package/es/packages/select-person/src/SelectPerson2.mjs +1 -4
  141. package/es/packages/select-person/src/utils/index.mjs +1 -1
  142. package/es/packages/select-person/src/utils/index2.mjs +1 -57
  143. package/es/packages/select-person/style/index.less +229 -229
  144. package/es/src/core/create.mjs +1 -1
  145. package/es/src/core/create2.mjs +1 -8
  146. package/es/src/global/variable.mjs +1 -1
  147. package/es/src/global/variable2.mjs +1 -4
  148. package/es/src/types/index.d.ts +4 -0
  149. package/es/src/utils/clickoutside.mjs +1 -1
  150. package/es/src/utils/clickoutside2.mjs +1 -48
  151. package/es/src/utils/crypto.mjs +1 -1
  152. package/es/src/utils/crypto2.mjs +1 -25
  153. package/es/src/utils/index.d.ts +1 -1
  154. package/es/src/utils/index.mjs +1 -1
  155. package/es/src/utils/index2.mjs +1 -27
  156. package/es/src/utils/vexutils.d.ts +5 -0
  157. package/es/src/utils/vexutils.mjs +1 -3
  158. package/es/src/utils/vexutils2.mjs +1 -729
  159. package/global.d.ts +8 -8
  160. package/package.json +104 -99
  161. package/yarn-error.log +8067 -103
  162. package/CHANGELOG.md +0 -208
@@ -1,2315 +1 @@
1
- import { defineComponent, ref, reactive, useAttrs, computed, onMounted, onUnmounted, onActivated, createVNode, h, resolveComponent, createTextVNode, isVNode, nextTick, watch, openBlock, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, createCommentVNode, withDirectives, toDisplayString, unref, vShow, Fragment, mergeProps, withCtx, createBlock, renderSlot } from 'vue';
2
- import bigTableState from './bigTableState2.mjs';
3
- import bigTableProps from './bigTableProps2.mjs';
4
- import bigTableEmits from './bigTableEmits2.mjs';
5
- import { useFormat } from './hooks/useFormat2.mjs';
6
- import { useTableParse } from './hooks/useTableParse2.mjs';
7
- import { useBatchEditing } from './hooks/useBatchEditing2.mjs';
8
- import { useNestTable } from './hooks/useNestTable2.mjs';
9
- import { useEdit, comps } from './hooks/useEdit2.mjs';
10
- import { SettingsSharp, CaretDown, CaretForward, CopyOutline, SyncOutline } from '@vicons/ionicons5';
11
- import './components/NoData2.mjs';
12
- import './components/TextOverTooltip2.mjs';
13
- import './components/SvgIcon2.mjs';
14
- import { useMessage, NIcon, NTooltip, NPopconfirm, NButton, NInputGroup, NInput, NCheckbox, NCheckboxGroup, NSpace, NProgress, NDropdown, NSwitch, NPopover } from 'naive-ui';
15
- import CGrid from 'cnhis-design-vue/es/packages/grid';
16
- import vexutils from 'cnhis-design-vue/es/src/utils/vexutils';
17
- import { handleTableHeight, setTableConfig, handleGroupColums, checkMethod, setTreeGroupTitle, handleName, generateEditRender, handlerInitSearchItem, getEvaluate, getMapVal, getCandidateComponents, getageShowType, isLink, showFilter, reScrollFilterWrap, hideFilterWrap, mergeConObjFn, setDefaultFormData, handleImgArr, handleImgSrc, modalDetailImage, handleQrCodeContent, getInlineEditBtn, isCopy, setVisibleCheckAllWrap, setFilterStatus, handleTableImageSize, getRowStyle, getFooterGroup, flattenRow, intersectRow, removeCheckedDisabledRows } from './utils2.mjs';
18
- import xb_big from 'cnhis-design-vue/es/src/assets/img/xb_big.png';
19
- import qr from 'cnhis-design-vue/es/src/assets/img/qr.png';
20
- import script$1 from './components/TextOverTooltip.vue_vue_type_script_setup_true_lang.mjs';
21
- import script$2 from './components/SvgIcon.vue_vue_type_script_setup_true_lang.mjs';
22
- import script$3 from './components/NoData.vue_vue_type_script_setup_true_lang.mjs';
23
-
24
- const _hoisted_1 = {
25
- key: 0,
26
- class: "check-wrap"
27
- };
28
- const _hoisted_2 = /* @__PURE__ */ createElementVNode("span", null, "\u7CFB\u7EDF\u68C0\u6D4B\u5230\u6709\u6570\u636E\u66F4\u65B0,", -1);
29
- const _hoisted_3 = {
30
- class: "check-wrap"
31
- };
32
- const _hoisted_4 = {
33
- class: "check-wrap-title"
34
- };
35
- const _hoisted_5 = {
36
- key: 0
37
- };
38
- const _hoisted_6 = {
39
- key: 1
40
- };
41
- const _hoisted_7 = {
42
- class: "check-wrap"
43
- };
44
- const _hoisted_8 = {
45
- class: "check-wrap-title"
46
- };
47
- const _hoisted_9 = {
48
- key: 0
49
- };
50
- const _hoisted_10 = /* @__PURE__ */ createElementVNode("i", {
51
- class: "disabled-checked-tips"
52
- }, null, -1);
53
- const _hoisted_11 = ["innerHTML"];
54
- const _hoisted_12 = ["innerHTML"];
55
- const _hoisted_13 = {
56
- class: "refresh-row"
57
- };
58
- function _isSlot(s) {
59
- return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
60
- }
61
- var script = /* @__PURE__ */ defineComponent({
62
- name: "BigTable",
63
- props: bigTableProps,
64
- emits: bigTableEmits,
65
- setup(__props, {
66
- expose,
67
- emit
68
- }) {
69
- const props = __props;
70
- let _hideAllWrap = null;
71
- let _beforeSearchConvert = [];
72
- let addInlineEditPrimaryKey = "";
73
- const GROUP_TITLE_KEY = "group-show-title";
74
- useMessage();
75
- const xGrid = ref(null);
76
- const copyState = vexutils.clone(bigTableState, true);
77
- const state = reactive(copyState);
78
- const {
79
- formatData,
80
- htmlToText,
81
- getBtnStyle
82
- } = useFormat(state);
83
- const {
84
- imgs2imgArr,
85
- parseDurationValue,
86
- parseCombinationValue,
87
- formatFieldText
88
- } = useTableParse(formatData);
89
- const {
90
- allSelectedLength,
91
- checkOperateCurrentTable,
92
- setRowStatus,
93
- resetBatchOperationRowStatus,
94
- checkListFormUnionSettingParamsList,
95
- handleClickCancelBtnByInline,
96
- setAllRowInlineStatus,
97
- hideSelectCloumns,
98
- handleEditFormLength,
99
- resetOperationRowStatus,
100
- recordClickBtnInfo,
101
- getInlineOpreateRow
102
- } = useBatchEditing(props, state, emit, xGrid);
103
- const {
104
- initEditTable,
105
- activeMethod,
106
- deleteRow,
107
- onClickSelectTable,
108
- onFormChange,
109
- getDefaultValue
110
- } = useEdit(props, state, emit, xGrid);
111
- const {
112
- isAboutNestTable,
113
- isExpandTable,
114
- handleRowId,
115
- toggleExpandMethod,
116
- loadExpandMethod,
117
- nestHandleClickRow
118
- } = useNestTable(props, state, emit);
119
- const attr = useAttrs();
120
- const currentCheckedKeys = computed(() => {
121
- return state.checkedRows?.map((row) => row[props.primaryKey]) || [];
122
- });
123
- const visibleCancelCheckAllBtn = computed(() => {
124
- let isCurrentPageAllCheck = state.currentPageSelectedLength === state.curAbleCheckedLen;
125
- let isMaxChecked = currentCheckedKeys.value.length === props.maxCheckSize;
126
- let isCheckedTotal = currentCheckedKeys.value.length === props.pageVO.total;
127
- return isMaxChecked || !isCurrentPageAllCheck || isCheckedTotal;
128
- });
129
- const singleCheckedKey = computed(() => {
130
- const checkedKeys = currentCheckedKeys.value || [];
131
- return checkedKeys.length == 1 ? checkedKeys[0] : "";
132
- });
133
- const tableNoSetting = computed(() => {
134
- let {
135
- noSetting
136
- } = getOtherConfigInit() || {};
137
- return noSetting || props.showSettings?.hideSettingBtn == 1;
138
- });
139
- const isScanMultiTable = computed(() => {
140
- return props.columnConfig?.isScanMultiTable;
141
- });
142
- const configuration = computed(() => {
143
- return {
144
- userInfo: props.userInfo || {},
145
- sysImageSize: props.sysImageSize || {}
146
- };
147
- });
148
- const handlePrimaryKey = computed(() => {
149
- return state.isTree > 0 ? props.primaryKey || "theUniqueKey" : "theUniqueKey";
150
- });
151
- const handleSeqConfig = computed(() => {
152
- if (props.isNestTable)
153
- return {
154
- startIndex: 0
155
- };
156
- if (props.isBatchEditing) {
157
- return {
158
- startIndex: 0
159
- };
160
- }
161
- let startIndex = (props.pageVO.pageIndex - 1) * props.pageVO.pageSize;
162
- return {
163
- startIndex: startIndex < 0 ? 0 : startIndex
164
- };
165
- });
166
- const treeConfig = computed(() => {
167
- let result = null;
168
- switch (Number(state.isTree)) {
169
- case 1:
170
- case 3:
171
- result = {
172
- children: "childrenList",
173
- accordion: state.openOnly > 0,
174
- reserve: true
175
- };
176
- break;
177
- case 2:
178
- result = {
179
- lazy: true,
180
- reserve: true,
181
- children: "childrenList",
182
- hasChild: "hasChildren",
183
- loadMethod: loadChildrenMethod,
184
- accordion: state.openOnly > 0
185
- };
186
- break;
187
- }
188
- return result;
189
- });
190
- const hideAllWrap = (e) => {
191
- const path = e.path || e.composedPath && e.composedPath();
192
- const noWrap = (className) => {
193
- return !path.some((p) => {
194
- return p.className && p.className.includes && p.className.includes(className);
195
- });
196
- };
197
- let notFilterWrap = noWrap("big-table-filter-wrap");
198
- if (notFilterWrap) {
199
- hideFilterWrap(state, props);
200
- }
201
- };
202
- const bindDocumentClick = () => {
203
- _hideAllWrap = hideAllWrap.bind(this);
204
- window.document.addEventListener("click", _hideAllWrap, true);
205
- };
206
- const unBindDocumentClick = () => {
207
- window.document.removeEventListener("click", _hideAllWrap, true);
208
- };
209
- onMounted(() => {
210
- bindDocumentClick();
211
- state.tableHeight = handleTableHeight(state, props) || "auto";
212
- if (!props.isNestTable)
213
- return;
214
- loadColumn(props.columnConfig);
215
- loadData(props.data);
216
- });
217
- onUnmounted(() => {
218
- unBindDocumentClick();
219
- });
220
- onActivated(() => {
221
- removeInsert();
222
- });
223
- const removeInsert = async () => {
224
- if (state.isTree != 0)
225
- return false;
226
- const vxeTable = xGrid.value;
227
- let {
228
- tableData
229
- } = vxeTable.getTableData();
230
- if (tableData && tableData.length) {
231
- tableData.forEach((row) => {
232
- if (row?.__isInsertRow) {
233
- vxeTable.remove(row);
234
- }
235
- });
236
- }
237
- if (!state.originFormatList?.length)
238
- return;
239
- await vxeTable.loadData(state.originFormatList);
240
- resetBatchOperationRowStatus();
241
- };
242
- const loadColumn = (config) => {
243
- setTableConfig(config, state);
244
- let columns = formatColumns(config);
245
- columns = handleGroupColums(columns, props);
246
- xGrid.value && xGrid.value.reloadColumn(columns);
247
- setGroupTreeExpand();
248
- resetTableInlineEditStatus();
249
- };
250
- const loadData = async (data) => {
251
- state.isShowEmpty = !data?.length;
252
- const list = JSON.parse(JSON.stringify(data));
253
- let table = xGrid.value;
254
- if (!table)
255
- return;
256
- state.checkedRows = [];
257
- let formatList = setChecklist(list);
258
- state.originFormatList = formatList;
259
- setGroupTitleToFristColumnFieldData(formatList);
260
- state.curAbleCheckedLen = list.filter((item) => checkMethod({
261
- row: item
262
- })).length;
263
- if (!props.isNestTable) {
264
- await handleFormTheUniqueKey();
265
- }
266
- formatList = formatList.map((v) => {
267
- return {
268
- ...v,
269
- selectTableShow: false,
270
- selectTableDisable: false
271
- };
272
- });
273
- await table.loadData(formatList);
274
- table.setCurrentRow({});
275
- setCurrentPageRowChecked();
276
- setGroupTreeExpand();
277
- resetTableInlineEditStatus();
278
- };
279
- const setGroupTitleToFristColumnFieldData = (formatList) => {
280
- if (state.isTree != 3)
281
- return;
282
- let table = xGrid.value;
283
- let key = table.getTableColumn().tableColumn?.find((column) => {
284
- return !!column.property;
285
- }).property;
286
- setTreeGroupTitle(formatList, key, GROUP_TITLE_KEY);
287
- };
288
- const setCurrentPageRowChecked = () => {
289
- let table = xGrid.value;
290
- if (!table)
291
- return;
292
- let currentPageTableData = table.getTableData()?.tableData;
293
- let currentPageSelectedRows = currentPageTableData.filter((row) => {
294
- if (props.primaryKey) {
295
- return currentCheckedKeys.value.includes(row[props.primaryKey]);
296
- }
297
- return row.checked;
298
- });
299
- setCurrentCheckedLength();
300
- if (!currentPageSelectedRows || !currentPageSelectedRows.length) {
301
- table.setAllCheckboxRow(false);
302
- return;
303
- }
304
- table.setCheckboxRow(currentPageSelectedRows, true);
305
- };
306
- const setCurrentCheckedLength = () => {
307
- let table = xGrid.value;
308
- let currentPageTableData = table.getTableData().fullData;
309
- let currentPageSelectedRows = currentPageTableData.filter((row) => {
310
- return currentCheckedKeys.value.includes(row[props.primaryKey]) || row.checked;
311
- });
312
- state.currentPageSelectedLength = currentPageSelectedRows.length;
313
- };
314
- const formatColumns = (map) => {
315
- let {
316
- selectType
317
- } = getOtherConfigInit() || {};
318
- let {
319
- isBatchSelect,
320
- fieldList = [],
321
- showButtonTop,
322
- isScanMultiTable: isScanMultiTable2,
323
- isEdit = false,
324
- editConfig = {}
325
- } = map;
326
- if (isEdit) {
327
- state.editConfig = Object.assign(state.editConfig, editConfig, {});
328
- }
329
- if (selectType) {
330
- isBatchSelect = 1;
331
- }
332
- selectType = selectType || "checkbox";
333
- let {
334
- listType
335
- } = props.tableOptions;
336
- if (listType == "scanList") {
337
- selectType = "radio";
338
- }
339
- state.selectType = selectType;
340
- let tableHeight = props.styleSetting?.tableHeight || "table-simple";
341
- let checkMinWidth = state.checkWidth[tableHeight] || "30";
342
- const checkboxSlot = {
343
- default: (data) => {
344
- return checkMethod(data) ? null : createVNode(NTooltip, {
345
- "placement": "right",
346
- "trigger": "hover"
347
- }, {
348
- default: () => data.row.forbiddenBatchSelectReason,
349
- trigger: () => createVNode("i", {
350
- "class": "disabled-checked-tips"
351
- }, null)
352
- });
353
- }
354
- };
355
- let checkVisible = isBatchSelect == 1 && !props.isNestTable && !isScanMultiTable2 || false;
356
- let columns = [{
357
- fixed: "left",
358
- align: "center",
359
- visible: isScanMultiTable2 || false,
360
- width: "60",
361
- slots: {
362
- header: () => "\u64CD\u4F5C",
363
- default: scanMultiOperate
364
- }
365
- }, {
366
- type: "seq",
367
- fixed: props.isNestTable ? "" : "left",
368
- align: "center",
369
- resizable: true,
370
- width: "34",
371
- showOverflow: true,
372
- slots: {
373
- header: () => {
374
- return [tableNoSetting.value ? null : createVNode(NIcon, {
375
- "size": "14",
376
- "color": "#777",
377
- "component": SettingsSharp,
378
- "onClick": () => showDrawer()
379
- }, null)];
380
- }
381
- }
382
- }, {
383
- type: selectType,
384
- fixed: props.isNestTable ? "" : "left",
385
- align: "center",
386
- visible: checkVisible,
387
- resizable: false,
388
- width: checkMinWidth,
389
- slots: selectType === "checkbox" ? checkboxSlot : null,
390
- showOverflow: true
391
- }];
392
- const currentColumns = fieldList.map((item, index) => {
393
- let filterField = item?.fieldSetting?.mapping?.type === "manual" && item.isMerge != 1;
394
- let notParticipatingSort = item?.fieldSetting?.notParticipatingSort || "";
395
- let fixed = isAboutNestTable.value ? "" : item.isFixed ? item.isFixed == 1 ? "left" : "right" : "";
396
- let sortable = props.isNestTable ? false : !filterField && item.isSort == 1 && notParticipatingSort != 1 && item.isMerge != 1;
397
- let treeNode = props.isNestTable ? false : state.isTree != 0 ? index === 0 : false;
398
- let type = index === 0 && props.showNestTable ? "expand" : "";
399
- if (isScanMultiTable2) {
400
- fixed = "";
401
- sortable = false;
402
- treeNode = false;
403
- type = "";
404
- }
405
- const col = Object.assign(item, {
406
- visible: item.columnName == "operatorColumn" ? showButtonTop == 0 : item.isShow == 1,
407
- field: item.columnName,
408
- title: handleName(item, "title"),
409
- minWidth: item.colWidth,
410
- fixed,
411
- sortable,
412
- headerClassName: "mycolumn",
413
- showOverflow: "title",
414
- treeNode,
415
- type,
416
- slots: {
417
- edit: (params) => {
418
- if (isEdit && item.isEdit && item.columnName !== "operatorColumn") {
419
- return formatterEdit(params, item);
420
- } else {
421
- return createVNode("span", null, [params.row[item.columnName]]);
422
- }
423
- },
424
- default: (params) => {
425
- if (!isEdit || item.columnName === "operatorColumn" || !item.isEdit) {
426
- return formatter(params, item);
427
- } else if (isEdit && item.isEdit && item.checkEditStatus && item.checkEditStatus(params)) {
428
- return formatterEdit(params, item);
429
- } else {
430
- return createVNode("span", null, [getDefaultValue(params, item)]);
431
- }
432
- }
433
- },
434
- editRender: isEdit ? {} : generateEditRender(item)
435
- });
436
- if (filterField && !props.isNestTable && !isScanMultiTable2) {
437
- state.filterFields[item.columnName] = Object.assign({}, vexutils.clone(item, true), {
438
- visible: false,
439
- left: "initial",
440
- right: "initial",
441
- top: "initial",
442
- indeterminate: false,
443
- checkAll: false,
444
- searchFilterText: "",
445
- searchFilterCONVERT: [],
446
- filterSort: ""
447
- });
448
- let field = state.filterFields[item.columnName];
449
- handlerInitSearchItem([field]);
450
- col.slots.header = formatterHeader(item);
451
- } else {
452
- col.slots.header = toolTipTitle(item);
453
- }
454
- if (!isScanMultiTable2) {
455
- col.slots.footer = "tooltip_footer";
456
- }
457
- if (props.showNestTable && state.isTree == 0 && props.curNestColumnConfig?.isTree == 0) {
458
- col.slots.content = "nest_table_content";
459
- }
460
- return col;
461
- });
462
- columns.push(...currentColumns);
463
- state.columnLen = currentColumns.filter((item) => item.visible).length;
464
- return columns;
465
- };
466
- const formatterEdit = (params, col) => {
467
- let {
468
- row,
469
- column,
470
- $rowIndex,
471
- rowIndex
472
- } = params;
473
- let formType = column.formType || col.formType || "";
474
- let formatMap = column.formatMap || col.formatMap || null;
475
- if (!formType)
476
- return null;
477
- if (formType === "custom") {
478
- return col.slotFn(params);
479
- }
480
- const Comp = comps[formType] || "";
481
- if (!Comp)
482
- return null;
483
- const propsData = {
484
- col,
485
- row,
486
- index: $rowIndex,
487
- type: formType,
488
- onFormChange
489
- };
490
- if (formType === "date") {
491
- propsData.formattedValue = row[col.columnName];
492
- } else if (formatMap) {
493
- propsData.value = row[formatMap.value];
494
- } else {
495
- propsData.value = row[col.columnName];
496
- }
497
- if (formType === "select") {
498
- propsData.onSetOptions = (options) => row[`${col.columnName}_options`] = options;
499
- }
500
- return h(Comp, propsData);
501
- };
502
- const getEditBtn = (row, col, index) => {
503
- return col.tileBtnList?.map((btn) => {
504
- if (btn.settingObj[0].trigger_type === "DELETE") {
505
- return createVNode(NPopconfirm, {
506
- "onPositiveClick": () => deleteRow(row, col, index)
507
- }, {
508
- trigger: () => createVNode(NButton, {
509
- "color": btn.settingObj[0].color || "#999",
510
- "text": true
511
- }, {
512
- default: () => [btn.name]
513
- }),
514
- default: () => "\u662F\u5426\u786E\u8BA4\u5220\u9664\uFF1F"
515
- });
516
- } else {
517
- return null;
518
- }
519
- });
520
- };
521
- const formatter = (params, col) => {
522
- let {
523
- row,
524
- column,
525
- $rowIndex
526
- } = params;
527
- let own = column?._own || column?.own || col;
528
- let attrType = own?.attrType || "";
529
- let formUnionItem = showEditForm(row, column, $rowIndex);
530
- if (formUnionItem) {
531
- let dynamicProps = initBatchDynamicProps(formUnionItem, row, column);
532
- if (dynamicProps) {
533
- emit("setWaitEditKeys", column.property);
534
- return null;
535
- }
536
- }
537
- if (vexutils.has(row, GROUP_TITLE_KEY)) {
538
- return row[GROUP_TITLE_KEY];
539
- }
540
- if (attrType == "PICTURE" || attrType == "HEADPORTRAIT") {
541
- return getPicture(row, own, attrType);
542
- }
543
- if (attrType == "COLOR") {
544
- return getColor(row, own);
545
- }
546
- if (attrType == "EVALUATE") {
547
- return getEvaluate(row, own);
548
- }
549
- if (attrType == "MAP") {
550
- return getMapVal(row, own);
551
- }
552
- if (attrType == "DATE" || attrType == "TASKDATE") {
553
- return getDate(row, own);
554
- }
555
- if (attrType == "PERCENTAGE") {
556
- return getPercentage(row, own);
557
- }
558
- if (attrType == "VIDEO") {
559
- return getvideoList(row, own);
560
- }
561
- if (attrType == "CANDIDATE_COMPONENTS") {
562
- return getCandidateComponents(row, own);
563
- }
564
- if (attrType == "AGE") {
565
- return getageShowType(row, own);
566
- }
567
- if (attrType === "COUNTDOWN") {
568
- return createVNode(NTooltip, null, {
569
- trigger: () => createVNode("span", {
570
- "innerHTML": row[own.columnName + "_countdown"] || ""
571
- }, null),
572
- default: () => row[own.columnName + "_countdownTip"]
573
- });
574
- }
575
- if (attrType === "DURATION") {
576
- const value = row[own.columnName];
577
- const duration = own?.fieldSetting?.duration;
578
- return parseDurationValue(value, duration);
579
- }
580
- if (attrType === "COMBINATION") {
581
- const value = row[own.columnName];
582
- const params2 = own.fieldSetting || {};
583
- const data = parseCombinationValue(value, params2);
584
- return data ? [createVNode("span", {
585
- "title": data
586
- }, [data])] : "";
587
- }
588
- if (attrType === "PASSWORD") {
589
- const value = row[own.columnName];
590
- return [createVNode(resolveComponent("password-com"), {
591
- "value": value,
592
- "styleSetting": props.styleSetting
593
- }, null)];
594
- }
595
- if (attrType === "QR_CODE") {
596
- return getOrCode(row, own);
597
- }
598
- if (column.property === "operatorColumn") {
599
- if (props.columnConfig.isEdit && !row.initRow) {
600
- return getEditBtn(row, col, $rowIndex);
601
- }
602
- if (state.showButtonTop != 0 || props.isBatchEditing)
603
- return;
604
- const inlineBtnList = generateInlineBtnList(row);
605
- const tileBtnList = getTileBtnList(row, $rowIndex);
606
- const foldBtnList = getFoldBtnList(row, $rowIndex);
607
- return [createVNode("span", null, [tileBtnList, foldBtnList, inlineBtnList])];
608
- }
609
- if (isLink(props, own, row) && !isScanMultiTable.value) {
610
- if (own.btnLinkSwitch) {
611
- let disabled = false;
612
- let curBtn = row.btnList?.find((v) => v.name == own.columnName);
613
- if (curBtn && "authorizedMark" in curBtn) {
614
- if (!curBtn.authorizedMark) {
615
- disabled = true;
616
- }
617
- }
618
- return getBtnLinkSwitch(row, own, disabled, $rowIndex);
619
- } else {
620
- return getField(row, own, $rowIndex, true);
621
- }
622
- } else {
623
- return getField(row, own, $rowIndex, false);
624
- }
625
- };
626
- const formatterHeader = (item) => {
627
- let field = state.filterFields[item.columnName];
628
- return () => {
629
- let _slot, _slot2;
630
- return [createVNode("div", {
631
- "class": "filter-box"
632
- }, [toolTipTitle(item, "format"), createVNode("i", {
633
- "class": ["vxe-filter--icon", "vxe-filter--btn", "vxe-icon--funnel", {
634
- active: field.visible || field.filterSort
635
- }, {
636
- checked: field.CONVERT?.length
637
- }],
638
- "onClick": (event) => showFilter(field, item.columnName, event, props, state)
639
- }, null), field.visible ? createVNode(resolveComponent("teleport"), {
640
- "to": props.filterDomPortal
641
- }, {
642
- default: () => [createVNode("div", {
643
- "class": "big-table-filter-wrap",
644
- "style": {
645
- left: field.left,
646
- right: field.right,
647
- top: field.top,
648
- width: state.filterWidth + state.distance + "px"
649
- }
650
- }, [createVNode("div", {
651
- "class": "sort-list",
652
- "style": {
653
- display: field.isSort ? "block" : "none"
654
- }
655
- }, [createVNode("div", {
656
- "class": ["sort-item", {
657
- active: field.filterSort === "asc"
658
- }],
659
- "onClick": () => handlefilterBoxClickSort("asc", field)
660
- }, [createVNode("i", {
661
- "class": "sort-icon sort-icon-asc"
662
- }, null), createVNode("span", {
663
- "class": "sort-text"
664
- }, [createTextVNode("\u5347\u5E8F A to Z")])]), createVNode("div", {
665
- "class": ["sort-item", {
666
- active: field.filterSort === "desc"
667
- }],
668
- "onClick": () => handlefilterBoxClickSort("desc", field)
669
- }, [createVNode("i", {
670
- "class": "sort-icon sort-icon-asc"
671
- }, null), createVNode("span", {
672
- "class": "sort-text"
673
- }, [createTextVNode("\u964D\u5E8F Z to A")])])]), createVNode("div", {
674
- "class": "filter-header"
675
- }, [createVNode("i", {
676
- "class": "filter-header-icon vxe-filter--btn vxe-icon--funnel"
677
- }, null), createVNode("span", {
678
- "class": "filter-header-text"
679
- }, [createTextVNode("\u7B5B\u9009")])]), field.setting.showSetting.length > 5 ? createVNode("div", {
680
- "class": "checkbox-wrap checkbox-wrap--search"
681
- }, [createVNode("div", {
682
- "class": "check-search-wrap"
683
- }, [createVNode(NInputGroup, null, {
684
- default: () => [createVNode(NInput, {
685
- "style": {
686
- width: "50%"
687
- },
688
- "placeholder": "\u5B57\u6BB5\u641C\u7D22",
689
- "class": "check-seach-input"
690
- }, null), createVNode(NButton, {
691
- "type": "primary",
692
- "onClick": (val) => {
693
- handleFilterSeach(val, field);
694
- }
695
- }, {
696
- default: () => [createTextVNode("\u641C\u7D22")]
697
- })]
698
- })])]) : "", createVNode("div", {
699
- "class": "checkbox-box"
700
- }, [createVNode("div", {
701
- "class": "checkbox-wrap js-checkbox-wrap",
702
- "style": {
703
- height: state.filterHeight + state.distance + "px"
704
- }
705
- }, [!field.searchFilterText ? createVNode("div", {
706
- "class": "ant-checkbox-group"
707
- }, [createVNode(NCheckbox, {
708
- "indeterminate": field.indeterminate,
709
- "checked": field.checkAll,
710
- "onUpdateChecked": (val) => {
711
- handleFilterChangeAll(val, field);
712
- }
713
- }, {
714
- default: () => [createTextVNode("\u5168\u9009")]
715
- })]) : "", !field.searchFilterText ? createVNode(NCheckboxGroup, {
716
- "value": field.CONVERT,
717
- "onUpdateValue": (val) => handleFilterChange(val, item.columnName, field)
718
- }, {
719
- default: () => [createVNode(NSpace, {
720
- "item-style": "display: flex;"
721
- }, _isSlot(_slot = field.setting.showSetting.map((item2) => {
722
- return createVNode(NCheckbox, {
723
- "value": item2.value,
724
- "label": item2.label
725
- }, null);
726
- })) ? _slot : {
727
- default: () => [_slot]
728
- })]
729
- }) : createVNode(NCheckboxGroup, {
730
- "value": field.searchFilterCONVERT,
731
- "onUpdateValue": (val) => handleFilterSearchChange(val, item.columnName, field)
732
- }, {
733
- default: () => [createVNode(NSpace, {
734
- "item-style": "display: flex;"
735
- }, _isSlot(_slot2 = field.setting.showSetting.filter((item2) => {
736
- if (!field.searchFilterText)
737
- return item2;
738
- let reg = new RegExp(field.searchFilterText);
739
- return reg.test(item2.label);
740
- }).map((item2) => {
741
- return createVNode(NCheckbox, {
742
- "value": item2.value,
743
- "label": item2.label
744
- }, null);
745
- })) ? _slot2 : {
746
- default: () => [_slot2]
747
- })]
748
- })])]), createVNode("div", {
749
- "class": "checkbox-btn-wrap",
750
- "style": {
751
- justifyContent: field.CONVERT.length ? "space-between" : "flex-end"
752
- }
753
- }, [field.CONVERT.length ? createVNode("div", {
754
- "class": "checkbox-btn-status"
755
- }, [createVNode("span", null, [createTextVNode("\u5DF2\u9009\u62E9"), field.CONVERT.length, createTextVNode("\u9879")]), createVNode(NButton, {
756
- "class": "checkbox-btn checkbox-btn-clear",
757
- "text": true,
758
- "onClick": () => handleFilterClearAll(field)
759
- }, {
760
- default: () => [createTextVNode("\u6E05\u7A7A")]
761
- })]) : null, createVNode("div", null, [createVNode(NButton, {
762
- "class": "checkbox-btn",
763
- "onClick": () => handleCancelFilter()
764
- }, {
765
- default: () => [createTextVNode("\u53D6\u6D88")]
766
- }), createVNode(NButton, {
767
- "class": "checkbox-btn",
768
- "type": "primary",
769
- "onClick": () => handleFilter(field)
770
- }, {
771
- default: () => [createTextVNode("\u786E\u5B9A")]
772
- })])]), createVNode("div", {
773
- "class": "arrows-icon"
774
- }, null)])]
775
- }) : ""])];
776
- };
777
- };
778
- const handlefilterBoxClickSort = (sort, field) => {
779
- if (field.filterSort === sort) {
780
- sort = null;
781
- } else {
782
- xGrid.value.clearSort();
783
- }
784
- field.filterSort = sort;
785
- emit("sortChange", {
786
- prop: field.columnName,
787
- order: sort
788
- });
789
- };
790
- const handleFilterSeach = (val, field) => {
791
- field.searchFilterText = val;
792
- if (val === "") {
793
- field.checkAll = field.CONVERT.length === field.setting.showSetting.length;
794
- field.indeterminate = !!field.CONVERT.length && field.CONVERT.length !== field.setting.showSetting.length;
795
- return;
796
- }
797
- field.searchFilterCONVERT = field.setting.showSetting.filter((item) => {
798
- return field.searchFilterText === item.label && field.CONVERT.includes(item.value);
799
- }).map((item) => item.value);
800
- _beforeSearchConvert = field.searchFilterCONVERT;
801
- };
802
- const handleFilterChangeAll = (e, field) => {
803
- reScrollFilterWrap();
804
- let checked = e.target.checked;
805
- field.indeterminate = false;
806
- field.checkAll = checked;
807
- state.filterFields[field.columnName].CONVERT = checked ? field.setting.showSetting.map((item) => {
808
- return item.value;
809
- }) : [];
810
- };
811
- const handleFilterChange = (value, name, field) => {
812
- reScrollFilterWrap();
813
- state.filterFields[name].CONVERT = value;
814
- field.checkAll = value.length === field.setting.showSetting.length;
815
- field.indeterminate = !!value.length && value.length !== field.setting.showSetting.length;
816
- };
817
- const handleFilterSearchChange = (value, columnName, field) => {
818
- reScrollFilterWrap();
819
- let isAdd = _beforeSearchConvert.length < value.length;
820
- if (isAdd) {
821
- let addItems = value.filter((item) => {
822
- return !_beforeSearchConvert.includes(item);
823
- });
824
- state.filterFields[columnName].CONVERT.push(...addItems);
825
- } else {
826
- let removeItems = _beforeSearchConvert.filter((item) => {
827
- return !value.includes(item);
828
- });
829
- state.filterFields[columnName].CONVERT = state.filterFields[columnName].CONVERT.filter((item) => {
830
- return !removeItems.includes(item);
831
- });
832
- }
833
- field.searchFilterCONVERT = value;
834
- _beforeSearchConvert = vexutils.clone(value, true);
835
- };
836
- const handleFilterClearAll = (field) => {
837
- field.indeterminate = false;
838
- field.checkAll = false;
839
- state.filterFields[field.columnName].CONVERT = [];
840
- if (field.searchFilterCONVERT) {
841
- state.filterFields[field.columnName].searchFilterCONVERT = [];
842
- }
843
- handleFilter(field);
844
- };
845
- const handleCancelFilter = () => {
846
- hideFilterWrap(state, props);
847
- };
848
- const handleFilter = (field) => {
849
- let conObj = mergeConObjFn(state, props);
850
- emit("onSave", conObj, false, [], [], {
851
- isBigTable: true
852
- });
853
- field.visible = false;
854
- };
855
- const setGroupTreeExpand = () => {
856
- let isExpand = state.isTree == 1 && state.isExpand == 1 && state.total < 1001;
857
- if (state.isTree == 3 || isExpand) {
858
- let table = xGrid.value;
859
- nextTick(() => {
860
- table.setAllTreeExpand(true);
861
- });
862
- }
863
- };
864
- const resetTableInlineEditStatus = () => {
865
- if (!checkOperateCurrentTable())
866
- return false;
867
- handleClickCancelBtnByInline();
868
- };
869
- const toolTipTitle = (item, type) => {
870
- let name = item.formTitle || item.alias || item.title;
871
- let tooltipTitle = item.alias;
872
- let isAlias = false;
873
- if (props.tableOptions?.dataSourceType == "guage") {
874
- tooltipTitle = item.alias || item.title;
875
- }
876
- if (name && tooltipTitle && name !== tooltipTitle) {
877
- isAlias = !!tooltipTitle;
878
- }
879
- if (type === "format")
880
- return createVNode(script$1, {
881
- "tooltipTitle": tooltipTitle,
882
- "content": name,
883
- "isAlias": isAlias
884
- }, null);
885
- return () => {
886
- return [createVNode(script$1, {
887
- "tooltipTitle": tooltipTitle,
888
- "content": name,
889
- "isAlias": isAlias
890
- }, {
891
- default: () => [item.treeNode && state.isTree == 1 ? createVNode(NIcon, {
892
- "component": state.isExpand && state.total < 1001 ? CaretDown : CaretForward,
893
- "onClick": (e) => triggerExpand(e, state.isExpand)
894
- }, null) : ""]
895
- })];
896
- };
897
- };
898
- const triggerExpand = (e, isExpand) => {
899
- e.preventDefault();
900
- e.stopPropagation();
901
- let table = xGrid.value;
902
- if (state.total > 1e3) {
903
- window.$message.warning("\u5F53\u524D\u6570\u636E\u91CF\u8D85\u8FC71000\u6761\uFF0C\u65E0\u6CD5\u5168\u90E8\u5C55\u5F00\uFF01");
904
- } else {
905
- state.isExpand = !isExpand;
906
- if (isExpand) {
907
- table.clearTreeExpand();
908
- } else {
909
- emit("triggerSpinning", true);
910
- setTimeout(() => {
911
- table.setAllTreeExpand(true).then(() => {
912
- emit("triggerSpinning", false);
913
- });
914
- }, 100);
915
- }
916
- }
917
- };
918
- const getOtherConfigInit = () => {
919
- let tableOptions = attr?.tableOptions || props.tableOptions || {};
920
- const config = tableOptions?.config || {};
921
- return config || void 0;
922
- };
923
- const refreshTable = () => {
924
- state.hasRefresh = false;
925
- emit("refreshTable");
926
- };
927
- const handleCheckAll = () => {
928
- if (props.pageVO.total > props.maxCheckSize) {
929
- let text = `\u5F53\u524D\u5217\u8868\u5171${props.pageVO.total}\u6761\u6570\u636E\uFF0C\u4E3A\u4E86\u786E\u4FDD\u7CFB\u7EDF\u5B89\u5168\uFF0C\u53EA\u80FD\u5355\u6B21\u64CD\u4F5C${props.maxCheckSize}\u6761\uFF0C\u4F60\u53EF\u4EE5\u901A\u8FC7\u9AD8\u7EA7\u7B5B\u9009\u8FC7\u6EE4\u518D\u6B21\u5C1D\u8BD5`;
930
- window.$message.warning(text);
931
- }
932
- emit("selectionChangeAll");
933
- };
934
- const handleCancelAllCheck = () => {
935
- emit("selectionChangeAllCancel");
936
- };
937
- const getRowClassName = () => {
938
- return state.selectType === "checkbox" ? ({
939
- row
940
- }) => {
941
- const k = singleCheckedKey.value;
942
- return k && k === row[props.primaryKey] ? "single--checked" : "";
943
- } : () => {
944
- };
945
- };
946
- const footerMethod = ({
947
- columns,
948
- data
949
- }) => {
950
- if (!props.groupCountFields || !props.groupCountFields.length) {
951
- return [columns.map((column, index) => {
952
- if (index === 0) {
953
- return null;
954
- }
955
- return null;
956
- })];
957
- }
958
- let groupText = getFooterGroup(columns, data, props);
959
- let groupColumns = columns.map((column, index) => {
960
- if (index === 0) {
961
- return null;
962
- } else if (index === 1) {
963
- return groupText;
964
- }
965
- return null;
966
- });
967
- emit("setGroupText", groupText);
968
- state.groupText = groupText;
969
- return [groupColumns];
970
- };
971
- const loadChildrenMethod = ({
972
- row
973
- }) => {
974
- const fixCheckedStatus = (children) => {
975
- const needFix = state.selectType == "checkbox" && row.checked && children.findIndex((item) => !checkMethod({
976
- row: item
977
- })) >= 0;
978
- if (needFix) {
979
- needFix && (row.checked = false);
980
- setTimeout(() => {
981
- xGrid.value?.setCheckboxRow(row, true);
982
- }, 0);
983
- }
984
- };
985
- if (state.isTree == 2) {
986
- const {
987
- tableId,
988
- page,
989
- pageSize,
990
- autograph,
991
- isTreeOrList
992
- } = props.tableParams;
993
- ({
994
- levelLazyLoadPrimaryKeyValue: row[props.primaryKey],
995
- tableId,
996
- page,
997
- pageSize,
998
- autograph,
999
- isTreeOrList
1000
- });
1001
- return getAsyncTableData().then(({
1002
- data
1003
- }) => {
1004
- if (data.result == "SUCCESS") {
1005
- let cloneRows = JSON.parse(JSON.stringify(data.map.rows));
1006
- let {
1007
- fieldList,
1008
- btnList,
1009
- showButtonTop
1010
- } = props.columnConfig;
1011
- let rowNodes = formatData({
1012
- tableList: data.map.rows,
1013
- fieldList,
1014
- btnList,
1015
- oldtableData: cloneRows,
1016
- showButtonTop
1017
- });
1018
- rowNodes = setChecklist(rowNodes);
1019
- emit("refreshOldTableData", cloneRows);
1020
- fixCheckedStatus(rowNodes);
1021
- return rowNodes;
1022
- }
1023
- });
1024
- } else {
1025
- fixCheckedStatus(row.childrenList);
1026
- return Promise.resolve(row.childrenList);
1027
- }
1028
- };
1029
- const getAsyncTableData = (params) => {
1030
- return Promise.resolve();
1031
- };
1032
- const setChecklist = (list) => {
1033
- return list.map((i) => {
1034
- i["checked"] = i.checked || false;
1035
- if (state.isTree == 2) {
1036
- const treeNodeKey = state.levelLazyLoadSetting.childCountKey;
1037
- const {
1038
- isTreeOrList = ""
1039
- } = props.tableParams;
1040
- if (treeNodeKey && Number(i[treeNodeKey]) > 0) {
1041
- isTreeOrList != "LIST" && (i["hasChildren"] = true);
1042
- }
1043
- }
1044
- if (i.childrenList && i.childrenList.length) {
1045
- i.childrenList = setChecklist(i.childrenList);
1046
- }
1047
- Object.keys(i).map((item) => {
1048
- if (i[item] && typeof i[item] == "string" && i[item].indexOf("<p") !== -1 && item.indexOf("_temp_" + i.id) === -1) {
1049
- i[item + "_temp_" + i.id] = i[item] || "";
1050
- i[item] = htmlToText(i[item]);
1051
- }
1052
- });
1053
- i.checked && state.checkedRows.push(i);
1054
- return {
1055
- ...i
1056
- };
1057
- });
1058
- };
1059
- const colspanMethod = ({
1060
- row,
1061
- column,
1062
- _rowIndex,
1063
- _columnIndex
1064
- }) => {
1065
- if (state.isTree != 3) {
1066
- return {
1067
- rowspan: 1,
1068
- colspan: 1
1069
- };
1070
- }
1071
- let xTree = xGrid.value;
1072
- let fristKeyIndex = xTree.getTableColumn().tableColumn.findIndex((column2) => {
1073
- return !!column2.property;
1074
- });
1075
- let colspan = xTree.getTableColumn().tableColumn.length - fristKeyIndex;
1076
- if (row.childrenList && row.childrenList.length && xTree) {
1077
- if (column.treeNode) {
1078
- return {
1079
- rowspan: 1,
1080
- colspan
1081
- };
1082
- } else if (!column.property) {
1083
- return {
1084
- rowspan: 1,
1085
- colspan: 1
1086
- };
1087
- } else {
1088
- return {
1089
- rowspan: 0,
1090
- colspan: 0
1091
- };
1092
- }
1093
- }
1094
- };
1095
- const footerRowspanMethod = (obj) => {
1096
- if (!props.groupCountFields || !props.groupCountFields.length)
1097
- return {
1098
- rowspan: 1,
1099
- colspan: 1
1100
- };
1101
- let {
1102
- $rowIndex,
1103
- _columnIndex,
1104
- column
1105
- } = obj;
1106
- let len = state.columnLen || 99;
1107
- let {
1108
- isBatchSelect
1109
- } = props.columnConfig;
1110
- if ($rowIndex === 0) {
1111
- if (isBatchSelect == 1) {
1112
- if (_columnIndex === 0) {
1113
- return {
1114
- rowspan: 1,
1115
- colspan: 2
1116
- };
1117
- } else if (_columnIndex === 1) {
1118
- return {
1119
- rowspan: 1,
1120
- colspan: 0
1121
- };
1122
- } else if (_columnIndex === 2) {
1123
- return {
1124
- rowspan: 1,
1125
- colspan: len
1126
- };
1127
- }
1128
- return {
1129
- rowspan: 1,
1130
- colspan: 0
1131
- };
1132
- }
1133
- if (_columnIndex === 0) {
1134
- return {
1135
- rowspan: 1,
1136
- colspan: 1
1137
- };
1138
- } else if (_columnIndex === 1) {
1139
- return {
1140
- rowspan: 1,
1141
- colspan: len
1142
- };
1143
- }
1144
- return {
1145
- rowspan: 1,
1146
- colspan: 0
1147
- };
1148
- }
1149
- };
1150
- const rowdblclick = ({
1151
- row,
1152
- column
1153
- }) => {
1154
- if (isScanMultiTable.value || !!props.isInlineOperating)
1155
- return false;
1156
- if (vexutils.has(row, GROUP_TITLE_KEY))
1157
- return false;
1158
- emit("setNestTableClick", props.isNestTable);
1159
- emit("rowdblclick", row, column, true, true);
1160
- };
1161
- const pubCheckChange = (rows = []) => {
1162
- state.treeTableLength = rows.filter((item) => {
1163
- let isGroupRow = vexutils.has(item, GROUP_TITLE_KEY);
1164
- return !isGroupRow;
1165
- }).length;
1166
- state.visibleTreeCheck = rows.length > 1;
1167
- emit("selectionChange", rows);
1168
- };
1169
- const updateAddCheckedRows = (rows, isTree = false) => {
1170
- let obj = {
1171
- isUpdate: true,
1172
- updateRows: rows,
1173
- isTree
1174
- };
1175
- if (isTree) {
1176
- Object.assign(obj, {
1177
- isTree,
1178
- isCheckedChange: true,
1179
- checkedRows: state.checkedRows
1180
- });
1181
- }
1182
- emit("selectionChangeLocal", obj);
1183
- };
1184
- const removeCheckedRows = (rows, isCheckedChange) => {
1185
- removeCheckedDisabledRows(state);
1186
- let checkedRows = state.checkedRows;
1187
- let needRemoveIndexs = [];
1188
- for (let i = 0; i < rows.length; i++) {
1189
- let row = rows[i];
1190
- let removeIndex = currentCheckedKeys.value.findIndex((item) => {
1191
- return item === row[props.primaryKey];
1192
- });
1193
- removeIndex >= 0 && needRemoveIndexs.push(removeIndex);
1194
- }
1195
- needRemoveIndexs.sort((a, b) => b - a);
1196
- emit("selectionChangeLocal", {
1197
- isAdd: false,
1198
- isCheckedChange,
1199
- needRemoveIndexs,
1200
- newCheckedRows: [],
1201
- checkedRows
1202
- });
1203
- };
1204
- const setCheckedMehod = (setChecked, row) => {
1205
- if (setChecked) {
1206
- updateAddCheckedRows(row);
1207
- return;
1208
- }
1209
- if (props.pageVO.pageIndex != state.lastPageIndex) {
1210
- updateAddCheckedRows(row);
1211
- return;
1212
- }
1213
- if (currentCheckedKeys.value.includes(row[props.primaryKey])) {
1214
- removeCheckedRows([row]);
1215
- return;
1216
- }
1217
- updateAddCheckedRows(row);
1218
- };
1219
- const handlerClickRow = (data) => {
1220
- if (isScanMultiTable.value || props.isInlineOperating)
1221
- return false;
1222
- if (vexutils.has(data?.row, GROUP_TITLE_KEY))
1223
- return false;
1224
- if (state.isTriggerSelectionChange && state.isTree == 0)
1225
- return false;
1226
- let table = xGrid.value;
1227
- isAboutNestTable.value && emit("resetNestLastClickTable", table);
1228
- let {
1229
- row,
1230
- $event = {},
1231
- $rowIndex
1232
- } = data;
1233
- let {
1234
- className
1235
- } = $event.target || {};
1236
- if (className && vexutils.isString(className) && className.includes("vxe-table--expand-btn"))
1237
- return;
1238
- isAboutNestTable.value && emit("setNestLastClickTable", table, props.isNestTable, row[handleRowId.value], row);
1239
- emit("setNestTableClick", false);
1240
- if (props.isNestTable) {
1241
- table?.setAllCheckboxRow(false);
1242
- nestHandleClickRow(table, data);
1243
- return;
1244
- }
1245
- let forbiddenBatchSelect = !checkMethod(data);
1246
- if (state.selectType == "checkbox" && forbiddenBatchSelect) {
1247
- table?.setAllCheckboxRow(false);
1248
- const value = getRowClassName()({
1249
- row
1250
- }) == "single--checked" ? [] : [row];
1251
- state.checkedRows = value;
1252
- pubCheckChange(value);
1253
- emit("handlerClickRow", row, $rowIndex);
1254
- return;
1255
- }
1256
- state.visibleCheckAllWrap = false;
1257
- state.visibleCheckAllWrapMore = false;
1258
- let checked = false;
1259
- if (state.selectType == "radio") {
1260
- checked = table.isCheckedByRadioRow(row);
1261
- } else {
1262
- checked = table.isCheckedByCheckboxRow(row);
1263
- }
1264
- if (state.isradioChange) {
1265
- checked = false;
1266
- state.isradioChange = false;
1267
- }
1268
- let checkedRow = table.getCheckboxRecords();
1269
- let rowLen = state.checkedRows.filter((item) => !vexutils.has(item, GROUP_TITLE_KEY)).length;
1270
- let newRow = [];
1271
- if (state.isTree != 0) {
1272
- let {
1273
- className: className2
1274
- } = $event.target || {};
1275
- if (className2 && className2.includes("vxe-tree--node-btn"))
1276
- return;
1277
- if (state.selectType === "checkbox") {
1278
- let rowVal = {};
1279
- if (!state.isTriggerSelectionChange) {
1280
- table.setAllCheckboxRow(false);
1281
- state.checkedRows = [row];
1282
- pubCheckChange([row]);
1283
- rowVal = row;
1284
- } else {
1285
- if (checkedRow.length > 1)
1286
- return false;
1287
- rowVal = checked || checkedRow.length === 1 && !checked ? checkedRow[0] : {};
1288
- state.checkedRows = [rowVal];
1289
- }
1290
- updateAddCheckedRows(rowVal, true);
1291
- emit("handlerClickRow", rowVal);
1292
- return;
1293
- }
1294
- let newTheUniqueKeyArr = [];
1295
- flattenRow(row, newRow, newTheUniqueKeyArr, handleRowId.value);
1296
- let res = intersectRow(checkedRow, newTheUniqueKeyArr, handleRowId.value);
1297
- if (!res) {
1298
- rowLen = 1;
1299
- } else {
1300
- rowLen = checkedRow.filter((item) => !vexutils.has(item, GROUP_TITLE_KEY)).length;
1301
- }
1302
- }
1303
- table.setAllCheckboxRow(false);
1304
- let setChecked = checked;
1305
- if (rowLen > 1) {
1306
- state.selectType != "radio" && table.setCheckboxRow([row], true);
1307
- state.isTree != 0 && state.selectType != "radio" && pubCheckChange(newRow);
1308
- state.selectType != "radio" && emit("handlerClickRow", row, $rowIndex);
1309
- } else {
1310
- setChecked = !setChecked;
1311
- if (!setChecked) {
1312
- table.clearCurrentRow();
1313
- state.selectType == "radio" && table.clearRadioRow();
1314
- state.isTree != 0 && state.selectType != "radio" && pubCheckChange([]);
1315
- } else {
1316
- state.selectType == "radio" && table.setRadioRow(row);
1317
- state.isTree != 0 && state.selectType != "radio" && pubCheckChange(newRow);
1318
- }
1319
- state.selectType != "radio" && table.setCheckboxRow([row], setChecked);
1320
- }
1321
- if (state.isTree != 0) {
1322
- setChecked && emit("handlerClickRow", row, $rowIndex);
1323
- return;
1324
- }
1325
- setCheckedMehod(setChecked, row);
1326
- if (setChecked || rowLen > 1 || !rowLen) {
1327
- state.checkedRows = [row];
1328
- }
1329
- if (!setChecked && rowLen === 1) {
1330
- state.checkedRows = [];
1331
- }
1332
- setCurrentCheckedLength();
1333
- state.lastPageIndex = props.pageVO.pageIndex;
1334
- setChecked && emit("handlerClickRow", row, $rowIndex);
1335
- };
1336
- const addCheckedRows = (rows) => {
1337
- removeCheckedDisabledRows(state);
1338
- let checkedRows = state.checkedRows;
1339
- if (currentCheckedKeys.value.length + rows.length > props.maxCheckSize) {
1340
- window.$message.warning(`\u4E3A\u4E86\u4FDD\u8BC1\u7CFB\u7EDF\u5B89\u5168\uFF0C\u5355\u6B21\u64CD\u4F5C\u6570\u636E\u91CF\u9650\u989D\u4E3A${props.maxCheckSize}\u6761\uFF0C\u4F60\u53EF\u4EE5\u901A\u8FC7\u9AD8\u7EA7\u7B5B\u9009\u8FC7\u6EE4\u540E\u518D\u6B21\u5C1D\u8BD5`);
1341
- return false;
1342
- }
1343
- let newCheckedRows = rows.filter((row) => {
1344
- return !currentCheckedKeys.value.includes(row[props.primaryKey]);
1345
- });
1346
- checkedRows.push(...newCheckedRows);
1347
- emit("selectionChangeLocal", {
1348
- isAdd: true,
1349
- isCheckedChange: true,
1350
- newCheckedRows,
1351
- checkedRows
1352
- });
1353
- };
1354
- const treeTableSelectionChange = (records) => {
1355
- if (state.isTree == 0) {
1356
- return false;
1357
- }
1358
- pubCheckChange(records);
1359
- return true;
1360
- };
1361
- const selectionChange = ({
1362
- checked,
1363
- row,
1364
- records
1365
- }) => {
1366
- let table = xGrid.value;
1367
- table.clearCurrentRow();
1368
- state.isTriggerSelectionChange = true;
1369
- setTimeout(() => {
1370
- state.isTriggerSelectionChange = false;
1371
- }, 0);
1372
- if (treeTableSelectionChange(records))
1373
- return;
1374
- if (checked) {
1375
- addCheckedRows([row]);
1376
- } else {
1377
- removeCheckedRows([row], true);
1378
- }
1379
- setCurrentCheckedLength();
1380
- };
1381
- const selectionChangeAll = ({
1382
- checked,
1383
- records
1384
- }) => {
1385
- if (treeTableSelectionChange(records))
1386
- return;
1387
- if (checked) {
1388
- addCheckedRows(records);
1389
- } else {
1390
- removeCheckedRows(props.data);
1391
- }
1392
- setCurrentCheckedLength();
1393
- };
1394
- const radioOnChange = (rowData = {}) => {
1395
- let {
1396
- data,
1397
- row,
1398
- $rowIndex
1399
- } = rowData;
1400
- emit("selectionChange", [{
1401
- ...row
1402
- }]);
1403
- };
1404
- const sortChange = ({
1405
- property,
1406
- order
1407
- }) => {
1408
- if (props.isInlineOperating)
1409
- return false;
1410
- Object.values(state.filterFields).forEach((item) => item.filterSort = null);
1411
- emit("sortChange", {
1412
- prop: property,
1413
- order
1414
- });
1415
- };
1416
- const showDrawer = () => {
1417
- const theads = xGrid.value.$el.childNodes[0].childNodes[1].childNodes[0].getElementsByClassName("mycolumn");
1418
- emit("setNestTableClickSetting", props.isNestTable);
1419
- emit("showDrawer", theads);
1420
- };
1421
- let scrollEvent = (params) => {
1422
- emit("scroll", params);
1423
- };
1424
- const initScroll = () => {
1425
- const {
1426
- throttle = false,
1427
- throttleTime = 800,
1428
- throttleOptions = {}
1429
- } = props.columnConfig?.scrollConfig || {};
1430
- if (throttle) {
1431
- scrollEvent = vexutils.throttle(scrollEvent, throttleTime, throttleOptions);
1432
- }
1433
- };
1434
- initScroll();
1435
- const handlerScroll = (params) => {
1436
- if (params.isX) {
1437
- hideFilterWrap(state, props);
1438
- }
1439
- scrollEvent(params);
1440
- };
1441
- const handleCellMouseenter = ({
1442
- column,
1443
- $event
1444
- }) => {
1445
- if (column.showOverflow === "title") {
1446
- const target = $event?.currentTarget;
1447
- const cls = target?.className;
1448
- const bodyCls = " vxe-body--column ";
1449
- if (cls && ` ${cls} `.includes(bodyCls) && target && target.hasAttribute("title")) {
1450
- const cellElem = target.querySelector(".vxe-cell");
1451
- if (cellElem && cellElem.hasAttribute("title")) {
1452
- cellElem.removeAttribute("title");
1453
- }
1454
- if (props.isInlineOperating) {
1455
- if (target && target.hasAttribute("title")) {
1456
- target.removeAttribute("title");
1457
- }
1458
- }
1459
- }
1460
- }
1461
- };
1462
- const getFooterTooltipTitle = (column) => {
1463
- let t = "";
1464
- if (vexutils.has(props.sumData, column.property)) {
1465
- t += `<p class="table-footer-tooltip-label-wrap">
1466
- <span class="table-footer-tooltip-label">\u6C42\u548C\uFF1A</span>
1467
- ${vexutils.round(Number(props.sumData[column.property]), 4)}
1468
- </p>`;
1469
- }
1470
- if (vexutils.has(props.avgData, column.property)) {
1471
- t += `<p class="table-footer-tooltip-label-wrap">
1472
- <span class="table-footer-tooltip-label">\u5E73\u5747\u503C\uFF1A</span>
1473
- ${vexutils.round(Number(props.avgData[column.property]), 4)}</p>`;
1474
- }
1475
- return t;
1476
- };
1477
- const getFooterTitle = (column) => {
1478
- if (vexutils.has(props.sumData, column.property)) {
1479
- return vexutils.round(Number(props.sumData[column.property]), 2);
1480
- }
1481
- if (vexutils.has(props.avgData, column.property)) {
1482
- return vexutils.round(Number(props.avgData[column.property]), 2);
1483
- }
1484
- };
1485
- const hanldeClickRefresh = () => {
1486
- emit("pubTableRefresh");
1487
- };
1488
- const confirmScanMulti = (params) => {
1489
- let {
1490
- row,
1491
- $rowIndex
1492
- } = params || {};
1493
- if (!row)
1494
- return;
1495
- emit("scanMultiRemove", $rowIndex, params);
1496
- let vxeTable = xGrid.value;
1497
- vxeTable.remove(row);
1498
- };
1499
- const scanMultiOperate = (params) => {
1500
- return createVNode(NPopconfirm, {
1501
- "onPositiveClick": () => confirmScanMulti(params)
1502
- }, {
1503
- trigger: () => createVNode(script$2, {
1504
- "class": "scan-multi-delete",
1505
- "iconClass": "shanchu"
1506
- }, null),
1507
- default: () => "\u662F\u5426\u786E\u8BA4\u5220\u9664\uFF1F"
1508
- });
1509
- };
1510
- const showEditForm = (row, column, $rowIndex) => {
1511
- if (!props.isMatchComponent || props.isNestTable || isScanMultiTable.value)
1512
- return false;
1513
- if (props.isBatchEditing || props.isInlineEditing || props.isInlineAdding) {
1514
- let matchObj = state.editColumnMap[column.property];
1515
- if (!matchObj || !matchObj.matchItem || !matchObj.fieldItem)
1516
- return false;
1517
- if (props.isBatchEditing && !props.isEditAllRow) {
1518
- let matchIndex = state.checkedRows.findIndex((v) => v[props.primaryKey] == row[props.primaryKey]);
1519
- if (matchIndex < 0)
1520
- return false;
1521
- }
1522
- if (props.isInlineEditing || props.isInlineAdding) {
1523
- if ($rowIndex !== 0)
1524
- return false;
1525
- }
1526
- return matchObj.matchItem;
1527
- }
1528
- return false;
1529
- };
1530
- const initBatchDynamicProps = (unionItem, row, column, $rowIndex) => {
1531
- let id = row[props.primaryKey];
1532
- let dynamicPropsCache = props.batchDynamicPropsCache[id];
1533
- if (dynamicPropsCache && dynamicPropsCache[unionItem.tableField]) {
1534
- return dynamicPropsCache[unionItem.tableField];
1535
- }
1536
- let matchObj = state.editColumnMap[column.property];
1537
- let {
1538
- fieldItem = {}
1539
- } = matchObj || {};
1540
- let defaultCombinationForm = {};
1541
- if (!props.isInlineAdding) {
1542
- let originalRow = props.pageIndexOldtableData.find((item) => item[props.primaryKey] == row[props.primaryKey]);
1543
- defaultCombinationForm = setDefaultFormData(column.property, fieldItem, originalRow);
1544
- }
1545
- let tempFieldItem = JSON.parse(JSON.stringify(fieldItem));
1546
- let defaultForm = {
1547
- fieldList: [tempFieldItem],
1548
- defaultCombinationForm
1549
- };
1550
- let dynamicProps = {
1551
- props: {
1552
- formPrimaryKey: id,
1553
- defaultForm,
1554
- banRequest: true,
1555
- propsFormBtn: true,
1556
- propsDelSetting: true,
1557
- parentConfig: {
1558
- is_edit: "1"
1559
- },
1560
- configuration: configuration.value,
1561
- isPure: true,
1562
- isOpenShortcut: false,
1563
- cacheUniqueKey: state.cacheUniqueKey,
1564
- styleSetting: {}
1565
- },
1566
- on: {
1567
- handleSubmit: handleSubmitEditForm,
1568
- banSubmit
1569
- }
1570
- };
1571
- emit("setBatchDynamicPropsCache", {
1572
- primaryKey: row[props.primaryKey],
1573
- tableField: unionItem.tableField,
1574
- dynamicProps
1575
- });
1576
- return dynamicProps;
1577
- };
1578
- const handleSubmitEditForm = (obj = {}) => {
1579
- if (props.isInlineEditing || props.isInlineAdding) {
1580
- emit("submitEditFormSuccess", obj);
1581
- return;
1582
- }
1583
- if (props.isBatchEditing) {
1584
- emit("submitEditFormSuccessBatch", obj);
1585
- return;
1586
- }
1587
- };
1588
- const banSubmit = (obj) => {
1589
- if (props.isInlineEditing || props.isInlineAdding) {
1590
- emit("submitEditFormError");
1591
- return;
1592
- }
1593
- if (props.isBatchEditing) {
1594
- emit("submitEditFormErrorBatch", obj);
1595
- return;
1596
- }
1597
- };
1598
- const handleFormTheUniqueKey = async () => {
1599
- emit("initInlineEditFormConfig", {
1600
- listFormUnionSetting: props.listFormUnionSetting,
1601
- inlineEditFormConfig: props.inlineEditFormConfig
1602
- });
1603
- let hasEditRow = props.btnList?.find((item) => {
1604
- let trigger_type = item.settingObj && item.settingObj[0]?.trigger_type;
1605
- if (item.isShow == 1 && trigger_type == "EDIT_ROW")
1606
- return true;
1607
- return false;
1608
- });
1609
- if (!hasEditRow)
1610
- return;
1611
- };
1612
- const handlePreView = (data, i, e) => {
1613
- e.preventDefault();
1614
- e.stopPropagation();
1615
- if (!data)
1616
- data = xb_big;
1617
- emit("handlePreView", data, i);
1618
- };
1619
- const getPicture = (row, item, type) => {
1620
- return [createVNode("div", {
1621
- "class": ["img-wrap", type === "HEADPORTRAIT" ? "img-circle" : ""]
1622
- }, [handleImgArr(row[item.columnName], type, imgs2imgArr).map((v, i) => createVNode("img", {
1623
- "key": i,
1624
- "src": handleImgSrc(v, props.sysImageSize, "LIST_FIELD_SMALL"),
1625
- "style": modalDetailImage(props.sysImageSize, "LIST_FIELD_SMALL", "36px"),
1626
- "onClick": (e) => handlePreView(row[item.columnName], i, e)
1627
- }, null))])];
1628
- };
1629
- const getColor = (row, item) => {
1630
- let color = row[item.columnName];
1631
- if (color?.includes("-")) {
1632
- let colorName = color.split("-")[1];
1633
- color = vexutils.oldColorMap(colorName);
1634
- }
1635
- return [createVNode("div", {
1636
- "class": "color-wrap",
1637
- "style": "height: 100%; padding: 4px;"
1638
- }, [createVNode("div", {
1639
- "style": {
1640
- background: color,
1641
- height: "100%"
1642
- }
1643
- }, null)])];
1644
- };
1645
- const getDate = (row, item) => {
1646
- let obj = row[item.columnName] || "";
1647
- if (!vexutils.isEmpty(obj)) {
1648
- if (vexutils.isObject(obj) && "tooltip" in obj) {
1649
- return [createVNode(resolveComponent("n-tooltip"), null, {
1650
- default: () => [{
1651
- trigger: () => createVNode("span", null, [obj.value])
1652
- }, createVNode("span", {
1653
- "innerHTML": obj.tooltip
1654
- }, null)]
1655
- })];
1656
- }
1657
- }
1658
- return [createVNode("span", {
1659
- "innerHTML": obj
1660
- }, null)];
1661
- };
1662
- const getPercentage = (row, item) => {
1663
- let value = row[item.columnName];
1664
- if (!value && value !== 0)
1665
- return;
1666
- let percentValue = value;
1667
- let SPANTAG_REGEXP = /<\/?span.*?>/g;
1668
- if (SPANTAG_REGEXP.test(value)) {
1669
- let d = document.createElement("span");
1670
- d.innerHTML = value;
1671
- value = d.textContent;
1672
- percentValue = value;
1673
- }
1674
- if (value && vexutils.isString(value) && value.includes("%")) {
1675
- percentValue = Number(value.replace("%", ""));
1676
- }
1677
- let strokeColor = "#52c41a";
1678
- if (percentValue < 15) {
1679
- strokeColor = "#ff5500";
1680
- } else if (percentValue < 50) {
1681
- strokeColor = "#ff8b01";
1682
- } else if (percentValue < 90) {
1683
- strokeColor = "#1890ff";
1684
- }
1685
- if (percentValue > 100) {
1686
- percentValue = 100;
1687
- } else if (percentValue < 0) {
1688
- percentValue = 0;
1689
- }
1690
- return [createVNode("div", {
1691
- "class": "percent-wrap"
1692
- }, [createVNode("span", {
1693
- "class": "percent-value"
1694
- }, [percentValue, createTextVNode("%")]), createVNode(NProgress, {
1695
- "percentage": percentValue,
1696
- "showIndicator": false,
1697
- "color": strokeColor
1698
- }, null)])];
1699
- };
1700
- const getvideoList = (row, item) => {
1701
- let res = row[item.columnName];
1702
- if (Array.isArray(res)) {
1703
- res = JSON.stringify(res);
1704
- }
1705
- return null;
1706
- };
1707
- const getOrCode = (row, item, type) => {
1708
- let src = qr;
1709
- return [createVNode("span", {
1710
- "class": "bigTable-qr-span",
1711
- "onClick": (e) => qrCodeEvent(e, row, item)
1712
- }, [createVNode("img", {
1713
- "class": "bigTable-qr-img",
1714
- "src": src
1715
- }, null), createVNode("span", null, [createVNode(script$2, {
1716
- "iconClass": "fangda"
1717
- }, null)])])];
1718
- };
1719
- const qrCodeEvent = (e, row, item) => {
1720
- e.preventDefault();
1721
- e.stopPropagation();
1722
- let data = handleQrCodeContent(row, item);
1723
- emit("qrCodeEvent", data);
1724
- };
1725
- const generateInlineBtnList = (row, index) => {
1726
- if (props.isNestTable)
1727
- return;
1728
- let inlineEditBtnList = [];
1729
- inlineEditBtnList.push(...getInlineEditBtn(row, "tileBtnList"));
1730
- inlineEditBtnList.push(...getInlineEditBtn(row, "foldBtnList"));
1731
- if (!inlineEditBtnList?.length)
1732
- return;
1733
- return [createVNode("span", null, [createVNode(NButton, {
1734
- "style": {
1735
- display: row.__isInlineEditing ? "inline-block" : "none"
1736
- },
1737
- "onClick": (e) => {
1738
- e.stopPropagation();
1739
- emit("SET_SAVE_ROW_STATUS", true);
1740
- },
1741
- "class": "btn-custom-class row-btn",
1742
- "size": "small",
1743
- "text": true
1744
- }, {
1745
- default: () => "\u4FDD\u5B58"
1746
- }), createVNode(NButton, {
1747
- "style": {
1748
- display: row.__isInlineEditing ? "inline-block" : "none"
1749
- },
1750
- "onClick": (e) => {
1751
- e.stopPropagation();
1752
- emit("SET_CANCEL_ROW_STATUS", true);
1753
- },
1754
- "class": "btn-custom-class row-btn",
1755
- "size": "small",
1756
- "text": true
1757
- }, {
1758
- default: () => "\u53D6\u6D88"
1759
- })])];
1760
- };
1761
- const getTileBtnList = (row, index) => {
1762
- return [row.tileBtnList?.length && row.tileBtnList.map((btn, j) => {
1763
- return btn.isShow == "1" && btn.type != "LINK" && createVNode(NButton, {
1764
- "key": btn.sid,
1765
- "onClick": (e) => clickBtn(row, btn, index, e),
1766
- "class": "btn-custom-class row-btn",
1767
- "style": {
1768
- ...getBtnStyle(btn),
1769
- ...{
1770
- display: !row.__isInlineEditing ? "inline-block" : "none"
1771
- }
1772
- },
1773
- "disabled": row.__isDisableInlineEdit,
1774
- "ghost": btn.showStyle == "white_bg",
1775
- "size": "small"
1776
- }, {
1777
- default: () => [getBtnIcon(btn), btn.showStyle === "only_icon" ? "" : handleName(btn)]
1778
- });
1779
- }) || ""];
1780
- };
1781
- const clickBtn = (row, btn, index, e, j) => {
1782
- e.preventDefault();
1783
- e.stopPropagation();
1784
- recordClickBtnInfo(row, index);
1785
- emit("setNestTableClick", props.isNestTable);
1786
- emit("setCurRowIndex", index);
1787
- emit("clickBtn", row, btn, row[handlePrimaryKey.value], index);
1788
- };
1789
- const getBtnIcon = (btn, mr = "8px") => {
1790
- let icon;
1791
- if (btn.icon) {
1792
- if (state.btnIcons[btn.icon]) {
1793
- icon = createVNode(resolveComponent("a-icon"), {
1794
- "type": state.btnIcons[btn.icon]
1795
- }, null);
1796
- } else {
1797
- icon = createVNode(NTooltip, null, {
1798
- trigger: () => createVNode(script$2, {
1799
- "iconClass": btn.icon,
1800
- "style": {
1801
- marginRight: mr
1802
- }
1803
- }, null),
1804
- default: () => handleName(btn)
1805
- });
1806
- }
1807
- } else if (btn.iconSetting) {
1808
- icon = createVNode(script$2, {
1809
- "iconClass": JSON.parse(btn.iconSetting).icon,
1810
- "style": {
1811
- marginRight: mr
1812
- }
1813
- }, null);
1814
- }
1815
- return [icon];
1816
- };
1817
- const getFoldBtnList = (row, index) => {
1818
- const getOptions = () => {
1819
- return row.foldBtnList.map((b, j) => {
1820
- return {
1821
- label: `${handleName(b)}${getBtnIcon(b, "0")}`,
1822
- key: b.sid,
1823
- props: {
1824
- onClick: (e) => {
1825
- clickBtn(row, b, index, e.domEvent);
1826
- }
1827
- }
1828
- };
1829
- });
1830
- };
1831
- return [row.foldBtnList?.length && createVNode(NDropdown, {
1832
- "style": {
1833
- display: !row.__isInlineEditing ? "inline-block" : "none"
1834
- },
1835
- "disabled": props.isInlineOperating,
1836
- "options": getOptions()
1837
- }, {
1838
- default: () => [createVNode(NButton, {
1839
- "size": "small",
1840
- "style": "margin-left: 8px"
1841
- }, {
1842
- default: () => "\u66F4\u591A ..."
1843
- })]
1844
- }) || ""];
1845
- };
1846
- const switchBtnOnChange = (e, r, i, index) => {
1847
- emit("switchBtnOnChange", e, r, i, index);
1848
- };
1849
- const getBtnLinkSwitch = (row, item, disabled, index) => {
1850
- let cur = state.isTree !== 0 ? row : props.oldtableData[index];
1851
- let key = cur[item.columnName];
1852
- if (typeof key === "string") {
1853
- if (key && key.startsWith("###{")) {
1854
- let temp = JSON.parse(key.replace("###", ""));
1855
- key = temp.tooltip || temp.value;
1856
- }
1857
- }
1858
- return [createVNode(NSwitch, {
1859
- "value": key == item.btnLinkSwitchDefVal,
1860
- "disabled": disabled,
1861
- "onUpdateValue": (e) => switchBtnOnChange(e, row, item, index)
1862
- }, null)];
1863
- };
1864
- const getField = (row, item, index, isLink2) => {
1865
- const html = formatFieldText(row, item, props.columnConfig.fieldList, props.fieldListOriginal);
1866
- const content = [isLink2 && html ? createVNode("a", {
1867
- "onClick": (e) => linkDetail(row, item, index, e),
1868
- "innerHTML": html
1869
- }, null) : createVNode("span", {
1870
- "class": "domPropsInnerHTML-span",
1871
- "innerHTML": html
1872
- }, null)];
1873
- if (isCopy(item, row)) {
1874
- return [createVNode(NPopover, {
1875
- "placement": "right",
1876
- "trigger": "hover",
1877
- "arrowPointToCenter": true
1878
- }, {
1879
- default: () => [{
1880
- trigger: () => content
1881
- }, createVNode(NIcon, {
1882
- "component": CopyOutline,
1883
- "onClick": (e) => hanldeCopyContent(e, row[item.columnName])
1884
- }, null)]
1885
- })];
1886
- } else {
1887
- return [content];
1888
- }
1889
- };
1890
- const linkDetail = (row, col, index, e) => {
1891
- if (props.isInlineOperating)
1892
- return false;
1893
- let vxeTable = xGrid.value;
1894
- e.preventDefault();
1895
- let isCheckedByCheckboxRow = vxeTable.isCheckedByCheckboxRow(row);
1896
- if (isCheckedByCheckboxRow) {
1897
- e.stopPropagation();
1898
- }
1899
- vxeTable.setCurrentRow(row);
1900
- emit("setNestTableClick", props.isNestTable);
1901
- emit("setCurRowIndex", index);
1902
- emit("linkDetail", row, col, row[handlePrimaryKey.value], null, false, index);
1903
- };
1904
- const hanldeCopyContent = (e, value) => {
1905
- e.preventDefault();
1906
- e.stopPropagation();
1907
- emit("hanldeCopyContent", e, value);
1908
- };
1909
- const setAllCheckedRows = (rows) => {
1910
- if (props.isNestTable)
1911
- return;
1912
- if (rows && rows.length) {
1913
- const copy = vexutils.handleBigArrayCopy(rows);
1914
- state.checkedRows = Object.freeze(copy);
1915
- let table = xGrid.value;
1916
- table.setAllCheckboxRow(true);
1917
- }
1918
- };
1919
- const setTalbeScrollTo = () => {
1920
- let table = xGrid.value;
1921
- if (!table)
1922
- return;
1923
- table.scrollTo(table.getScroll().scrollLeft, 0);
1924
- };
1925
- const submitInlineForm = () => {
1926
- let error = props.inlineError;
1927
- if (error) {
1928
- props.resetEditRowStatus();
1929
- emit("triggerSpinning", false);
1930
- return false;
1931
- }
1932
- let {
1933
- formId
1934
- } = props.listFormUnionSetting;
1935
- let {
1936
- id
1937
- } = props.inlineOriginalTableRow;
1938
- if (!formId) {
1939
- console.log("\u7F3A\u5C11formId");
1940
- emit("triggerSpinning", false);
1941
- return;
1942
- }
1943
- if (state.isSaveForm)
1944
- return false;
1945
- state.isSaveForm = true;
1946
- let params = Object.assign({}, props.inlineFormData, {
1947
- formId,
1948
- id,
1949
- editMode: "row"
1950
- });
1951
- params = JSON.parse(JSON.stringify(params));
1952
- let noChangePrimaryKey = params[handleRowId.value] === addInlineEditPrimaryKey;
1953
- if (props.isInlineAdding && noChangePrimaryKey) {
1954
- delete params[handleRowId.value];
1955
- }
1956
- props.submitForm(params).then(async ({
1957
- data
1958
- }) => {
1959
- emit("triggerSpinning", false);
1960
- if (data.result !== "SUCCESS") {
1961
- state.isSaveForm = false;
1962
- window.$message.error(data.resultMsg);
1963
- props.resetEditRowStatus();
1964
- return false;
1965
- }
1966
- await props.resetInlineEdit();
1967
- resetOperationRowStatus();
1968
- emit("pubTableReload");
1969
- }).finally(() => {
1970
- state.isSaveForm = false;
1971
- emit("triggerSpinning", false);
1972
- props.resetEditRowStatus();
1973
- });
1974
- };
1975
- const handleClickAddBtnByInline = async () => {
1976
- if (!checkListFormUnionSettingParamsList()) {
1977
- handleClickCancelBtnByInline();
1978
- return false;
1979
- }
1980
- await props.resetInlineEdit();
1981
- emit("handleClickBtnByInline", {
1982
- type: "ADD",
1983
- listFormUnionSetting: props.listFormUnionSetting,
1984
- inlineEditFormConfig: props.inlineEditFormConfig
1985
- });
1986
- addInlineEditPrimaryKey = Date.now();
1987
- let formData = {
1988
- [handleRowId.value]: addInlineEditPrimaryKey,
1989
- __isInsertRow: true
1990
- };
1991
- let {
1992
- paramsList
1993
- } = props.listFormUnionSetting;
1994
- paramsList.forEach((item) => {
1995
- formData[item.tableField] = void 0;
1996
- });
1997
- let vxeTable = xGrid.value;
1998
- await vxeTable.insert(formData);
1999
- await vxeTable.loadData([formData]);
2000
- setAllRowInlineStatus(true);
2001
- setRowStatus(vxeTable.$el, 0, "66");
2002
- };
2003
- const handleClickSaveBtnByInline = () => {
2004
- if (props.spinning)
2005
- return false;
2006
- emit("handleClickBtnByInline", {
2007
- type: "SAVE"
2008
- });
2009
- let formDom = document.querySelectorAll(".js-inlineEditForm");
2010
- let sliceLen = handleEditFormLength();
2011
- formDom = [...formDom].slice(0, sliceLen);
2012
- formDom.forEach((item) => {
2013
- item.__vue__.handleSubmitForm();
2014
- });
2015
- };
2016
- const removeInlineAddRow = () => {
2017
- if (!props.isInlineAdding)
2018
- return false;
2019
- const vxeTable = xGrid.value;
2020
- let {
2021
- tableData
2022
- } = vxeTable.getTableData();
2023
- vxeTable.remove(tableData[0]);
2024
- };
2025
- watch(() => props.columnConfig, (config) => {
2026
- nextTick(() => {
2027
- if (!config || !Object.keys(config).length)
2028
- return;
2029
- loadColumn(config);
2030
- });
2031
- }, {
2032
- immediate: true
2033
- });
2034
- watch(() => props.data, (value) => {
2035
- nextTick(() => {
2036
- loadData(value);
2037
- });
2038
- }, {
2039
- immediate: true,
2040
- deep: true
2041
- });
2042
- watch(() => currentCheckedKeys, (val) => {
2043
- setVisibleCheckAllWrap(state, props, currentCheckedKeys.value);
2044
- });
2045
- watch(() => props.quickSearchConfig, (val) => {
2046
- setFilterStatus(state, props);
2047
- }, {
2048
- deep: true
2049
- });
2050
- watch(() => props.tableDataCache, (val) => {
2051
- setAllCheckedRows(val);
2052
- }, {
2053
- deep: true
2054
- });
2055
- watch(() => props.pageVO.pageSize, (val) => {
2056
- if (props.isNestTable)
2057
- return;
2058
- setVisibleCheckAllWrap(state, props, currentCheckedKeys.value);
2059
- resetTableInlineEditStatus();
2060
- });
2061
- watch(() => props.pageVO.pageIndex, (val) => {
2062
- if (props.isNestTable)
2063
- return;
2064
- setTalbeScrollTo();
2065
- resetTableInlineEditStatus();
2066
- });
2067
- watch(() => props.styleSetting.tableHeight, (val) => {
2068
- if (props.isNestTable)
2069
- return;
2070
- if (Object.keys(props.columnConfig).length > 0) {
2071
- loadColumn(props.columnConfig);
2072
- loadData(props.data);
2073
- setTalbeScrollTo();
2074
- }
2075
- });
2076
- watch(() => props.sysImageSize, (val) => {
2077
- const v = props.styleSetting?.tableHeight === "table-simple" ? "26" : "22";
2078
- nextTick(() => {
2079
- handleTableImageSize(val, "LIST_FIELD_SMALL", v + "px");
2080
- });
2081
- }, {
2082
- deep: true,
2083
- immediate: true
2084
- });
2085
- watch(() => props.inlineEditFormSubmitDone, (val) => {
2086
- if (!val || props.isNestTable)
2087
- return;
2088
- if (state.isTree != 0 || !props.isMatchComponent)
2089
- return false;
2090
- if (!checkOperateCurrentTable())
2091
- return false;
2092
- submitInlineForm();
2093
- });
2094
- watch(() => props.isInlineEditing, (val) => {
2095
- if (!val || props.isNestTable)
2096
- return;
2097
- if (state.isTree != 0 || !props.isMatchComponent)
2098
- return false;
2099
- if (!checkOperateCurrentTable())
2100
- return false;
2101
- submitInlineForm();
2102
- });
2103
- watch(() => props.isInlineAdding, (val) => {
2104
- if (!val || props.isNestTable)
2105
- return false;
2106
- if (state.isTree != 0 || !props.isMatchComponent)
2107
- return false;
2108
- if (!checkOperateCurrentTable()) {
2109
- resetOperationRowStatus();
2110
- return false;
2111
- }
2112
- hideSelectCloumns();
2113
- handleClickAddBtnByInline();
2114
- });
2115
- watch(() => props.isInlineSave, (val) => {
2116
- if (!val || props.isNestTable)
2117
- return false;
2118
- if (state.isTree != 0 || !props.isMatchComponent)
2119
- return false;
2120
- if (!checkOperateCurrentTable())
2121
- return false;
2122
- handleClickSaveBtnByInline();
2123
- });
2124
- watch(() => props.isInlineCancel, (val) => {
2125
- if (!val || props.isNestTable)
2126
- return false;
2127
- if (state.isTree != 0 || !props.isMatchComponent)
2128
- return false;
2129
- if (!checkOperateCurrentTable())
2130
- return false;
2131
- removeInlineAddRow();
2132
- handleClickCancelBtnByInline();
2133
- });
2134
- watch(() => props.tableRefreshCache, (val, oldVal) => {
2135
- if (props.isNestTable)
2136
- return;
2137
- const {
2138
- orgId
2139
- } = props?.userInfo?.map?.sysParams || {};
2140
- if (val != oldVal && props.tableParams && val[props.tableParams.tableId] && orgId == val[props.tableParams.tableId]) {
2141
- state.hasRefresh = true;
2142
- }
2143
- }, {
2144
- immediate: true,
2145
- deep: true
2146
- });
2147
- watch(() => props.tableParams.tableId, (val) => {
2148
- nextTick(() => {
2149
- if (val && props.tableRefreshCache[val]) {
2150
- state.hasRefresh = true;
2151
- }
2152
- });
2153
- });
2154
- expose({
2155
- formatData,
2156
- xGrid
2157
- });
2158
- return (_ctx, _cache) => {
2159
- return openBlock(), createElementBlock("div", {
2160
- class: normalizeClass(["big-table custom-big-table", {
2161
- mt: state.visibleCheckAllWrap || state.visibleTreeCheck || state.hasRefresh,
2162
- "expand-padding": !props.isNestTable
2163
- }]),
2164
- style: normalizeStyle({
2165
- height: state.tableHeight
2166
- })
2167
- }, [state.hasRefresh && !props.isNestTable ? (openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("p", {
2168
- class: "check-wrap-title"
2169
- }, [_hoisted_2, createElementVNode("span", {
2170
- class: "check-wrap-btn",
2171
- onClick: refreshTable
2172
- }, "\u70B9\u51FB\u67E5\u770B")])])) : createCommentVNode("v-if", true), createCommentVNode(" \u5168\u9009 \u9009\u62E9\u6846 "), withDirectives(createElementVNode("div", _hoisted_3, [createElementVNode("p", _hoisted_4, [createElementVNode("span", null, "\u5DF2\u52FE\u9009\u6570\u636E\u5171" + toDisplayString(unref(allSelectedLength)) + "\u6761", 1), withDirectives(createElementVNode("span", null, " \uFF08\u5F53\u524D\u9875" + toDisplayString(state.currentPageSelectedLength) + "\u6761\uFF09 ", 513), [[vShow, state.visibleCheckAllWrapMore]])]), state.visibleCheckAllWrapMore && !props.asyncCount ? (openBlock(), createElementBlock(Fragment, {
2173
- key: 0
2174
- }, [!unref(visibleCancelCheckAllBtn) ? (openBlock(), createElementBlock("p", {
2175
- key: 0,
2176
- class: "check-wrap-btn",
2177
- onClick: handleCheckAll
2178
- }, [_ctx.pageVO.total > _ctx.maxCheckSize ? (openBlock(), createElementBlock("span", _hoisted_5, [createCommentVNode(" {{ `\u6700\u5927\u52FE\u9009\u201C${tableName}\u201D ${maxCheckSize}\u6761\u6570\u636E` }} "), createTextVNode(toDisplayString(`\u52FE\u9009\u5168\u90E8\u9875 ${_ctx.maxCheckSize}\u6761\u6570\u636E`), 1)])) : (openBlock(), createElementBlock("span", _hoisted_6, [createCommentVNode(' {{ $t("1.9.598", { name: tableName, total }) }} '), createTextVNode(toDisplayString(`\u52FE\u9009\u5168\u90E8\u9875 ${_ctx.pageVO.total}\u6761\u6570\u636E`), 1)]))])) : (openBlock(), createElementBlock("p", {
2179
- key: 1,
2180
- class: "check-wrap-btn",
2181
- onClick: handleCancelAllCheck
2182
- }, "\u53D6\u6D88\u5168\u90E8\u52FE\u9009"))], 64)) : createCommentVNode("v-if", true)], 512), [[vShow, state.visibleCheckAllWrap && !props.isInlineOperating && !props.isNestTable]]), createCommentVNode(" \u6811\u72B6\u8868\u683C\u5DF2\u9009 "), withDirectives(createElementVNode("div", _hoisted_7, [createElementVNode("p", _hoisted_8, [createElementVNode("span", null, "\u5DF2\u52FE\u9009\u6570\u636E\u5171" + toDisplayString(state.treeTableLength) + "\u6761", 1)])], 512), [[vShow, state.visibleTreeCheck && !props.isInlineOperating && !props.isNestTable]]), createVNode(unref(CGrid), mergeProps({
2183
- ref_key: "xGrid",
2184
- ref: xGrid,
2185
- border: "",
2186
- "show-overflow": "",
2187
- "show-header-overflow": "",
2188
- "highlight-hover-row": "",
2189
- "highlight-current-row": "",
2190
- "show-footer-overflow": "title",
2191
- "keep-source": "",
2192
- resizable: "",
2193
- "auto-resize": ""
2194
- }, props.height ? {
2195
- height: "auto"
2196
- } : {}, {
2197
- "seq-config": unref(handleSeqConfig),
2198
- "tree-config": unref(treeConfig),
2199
- "row-id": unref(handleRowId),
2200
- "row-class-name": getRowClassName,
2201
- "show-footer": _ctx.showFooter && !props.isInlineOperating,
2202
- "footer-method": footerMethod,
2203
- "sort-config": {
2204
- trigger: "cell",
2205
- remote: true
2206
- },
2207
- "span-method": colspanMethod,
2208
- "footer-span-method": footerRowspanMethod,
2209
- "tooltip-config": {
2210
- enterable: false
2211
- },
2212
- "checkbox-config": {
2213
- checkField: "checked",
2214
- labelField: "checked",
2215
- checkMethod: unref(checkMethod),
2216
- trigger: "cell",
2217
- reserve: true,
2218
- highlight: true
2219
- },
2220
- "radio-config": {
2221
- checkField: "checked",
2222
- trigger: "cell",
2223
- reserve: true,
2224
- highlight: true
2225
- },
2226
- "scroll-x": {
2227
- enabled: false
2228
- },
2229
- "scroll-y": {
2230
- gt: 50
2231
- },
2232
- "row-style": unref(getRowStyle),
2233
- "edit-config": state.editConfig,
2234
- "expand-config": {
2235
- lazy: true,
2236
- accordion: _ctx.columnConfig && _ctx.columnConfig.accordion,
2237
- loadMethod: unref(loadExpandMethod),
2238
- toggleMethod: unref(toggleExpandMethod),
2239
- iconOpen: "iconfont icon-a-xitongtubiaozhediejian",
2240
- iconClose: "iconfont icon-a-xitongtubiaotianjia"
2241
- },
2242
- "keyboard-config": _ctx.columnConfig.keyboardConfig || {},
2243
- "edit-rules": _ctx.columnConfig.editRules || {},
2244
- onCellDblclick: rowdblclick,
2245
- onCellClick: handlerClickRow,
2246
- onCheckboxChange: selectionChange,
2247
- onCheckboxAll: selectionChangeAll,
2248
- onRadioChange: radioOnChange,
2249
- onSortChange: sortChange,
2250
- onScroll: handlerScroll,
2251
- onCellMouseenter: handleCellMouseenter
2252
- }), {
2253
- empty: withCtx(() => [state.isShowEmpty ? (openBlock(), createElementBlock("div", _hoisted_9, [createVNode(script$3, {
2254
- "no-data-img": props.emptyItems.noDataImg,
2255
- "no-data-tip": props.emptyItems.noDataTip,
2256
- "show-img": !props.isNestTable
2257
- }, null, 8, ["no-data-img", "no-data-tip", "show-img"])])) : createCommentVNode("v-if", true)]),
2258
- tooltip_checkbox: withCtx(({
2259
- row,
2260
- checked
2261
- }) => [row.forbiddenBatchSelect ? (openBlock(), createBlock(unref(NTooltip), {
2262
- key: 0,
2263
- trigger: "hover",
2264
- placement: "right"
2265
- }, {
2266
- trigger: withCtx(() => [_hoisted_10]),
2267
- default: withCtx(() => [createTextVNode(" " + toDisplayString(row.forbiddenBatchSelectReason), 1)]),
2268
- _: 2
2269
- }, 1024)) : (openBlock(), createBlock(unref(NCheckbox), {
2270
- key: 1,
2271
- class: "tooltip-checkbox-item",
2272
- checked
2273
- }, null, 8, ["checked"]))]),
2274
- tooltip_footer: withCtx(({
2275
- column
2276
- }) => [createCommentVNode(" \u5206\u7EC4\u7EDF\u8BA1 "), _ctx.groupCountFields && _ctx.groupCountFields.length ? (openBlock(), createElementBlock("span", {
2277
- key: 0,
2278
- innerHTML: state.groupText
2279
- }, null, 8, _hoisted_11)) : (openBlock(), createElementBlock(Fragment, {
2280
- key: 1
2281
- }, [createCommentVNode(" \u4E00\u822C\u7EDF\u8BA1 "), createVNode(unref(NTooltip), {
2282
- trigger: "hover"
2283
- }, {
2284
- trigger: withCtx(() => [createTextVNode(toDisplayString(getFooterTitle(column)), 1)]),
2285
- default: withCtx(() => [createElementVNode("div", {
2286
- innerHTML: getFooterTooltipTitle(column)
2287
- }, null, 8, _hoisted_12)]),
2288
- _: 2
2289
- }, 1024)], 2112))]),
2290
- nest_table_content: withCtx(({
2291
- row,
2292
- rowIndex,
2293
- $rowIndex,
2294
- column
2295
- }) => [renderSlot(_ctx.$slots, "content", {
2296
- data: {
2297
- row,
2298
- rowIndex,
2299
- $rowIndex,
2300
- column
2301
- }
2302
- })]),
2303
- _: 3
2304
- }, 16, ["seq-config", "tree-config", "row-id", "show-footer", "checkbox-config", "row-style", "edit-config", "expand-config", "keyboard-config", "edit-rules"]), createCommentVNode(" `${refreshRow}\u6761\u66F4\u65B0` "), withDirectives(createElementVNode("div", {
2305
- class: "refresh",
2306
- onClick: hanldeClickRefresh
2307
- }, [createVNode(unref(NIcon), {
2308
- size: "14",
2309
- component: unref(SyncOutline)
2310
- }, null, 8, ["component"]), createElementVNode("p", _hoisted_13, toDisplayString(_ctx.refreshRow) + "\u6761\u66F4\u65B0", 1)], 512), [[vShow, props.refreshRow > 0 && !props.isNestTable]])], 6);
2311
- };
2312
- }
2313
- });
2314
-
2315
- export { script as default };
1
+ import{defineComponent as e,ref as t,reactive as i,useAttrs as l,computed as n,onMounted as s,onUnmounted as a,onActivated as o,createVNode as r,h as c,resolveComponent as d,createTextVNode as u,isVNode as p,nextTick as h,watch as g,openBlock as m,createElementBlock as f,normalizeClass as b,normalizeStyle as C,createElementVNode as w,createCommentVNode as T,withDirectives as k,toDisplayString as v,unref as y,vShow as S,Fragment as x,mergeProps as N,withCtx as E,createBlock as R,renderSlot as I}from"vue";import O from"./bigTableState2.mjs";import L from"./bigTableProps2.mjs";import F from"./bigTableEmits2.mjs";import{useFormat as _}from"./hooks/useFormat2.mjs";import{useTableParse as A}from"./hooks/useTableParse2.mjs";import{useBatchEditing as D}from"./hooks/useBatchEditing2.mjs";import{useNestTable as M}from"./hooks/useNestTable2.mjs";import{useEdit as B,comps as P}from"./hooks/useEdit2.mjs";import{SettingsSharp as V,CaretDown as j,CaretForward as z,CopyOutline as $,SyncOutline as K}from"@vicons/ionicons5";import"./components/NoData2.mjs";import"./components/TextOverTooltip2.mjs";import"./components/SvgIcon2.mjs";import{useMessage as U,NIcon as H,NTooltip as W,NPopconfirm as q,NButton as J,NInputGroup as G,NInput as Z,NCheckbox as Q,NCheckboxGroup as X,NSpace as Y,NProgress as ee,NDropdown as te,NSwitch as ie,NPopover as le}from"naive-ui";import ne from"cnhis-design-vue/es/packages/grid";import se from"cnhis-design-vue/es/src/utils/vexutils";import{handleTableHeight as ae,setTableConfig as oe,handleGroupColums as re,checkMethod as ce,setTreeGroupTitle as de,handleName as ue,generateEditRender as pe,handlerInitSearchItem as he,getEvaluate as ge,getMapVal as me,getCandidateComponents as fe,getageShowType as be,isLink as Ce,showFilter as we,reScrollFilterWrap as Te,hideFilterWrap as ke,mergeConObjFn as ve,setDefaultFormData as ye,handleImgArr as Se,handleImgSrc as xe,modalDetailImage as Ne,handleQrCodeContent as Ee,getInlineEditBtn as Re,isCopy as Ie,setVisibleCheckAllWrap as Oe,setFilterStatus as Le,handleTableImageSize as Fe,getRowStyle as _e,getFooterGroup as Ae,flattenRow as De,intersectRow as Me,removeCheckedDisabledRows as Be}from"./utils2.mjs";import Pe from"cnhis-design-vue/es/src/assets/img/xb_big.png";import Ve from"cnhis-design-vue/es/src/assets/img/qr.png";import je from"./components/TextOverTooltip.vue_vue_type_script_setup_true_lang.mjs";import ze from"./components/SvgIcon.vue_vue_type_script_setup_true_lang.mjs";import $e from"./components/NoData.vue_vue_type_script_setup_true_lang.mjs";const Ke={key:0,class:"check-wrap"},Ue=w("span",null,"系统检测到有数据更新,",-1),He={class:"check-wrap"},We={class:"check-wrap-title"},qe={key:0},Je={key:1},Ge={class:"check-wrap"},Ze={class:"check-wrap-title"},Qe={key:0},Xe=w("i",{class:"disabled-checked-tips"},null,-1),Ye=["innerHTML"],et=["innerHTML"],tt={class:"refresh-row"};function it(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!p(e)}var lt=e({name:"BigTable",props:L,emits:F,setup(e,{expose:p,emit:L}){const F=e;let lt=null,nt=[],st="";const at="group-show-title";U();const ot=t(null),rt=se.clone(O,!0),ct=i(rt),{formatData:dt,htmlToText:ut,getBtnStyle:pt}=_(ct),{imgs2imgArr:ht,parseDurationValue:gt,parseCombinationValue:mt,formatFieldText:ft}=A(dt),{allSelectedLength:bt,checkOperateCurrentTable:Ct,setRowStatus:wt,resetBatchOperationRowStatus:Tt,checkListFormUnionSettingParamsList:kt,handleClickCancelBtnByInline:vt,setAllRowInlineStatus:yt,hideSelectCloumns:St,handleEditFormLength:xt,resetOperationRowStatus:Nt,recordClickBtnInfo:Et,getInlineOpreateRow:Rt}=D(F,ct,L,ot),{initEditTable:It,activeMethod:Ot,deleteRow:Lt,onClickSelectTable:Ft,onFormChange:_t,getDefaultValue:At}=B(F,ct,L,ot),{isAboutNestTable:Dt,isExpandTable:Mt,handleRowId:Bt,toggleExpandMethod:Pt,loadExpandMethod:Vt,nestHandleClickRow:jt}=M(F,ct,L),zt=l(),$t=n((()=>ct.checkedRows?.map((e=>e[F.primaryKey]))||[])),Kt=n((()=>{let e=ct.currentPageSelectedLength===ct.curAbleCheckedLen,t=$t.value.length===F.maxCheckSize,i=$t.value.length===F.pageVO.total;return t||!e||i})),Ut=n((()=>{const e=$t.value||[];return 1==e.length?e[0]:""})),Ht=n((()=>{let{noSetting:e}=ki()||{};return e||1==F.showSettings?.hideSettingBtn})),Wt=n((()=>F.columnConfig?.isScanMultiTable)),qt=n((()=>({userInfo:F.userInfo||{},sysImageSize:F.sysImageSize||{}}))),Jt=n((()=>ct.isTree>0&&F.primaryKey||"theUniqueKey")),Gt=n((()=>{if(F.isNestTable)return{startIndex:0};if(F.isBatchEditing)return{startIndex:0};let e=(F.pageVO.pageIndex-1)*F.pageVO.pageSize;return{startIndex:e<0?0:e}})),Zt=n((()=>{let e=null;switch(Number(ct.isTree)){case 1:case 3:e={children:"childrenList",accordion:ct.openOnly>0,reserve:!0};break;case 2:e={lazy:!0,reserve:!0,children:"childrenList",hasChild:"hasChildren",loadMethod:Ei,accordion:ct.openOnly>0}}return e})),Qt=e=>{const t=e.path||e.composedPath&&e.composedPath();var i;(i="big-table-filter-wrap",!t.some((e=>e.className&&e.className.includes&&e.className.includes(i))))&&ke(ct,F)},Xt=()=>{lt=Qt.bind(this),window.document.addEventListener("click",lt,!0)};s((()=>{Xt(),ct.tableHeight=ae(ct,F)||"auto",F.isNestTable&&(ei(F.columnConfig),ti(F.data))})),a((()=>{window.document.removeEventListener("click",lt,!0)})),o((()=>{Yt()}));const Yt=async()=>{if(0!=ct.isTree)return!1;const e=ot.value;let{tableData:t}=e.getTableData();t&&t.length&&t.forEach((t=>{t?.__isInsertRow&&e.remove(t)})),ct.originFormatList?.length&&(await e.loadData(ct.originFormatList),Tt())},ei=e=>{oe(e,ct);let t=si(e);t=re(t,F),ot.value&&ot.value.reloadColumn(t),bi(),Ci()},ti=async e=>{ct.isShowEmpty=!e?.length;const t=JSON.parse(JSON.stringify(e));let i=ot.value;if(!i)return;ct.checkedRows=[];let l=Ii(t);ct.originFormatList=l,ii(l),ct.curAbleCheckedLen=t.filter((e=>ce({row:e}))).length,F.isNestTable||await tl(),l=l.map((e=>({...e,selectTableShow:!1,selectTableDisable:!1}))),await i.loadData(l),i.setCurrentRow({}),li(),bi(),Ci()},ii=e=>{if(3!=ct.isTree)return;let t=ot.value.getTableColumn().tableColumn?.find((e=>!!e.property)).property;de(e,t,at)},li=()=>{let e=ot.value;if(!e)return;let t=e.getTableData()?.tableData,i=t.filter((e=>F.primaryKey?$t.value.includes(e[F.primaryKey]):e.checked));ni(),i&&i.length?e.setCheckboxRow(i,!0):e.setAllCheckboxRow(!1)},ni=()=>{let e=ot.value.getTableData().fullData.filter((e=>$t.value.includes(e[F.primaryKey])||e.checked));ct.currentPageSelectedLength=e.length},si=e=>{let{selectType:t}=ki()||{},{isBatchSelect:i,fieldList:l=[],showButtonTop:n,isScanMultiTable:s,isEdit:a=!1,editConfig:o={}}=e;a&&(ct.editConfig=Object.assign(ct.editConfig,o,{})),t&&(i=1),t=t||"checkbox";let{listType:c}=F.tableOptions;"scanList"==c&&(t="radio"),ct.selectType=t;let d=F.styleSetting?.tableHeight||"table-simple",u=ct.checkWidth[d]||"30";const p={default:e=>ce(e)?null:r(W,{placement:"right",trigger:"hover"},{default:()=>e.row.forbiddenBatchSelectReason,trigger:()=>r("i",{class:"disabled-checked-tips"},null)})};let h=1==i&&!F.isNestTable&&!s||!1,g=[{fixed:"left",align:"center",visible:s||!1,width:"60",slots:{header:()=>"操作",default:Zi}},{type:"seq",fixed:F.isNestTable?"":"left",align:"center",resizable:!0,width:"34",showOverflow:!0,slots:{header:()=>[Ht.value?null:r(H,{size:"14",color:"#777",component:V,onClick:()=>Ki()},null)]}},{type:t,fixed:F.isNestTable?"":"left",align:"center",visible:h,resizable:!1,width:u,slots:"checkbox"===t?p:null,showOverflow:!0}];const m=l.map(((e,t)=>{let i="manual"===e?.fieldSetting?.mapping?.type&&1!=e.isMerge,l=e?.fieldSetting?.notParticipatingSort||"",o=Dt.value?"":e.isFixed?1==e.isFixed?"left":"right":"",c=!F.isNestTable&&(!i&&1==e.isSort&&1!=l&&1!=e.isMerge),d=!F.isNestTable&&(0!=ct.isTree&&0===t),u=0===t&&F.showNestTable?"expand":"";s&&(o="",c=!1,d=!1,u="");const p=Object.assign(e,{visible:"operatorColumn"==e.columnName?0==n:1==e.isShow,field:e.columnName,title:ue(e,"title"),minWidth:e.colWidth,fixed:o,sortable:c,headerClassName:"mycolumn",showOverflow:"title",treeNode:d,type:u,slots:{edit:t=>a&&e.isEdit&&"operatorColumn"!==e.columnName?ai(t,e):r("span",null,[t.row[e.columnName]]),default:t=>a&&"operatorColumn"!==e.columnName&&e.isEdit?a&&e.isEdit&&e.checkEditStatus&&e.checkEditStatus(t)?ai(t,e):r("span",null,[At(t,e)]):oi(t,e)},editRender:a?{}:pe(e)});if(!i||F.isNestTable||s)p.slots.header=wi(e);else{ct.filterFields[e.columnName]=Object.assign({},se.clone(e,!0),{visible:!1,left:"initial",right:"initial",top:"initial",indeterminate:!1,checkAll:!1,searchFilterText:"",searchFilterCONVERT:[],filterSort:""});let t=ct.filterFields[e.columnName];he([t]),p.slots.header=ri(e)}return s||(p.slots.footer="tooltip_footer"),F.showNestTable&&0==ct.isTree&&0==F.curNestColumnConfig?.isTree&&(p.slots.content="nest_table_content"),p}));return g.push(...m),ct.columnLen=m.filter((e=>e.visible)).length,g},ai=(e,t)=>{let{row:i,column:l,$rowIndex:n,rowIndex:s}=e,a=l.formType||t.formType||"",o=l.formatMap||t.formatMap||null;if(!a)return null;if("custom"===a)return t.slotFn(e);const r=P[a]||"";if(!r)return null;const d={col:t,row:i,index:n,type:a,onFormChange:_t};return"date"===a?d.formattedValue=i[t.columnName]:d.value=o?i[o.value]:i[t.columnName],"select"===a&&(d.onSetOptions=e=>i[`${t.columnName}_options`]=e),c(r,d)},oi=(e,t)=>{let{row:i,column:l,$rowIndex:n}=e,s=l?._own||l?.own||t,a=s?.attrType||"",o=Qi(i,l,n);if(o){if(Xi(o,i,l))return L("setWaitEditKeys",l.property),null}if(se.has(i,at))return i[at];if("PICTURE"==a||"HEADPORTRAIT"==a)return il(i,s,a);if("COLOR"==a)return ll(i,s);if("EVALUATE"==a)return ge(i,s);if("MAP"==a)return me(i,s);if("DATE"==a||"TASKDATE"==a)return nl(i,s);if("PERCENTAGE"==a)return sl(i,s);if("VIDEO"==a)return al(i,s);if("CANDIDATE_COMPONENTS"==a)return fe(i,s);if("AGE"==a)return be(i,s);if("COUNTDOWN"===a)return r(W,null,{trigger:()=>r("span",{innerHTML:i[s.columnName+"_countdown"]||""},null),default:()=>i[s.columnName+"_countdownTip"]});if("DURATION"===a){const e=i[s.columnName],t=s?.fieldSetting?.duration;return gt(e,t)}if("COMBINATION"===a){const e=i[s.columnName],t=s.fieldSetting||{},l=mt(e,t);return l?[r("span",{title:l},[l])]:""}if("PASSWORD"===a){const e=i[s.columnName];return[r(d("password-com"),{value:e,styleSetting:F.styleSetting},null)]}if("QR_CODE"===a)return ol(i,s);if("operatorColumn"===l.property){if(F.columnConfig.isEdit&&!i.initRow)return((e,t,i)=>t.tileBtnList?.map((l=>"DELETE"===l.settingObj[0].trigger_type?r(q,{onPositiveClick:()=>Lt(e,t,i)},{trigger:()=>r(J,{color:l.settingObj[0].color||"#999",text:!0},{default:()=>[l.name]}),default:()=>"是否确认删除?"}):null)))(i,t,n);if(0!=ct.showButtonTop||F.isBatchEditing)return;const e=cl(i),l=dl(i,n),s=hl(i,n);return[r("span",null,[l,s,e])]}if(Ce(F,s,i)&&!Wt.value){if(s.btnLinkSwitch){let e=!1,t=i.btnList?.find((e=>e.name==s.columnName));return t&&"authorizedMark"in t&&(t.authorizedMark||(e=!0)),gl(i,s,e,n)}return ml(i,s,n,!0)}return ml(i,s,n,!1)},ri=e=>{let t=ct.filterFields[e.columnName];return()=>{let i,l;return[r("div",{class:"filter-box"},[wi(e,"format"),r("i",{class:["vxe-filter--icon","vxe-filter--btn","vxe-icon--funnel",{active:t.visible||t.filterSort},{checked:t.CONVERT?.length}],onClick:i=>we(t,e.columnName,i,F,ct)},null),t.visible?r(d("teleport"),{to:F.filterDomPortal},{default:()=>[r("div",{class:"big-table-filter-wrap",style:{left:t.left,right:t.right,top:t.top,width:ct.filterWidth+ct.distance+"px"}},[r("div",{class:"sort-list",style:{display:t.isSort?"block":"none"}},[r("div",{class:["sort-item",{active:"asc"===t.filterSort}],onClick:()=>ci("asc",t)},[r("i",{class:"sort-icon sort-icon-asc"},null),r("span",{class:"sort-text"},[u("升序 A to Z")])]),r("div",{class:["sort-item",{active:"desc"===t.filterSort}],onClick:()=>ci("desc",t)},[r("i",{class:"sort-icon sort-icon-asc"},null),r("span",{class:"sort-text"},[u("降序 Z to A")])])]),r("div",{class:"filter-header"},[r("i",{class:"filter-header-icon vxe-filter--btn vxe-icon--funnel"},null),r("span",{class:"filter-header-text"},[u("筛选")])]),t.setting.showSetting.length>5?r("div",{class:"checkbox-wrap checkbox-wrap--search"},[r("div",{class:"check-search-wrap"},[r(G,null,{default:()=>[r(Z,{style:{width:"50%"},placeholder:"字段搜索",class:"check-seach-input"},null),r(J,{type:"primary",onClick:e=>{di(e,t)}},{default:()=>[u("搜索")]})]})])]):"",r("div",{class:"checkbox-box"},[r("div",{class:"checkbox-wrap js-checkbox-wrap",style:{height:ct.filterHeight+ct.distance+"px"}},[t.searchFilterText?"":r("div",{class:"ant-checkbox-group"},[r(Q,{indeterminate:t.indeterminate,checked:t.checkAll,onUpdateChecked:e=>{ui(e,t)}},{default:()=>[u("全选")]})]),t.searchFilterText?r(X,{value:t.searchFilterCONVERT,onUpdateValue:i=>hi(i,e.columnName,t)},{default:()=>[r(Y,{"item-style":"display: flex;"},it(l=t.setting.showSetting.filter((e=>{if(!t.searchFilterText)return e;return new RegExp(t.searchFilterText).test(e.label)})).map((e=>r(Q,{value:e.value,label:e.label},null))))?l:{default:()=>[l]})]}):r(X,{value:t.CONVERT,onUpdateValue:i=>pi(i,e.columnName,t)},{default:()=>[r(Y,{"item-style":"display: flex;"},it(i=t.setting.showSetting.map((e=>r(Q,{value:e.value,label:e.label},null))))?i:{default:()=>[i]})]})])]),r("div",{class:"checkbox-btn-wrap",style:{justifyContent:t.CONVERT.length?"space-between":"flex-end"}},[t.CONVERT.length?r("div",{class:"checkbox-btn-status"},[r("span",null,[u("已选择"),t.CONVERT.length,u("项")]),r(J,{class:"checkbox-btn checkbox-btn-clear",text:!0,onClick:()=>gi(t)},{default:()=>[u("清空")]})]):null,r("div",null,[r(J,{class:"checkbox-btn",onClick:()=>mi()},{default:()=>[u("取消")]}),r(J,{class:"checkbox-btn",type:"primary",onClick:()=>fi(t)},{default:()=>[u("确定")]})])]),r("div",{class:"arrows-icon"},null)])]}):""])]}},ci=(e,t)=>{t.filterSort===e?e=null:ot.value.clearSort(),t.filterSort=e,L("sortChange",{prop:t.columnName,order:e})},di=(e,t)=>{if(t.searchFilterText=e,""===e)return t.checkAll=t.CONVERT.length===t.setting.showSetting.length,void(t.indeterminate=!!t.CONVERT.length&&t.CONVERT.length!==t.setting.showSetting.length);t.searchFilterCONVERT=t.setting.showSetting.filter((e=>t.searchFilterText===e.label&&t.CONVERT.includes(e.value))).map((e=>e.value)),nt=t.searchFilterCONVERT},ui=(e,t)=>{Te();let i=e.target.checked;t.indeterminate=!1,t.checkAll=i,ct.filterFields[t.columnName].CONVERT=i?t.setting.showSetting.map((e=>e.value)):[]},pi=(e,t,i)=>{Te(),ct.filterFields[t].CONVERT=e,i.checkAll=e.length===i.setting.showSetting.length,i.indeterminate=!!e.length&&e.length!==i.setting.showSetting.length},hi=(e,t,i)=>{if(Te(),nt.length<e.length){let i=e.filter((e=>!nt.includes(e)));ct.filterFields[t].CONVERT.push(...i)}else{let i=nt.filter((t=>!e.includes(t)));ct.filterFields[t].CONVERT=ct.filterFields[t].CONVERT.filter((e=>!i.includes(e)))}i.searchFilterCONVERT=e,nt=se.clone(e,!0)},gi=e=>{e.indeterminate=!1,e.checkAll=!1,ct.filterFields[e.columnName].CONVERT=[],e.searchFilterCONVERT&&(ct.filterFields[e.columnName].searchFilterCONVERT=[]),fi(e)},mi=()=>{ke(ct,F)},fi=e=>{let t=ve(ct,F);L("onSave",t,!1,[],[],{isBigTable:!0}),e.visible=!1},bi=()=>{let e=1==ct.isTree&&1==ct.isExpand&&ct.total<1001;if(3==ct.isTree||e){let e=ot.value;h((()=>{e.setAllTreeExpand(!0)}))}},Ci=()=>{if(!Ct())return!1;vt()},wi=(e,t)=>{let i=e.formTitle||e.alias||e.title,l=e.alias,n=!1;return"guage"==F.tableOptions?.dataSourceType&&(l=e.alias||e.title),i&&l&&i!==l&&(n=!!l),"format"===t?r(je,{tooltipTitle:l,content:i,isAlias:n},null):()=>[r(je,{tooltipTitle:l,content:i,isAlias:n},{default:()=>[e.treeNode&&1==ct.isTree?r(H,{component:ct.isExpand&&ct.total<1001?j:z,onClick:e=>Ti(e,ct.isExpand)},null):""]})]},Ti=(e,t)=>{e.preventDefault(),e.stopPropagation();let i=ot.value;ct.total>1e3?window.$message.warning("当前数据量超过1000条,无法全部展开!"):(ct.isExpand=!t,t?i.clearTreeExpand():(L("triggerSpinning",!0),setTimeout((()=>{i.setAllTreeExpand(!0).then((()=>{L("triggerSpinning",!1)}))}),100)))},ki=()=>(zt?.tableOptions||F.tableOptions||{})?.config||{}||void 0,vi=()=>{ct.hasRefresh=!1,L("refreshTable")},yi=()=>{if(F.pageVO.total>F.maxCheckSize){let e=`当前列表共${F.pageVO.total}条数据,为了确保系统安全,只能单次操作${F.maxCheckSize}条,你可以通过高级筛选过滤再次尝试`;window.$message.warning(e)}L("selectionChangeAll")},Si=()=>{L("selectionChangeAllCancel")},xi=()=>"checkbox"===ct.selectType?({row:e})=>{const t=Ut.value;return t&&t===e[F.primaryKey]?"single--checked":""}:()=>{},Ni=({columns:e,data:t})=>{if(!F.groupCountFields||!F.groupCountFields.length)return[e.map(((e,t)=>null))];let i=Ae(e,t,F),l=e.map(((e,t)=>0===t?null:1===t?i:null));return L("setGroupText",i),ct.groupText=i,[l]},Ei=({row:e})=>{const t=t=>{const i="checkbox"==ct.selectType&&e.checked&&t.findIndex((e=>!ce({row:e})))>=0;i&&(i&&(e.checked=!1),setTimeout((()=>{ot.value?.setCheckboxRow(e,!0)}),0))};if(2==ct.isTree){const{tableId:i,page:l,pageSize:n,autograph:s,isTreeOrList:a}=F.tableParams;return e[F.primaryKey],Ri().then((({data:e})=>{if("SUCCESS"==e.result){let i=JSON.parse(JSON.stringify(e.map.rows)),{fieldList:l,btnList:n,showButtonTop:s}=F.columnConfig,a=dt({tableList:e.map.rows,fieldList:l,btnList:n,oldtableData:i,showButtonTop:s});return a=Ii(a),L("refreshOldTableData",i),t(a),a}}))}return t(e.childrenList),Promise.resolve(e.childrenList)},Ri=e=>Promise.resolve(),Ii=e=>e.map((e=>{if(e.checked=e.checked||!1,2==ct.isTree){const t=ct.levelLazyLoadSetting.childCountKey,{isTreeOrList:i=""}=F.tableParams;t&&Number(e[t])>0&&"LIST"!=i&&(e.hasChildren=!0)}return e.childrenList&&e.childrenList.length&&(e.childrenList=Ii(e.childrenList)),Object.keys(e).map((t=>{e[t]&&"string"==typeof e[t]&&-1!==e[t].indexOf("<p")&&-1===t.indexOf("_temp_"+e.id)&&(e[t+"_temp_"+e.id]=e[t]||"",e[t]=ut(e[t]))})),e.checked&&ct.checkedRows.push(e),{...e}})),Oi=({row:e,column:t,_rowIndex:i,_columnIndex:l})=>{if(3!=ct.isTree)return{rowspan:1,colspan:1};let n=ot.value,s=n.getTableColumn().tableColumn.findIndex((e=>!!e.property)),a=n.getTableColumn().tableColumn.length-s;return e.childrenList&&e.childrenList.length&&n?t.treeNode?{rowspan:1,colspan:a}:t.property?{rowspan:0,colspan:0}:{rowspan:1,colspan:1}:void 0},Li=e=>{if(!F.groupCountFields||!F.groupCountFields.length)return{rowspan:1,colspan:1};let{$rowIndex:t,_columnIndex:i,column:l}=e,n=ct.columnLen||99,{isBatchSelect:s}=F.columnConfig;return 0===t?1==s?0===i?{rowspan:1,colspan:2}:1===i?{rowspan:1,colspan:0}:2===i?{rowspan:1,colspan:n}:{rowspan:1,colspan:0}:0===i?{rowspan:1,colspan:1}:1===i?{rowspan:1,colspan:n}:{rowspan:1,colspan:0}:void 0},Fi=({row:e,column:t})=>!Wt.value&&!F.isInlineOperating&&(!se.has(e,at)&&(L("setNestTableClick",F.isNestTable),void L("rowdblclick",e,t,!0,!0))),_i=(e=[])=>{ct.treeTableLength=e.filter((e=>!se.has(e,at))).length,ct.visibleTreeCheck=e.length>1,L("selectionChange",e)},Ai=(e,t=!1)=>{let i={isUpdate:!0,updateRows:e,isTree:t};t&&Object.assign(i,{isTree:t,isCheckedChange:!0,checkedRows:ct.checkedRows}),L("selectionChangeLocal",i)},Di=(e,t)=>{Be(ct);let i=ct.checkedRows,l=[];for(let t=0;t<e.length;t++){let i=e[t],n=$t.value.findIndex((e=>e===i[F.primaryKey]));n>=0&&l.push(n)}l.sort(((e,t)=>t-e)),L("selectionChangeLocal",{isAdd:!1,isCheckedChange:t,needRemoveIndexs:l,newCheckedRows:[],checkedRows:i})},Mi=e=>{if(Wt.value||F.isInlineOperating)return!1;if(se.has(e?.row,at))return!1;if(ct.isTriggerSelectionChange&&0==ct.isTree)return!1;let t=ot.value;Dt.value&&L("resetNestLastClickTable",t);let{row:i,$event:l={},$rowIndex:n}=e,{className:s}=l.target||{};if(s&&se.isString(s)&&s.includes("vxe-table--expand-btn"))return;if(Dt.value&&L("setNestLastClickTable",t,F.isNestTable,i[Bt.value],i),L("setNestTableClick",!1),F.isNestTable)return t?.setAllCheckboxRow(!1),void jt(t,e);let a=!ce(e);if("checkbox"==ct.selectType&&a){t?.setAllCheckboxRow(!1);const e="single--checked"==xi()({row:i})?[]:[i];return ct.checkedRows=e,_i(e),void L("handlerClickRow",i,n)}ct.visibleCheckAllWrap=!1,ct.visibleCheckAllWrapMore=!1;let o=!1;o="radio"==ct.selectType?t.isCheckedByRadioRow(i):t.isCheckedByCheckboxRow(i),ct.isradioChange&&(o=!1,ct.isradioChange=!1);let r=t.getCheckboxRecords(),c=ct.checkedRows.filter((e=>!se.has(e,at))).length,d=[];if(0!=ct.isTree){let{className:e}=l.target||{};if(e&&e.includes("vxe-tree--node-btn"))return;if("checkbox"===ct.selectType){let e={};if(ct.isTriggerSelectionChange){if(r.length>1)return!1;e=o||1===r.length&&!o?r[0]:{},ct.checkedRows=[e]}else t.setAllCheckboxRow(!1),ct.checkedRows=[i],_i([i]),e=i;return Ai(e,!0),void L("handlerClickRow",e)}let n=[];De(i,d,n,Bt.value),c=Me(r,n,Bt.value)?r.filter((e=>!se.has(e,at))).length:1}t.setAllCheckboxRow(!1);let u=o;c>1?("radio"!=ct.selectType&&t.setCheckboxRow([i],!0),0!=ct.isTree&&"radio"!=ct.selectType&&_i(d),"radio"!=ct.selectType&&L("handlerClickRow",i,n)):(u=!u,u?("radio"==ct.selectType&&t.setRadioRow(i),0!=ct.isTree&&"radio"!=ct.selectType&&_i(d)):(t.clearCurrentRow(),"radio"==ct.selectType&&t.clearRadioRow(),0!=ct.isTree&&"radio"!=ct.selectType&&_i([])),"radio"!=ct.selectType&&t.setCheckboxRow([i],u)),0==ct.isTree?(((e,t)=>{e?Ai(t):F.pageVO.pageIndex==ct.lastPageIndex&&$t.value.includes(t[F.primaryKey])?Di([t]):Ai(t)})(u,i),(u||c>1||!c)&&(ct.checkedRows=[i]),u||1!==c||(ct.checkedRows=[]),ni(),ct.lastPageIndex=F.pageVO.pageIndex,u&&L("handlerClickRow",i,n)):u&&L("handlerClickRow",i,n)},Bi=e=>{Be(ct);let t=ct.checkedRows;if($t.value.length+e.length>F.maxCheckSize)return window.$message.warning(`为了保证系统安全,单次操作数据量限额为${F.maxCheckSize}条,你可以通过高级筛选过滤后再次尝试`),!1;let i=e.filter((e=>!$t.value.includes(e[F.primaryKey])));t.push(...i),L("selectionChangeLocal",{isAdd:!0,isCheckedChange:!0,newCheckedRows:i,checkedRows:t})},Pi=e=>0!=ct.isTree&&(_i(e),!0),Vi=({checked:e,row:t,records:i})=>{ot.value.clearCurrentRow(),ct.isTriggerSelectionChange=!0,setTimeout((()=>{ct.isTriggerSelectionChange=!1}),0),Pi(i)||(e?Bi([t]):Di([t],!0),ni())},ji=({checked:e,records:t})=>{Pi(t)||(e?Bi(t):Di(F.data),ni())},zi=(e={})=>{let{data:t,row:i,$rowIndex:l}=e;L("selectionChange",[{...i}])},$i=({property:e,order:t})=>{if(F.isInlineOperating)return!1;Object.values(ct.filterFields).forEach((e=>e.filterSort=null)),L("sortChange",{prop:e,order:t})},Ki=()=>{const e=ot.value.$el.childNodes[0].childNodes[1].childNodes[0].getElementsByClassName("mycolumn");L("setNestTableClickSetting",F.isNestTable),L("showDrawer",e)};let Ui=e=>{L("scroll",e)};(()=>{const{throttle:e=!1,throttleTime:t=800,throttleOptions:i={}}=F.columnConfig?.scrollConfig||{};e&&(Ui=se.throttle(Ui,t,i))})();const Hi=e=>{e.isX&&ke(ct,F),Ui(e)},Wi=({column:e,$event:t})=>{if("title"===e.showOverflow){const e=t?.currentTarget,i=e?.className,l=" vxe-body--column ";if(i&&` ${i} `.includes(l)&&e&&e.hasAttribute("title")){const t=e.querySelector(".vxe-cell");t&&t.hasAttribute("title")&&t.removeAttribute("title"),F.isInlineOperating&&e&&e.hasAttribute("title")&&e.removeAttribute("title")}}},qi=e=>{let t="";return se.has(F.sumData,e.property)&&(t+=`<p class="table-footer-tooltip-label-wrap">\n <span class="table-footer-tooltip-label">求和:</span>\n ${se.round(Number(F.sumData[e.property]),4)}\n </p>`),se.has(F.avgData,e.property)&&(t+=`<p class="table-footer-tooltip-label-wrap">\n <span class="table-footer-tooltip-label">平均值:</span>\n ${se.round(Number(F.avgData[e.property]),4)}</p>`),t},Ji=e=>se.has(F.sumData,e.property)?se.round(Number(F.sumData[e.property]),2):se.has(F.avgData,e.property)?se.round(Number(F.avgData[e.property]),2):void 0,Gi=()=>{L("pubTableRefresh")},Zi=e=>r(q,{onPositiveClick:()=>(e=>{let{row:t,$rowIndex:i}=e||{};t&&(L("scanMultiRemove",i,e),ot.value.remove(t))})(e)},{trigger:()=>r(ze,{class:"scan-multi-delete",iconClass:"shanchu"},null),default:()=>"是否确认删除?"}),Qi=(e,t,i)=>{if(!F.isMatchComponent||F.isNestTable||Wt.value)return!1;if(F.isBatchEditing||F.isInlineEditing||F.isInlineAdding){let l=ct.editColumnMap[t.property];if(!l||!l.matchItem||!l.fieldItem)return!1;if(F.isBatchEditing&&!F.isEditAllRow){if(ct.checkedRows.findIndex((t=>t[F.primaryKey]==e[F.primaryKey]))<0)return!1}return(!F.isInlineEditing&&!F.isInlineAdding||0===i)&&l.matchItem}return!1},Xi=(e,t,i,l)=>{let n=t[F.primaryKey],s=F.batchDynamicPropsCache[n];if(s&&s[e.tableField])return s[e.tableField];let a=ct.editColumnMap[i.property],{fieldItem:o={}}=a||{},r={};if(!F.isInlineAdding){let e=F.pageIndexOldtableData.find((e=>e[F.primaryKey]==t[F.primaryKey]));r=ye(i.property,o,e)}let c={props:{formPrimaryKey:n,defaultForm:{fieldList:[JSON.parse(JSON.stringify(o))],defaultCombinationForm:r},banRequest:!0,propsFormBtn:!0,propsDelSetting:!0,parentConfig:{is_edit:"1"},configuration:qt.value,isPure:!0,isOpenShortcut:!1,cacheUniqueKey:ct.cacheUniqueKey,styleSetting:{}},on:{handleSubmit:Yi,banSubmit:el}};return L("setBatchDynamicPropsCache",{primaryKey:t[F.primaryKey],tableField:e.tableField,dynamicProps:c}),c},Yi=(e={})=>{F.isInlineEditing||F.isInlineAdding?L("submitEditFormSuccess",e):F.isBatchEditing&&L("submitEditFormSuccessBatch",e)},el=e=>{F.isInlineEditing||F.isInlineAdding?L("submitEditFormError"):F.isBatchEditing&&L("submitEditFormErrorBatch",e)},tl=async()=>{L("initInlineEditFormConfig",{listFormUnionSetting:F.listFormUnionSetting,inlineEditFormConfig:F.inlineEditFormConfig});F.btnList?.find((e=>{let t=e.settingObj&&e.settingObj[0]?.trigger_type;return 1==e.isShow&&"EDIT_ROW"==t}))},il=(e,t,i)=>[r("div",{class:["img-wrap","HEADPORTRAIT"===i?"img-circle":""]},[Se(e[t.columnName],i,ht).map(((i,l)=>r("img",{key:l,src:xe(i,F.sysImageSize,"LIST_FIELD_SMALL"),style:Ne(F.sysImageSize,"LIST_FIELD_SMALL","36px"),onClick:i=>((e,t,i)=>{i.preventDefault(),i.stopPropagation(),e||(e=Pe),L("handlePreView",e,t)})(e[t.columnName],l,i)},null)))])],ll=(e,t)=>{let i=e[t.columnName];if(i?.includes("-")){let e=i.split("-")[1];i=se.oldColorMap(e)}return[r("div",{class:"color-wrap",style:"height: 100%; padding: 4px;"},[r("div",{style:{background:i,height:"100%"}},null)])]},nl=(e,t)=>{let i=e[t.columnName]||"";return!se.isEmpty(i)&&se.isObject(i)&&"tooltip"in i?[r(d("n-tooltip"),null,{default:()=>[{trigger:()=>r("span",null,[i.value])},r("span",{innerHTML:i.tooltip},null)]})]:[r("span",{innerHTML:i},null)]},sl=(e,t)=>{let i=e[t.columnName];if(!i&&0!==i)return;let l=i;if(/<\/?span.*?>/g.test(i)){let e=document.createElement("span");e.innerHTML=i,i=e.textContent,l=i}i&&se.isString(i)&&i.includes("%")&&(l=Number(i.replace("%","")));let n="#52c41a";return l<15?n="#ff5500":l<50?n="#ff8b01":l<90&&(n="#1890ff"),l>100?l=100:l<0&&(l=0),[r("div",{class:"percent-wrap"},[r("span",{class:"percent-value"},[l,u("%")]),r(ee,{percentage:l,showIndicator:!1,color:n},null)])]},al=(e,t)=>{let i=e[t.columnName];return Array.isArray(i)&&(i=JSON.stringify(i)),null},ol=(e,t,i)=>[r("span",{class:"bigTable-qr-span",onClick:i=>rl(i,e,t)},[r("img",{class:"bigTable-qr-img",src:Ve},null),r("span",null,[r(ze,{iconClass:"fangda"},null)])])],rl=(e,t,i)=>{e.preventDefault(),e.stopPropagation();let l=Ee(t,i);L("qrCodeEvent",l)},cl=(e,t)=>{if(F.isNestTable)return;let i=[];return i.push(...Re(e,"tileBtnList")),i.push(...Re(e,"foldBtnList")),i?.length?[r("span",null,[r(J,{style:{display:e.__isInlineEditing?"inline-block":"none"},onClick:e=>{e.stopPropagation(),L("SET_SAVE_ROW_STATUS",!0)},class:"btn-custom-class row-btn",size:"small",text:!0},{default:()=>"保存"}),r(J,{style:{display:e.__isInlineEditing?"inline-block":"none"},onClick:e=>{e.stopPropagation(),L("SET_CANCEL_ROW_STATUS",!0)},class:"btn-custom-class row-btn",size:"small",text:!0},{default:()=>"取消"})])]:void 0},dl=(e,t)=>[e.tileBtnList?.length&&e.tileBtnList.map(((i,l)=>"1"==i.isShow&&"LINK"!=i.type&&r(J,{key:i.sid,onClick:l=>ul(e,i,t,l),class:"btn-custom-class row-btn",style:{...pt(i),display:e.__isInlineEditing?"none":"inline-block"},disabled:e.__isDisableInlineEdit,ghost:"white_bg"==i.showStyle,size:"small"},{default:()=>[pl(i),"only_icon"===i.showStyle?"":ue(i)]})))||""],ul=(e,t,i,l,n)=>{l.preventDefault(),l.stopPropagation(),Et(e,i),L("setNestTableClick",F.isNestTable),L("setCurRowIndex",i),L("clickBtn",e,t,e[Jt.value],i)},pl=(e,t="8px")=>{let i;return e.icon?i=ct.btnIcons[e.icon]?r(d("a-icon"),{type:ct.btnIcons[e.icon]},null):r(W,null,{trigger:()=>r(ze,{iconClass:e.icon,style:{marginRight:t}},null),default:()=>ue(e)}):e.iconSetting&&(i=r(ze,{iconClass:JSON.parse(e.iconSetting).icon,style:{marginRight:t}},null)),[i]},hl=(e,t)=>[e.foldBtnList?.length&&r(te,{style:{display:e.__isInlineEditing?"none":"inline-block"},disabled:F.isInlineOperating,options:e.foldBtnList.map(((i,l)=>({label:`${ue(i)}${pl(i,"0")}`,key:i.sid,props:{onClick:l=>{ul(e,i,t,l.domEvent)}}})))},{default:()=>[r(J,{size:"small",style:"margin-left: 8px"},{default:()=>"更多 ..."})]})||""],gl=(e,t,i,l)=>{let n=(0!==ct.isTree?e:F.oldtableData[l])[t.columnName];if("string"==typeof n&&n&&n.startsWith("###{")){let e=JSON.parse(n.replace("###",""));n=e.tooltip||e.value}return[r(ie,{value:n==t.btnLinkSwitchDefVal,disabled:i,onUpdateValue:i=>((e,t,i,l)=>{L("switchBtnOnChange",e,t,i,l)})(i,e,t,l)},null)]},ml=(e,t,i,l)=>{const n=ft(e,t,F.columnConfig.fieldList,F.fieldListOriginal),s=[l&&n?r("a",{onClick:l=>fl(e,t,i,l),innerHTML:n},null):r("span",{class:"domPropsInnerHTML-span",innerHTML:n},null)];return Ie(t,e)?[r(le,{placement:"right",trigger:"hover",arrowPointToCenter:!0},{default:()=>[{trigger:()=>s},r(H,{component:$,onClick:i=>bl(i,e[t.columnName])},null)]})]:[s]},fl=(e,t,i,l)=>{if(F.isInlineOperating)return!1;let n=ot.value;l.preventDefault(),n.isCheckedByCheckboxRow(e)&&l.stopPropagation(),n.setCurrentRow(e),L("setNestTableClick",F.isNestTable),L("setCurRowIndex",i),L("linkDetail",e,t,e[Jt.value],null,!1,i)},bl=(e,t)=>{e.preventDefault(),e.stopPropagation(),L("hanldeCopyContent",e,t)},Cl=()=>{let e=ot.value;e&&e.scrollTo(e.getScroll().scrollLeft,0)},wl=()=>{if(F.inlineError)return F.resetEditRowStatus(),L("triggerSpinning",!1),!1;let{formId:e}=F.listFormUnionSetting,{id:t}=F.inlineOriginalTableRow;if(!e)return console.log("缺少formId"),void L("triggerSpinning",!1);if(ct.isSaveForm)return!1;ct.isSaveForm=!0;let i=Object.assign({},F.inlineFormData,{formId:e,id:t,editMode:"row"});i=JSON.parse(JSON.stringify(i));let l=i[Bt.value]===st;F.isInlineAdding&&l&&delete i[Bt.value],F.submitForm(i).then((async({data:e})=>{if(L("triggerSpinning",!1),"SUCCESS"!==e.result)return ct.isSaveForm=!1,window.$message.error(e.resultMsg),F.resetEditRowStatus(),!1;await F.resetInlineEdit(),Nt(),L("pubTableReload")})).finally((()=>{ct.isSaveForm=!1,L("triggerSpinning",!1),F.resetEditRowStatus()}))};return g((()=>F.columnConfig),(e=>{h((()=>{e&&Object.keys(e).length&&ei(e)}))}),{immediate:!0}),g((()=>F.data),(e=>{h((()=>{ti(e)}))}),{immediate:!0,deep:!0}),g((()=>$t),(e=>{Oe(ct,F,$t.value)})),g((()=>F.quickSearchConfig),(e=>{Le(ct,F)}),{deep:!0}),g((()=>F.tableDataCache),(e=>{(e=>{if(!F.isNestTable&&e&&e.length){const t=se.handleBigArrayCopy(e);ct.checkedRows=Object.freeze(t),ot.value.setAllCheckboxRow(!0)}})(e)}),{deep:!0}),g((()=>F.pageVO.pageSize),(e=>{F.isNestTable||(Oe(ct,F,$t.value),Ci())})),g((()=>F.pageVO.pageIndex),(e=>{F.isNestTable||(Cl(),Ci())})),g((()=>F.styleSetting.tableHeight),(e=>{F.isNestTable||Object.keys(F.columnConfig).length>0&&(ei(F.columnConfig),ti(F.data),Cl())})),g((()=>F.sysImageSize),(e=>{const t="table-simple"===F.styleSetting?.tableHeight?"26":"22";h((()=>{Fe(e,"LIST_FIELD_SMALL",t+"px")}))}),{deep:!0,immediate:!0}),g((()=>F.inlineEditFormSubmitDone),(e=>{if(e&&!F.isNestTable)return!(0!=ct.isTree||!F.isMatchComponent)&&(!!Ct()&&void wl())})),g((()=>F.isInlineEditing),(e=>{if(e&&!F.isNestTable)return!(0!=ct.isTree||!F.isMatchComponent)&&(!!Ct()&&void wl())})),g((()=>F.isInlineAdding),(e=>!(!e||F.isNestTable)&&(!(0!=ct.isTree||!F.isMatchComponent)&&(Ct()?(St(),void(async()=>{if(!kt())return vt(),!1;await F.resetInlineEdit(),L("handleClickBtnByInline",{type:"ADD",listFormUnionSetting:F.listFormUnionSetting,inlineEditFormConfig:F.inlineEditFormConfig}),st=Date.now();let e={[Bt.value]:st,__isInsertRow:!0},{paramsList:t}=F.listFormUnionSetting;t.forEach((t=>{e[t.tableField]=void 0}));let i=ot.value;await i.insert(e),await i.loadData([e]),yt(!0),wt(i.$el,0,"66")})()):(Nt(),!1))))),g((()=>F.isInlineSave),(e=>!(!e||F.isNestTable)&&(!(0!=ct.isTree||!F.isMatchComponent)&&(!!Ct()&&void(()=>{if(F.spinning)return!1;L("handleClickBtnByInline",{type:"SAVE"});let e=document.querySelectorAll(".js-inlineEditForm"),t=xt();e=[...e].slice(0,t),e.forEach((e=>{e.__vue__.handleSubmitForm()}))})())))),g((()=>F.isInlineCancel),(e=>!(!e||F.isNestTable)&&(!(0!=ct.isTree||!F.isMatchComponent)&&(!!Ct()&&((()=>{if(!F.isInlineAdding)return!1;const e=ot.value;let{tableData:t}=e.getTableData();e.remove(t[0])})(),void vt()))))),g((()=>F.tableRefreshCache),((e,t)=>{if(F.isNestTable)return;const{orgId:i}=F?.userInfo?.map?.sysParams||{};e!=t&&F.tableParams&&e[F.tableParams.tableId]&&i==e[F.tableParams.tableId]&&(ct.hasRefresh=!0)}),{immediate:!0,deep:!0}),g((()=>F.tableParams.tableId),(e=>{h((()=>{e&&F.tableRefreshCache[e]&&(ct.hasRefresh=!0)}))})),p({formatData:dt,xGrid:ot}),(e,t)=>(m(),f("div",{class:b(["big-table custom-big-table",{mt:ct.visibleCheckAllWrap||ct.visibleTreeCheck||ct.hasRefresh,"expand-padding":!F.isNestTable}]),style:C({height:ct.tableHeight})},[ct.hasRefresh&&!F.isNestTable?(m(),f("div",Ke,[w("p",{class:"check-wrap-title"},[Ue,w("span",{class:"check-wrap-btn",onClick:vi},"点击查看")])])):T("v-if",!0),T(" 全选 选择框 "),k(w("div",He,[w("p",We,[w("span",null,"已勾选数据共"+v(y(bt))+"条",1),k(w("span",null," (当前页"+v(ct.currentPageSelectedLength)+"条) ",513),[[S,ct.visibleCheckAllWrapMore]])]),ct.visibleCheckAllWrapMore&&!F.asyncCount?(m(),f(x,{key:0},[y(Kt)?(m(),f("p",{key:1,class:"check-wrap-btn",onClick:Si},"取消全部勾选")):(m(),f("p",{key:0,class:"check-wrap-btn",onClick:yi},[e.pageVO.total>e.maxCheckSize?(m(),f("span",qe,[T(" {{ `最大勾选“${tableName}” ${maxCheckSize}条数据` }} "),u(v(`勾选全部页 ${e.maxCheckSize}条数据`),1)])):(m(),f("span",Je,[T(' {{ $t("1.9.598", { name: tableName, total }) }} '),u(v(`勾选全部页 ${e.pageVO.total}条数据`),1)]))]))],64)):T("v-if",!0)],512),[[S,ct.visibleCheckAllWrap&&!F.isInlineOperating&&!F.isNestTable]]),T(" 树状表格已选 "),k(w("div",Ge,[w("p",Ze,[w("span",null,"已勾选数据共"+v(ct.treeTableLength)+"条",1)])],512),[[S,ct.visibleTreeCheck&&!F.isInlineOperating&&!F.isNestTable]]),r(y(ne),N({ref_key:"xGrid",ref:ot,border:"","show-overflow":"","show-header-overflow":"","highlight-hover-row":"","highlight-current-row":"","show-footer-overflow":"title","keep-source":"",resizable:"","auto-resize":""},F.height?{height:"auto"}:{},{"seq-config":y(Gt),"tree-config":y(Zt),"row-id":y(Bt),"row-class-name":xi,"show-footer":e.showFooter&&!F.isInlineOperating,"footer-method":Ni,"sort-config":{trigger:"cell",remote:!0},"span-method":Oi,"footer-span-method":Li,"tooltip-config":{enterable:!1},"checkbox-config":{checkField:"checked",labelField:"checked",checkMethod:y(ce),trigger:"cell",reserve:!0,highlight:!0},"radio-config":{checkField:"checked",trigger:"cell",reserve:!0,highlight:!0},"scroll-x":{enabled:!1},"scroll-y":{gt:50},"row-style":y(_e),"edit-config":ct.editConfig,"expand-config":{lazy:!0,accordion:e.columnConfig&&e.columnConfig.accordion,loadMethod:y(Vt),toggleMethod:y(Pt),iconOpen:"iconfont icon-a-xitongtubiaozhediejian",iconClose:"iconfont icon-a-xitongtubiaotianjia"},"keyboard-config":e.columnConfig.keyboardConfig||{},"edit-rules":e.columnConfig.editRules||{},onCellDblclick:Fi,onCellClick:Mi,onCheckboxChange:Vi,onCheckboxAll:ji,onRadioChange:zi,onSortChange:$i,onScroll:Hi,onCellMouseenter:Wi}),{empty:E((()=>[ct.isShowEmpty?(m(),f("div",Qe,[r($e,{"no-data-img":F.emptyItems.noDataImg,"no-data-tip":F.emptyItems.noDataTip,"show-img":!F.isNestTable},null,8,["no-data-img","no-data-tip","show-img"])])):T("v-if",!0)])),tooltip_checkbox:E((({row:e,checked:t})=>[e.forbiddenBatchSelect?(m(),R(y(W),{key:0,trigger:"hover",placement:"right"},{trigger:E((()=>[Xe])),default:E((()=>[u(" "+v(e.forbiddenBatchSelectReason),1)])),_:2},1024)):(m(),R(y(Q),{key:1,class:"tooltip-checkbox-item",checked:t},null,8,["checked"]))])),tooltip_footer:E((({column:t})=>[T(" 分组统计 "),e.groupCountFields&&e.groupCountFields.length?(m(),f("span",{key:0,innerHTML:ct.groupText},null,8,Ye)):(m(),f(x,{key:1},[T(" 一般统计 "),r(y(W),{trigger:"hover"},{trigger:E((()=>[u(v(Ji(t)),1)])),default:E((()=>[w("div",{innerHTML:qi(t)},null,8,et)])),_:2},1024)],2112))])),nest_table_content:E((({row:t,rowIndex:i,$rowIndex:l,column:n})=>[I(e.$slots,"content",{data:{row:t,rowIndex:i,$rowIndex:l,column:n}})])),_:3},16,["seq-config","tree-config","row-id","show-footer","checkbox-config","row-style","edit-config","expand-config","keyboard-config","edit-rules"]),T(" `${refreshRow}条更新` "),k(w("div",{class:"refresh",onClick:Gi},[r(y(H),{size:"14",component:y(K)},null,8,["component"]),w("p",tt,v(e.refreshRow)+"条更新",1)],512),[[S,F.refreshRow>0&&!F.isNestTable]])],6))}});export{lt as default};