@weitutech/by-components 1.1.150 → 1.1.152

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.
@@ -61778,8 +61778,8 @@ var component = normalizeComponent(
61778
61778
  )
61779
61779
 
61780
61780
  /* harmony default export */ var pager = (component.exports);
61781
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ddfb4ac0-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/table/index.vue?vue&type=template&id=2e785b4e
61782
- var tablevue_type_template_id_2e785b4e_render = function render() {
61781
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ddfb4ac0-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/table/index.vue?vue&type=template&id=1531768e
61782
+ var tablevue_type_template_id_1531768e_render = function render() {
61783
61783
  var _vm = this,
61784
61784
  _c = _vm._self._c;
61785
61785
  return _c('div', [_c('vxe-grid', _vm._g(_vm._b({
@@ -61848,13 +61848,16 @@ var tablevue_type_template_id_2e785b4e_render = function render() {
61848
61848
  "dialog-visible": _vm.customTableVisible
61849
61849
  },
61850
61850
  on: {
61851
+ "update:dialogVisible": function ($event) {
61852
+ _vm.customTableVisible = $event;
61853
+ },
61851
61854
  "closeDialog": _vm.closeCustomColumnDialog,
61852
61855
  "changeTable": _vm.changeTableFields,
61853
61856
  "changeTableGroup": _vm.changeTableGroupFields
61854
61857
  }
61855
61858
  }) : _vm._e()], 1);
61856
61859
  };
61857
- var tablevue_type_template_id_2e785b4e_staticRenderFns = [];
61860
+ var tablevue_type_template_id_1531768e_staticRenderFns = [];
61858
61861
 
61859
61862
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
61860
61863
  var es_array_push = __webpack_require__(4114);
@@ -61876,8 +61879,8 @@ var es_set_is_superset_of_v2 = __webpack_require__(2475);
61876
61879
  var es_set_symmetric_difference_v2 = __webpack_require__(5024);
61877
61880
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.union.v2.js
61878
61881
  var es_set_union_v2 = __webpack_require__(1698);
61879
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ddfb4ac0-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/custom-column/index.vue?vue&type=template&id=208dd294
61880
- var custom_columnvue_type_template_id_208dd294_render = function render() {
61882
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ddfb4ac0-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/custom-column/index.vue?vue&type=template&id=11e72a7d
61883
+ var custom_columnvue_type_template_id_11e72a7d_render = function render() {
61881
61884
  var _vm = this,
61882
61885
  _c = _vm._self._c;
61883
61886
  return _c('div', {
@@ -61897,12 +61900,10 @@ var custom_columnvue_type_template_id_208dd294_render = function render() {
61897
61900
  "buttons": _vm.dialogButtons
61898
61901
  },
61899
61902
  on: {
61900
- "update:visible": [function ($event) {
61901
- _vm.dialogVisible = $event;
61902
- }, _vm.handleVisibleChange],
61903
61903
  "close": _vm.closeDialog,
61904
61904
  "cancel": _vm.closeDialog,
61905
- "confirm": _vm.submit
61905
+ "confirm": _vm.submit,
61906
+ "update:visible": _vm.handleVisibleChange
61906
61907
  }
61907
61908
  }, [_c('div', {
61908
61909
  staticClass: "el-dialog-box"
@@ -62270,7 +62271,7 @@ var custom_columnvue_type_template_id_208dd294_render = function render() {
62270
62271
  }), 0)], 1)], 1)]);
62271
62272
  }), 0)], 1)], 1)])])])])], 1);
62272
62273
  };
62273
- var custom_columnvue_type_template_id_208dd294_staticRenderFns = [];
62274
+ var custom_columnvue_type_template_id_11e72a7d_staticRenderFns = [];
62274
62275
 
62275
62276
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
62276
62277
  var es_iterator_filter = __webpack_require__(2489);
@@ -62278,8 +62279,6 @@ var es_iterator_filter = __webpack_require__(2489);
62278
62279
  var es_iterator_find = __webpack_require__(116);
62279
62280
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.flat-map.js
62280
62281
  var es_iterator_flat_map = __webpack_require__(531);
62281
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
62282
- var es_iterator_some = __webpack_require__(3579);
62283
62282
  // EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
62284
62283
  var vuedraggable_umd = __webpack_require__(9135);
62285
62284
  var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
@@ -63123,7 +63122,6 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63123
63122
 
63124
63123
 
63125
63124
 
63126
-
63127
63125
 
63128
63126
  /* harmony default export */ var custom_columnvue_type_script_lang_js = ({
63129
63127
  name: 'CustomColumn',
@@ -63251,7 +63249,6 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63251
63249
  * @param { object[] } bePreservedColumn 被保存过的列数据
63252
63250
  */
63253
63251
  initTableList(initColumn, bePreservedColumn = []) {
63254
- // this.$message.success('目前是' + (this.useMultiLevelHeader ? '多级' : '一级') + '表头模式')
63255
63252
  //设置拖拽列表数据
63256
63253
  const setDraggableMenu = arr => {
63257
63254
  // 扁平化所有列并按 fixed 属性分类排序
@@ -63328,12 +63325,19 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63328
63325
  }
63329
63326
  this.draggableMenu = setDraggableMenu(this.checkBoxMenu);
63330
63327
  }
63331
- this.emitChangeTable(this.draggableMenu.filter(item => item.key !== 'sort-cut-off').sort((a, b) => a.sort - b.sort));
63332
- this.emitChangeTableGroup(this.checkBoxMenu);
63333
-
63334
- // 多级表头模式下,初始化分组渲染数据
63335
63328
  if (this.useMultiLevelHeader) {
63336
- // 初始化基础分组顺序,仅在首次时赋值
63329
+ // 多级表头模式
63330
+ const clonedCheckBoxMenu = this.checkBoxMenu.map(group => ({
63331
+ ...group,
63332
+ data: group.data.map(col => this.deepClone(col))
63333
+ }));
63334
+ this.emitChangeTableGroup(clonedCheckBoxMenu);
63335
+ } else {
63336
+ const clonedDraggableMenu = this.draggableMenu.filter(item => item.key !== 'sort-cut-off').map(item => this.deepClone(item)).sort((a, b) => a.sort - b.sort);
63337
+ this.emitChangeTable(clonedDraggableMenu);
63338
+ }
63339
+ if (this.useMultiLevelHeader) {
63340
+ // 多级表头模式
63337
63341
  if (this.baseGroupOrder.length === 0) {
63338
63342
  this.baseGroupOrder = this.checkBoxMenu.map(g => g.label);
63339
63343
  }
@@ -63562,13 +63566,6 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63562
63566
  items: this.deepClone(labelToItems[l])
63563
63567
  }));
63564
63568
  this.groupCards = nextGroups;
63565
- try {
63566
- console.debug('[custom-column] refreshMultiHeaderDerivedData', {
63567
- separatorIndex,
63568
- fixedCount: fixed.length,
63569
- groupCount: nextGroups.length
63570
- });
63571
- } catch (e) {}
63572
63569
  },
63573
63570
  onFixedEnd() {
63574
63571
  // 将 fixedAreaList 的顺序同步回 draggableMenu 的固定区
@@ -63706,26 +63703,59 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63706
63703
  });
63707
63704
  } else {
63708
63705
  // 处理普通的列分组(按原有的 parent.label 分组)
63709
- this.draggableMenu.forEach(item => {
63710
- if (item.key !== 'sort-cut-off') {
63711
- const {
63712
- parent,
63713
- ...other
63714
- } = item;
63715
- // 是否存在
63716
- const isExit = params.column.some(col => col.label === parent.label);
63717
- if (isExit) {
63718
- params.column.forEach(col => {
63719
- if (col.label === parent.label) {
63720
- col.data.push(other);
63706
+ // 注意:从 checkBoxMenu 构建保存数据,确保保存原始 fixed 属性
63707
+ // 但需要根据 draggableMenu 中的顺序和位置来确定最终的 sort 和 fixed
63708
+ const separatorIndex = this.draggableMenu.findIndex(i => i.key === 'sort-cut-off');
63709
+ this.checkBoxMenu.forEach(group => {
63710
+ // 收集该分组下所有选中的列
63711
+ const groupCols = [];
63712
+ group.data.forEach(col => {
63713
+ if (col.type) {
63714
+ // 深拷贝列数据,避免修改原始数据
63715
+ const {
63716
+ parent,
63717
+ ...colData
63718
+ } = col;
63719
+ const clonedCol = this.deepClone(colData);
63720
+
63721
+ // 从 draggableMenu 中获取当前的 sort 值
63722
+ const dragItem = this.draggableMenu.find(item => item.key === col.key);
63723
+ if (dragItem && dragItem.sort !== undefined) {
63724
+ clonedCol.sort = dragItem.sort;
63725
+ }
63726
+
63727
+ // 判断 fixed 状态:如果 draggableMenu 中该项在分割线之前,则它是固定列
63728
+ if (separatorIndex > -1) {
63729
+ const itemIndex = this.draggableMenu.findIndex(i => i.key === col.key);
63730
+ if (itemIndex !== -1 && itemIndex < separatorIndex) {
63731
+ clonedCol.fixed = 'left';
63732
+ } else {
63733
+ // 不在固定区,删除 fixed(即使原始数据中有 fixed)
63734
+ delete clonedCol.fixed;
63721
63735
  }
63722
- });
63723
- } else {
63724
- params.column.push({
63725
- label: parent.label,
63726
- data: [other]
63727
- });
63736
+ } else {
63737
+ // 没有分割线,保持原始 fixed 状态
63738
+ if (col.fixed === 'left') {
63739
+ clonedCol.fixed = 'left';
63740
+ } else {
63741
+ delete clonedCol.fixed;
63742
+ }
63743
+ }
63744
+ groupCols.push(clonedCol);
63728
63745
  }
63746
+ });
63747
+
63748
+ // 按照 sort 值排序,确保同一分组内的列顺序与用户拖拽后的顺序一致
63749
+ if (groupCols.length > 0) {
63750
+ groupCols.sort((a, b) => {
63751
+ const sortA = typeof a.sort === 'number' ? a.sort : Number(a.sort) || 0;
63752
+ const sortB = typeof b.sort === 'number' ? b.sort : Number(b.sort) || 0;
63753
+ return sortA - sortB;
63754
+ });
63755
+ params.column.push({
63756
+ label: group.label,
63757
+ data: groupCols
63758
+ });
63729
63759
  }
63730
63760
  });
63731
63761
  }
@@ -63734,13 +63764,18 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63734
63764
  // changeTable 回调:返回正常排序的列数据
63735
63765
  const cols = [];
63736
63766
  params.column.forEach(item => {
63737
- cols.push(...item.data);
63767
+ cols.push(...item.data.map(col => this.deepClone(col)));
63738
63768
  });
63739
- this.emitChangeTable(cols.sort((a, b) => a.sort - b.sort));
63740
- this.emitChangeTableGroup(params.column);
63741
-
63742
- // ByDialog 的自动关闭逻辑会在confirm事件时处理
63743
- // 但我们需要重置搜索和高亮状态
63769
+ if (this.useMultiLevelHeader) {
63770
+ // 多级表头模式
63771
+ const clonedColumn = params.column.map(group => ({
63772
+ ...group,
63773
+ data: group.data.map(col => this.deepClone(col))
63774
+ }));
63775
+ this.emitChangeTableGroup(clonedColumn);
63776
+ } else {
63777
+ this.emitChangeTable(cols.sort((a, b) => a.sort - b.sort));
63778
+ }
63744
63779
  this.search = '';
63745
63780
  this.activeId = 0;
63746
63781
  },
@@ -63767,6 +63802,8 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63767
63802
  },
63768
63803
  // 处理弹窗可见性变化
63769
63804
  handleVisibleChange(value) {
63805
+ // 通过事件通知父组件更新 dialogVisible,而不是直接修改 prop
63806
+ this.$emit('update:dialogVisible', value);
63770
63807
  if (!value) {
63771
63808
  // 弹窗关闭时重置状态
63772
63809
  this.closeDialog();
@@ -63786,8 +63823,8 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63786
63823
  ;
63787
63824
  var custom_column_component = normalizeComponent(
63788
63825
  components_custom_columnvue_type_script_lang_js,
63789
- custom_columnvue_type_template_id_208dd294_render,
63790
- custom_columnvue_type_template_id_208dd294_staticRenderFns,
63826
+ custom_columnvue_type_template_id_11e72a7d_render,
63827
+ custom_columnvue_type_template_id_11e72a7d_staticRenderFns,
63791
63828
  false,
63792
63829
  null,
63793
63830
  null,
@@ -64218,6 +64255,11 @@ var custom_column_component = normalizeComponent(
64218
64255
  },
64219
64256
  // 改变表头字段
64220
64257
  changeTableFields(cols) {
64258
+ var _this$gridOptions$cus3;
64259
+ const useMultiLevelHeader = (_this$gridOptions$cus3 = this.gridOptions.customColumnConfig) === null || _this$gridOptions$cus3 === void 0 ? void 0 : _this$gridOptions$cus3.useMultiLevelHeader;
64260
+ if (useMultiLevelHeader === true) {
64261
+ return;
64262
+ }
64221
64263
  const columns = [];
64222
64264
  cols.forEach(item => {
64223
64265
  if (!columns.some(col => col.field === item.key) && item.type) {
@@ -64244,6 +64286,13 @@ var custom_column_component = normalizeComponent(
64244
64286
  },
64245
64287
  // 多层级表头
64246
64288
  changeTableGroupFields(cols) {
64289
+ var _this$gridOptions$cus4;
64290
+ // 如果不使用多级表头,则忽略多级表头事件
64291
+ const useMultiLevelHeader = (_this$gridOptions$cus4 = this.gridOptions.customColumnConfig) === null || _this$gridOptions$cus4 === void 0 ? void 0 : _this$gridOptions$cus4.useMultiLevelHeader;
64292
+ if (useMultiLevelHeader !== true) {
64293
+ return;
64294
+ }
64295
+
64247
64296
  // 保证组内顺序严格按后端/保存的 sort 值或当前顺序
64248
64297
  const sortGroupItems = groups => (groups || []).map(g => ({
64249
64298
  ...g,
@@ -64299,10 +64348,6 @@ var custom_column_component = normalizeComponent(
64299
64348
  // 根层分组也按 sort 排序(保持与右侧面板/后端一致)
64300
64349
  const sortedRoot = sortGroupItems(cols);
64301
64350
  const groupColumns = recursiveData(sortedRoot);
64302
- // 主动刷新 vxe-grid 表头(避免仅 emit 而外层未接收导致不生效)
64303
- if (this.$refs.xGrid && this.$refs.xGrid.reloadColumn) {
64304
- this.$refs.xGrid.reloadColumn(groupColumns);
64305
- }
64306
64351
  this.$emit('setGroupColumn', groupColumns);
64307
64352
  },
64308
64353
  // 关闭自定义表头弹框
@@ -64599,8 +64644,8 @@ var custom_column_component = normalizeComponent(
64599
64644
  ;
64600
64645
  var table_component = normalizeComponent(
64601
64646
  components_tablevue_type_script_lang_js,
64602
- tablevue_type_template_id_2e785b4e_render,
64603
- tablevue_type_template_id_2e785b4e_staticRenderFns,
64647
+ tablevue_type_template_id_1531768e_render,
64648
+ tablevue_type_template_id_1531768e_staticRenderFns,
64604
64649
  false,
64605
64650
  null,
64606
64651
  null,
@@ -65791,6 +65836,8 @@ var ByCommonSelectorvue_type_template_id_73eac40e_render = function render() {
65791
65836
  };
65792
65837
  var ByCommonSelectorvue_type_template_id_73eac40e_staticRenderFns = [];
65793
65838
 
65839
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
65840
+ var es_iterator_some = __webpack_require__(3579);
65794
65841
  ;// ./node_modules/pinyin-pro/dist/index.mjs
65795
65842
 
65796
65843
 
@@ -61788,8 +61788,8 @@ var component = normalizeComponent(
61788
61788
  )
61789
61789
 
61790
61790
  /* harmony default export */ var pager = (component.exports);
61791
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ddfb4ac0-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/table/index.vue?vue&type=template&id=2e785b4e
61792
- var tablevue_type_template_id_2e785b4e_render = function render() {
61791
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ddfb4ac0-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/table/index.vue?vue&type=template&id=1531768e
61792
+ var tablevue_type_template_id_1531768e_render = function render() {
61793
61793
  var _vm = this,
61794
61794
  _c = _vm._self._c;
61795
61795
  return _c('div', [_c('vxe-grid', _vm._g(_vm._b({
@@ -61858,13 +61858,16 @@ var tablevue_type_template_id_2e785b4e_render = function render() {
61858
61858
  "dialog-visible": _vm.customTableVisible
61859
61859
  },
61860
61860
  on: {
61861
+ "update:dialogVisible": function ($event) {
61862
+ _vm.customTableVisible = $event;
61863
+ },
61861
61864
  "closeDialog": _vm.closeCustomColumnDialog,
61862
61865
  "changeTable": _vm.changeTableFields,
61863
61866
  "changeTableGroup": _vm.changeTableGroupFields
61864
61867
  }
61865
61868
  }) : _vm._e()], 1);
61866
61869
  };
61867
- var tablevue_type_template_id_2e785b4e_staticRenderFns = [];
61870
+ var tablevue_type_template_id_1531768e_staticRenderFns = [];
61868
61871
 
61869
61872
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
61870
61873
  var es_array_push = __webpack_require__(4114);
@@ -61886,8 +61889,8 @@ var es_set_is_superset_of_v2 = __webpack_require__(2475);
61886
61889
  var es_set_symmetric_difference_v2 = __webpack_require__(5024);
61887
61890
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.union.v2.js
61888
61891
  var es_set_union_v2 = __webpack_require__(1698);
61889
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ddfb4ac0-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/custom-column/index.vue?vue&type=template&id=208dd294
61890
- var custom_columnvue_type_template_id_208dd294_render = function render() {
61892
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ddfb4ac0-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/custom-column/index.vue?vue&type=template&id=11e72a7d
61893
+ var custom_columnvue_type_template_id_11e72a7d_render = function render() {
61891
61894
  var _vm = this,
61892
61895
  _c = _vm._self._c;
61893
61896
  return _c('div', {
@@ -61907,12 +61910,10 @@ var custom_columnvue_type_template_id_208dd294_render = function render() {
61907
61910
  "buttons": _vm.dialogButtons
61908
61911
  },
61909
61912
  on: {
61910
- "update:visible": [function ($event) {
61911
- _vm.dialogVisible = $event;
61912
- }, _vm.handleVisibleChange],
61913
61913
  "close": _vm.closeDialog,
61914
61914
  "cancel": _vm.closeDialog,
61915
- "confirm": _vm.submit
61915
+ "confirm": _vm.submit,
61916
+ "update:visible": _vm.handleVisibleChange
61916
61917
  }
61917
61918
  }, [_c('div', {
61918
61919
  staticClass: "el-dialog-box"
@@ -62280,7 +62281,7 @@ var custom_columnvue_type_template_id_208dd294_render = function render() {
62280
62281
  }), 0)], 1)], 1)]);
62281
62282
  }), 0)], 1)], 1)])])])])], 1);
62282
62283
  };
62283
- var custom_columnvue_type_template_id_208dd294_staticRenderFns = [];
62284
+ var custom_columnvue_type_template_id_11e72a7d_staticRenderFns = [];
62284
62285
 
62285
62286
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
62286
62287
  var es_iterator_filter = __webpack_require__(2489);
@@ -62288,8 +62289,6 @@ var es_iterator_filter = __webpack_require__(2489);
62288
62289
  var es_iterator_find = __webpack_require__(116);
62289
62290
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.flat-map.js
62290
62291
  var es_iterator_flat_map = __webpack_require__(531);
62291
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
62292
- var es_iterator_some = __webpack_require__(3579);
62293
62292
  // EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
62294
62293
  var vuedraggable_umd = __webpack_require__(3741);
62295
62294
  var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
@@ -63133,7 +63132,6 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63133
63132
 
63134
63133
 
63135
63134
 
63136
-
63137
63135
 
63138
63136
  /* harmony default export */ var custom_columnvue_type_script_lang_js = ({
63139
63137
  name: 'CustomColumn',
@@ -63261,7 +63259,6 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63261
63259
  * @param { object[] } bePreservedColumn 被保存过的列数据
63262
63260
  */
63263
63261
  initTableList(initColumn, bePreservedColumn = []) {
63264
- // this.$message.success('目前是' + (this.useMultiLevelHeader ? '多级' : '一级') + '表头模式')
63265
63262
  //设置拖拽列表数据
63266
63263
  const setDraggableMenu = arr => {
63267
63264
  // 扁平化所有列并按 fixed 属性分类排序
@@ -63338,12 +63335,19 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63338
63335
  }
63339
63336
  this.draggableMenu = setDraggableMenu(this.checkBoxMenu);
63340
63337
  }
63341
- this.emitChangeTable(this.draggableMenu.filter(item => item.key !== 'sort-cut-off').sort((a, b) => a.sort - b.sort));
63342
- this.emitChangeTableGroup(this.checkBoxMenu);
63343
-
63344
- // 多级表头模式下,初始化分组渲染数据
63345
63338
  if (this.useMultiLevelHeader) {
63346
- // 初始化基础分组顺序,仅在首次时赋值
63339
+ // 多级表头模式
63340
+ const clonedCheckBoxMenu = this.checkBoxMenu.map(group => ({
63341
+ ...group,
63342
+ data: group.data.map(col => this.deepClone(col))
63343
+ }));
63344
+ this.emitChangeTableGroup(clonedCheckBoxMenu);
63345
+ } else {
63346
+ const clonedDraggableMenu = this.draggableMenu.filter(item => item.key !== 'sort-cut-off').map(item => this.deepClone(item)).sort((a, b) => a.sort - b.sort);
63347
+ this.emitChangeTable(clonedDraggableMenu);
63348
+ }
63349
+ if (this.useMultiLevelHeader) {
63350
+ // 多级表头模式
63347
63351
  if (this.baseGroupOrder.length === 0) {
63348
63352
  this.baseGroupOrder = this.checkBoxMenu.map(g => g.label);
63349
63353
  }
@@ -63572,13 +63576,6 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63572
63576
  items: this.deepClone(labelToItems[l])
63573
63577
  }));
63574
63578
  this.groupCards = nextGroups;
63575
- try {
63576
- console.debug('[custom-column] refreshMultiHeaderDerivedData', {
63577
- separatorIndex,
63578
- fixedCount: fixed.length,
63579
- groupCount: nextGroups.length
63580
- });
63581
- } catch (e) {}
63582
63579
  },
63583
63580
  onFixedEnd() {
63584
63581
  // 将 fixedAreaList 的顺序同步回 draggableMenu 的固定区
@@ -63716,26 +63713,59 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63716
63713
  });
63717
63714
  } else {
63718
63715
  // 处理普通的列分组(按原有的 parent.label 分组)
63719
- this.draggableMenu.forEach(item => {
63720
- if (item.key !== 'sort-cut-off') {
63721
- const {
63722
- parent,
63723
- ...other
63724
- } = item;
63725
- // 是否存在
63726
- const isExit = params.column.some(col => col.label === parent.label);
63727
- if (isExit) {
63728
- params.column.forEach(col => {
63729
- if (col.label === parent.label) {
63730
- col.data.push(other);
63716
+ // 注意:从 checkBoxMenu 构建保存数据,确保保存原始 fixed 属性
63717
+ // 但需要根据 draggableMenu 中的顺序和位置来确定最终的 sort 和 fixed
63718
+ const separatorIndex = this.draggableMenu.findIndex(i => i.key === 'sort-cut-off');
63719
+ this.checkBoxMenu.forEach(group => {
63720
+ // 收集该分组下所有选中的列
63721
+ const groupCols = [];
63722
+ group.data.forEach(col => {
63723
+ if (col.type) {
63724
+ // 深拷贝列数据,避免修改原始数据
63725
+ const {
63726
+ parent,
63727
+ ...colData
63728
+ } = col;
63729
+ const clonedCol = this.deepClone(colData);
63730
+
63731
+ // 从 draggableMenu 中获取当前的 sort 值
63732
+ const dragItem = this.draggableMenu.find(item => item.key === col.key);
63733
+ if (dragItem && dragItem.sort !== undefined) {
63734
+ clonedCol.sort = dragItem.sort;
63735
+ }
63736
+
63737
+ // 判断 fixed 状态:如果 draggableMenu 中该项在分割线之前,则它是固定列
63738
+ if (separatorIndex > -1) {
63739
+ const itemIndex = this.draggableMenu.findIndex(i => i.key === col.key);
63740
+ if (itemIndex !== -1 && itemIndex < separatorIndex) {
63741
+ clonedCol.fixed = 'left';
63742
+ } else {
63743
+ // 不在固定区,删除 fixed(即使原始数据中有 fixed)
63744
+ delete clonedCol.fixed;
63731
63745
  }
63732
- });
63733
- } else {
63734
- params.column.push({
63735
- label: parent.label,
63736
- data: [other]
63737
- });
63746
+ } else {
63747
+ // 没有分割线,保持原始 fixed 状态
63748
+ if (col.fixed === 'left') {
63749
+ clonedCol.fixed = 'left';
63750
+ } else {
63751
+ delete clonedCol.fixed;
63752
+ }
63753
+ }
63754
+ groupCols.push(clonedCol);
63738
63755
  }
63756
+ });
63757
+
63758
+ // 按照 sort 值排序,确保同一分组内的列顺序与用户拖拽后的顺序一致
63759
+ if (groupCols.length > 0) {
63760
+ groupCols.sort((a, b) => {
63761
+ const sortA = typeof a.sort === 'number' ? a.sort : Number(a.sort) || 0;
63762
+ const sortB = typeof b.sort === 'number' ? b.sort : Number(b.sort) || 0;
63763
+ return sortA - sortB;
63764
+ });
63765
+ params.column.push({
63766
+ label: group.label,
63767
+ data: groupCols
63768
+ });
63739
63769
  }
63740
63770
  });
63741
63771
  }
@@ -63744,13 +63774,18 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63744
63774
  // changeTable 回调:返回正常排序的列数据
63745
63775
  const cols = [];
63746
63776
  params.column.forEach(item => {
63747
- cols.push(...item.data);
63777
+ cols.push(...item.data.map(col => this.deepClone(col)));
63748
63778
  });
63749
- this.emitChangeTable(cols.sort((a, b) => a.sort - b.sort));
63750
- this.emitChangeTableGroup(params.column);
63751
-
63752
- // ByDialog 的自动关闭逻辑会在confirm事件时处理
63753
- // 但我们需要重置搜索和高亮状态
63779
+ if (this.useMultiLevelHeader) {
63780
+ // 多级表头模式
63781
+ const clonedColumn = params.column.map(group => ({
63782
+ ...group,
63783
+ data: group.data.map(col => this.deepClone(col))
63784
+ }));
63785
+ this.emitChangeTableGroup(clonedColumn);
63786
+ } else {
63787
+ this.emitChangeTable(cols.sort((a, b) => a.sort - b.sort));
63788
+ }
63754
63789
  this.search = '';
63755
63790
  this.activeId = 0;
63756
63791
  },
@@ -63777,6 +63812,8 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63777
63812
  },
63778
63813
  // 处理弹窗可见性变化
63779
63814
  handleVisibleChange(value) {
63815
+ // 通过事件通知父组件更新 dialogVisible,而不是直接修改 prop
63816
+ this.$emit('update:dialogVisible', value);
63780
63817
  if (!value) {
63781
63818
  // 弹窗关闭时重置状态
63782
63819
  this.closeDialog();
@@ -63796,8 +63833,8 @@ var pin_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA
63796
63833
  ;
63797
63834
  var custom_column_component = normalizeComponent(
63798
63835
  components_custom_columnvue_type_script_lang_js,
63799
- custom_columnvue_type_template_id_208dd294_render,
63800
- custom_columnvue_type_template_id_208dd294_staticRenderFns,
63836
+ custom_columnvue_type_template_id_11e72a7d_render,
63837
+ custom_columnvue_type_template_id_11e72a7d_staticRenderFns,
63801
63838
  false,
63802
63839
  null,
63803
63840
  null,
@@ -64228,6 +64265,11 @@ var custom_column_component = normalizeComponent(
64228
64265
  },
64229
64266
  // 改变表头字段
64230
64267
  changeTableFields(cols) {
64268
+ var _this$gridOptions$cus3;
64269
+ const useMultiLevelHeader = (_this$gridOptions$cus3 = this.gridOptions.customColumnConfig) === null || _this$gridOptions$cus3 === void 0 ? void 0 : _this$gridOptions$cus3.useMultiLevelHeader;
64270
+ if (useMultiLevelHeader === true) {
64271
+ return;
64272
+ }
64231
64273
  const columns = [];
64232
64274
  cols.forEach(item => {
64233
64275
  if (!columns.some(col => col.field === item.key) && item.type) {
@@ -64254,6 +64296,13 @@ var custom_column_component = normalizeComponent(
64254
64296
  },
64255
64297
  // 多层级表头
64256
64298
  changeTableGroupFields(cols) {
64299
+ var _this$gridOptions$cus4;
64300
+ // 如果不使用多级表头,则忽略多级表头事件
64301
+ const useMultiLevelHeader = (_this$gridOptions$cus4 = this.gridOptions.customColumnConfig) === null || _this$gridOptions$cus4 === void 0 ? void 0 : _this$gridOptions$cus4.useMultiLevelHeader;
64302
+ if (useMultiLevelHeader !== true) {
64303
+ return;
64304
+ }
64305
+
64257
64306
  // 保证组内顺序严格按后端/保存的 sort 值或当前顺序
64258
64307
  const sortGroupItems = groups => (groups || []).map(g => ({
64259
64308
  ...g,
@@ -64309,10 +64358,6 @@ var custom_column_component = normalizeComponent(
64309
64358
  // 根层分组也按 sort 排序(保持与右侧面板/后端一致)
64310
64359
  const sortedRoot = sortGroupItems(cols);
64311
64360
  const groupColumns = recursiveData(sortedRoot);
64312
- // 主动刷新 vxe-grid 表头(避免仅 emit 而外层未接收导致不生效)
64313
- if (this.$refs.xGrid && this.$refs.xGrid.reloadColumn) {
64314
- this.$refs.xGrid.reloadColumn(groupColumns);
64315
- }
64316
64361
  this.$emit('setGroupColumn', groupColumns);
64317
64362
  },
64318
64363
  // 关闭自定义表头弹框
@@ -64609,8 +64654,8 @@ var custom_column_component = normalizeComponent(
64609
64654
  ;
64610
64655
  var table_component = normalizeComponent(
64611
64656
  components_tablevue_type_script_lang_js,
64612
- tablevue_type_template_id_2e785b4e_render,
64613
- tablevue_type_template_id_2e785b4e_staticRenderFns,
64657
+ tablevue_type_template_id_1531768e_render,
64658
+ tablevue_type_template_id_1531768e_staticRenderFns,
64614
64659
  false,
64615
64660
  null,
64616
64661
  null,
@@ -65801,6 +65846,8 @@ var ByCommonSelectorvue_type_template_id_73eac40e_render = function render() {
65801
65846
  };
65802
65847
  var ByCommonSelectorvue_type_template_id_73eac40e_staticRenderFns = [];
65803
65848
 
65849
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
65850
+ var es_iterator_some = __webpack_require__(3579);
65804
65851
  ;// ./node_modules/pinyin-pro/dist/index.mjs
65805
65852
 
65806
65853