@weitutech/by-components 1.1.144 → 1.1.146

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.
@@ -61571,7 +61571,7 @@ if (typeof window !== 'undefined') {
61571
61571
  var es_iterator_constructor = __webpack_require__(8111);
61572
61572
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
61573
61573
  var es_iterator_for_each = __webpack_require__(7588);
61574
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/pager/index.vue?vue&type=template&id=88b7da70
61574
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/pager/index.vue?vue&type=template&id=88b7da70
61575
61575
  var render = function render() {
61576
61576
  var _vm = this,
61577
61577
  _c = _vm._self._c;
@@ -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":"bbb361fc-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=22f2fb85
61782
- var tablevue_type_template_id_22f2fb85_render = function render() {
61781
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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() {
61783
61783
  var _vm = this,
61784
61784
  _c = _vm._self._c;
61785
61785
  return _c('div', [_c('vxe-grid', _vm._g(_vm._b({
@@ -61844,6 +61844,7 @@ var tablevue_type_template_id_22f2fb85_render = function render() {
61844
61844
  "info-method": _vm.gridOptions.customColumnConfig.infoMethod,
61845
61845
  "submit-method": _vm.gridOptions.customColumnConfig.submitMethod,
61846
61846
  "fixed-max-count": _vm.gridOptions.customColumnConfig.fixedMaxCount,
61847
+ "use-multi-level-header": _vm.gridOptions.customColumnConfig.useMultiLevelHeader,
61847
61848
  "dialog-visible": _vm.customTableVisible
61848
61849
  },
61849
61850
  on: {
@@ -61853,7 +61854,7 @@ var tablevue_type_template_id_22f2fb85_render = function render() {
61853
61854
  }
61854
61855
  }) : _vm._e()], 1);
61855
61856
  };
61856
- var tablevue_type_template_id_22f2fb85_staticRenderFns = [];
61857
+ var tablevue_type_template_id_2e785b4e_staticRenderFns = [];
61857
61858
 
61858
61859
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
61859
61860
  var es_array_push = __webpack_require__(4114);
@@ -61875,58 +61876,34 @@ var es_set_is_superset_of_v2 = __webpack_require__(2475);
61875
61876
  var es_set_symmetric_difference_v2 = __webpack_require__(5024);
61876
61877
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.union.v2.js
61877
61878
  var es_set_union_v2 = __webpack_require__(1698);
61878
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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=b39a6d78
61879
- var custom_columnvue_type_template_id_b39a6d78_render = function render() {
61879
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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=3fe59a74
61880
+ var custom_columnvue_type_template_id_3fe59a74_render = function render() {
61880
61881
  var _vm = this,
61881
61882
  _c = _vm._self._c;
61882
61883
  return _c('div', {
61883
61884
  attrs: {
61884
61885
  "id": "custom_column"
61885
61886
  }
61886
- }, [_c('el-dialog', {
61887
+ }, [_c('by-dialog', {
61887
61888
  attrs: {
61888
61889
  "close-on-click-modal": false,
61889
61890
  "visible": _vm.dialogVisible,
61890
- "width": "920px",
61891
+ "width": "1000px",
61892
+ "body-height": 700,
61893
+ "auto-adjust-top": true,
61891
61894
  "append-to-body": true,
61892
61895
  "show-close": false,
61893
- "custom-class": "custom_dialog_class"
61896
+ "custom-class": "custom_dialog_class",
61897
+ "buttons": _vm.dialogButtons
61894
61898
  },
61895
61899
  on: {
61896
- "close": _vm.closeDialog
61897
- },
61898
- scopedSlots: _vm._u([{
61899
- key: "footer",
61900
- fn: function () {
61901
- return [_c('el-row', {
61902
- staticStyle: {
61903
- "margin-top": "7px"
61904
- }
61905
- }, [_c('el-button', {
61906
- staticStyle: {
61907
- "width": "96px"
61908
- },
61909
- attrs: {
61910
- "size": "small"
61911
- },
61912
- on: {
61913
- "click": _vm.closeDialog
61914
- }
61915
- }, [_vm._v("取消")]), _c('el-button', {
61916
- staticStyle: {
61917
- "width": "96px"
61918
- },
61919
- attrs: {
61920
- "size": "small",
61921
- "type": "primary"
61922
- },
61923
- on: {
61924
- "click": _vm.submit
61925
- }
61926
- }, [_vm._v("确定")])], 1)];
61927
- },
61928
- proxy: true
61929
- }])
61900
+ "update:visible": [function ($event) {
61901
+ _vm.dialogVisible = $event;
61902
+ }, _vm.handleVisibleChange],
61903
+ "close": _vm.closeDialog,
61904
+ "cancel": _vm.closeDialog,
61905
+ "confirm": _vm.submit
61906
+ }
61930
61907
  }, [_c('div', {
61931
61908
  staticClass: "el-dialog-box"
61932
61909
  }, [_c('div', {
@@ -61947,7 +61924,8 @@ var custom_columnvue_type_template_id_b39a6d78_render = function render() {
61947
61924
  },
61948
61925
  attrs: {
61949
61926
  "placeholder": "搜索指标",
61950
- "size": "medium",
61927
+ "size": "mini",
61928
+ "clearable": true,
61951
61929
  "prefix-icon": "el-icon-search"
61952
61930
  },
61953
61931
  model: {
@@ -61958,13 +61936,14 @@ var custom_columnvue_type_template_id_b39a6d78_render = function render() {
61958
61936
  expression: "search"
61959
61937
  }
61960
61938
  })], 1), _c('el-button', {
61939
+ staticClass: "select-toggle-btn",
61961
61940
  attrs: {
61962
61941
  "type": "text"
61963
61942
  },
61964
61943
  on: {
61965
- "click": _vm.selectNone
61944
+ "click": _vm.toggleSelectAll
61966
61945
  }
61967
- }, [_vm._v("全不选")])], 1), _c('div', {
61946
+ }, [_vm._v(" " + _vm._s(_vm.number === 0 ? '全选' : '全不选') + " ")])], 1), _c('div', {
61968
61947
  staticClass: "left_box_body"
61969
61948
  }, [_c('div', {
61970
61949
  staticClass: "left_nav"
@@ -61989,7 +61968,17 @@ var custom_columnvue_type_template_id_b39a6d78_render = function render() {
61989
61968
  refInFor: true
61990
61969
  }, [_c('div', {
61991
61970
  staticClass: "checkbox_title"
61992
- }, [_vm._v(" " + _vm._s(item.label) + " ")]), _c('el-row', _vm._l(item.data, function (each, idx) {
61971
+ }, [_c('el-checkbox', {
61972
+ attrs: {
61973
+ "value": _vm.getGroupCheckState(item),
61974
+ "indeterminate": _vm.getGroupIndeterminateState(item)
61975
+ },
61976
+ on: {
61977
+ "change": function ($event) {
61978
+ return _vm.handleGroupCheck(item);
61979
+ }
61980
+ }
61981
+ }, [_vm._v(" " + _vm._s(item.label) + " ")])], 1), _c('el-row', _vm._l(item.data, function (each, idx) {
61993
61982
  return _c('el-col', {
61994
61983
  key: idx,
61995
61984
  staticStyle: {
@@ -62016,9 +62005,7 @@ var custom_columnvue_type_template_id_b39a6d78_render = function render() {
62016
62005
  }), 0)])]), _c('div', {
62017
62006
  staticClass: "right_box"
62018
62007
  }, [_c('div', {
62019
- staticClass: "drag_box"
62020
- }, [_c('el-row', [_c('div', {
62021
- staticClass: "drag_text_box"
62008
+ staticClass: "right_header"
62022
62009
  }, [_c('span', {
62023
62010
  staticClass: "drag_title"
62024
62011
  }, [_vm._v(_vm._s(`已选指标(${_vm.number})`))]), _c('span', {
@@ -62026,13 +62013,17 @@ var custom_columnvue_type_template_id_b39a6d78_render = function render() {
62026
62013
  on: {
62027
62014
  "click": _vm.recoverDefault
62028
62015
  }
62029
- }, [_vm._v("恢复默认")])])]), _c('div', {
62016
+ }, [_vm._v("恢复默认")])]), !_vm.useMultiLevelHeader ? _c('div', {
62017
+ staticClass: "drag_box"
62018
+ }, [_c('div', {
62030
62019
  staticClass: "drag_ul"
62031
62020
  }, [_c('draggable', {
62032
62021
  attrs: {
62033
62022
  "chosen-class": "chosen",
62034
62023
  "force-fallback": "true",
62035
- "animation": "500"
62024
+ "animation": "500",
62025
+ "filter": '.action-btn, .el-icon-close, .remove, .pin-icon',
62026
+ "preventOnFilter": true
62036
62027
  },
62037
62028
  on: {
62038
62029
  "end": _vm.onEnd
@@ -62062,10 +62053,12 @@ var custom_columnvue_type_template_id_b39a6d78_render = function render() {
62062
62053
  }, [col.key !== 'sort-cut-off' ? _c('div', {
62063
62054
  staticClass: "drag_li_text_box"
62064
62055
  }, [_c('i', {
62065
- staticClass: "el-icon-rank icon-box"
62056
+ staticClass: "el-icon-s-unfold icon-box"
62066
62057
  }), _c('span', {
62067
62058
  staticClass: "drag_li_text"
62068
- }, [_vm._v(_vm._s(col.label))])]) : _vm._e(), col.key !== 'sort-cut-off' && col.parent ? _c('span', {
62059
+ }, [_vm._v(_vm._s(col.label))])]) : _c('div', {
62060
+ staticClass: "fixedClass-text"
62061
+ }, [_vm._v(_vm._s(_vm.number > 0 ? `以上为固定列` : '暂未选择指标'))]), col.key !== 'sort-cut-off' && col.parent ? _c('span', {
62069
62062
  staticClass: "parent-label"
62070
62063
  }, [_vm._v(" " + _vm._s(col.parent && col.parent.label ? col.parent.label : '') + " ")]) : _vm._e(), col.key !== 'sort-cut-off' ? _c('i', {
62071
62064
  staticClass: "el-icon-close remove",
@@ -62075,9 +62068,209 @@ var custom_columnvue_type_template_id_b39a6d78_render = function render() {
62075
62068
  }
62076
62069
  }
62077
62070
  }) : _vm._e()]);
62078
- }), 0)], 1)], 1)], 1)])])])], 1);
62071
+ }), 0)], 1)], 1)]) : _c('div', {
62072
+ staticClass: "drag_box"
62073
+ }, [_c('div', {
62074
+ staticClass: "drag_ul"
62075
+ }, [_c('div', {
62076
+ staticStyle: {
62077
+ "display": "none"
62078
+ }
62079
+ }, [_vm._v("groups: " + _vm._s(_vm.groupCards.length))]), _c('draggable', {
62080
+ attrs: {
62081
+ "chosen-class": "chosen",
62082
+ "force-fallback": "true",
62083
+ "animation": "500",
62084
+ "group": {
62085
+ name: 'fixedArea',
62086
+ pull: false,
62087
+ put: false
62088
+ },
62089
+ "filter": '.action-btn, .el-icon-close, .remove, .pin-icon',
62090
+ "preventOnFilter": true
62091
+ },
62092
+ on: {
62093
+ "end": _vm.onFixedEnd
62094
+ },
62095
+ model: {
62096
+ value: _vm.fixedAreaList,
62097
+ callback: function ($$v) {
62098
+ _vm.fixedAreaList = $$v;
62099
+ },
62100
+ expression: "fixedAreaList"
62101
+ }
62102
+ }, [_c('transition-group', {
62103
+ attrs: {
62104
+ "name": "list",
62105
+ "tag": "div"
62106
+ }
62107
+ }, _vm._l(_vm.fixedAreaList, function (col) {
62108
+ return _c('div', {
62109
+ directives: [{
62110
+ name: "show",
62111
+ rawName: "v-show",
62112
+ value: col.type,
62113
+ expression: "col.type"
62114
+ }],
62115
+ key: col.key,
62116
+ staticClass: "drag_li_box"
62117
+ }, [_c('div', {
62118
+ staticClass: "drag_li_text_box"
62119
+ }, [_c('i', {
62120
+ staticClass: "el-icon-s-unfold icon-box"
62121
+ }), _c('span', {
62122
+ staticClass: "drag_li_text"
62123
+ }, [_vm._v(_vm._s(col.label))])]), col.parent ? _c('span', {
62124
+ staticClass: "parent-label"
62125
+ }, [_vm._v(_vm._s(col.parent && col.parent.label || ''))]) : _vm._e(), _c('i', {
62126
+ staticClass: "el-icon-lock remove",
62127
+ on: {
62128
+ "mousedown": function ($event) {
62129
+ $event.stopPropagation();
62130
+ },
62131
+ "click": function ($event) {
62132
+ $event.stopPropagation();
62133
+ return _vm.toggleFixed(col, false);
62134
+ }
62135
+ }
62136
+ }), _c('i', {
62137
+ staticClass: "el-icon-close remove",
62138
+ on: {
62139
+ "mousedown": function ($event) {
62140
+ $event.stopPropagation();
62141
+ },
62142
+ "click": function ($event) {
62143
+ $event.stopPropagation();
62144
+ return _vm.changeCheckbox(col.key, false);
62145
+ }
62146
+ }
62147
+ })]);
62148
+ }), 0)], 1), _c('div', {
62149
+ staticClass: "fixedClass"
62150
+ }, [_c('div', {
62151
+ staticClass: "fixedClass-text"
62152
+ }, [_vm._v(_vm._s(_vm.number > 0 ? `以上为固定列` : '暂未选择指标'))])]), _c('draggable', {
62153
+ staticClass: "group-cards-wrapper",
62154
+ attrs: {
62155
+ "list": _vm.groupCards,
62156
+ "chosen-class": "chosen",
62157
+ "force-fallback": "true",
62158
+ "animation": "300",
62159
+ "group": {
62160
+ name: 'groupCards',
62161
+ pull: false,
62162
+ put: false
62163
+ },
62164
+ "filter": '.action-btn, .el-icon-close, .remove, .pin-icon',
62165
+ "preventOnFilter": true
62166
+ },
62167
+ on: {
62168
+ "end": _vm.onGroupOrderEnd
62169
+ }
62170
+ }, [_c('transition-group', {
62171
+ attrs: {
62172
+ "name": "list",
62173
+ "tag": "div"
62174
+ }
62175
+ }, _vm._l(_vm.groupCards, function (group) {
62176
+ return _c('div', {
62177
+ key: group.label,
62178
+ staticClass: "group-card"
62179
+ }, [_c('div', {
62180
+ staticClass: "group-card__header"
62181
+ }, [_vm._v(_vm._s(group.label))]), _c('div', {
62182
+ staticClass: "group-card__body"
62183
+ }, [_c('draggable', {
62184
+ attrs: {
62185
+ "list": group.items,
62186
+ "group": {
62187
+ name: 'group-' + group.label,
62188
+ pull: false,
62189
+ put: false
62190
+ },
62191
+ "chosen-class": "chosen",
62192
+ "force-fallback": "true",
62193
+ "animation": "300",
62194
+ "filter": '.action-btn, .el-icon-close, .remove, .pin-icon',
62195
+ "preventOnFilter": true
62196
+ },
62197
+ on: {
62198
+ "end": function ($event) {
62199
+ return _vm.onGroupInnerEnd(group, $event);
62200
+ }
62201
+ }
62202
+ }, [_c('transition-group', {
62203
+ attrs: {
62204
+ "name": "list",
62205
+ "tag": "div"
62206
+ }
62207
+ }, _vm._l(group.items, function (item) {
62208
+ return _c('div', {
62209
+ directives: [{
62210
+ name: "show",
62211
+ rawName: "v-show",
62212
+ value: item.type,
62213
+ expression: "item.type"
62214
+ }],
62215
+ key: item.key,
62216
+ staticClass: "drag_li_box"
62217
+ }, [_c('div', {
62218
+ staticClass: "drag_li_text_box"
62219
+ }, [_c('i', {
62220
+ staticClass: "el-icon-s-unfold icon-box"
62221
+ }), _c('span', {
62222
+ staticClass: "drag_li_text"
62223
+ }, [_vm._v(_vm._s(item.label))])]), _c('div', {
62224
+ staticClass: "actions"
62225
+ }, [_vm.isItemFixed(item) ? _c('span', {
62226
+ staticClass: "fixed-badge"
62227
+ }, [_vm._v("已固定")]) : _vm._e(), !_vm.isItemFixed(item) ? _c('i', {
62228
+ staticClass: "pin-icon action-btn",
62229
+ staticStyle: {
62230
+ "border-left": "none"
62231
+ },
62232
+ style: {
62233
+ backgroundImage: `url(${_vm.pinIcon})`
62234
+ },
62235
+ on: {
62236
+ "mousedown": function ($event) {
62237
+ $event.stopPropagation();
62238
+ },
62239
+ "click": function ($event) {
62240
+ $event.stopPropagation();
62241
+ return _vm.toggleFixed(item, true);
62242
+ }
62243
+ }
62244
+ }) : _c('i', {
62245
+ staticClass: "pin-icon action-btn",
62246
+ style: {
62247
+ backgroundImage: `url(${_vm.pinIcon})`
62248
+ },
62249
+ on: {
62250
+ "mousedown": function ($event) {
62251
+ $event.stopPropagation();
62252
+ },
62253
+ "click": function ($event) {
62254
+ $event.stopPropagation();
62255
+ return _vm.toggleFixed(item, false);
62256
+ }
62257
+ }
62258
+ }), _c('i', {
62259
+ staticClass: "el-icon-close action-btn",
62260
+ on: {
62261
+ "mousedown": function ($event) {
62262
+ $event.stopPropagation();
62263
+ },
62264
+ "click": function ($event) {
62265
+ $event.stopPropagation();
62266
+ return _vm.changeCheckbox(item.key, false);
62267
+ }
62268
+ }
62269
+ })])]);
62270
+ }), 0)], 1)], 1)]);
62271
+ }), 0)], 1)], 1)])])])])], 1);
62079
62272
  };
62080
- var custom_columnvue_type_template_id_b39a6d78_staticRenderFns = [];
62273
+ var custom_columnvue_type_template_id_3fe59a74_staticRenderFns = [];
62081
62274
 
62082
62275
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
62083
62276
  var es_iterator_filter = __webpack_require__(2489);
@@ -62090,64 +62283,432 @@ var es_iterator_some = __webpack_require__(3579);
62090
62283
  // EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
62091
62284
  var vuedraggable_umd = __webpack_require__(9135);
62092
62285
  var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
62093
- ;// ./src/utils/index.js
62094
-
62095
- const deepClone = target => {
62096
- // 定义一个变量
62097
- let result;
62098
- // 如果当前需要深拷贝的是一个对象的话
62099
- if (typeof target === 'object') {
62100
- // 如果是一个数组的话
62101
- if (Array.isArray(target)) {
62102
- result = []; // 将result赋值为一个数组,并且执行遍历
62103
- for (const i in target) {
62104
- // 递归克隆数组中的每一项
62105
- result.push(deepClone(target[i]));
62286
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/by-dialog/ByDialog.vue?vue&type=template&id=7eb39597
62287
+ var ByDialogvue_type_template_id_7eb39597_render = function render() {
62288
+ var _vm = this,
62289
+ _c = _vm._self._c;
62290
+ return _c('el-dialog', _vm._g(_vm._b({
62291
+ class: ['by-dialog', {
62292
+ 'by-dialog--with-header': !!_vm.$slots.header
62293
+ }, _vm.customClass],
62294
+ attrs: {
62295
+ "visible": _vm.dialogVisible,
62296
+ "title": _vm.title
62297
+ },
62298
+ on: {
62299
+ "update:visible": function ($event) {
62300
+ _vm.dialogVisible = $event;
62301
+ },
62302
+ "close": _vm.handleClose
62303
+ }
62304
+ }, 'el-dialog', _vm.dialogAttrs, false), _vm.$listeners), [_vm.$slots.header ? _c('div', {
62305
+ staticClass: "by-dialog__header"
62306
+ }, [_vm._t("header")], 2) : _vm._e(), _c('div', {
62307
+ class: ['by-dialog__body', {
62308
+ 'by-dialog__body--with-header': !!_vm.$slots.header
62309
+ }],
62310
+ style: _vm.bodyStyle
62311
+ }, [_vm.content ? _c('div', {
62312
+ staticClass: "by-dialog__content"
62313
+ }, [_vm._v(_vm._s(_vm.content))]) : _vm._e(), _vm._t("default")], 2), _vm.showFooter ? _c('div', {
62314
+ staticClass: "by-dialog__footer"
62315
+ }, [_c('div', {
62316
+ staticClass: "by-dialog__buttons"
62317
+ }, [_vm.leftButtons.length > 0 ? _c('div', {
62318
+ staticClass: "by-dialog__buttons--left"
62319
+ }, _vm._l(_vm.leftButtons, function (button, index) {
62320
+ return _c('el-button', {
62321
+ key: `left-${index}`,
62322
+ class: button.class,
62323
+ style: button.style,
62324
+ attrs: {
62325
+ "type": button.type || 'default',
62326
+ "size": button.size || 'mini',
62327
+ "loading": button.loading,
62328
+ "disabled": button.disabled,
62329
+ "icon": button.icon
62330
+ },
62331
+ on: {
62332
+ "click": function ($event) {
62333
+ return _vm.handleButtonClick(button, index);
62334
+ }
62106
62335
  }
62107
- // 判断如果当前的值是null的话;直接赋值为null
62108
- } else if (target === null) {
62109
- result = null;
62110
- // 判断如果当前的值是一个RegExp对象的话,直接赋值
62111
- } else if (target.constructor === RegExp) {
62112
- result = target;
62113
- } else {
62114
- // 否则是普通对象,直接for in循环,递归赋值对象的所有值
62115
- result = {};
62116
- for (const i in target) {
62117
- result[i] = deepClone(target[i]);
62336
+ }, [_vm._v(" " + _vm._s(button.text) + " ")]);
62337
+ }), 1) : _vm._e(), _vm.rightButtons.length > 0 ? _c('div', {
62338
+ staticClass: "by-dialog__buttons--right"
62339
+ }, _vm._l(_vm.rightButtons, function (button, index) {
62340
+ return _c('el-button', {
62341
+ key: `right-${index}`,
62342
+ class: button.class,
62343
+ style: button.style,
62344
+ attrs: {
62345
+ "type": button.type || 'default',
62346
+ "size": button.size || 'mini',
62347
+ "loading": button.loading,
62348
+ "disabled": button.disabled,
62349
+ "icon": button.icon
62350
+ },
62351
+ on: {
62352
+ "click": function ($event) {
62353
+ return _vm.handleButtonClick(button, index);
62354
+ }
62118
62355
  }
62119
- }
62120
- // 如果不是对象的话,就是基本数据类型,那么直接赋值
62121
- } else {
62122
- result = target;
62123
- }
62124
- // 返回最终结果
62125
- return result;
62356
+ }, [_vm._v(" " + _vm._s(button.text) + " ")]);
62357
+ }), 1) : _vm._e()]), _vm._t("footer")], 2) : _vm._e()]);
62126
62358
  };
62359
+ var ByDialogvue_type_template_id_7eb39597_staticRenderFns = [];
62127
62360
 
62128
- /**
62129
- * 比较两个值是否相等,支持字符串和数字类型的自动转换
62130
- * @param {*} value1 第一个值
62131
- * @param {*} value2 第二个值
62132
- * @returns {boolean} 是否相等
62133
- */
62134
- const isValueEqual = (value1, value2) => {
62135
- // 如果两个值严格相等,直接返回 true
62136
- if (value1 === value2) {
62137
- return true;
62138
- }
62139
-
62140
- // 处理 0 的特殊情况
62141
- if (value1 === 0 && value2 === 0) {
62142
- return true;
62143
- }
62361
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./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/by-dialog/ByDialog.vue?vue&type=script&lang=js
62144
62362
 
62145
- // 尝试数字转换比较
62146
- const num1 = Number(value1);
62147
- const num2 = Number(value2);
62148
62363
 
62149
- // 如果转换后都是有效数字且相等
62150
- if (!isNaN(num1) && !isNaN(num2) && num1 === num2) {
62364
+ /* harmony default export */ var ByDialogvue_type_script_lang_js = ({
62365
+ name: 'ByDialog',
62366
+ inheritAttrs: false,
62367
+ props: {
62368
+ // 是否显示弹窗
62369
+ visible: {
62370
+ type: Boolean,
62371
+ default: false
62372
+ },
62373
+ width: {
62374
+ type: String,
62375
+ default: '600px'
62376
+ },
62377
+ // 大高度时自动收紧与顶部的距离(不影响默认行为)
62378
+ autoAdjustTop: {
62379
+ type: Boolean,
62380
+ default: false
62381
+ },
62382
+ // 内容区固定高度(可选,优先级高于 maxHeight),支持 px/vh/%
62383
+ bodyHeight: {
62384
+ type: [String, Number],
62385
+ default: undefined
62386
+ },
62387
+ // 内容区最大高度(可选),支持 px/vh/%
62388
+ bodyMaxHeight: {
62389
+ type: [String, Number],
62390
+ default: undefined
62391
+ },
62392
+ // 标题
62393
+ title: {
62394
+ type: String,
62395
+ default: ''
62396
+ },
62397
+ // 内容(当没有插槽时使用)
62398
+ content: {
62399
+ type: String,
62400
+ default: ''
62401
+ },
62402
+ // 是否显示底部按钮区域
62403
+ showFooter: {
62404
+ type: Boolean,
62405
+ default: true
62406
+ },
62407
+ // 是否点击模态层关闭弹窗
62408
+ closeOnClickModal: {
62409
+ type: Boolean,
62410
+ default: false
62411
+ },
62412
+ // 按钮配置
62413
+ buttons: {
62414
+ type: Array,
62415
+ default() {
62416
+ return [{
62417
+ text: '取消',
62418
+ type: 'default',
62419
+ action: 'cancel'
62420
+ }, {
62421
+ text: '确定',
62422
+ type: 'primary',
62423
+ action: 'confirm'
62424
+ }];
62425
+ }
62426
+ },
62427
+ // 自定义类名
62428
+ customClass: {
62429
+ type: String,
62430
+ default: ''
62431
+ }
62432
+ },
62433
+ data() {
62434
+ return {
62435
+ internalVisible: false,
62436
+ responsiveWidth: null
62437
+ };
62438
+ },
62439
+ computed: {
62440
+ dialogVisible: {
62441
+ get() {
62442
+ return this.internalVisible;
62443
+ },
62444
+ set(value) {
62445
+ this.internalVisible = value;
62446
+ if (!value) {
62447
+ this.$emit('update:visible', false);
62448
+ }
62449
+ }
62450
+ },
62451
+ dialogAttrs() {
62452
+ const {
62453
+ visible,
62454
+ content,
62455
+ showFooter,
62456
+ customClass,
62457
+ closeOnClickModal,
62458
+ ...attrs
62459
+ } = this.$attrs;
62460
+ const result = {
62461
+ top: this.computedTop,
62462
+ closeOnClickModal: this.closeOnClickModal,
62463
+ ...attrs
62464
+ };
62465
+
62466
+ // 全屏弹窗不设置width属性,让CSS样式控制
62467
+ if (!this.isFullscreen) {
62468
+ result.width = this.computedWidth;
62469
+ }
62470
+ return result;
62471
+ },
62472
+ computedWidth() {
62473
+ // 全屏弹窗不设置宽度,让CSS样式控制
62474
+ if (this.isFullscreen) {
62475
+ return undefined;
62476
+ }
62477
+ // 如果设置了响应式宽度,优先使用响应式宽度
62478
+ if (this.responsiveWidth !== null) {
62479
+ return this.responsiveWidth;
62480
+ }
62481
+ return this.width;
62482
+ },
62483
+ computedTop() {
62484
+ if (!this.autoAdjustTop) return '15vh';
62485
+ const toNumber = val => {
62486
+ if (typeof val === 'number') return val;
62487
+ if (typeof val === 'string') {
62488
+ if (val.endsWith('px')) return parseFloat(val);
62489
+ // 对于百分比和其他单位不做换算,返回 NaN 以忽略
62490
+ return parseFloat(val);
62491
+ }
62492
+ return NaN;
62493
+ };
62494
+ const isLargeByPx = px => !isNaN(px) && px >= 600;
62495
+ const isLargeByVh = val => typeof val === 'string' && val.includes('vh') && parseFloat(val) >= 70;
62496
+ const heightPx = toNumber(this.bodyHeight);
62497
+ const maxHeightVal = this.bodyMaxHeight;
62498
+ const largeHeight = isLargeByPx(heightPx) || isLargeByVh(this.bodyHeight);
62499
+ const largeMaxHeight = isLargeByVh(maxHeightVal) || isLargeByPx(toNumber(maxHeightVal));
62500
+ if (largeHeight || largeMaxHeight) {
62501
+ return '8vh';
62502
+ }
62503
+ return '15vh';
62504
+ },
62505
+ bodyStyle() {
62506
+ const style = {};
62507
+ if (this.bodyHeight !== undefined && this.bodyHeight !== '') {
62508
+ style.height = typeof this.bodyHeight === 'number' ? `${this.bodyHeight}px` : this.bodyHeight;
62509
+ }
62510
+ if (this.bodyMaxHeight !== undefined && this.bodyMaxHeight !== '') {
62511
+ style.maxHeight = typeof this.bodyMaxHeight === 'number' ? `${this.bodyMaxHeight}px` : this.bodyMaxHeight;
62512
+ }
62513
+ return style;
62514
+ },
62515
+ // 左侧按钮
62516
+ leftButtons() {
62517
+ return this.buttons.filter(button => button.position === 'left');
62518
+ },
62519
+ // 右侧按钮(默认位置,包括未设置position的按钮)
62520
+ rightButtons() {
62521
+ return this.buttons.filter(button => !button.position || button.position === 'right');
62522
+ },
62523
+ // 判断是否为全屏弹窗
62524
+ isFullscreen() {
62525
+ return this.customClass && this.customClass.includes('fullscreen');
62526
+ }
62527
+ },
62528
+ watch: {
62529
+ visible: {
62530
+ immediate: true,
62531
+ handler(newVal) {
62532
+ this.internalVisible = newVal;
62533
+ if (newVal && !this.isFullscreen) {
62534
+ this.$nextTick(() => {
62535
+ this.calculateResponsiveWidth();
62536
+ });
62537
+ }
62538
+ }
62539
+ },
62540
+ width: {
62541
+ handler() {
62542
+ if (this.internalVisible && !this.isFullscreen) {
62543
+ this.$nextTick(() => {
62544
+ this.calculateResponsiveWidth();
62545
+ });
62546
+ }
62547
+ }
62548
+ }
62549
+ },
62550
+ mounted() {
62551
+ // 直接监听窗口大小变化,让CSS过渡处理平滑效果
62552
+ this.resizeHandler = () => {
62553
+ if (this.internalVisible && !this.isFullscreen) {
62554
+ this.calculateResponsiveWidth();
62555
+ }
62556
+ };
62557
+ window.addEventListener('resize', this.resizeHandler);
62558
+ },
62559
+ beforeDestroy() {
62560
+ if (this.resizeHandler) {
62561
+ window.removeEventListener('resize', this.resizeHandler);
62562
+ }
62563
+ },
62564
+ methods: {
62565
+ // 计算响应式宽度
62566
+ calculateResponsiveWidth() {
62567
+ // 全屏弹窗不需要响应式适配
62568
+ if (this.isFullscreen) {
62569
+ this.responsiveWidth = null;
62570
+ return;
62571
+ }
62572
+ const screenWidth = window.innerWidth;
62573
+ const dialogWidth = this.parseWidth(this.width);
62574
+
62575
+ // 如果屏幕宽度小于等于弹窗宽度,则使用屏幕宽度的95%
62576
+ if (screenWidth <= dialogWidth) {
62577
+ this.responsiveWidth = '95%';
62578
+ } else {
62579
+ // 重置为原始宽度
62580
+ this.responsiveWidth = null;
62581
+ }
62582
+ },
62583
+ // 解析宽度值,转换为像素值
62584
+ parseWidth(width) {
62585
+ if (typeof width === 'number') {
62586
+ return width;
62587
+ }
62588
+ if (typeof width === 'string') {
62589
+ if (width.endsWith('px')) {
62590
+ return parseFloat(width);
62591
+ }
62592
+ if (width.endsWith('%')) {
62593
+ // 百分比宽度需要根据父容器计算,这里假设为屏幕宽度
62594
+ return parseFloat(width) / 100 * window.innerWidth;
62595
+ }
62596
+ if (width.endsWith('vw')) {
62597
+ return parseFloat(width) / 100 * window.innerWidth;
62598
+ }
62599
+ // 其他情况尝试解析为数字
62600
+ const num = parseFloat(width);
62601
+ return isNaN(num) ? 600 : num; // 默认600px
62602
+ }
62603
+ return 600; // 默认600px
62604
+ },
62605
+ handleClose() {
62606
+ this.internalVisible = false;
62607
+ this.$emit('update:visible', false);
62608
+ this.$emit('close');
62609
+ },
62610
+ handleButtonClick(button, index) {
62611
+ const {
62612
+ action,
62613
+ callback
62614
+ } = button;
62615
+ if (callback && typeof callback === 'function') {
62616
+ const result = callback();
62617
+ if (result === false) {
62618
+ return; // 阻止默认行为
62619
+ }
62620
+ }
62621
+ if (action) {
62622
+ this.$emit(action, button, index);
62623
+ }
62624
+
62625
+ // 如果是确认或取消按钮,默认关闭弹窗
62626
+ if (action === 'confirm' || action === 'cancel') {
62627
+ this.$emit('update:visible', false);
62628
+ }
62629
+ }
62630
+ }
62631
+ });
62632
+ ;// ./src/components/by-dialog/ByDialog.vue?vue&type=script&lang=js
62633
+ /* harmony default export */ var by_dialog_ByDialogvue_type_script_lang_js = (ByDialogvue_type_script_lang_js);
62634
+ ;// ./src/components/by-dialog/ByDialog.vue
62635
+
62636
+
62637
+
62638
+
62639
+
62640
+ /* normalize component */
62641
+ ;
62642
+ var ByDialog_component = normalizeComponent(
62643
+ by_dialog_ByDialogvue_type_script_lang_js,
62644
+ ByDialogvue_type_template_id_7eb39597_render,
62645
+ ByDialogvue_type_template_id_7eb39597_staticRenderFns,
62646
+ false,
62647
+ null,
62648
+ null,
62649
+ null
62650
+
62651
+ )
62652
+
62653
+ /* harmony default export */ var ByDialog = (ByDialog_component.exports);
62654
+ ;// ./src/utils/index.js
62655
+
62656
+ const deepClone = target => {
62657
+ // 定义一个变量
62658
+ let result;
62659
+ // 如果当前需要深拷贝的是一个对象的话
62660
+ if (typeof target === 'object') {
62661
+ // 如果是一个数组的话
62662
+ if (Array.isArray(target)) {
62663
+ result = []; // 将result赋值为一个数组,并且执行遍历
62664
+ for (const i in target) {
62665
+ // 递归克隆数组中的每一项
62666
+ result.push(deepClone(target[i]));
62667
+ }
62668
+ // 判断如果当前的值是null的话;直接赋值为null
62669
+ } else if (target === null) {
62670
+ result = null;
62671
+ // 判断如果当前的值是一个RegExp对象的话,直接赋值
62672
+ } else if (target.constructor === RegExp) {
62673
+ result = target;
62674
+ } else {
62675
+ // 否则是普通对象,直接for in循环,递归赋值对象的所有值
62676
+ result = {};
62677
+ for (const i in target) {
62678
+ result[i] = deepClone(target[i]);
62679
+ }
62680
+ }
62681
+ // 如果不是对象的话,就是基本数据类型,那么直接赋值
62682
+ } else {
62683
+ result = target;
62684
+ }
62685
+ // 返回最终结果
62686
+ return result;
62687
+ };
62688
+
62689
+ /**
62690
+ * 比较两个值是否相等,支持字符串和数字类型的自动转换
62691
+ * @param {*} value1 第一个值
62692
+ * @param {*} value2 第二个值
62693
+ * @returns {boolean} 是否相等
62694
+ */
62695
+ const isValueEqual = (value1, value2) => {
62696
+ // 如果两个值严格相等,直接返回 true
62697
+ if (value1 === value2) {
62698
+ return true;
62699
+ }
62700
+
62701
+ // 处理 0 的特殊情况
62702
+ if (value1 === 0 && value2 === 0) {
62703
+ return true;
62704
+ }
62705
+
62706
+ // 尝试数字转换比较
62707
+ const num1 = Number(value1);
62708
+ const num2 = Number(value2);
62709
+
62710
+ // 如果转换后都是有效数字且相等
62711
+ if (!isNaN(num1) && !isNaN(num2) && num1 === num2) {
62151
62712
  return true;
62152
62713
  }
62153
62714
 
@@ -62474,6 +63035,8 @@ const isNullValue = value => {
62474
63035
  return false;
62475
63036
  };
62476
63037
 
63038
+ ;// ./src/assets/icons/pin.png
63039
+ var pin_namespaceObject = "data:image/png;base64,bW9kdWxlLmV4cG9ydHMgPSAiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFnQ0FZQUFBQnplbnIwQUFBRVFVbEVRVlI0QWJTV1oyaFRVUlRIazNRNFVsd29Lb2dnS0toZzJxWjliYU5GcllKSTNDc2dpaE9yZ29qNFJWQlJ4SUg2UlVSd2duc0xSWEVoamtTRjJwVldvUWdhSlM0UVIybXNsTGJRNGUrRXZOSTJyemV2YlF6bnp6MzMzalArOTl4Mzc0M05FdWRmYVducGZ2Q29wS1JrdFpuUWNTVlFXRmpZaDZUYndReXIxWG9XRXNmUmxSSlhBaDB6UVdJajFUalZjYnh0LzM4UnFDWDViQkkxZ254SVhHaHBhYkdpUjBsY0NTUW1KbXFSREY4ek16UHZveThHSWl2S3lzck9pTklSY1NOQWdsbXMrb0Vrb0wwcHJhWnBkMWo1WE5IQldtd3UwN2FUdUJEZ1kxdEhvbnRFdHRQNldmMXU5TEJrWldYZHRkbHNjNlREM0RKSTNCQmRSNDhKc0w4SFdmSHBTTUE3dGJXMXVSRzl0Y25JeUJCeU14aG9nSVFIRWdWZXJ6ZVJ2cVhiQkFpU1JISXA5VFlKQlBaVDh2bDVlWG4xNkZIQzNHTUdad0loc1NBbEplVzJrT2dXQVpMM1p5VmVnaTBCRnZUbEpOZ3B1Z3JZK05nT056WkNjcGJkYmovUlpRSWtIMG5DVndTWkJINFQwTVUrWDBGWEN0VnlnNnZOemMyN01Bd0JDMXUzMERRQmJybEJmR3lyQ1BBYTUzR2dFaUpPOXJjSVhTa2szb0tCSE11bHRGUEFNQ0RpTXlUQUtsZmlWQTFhZENRbEpWWEIrQndZaU9mMWhvYUdpYXo4SzdwU0lDMG40SWdZUVhnOWJWNEVUclprVVJTQjh2THlJUmlleDJnQWFDdFZkRzVSOHVrNExzM056ZjFMWHlsK3Y5OEI0V3RpUkxzWndxZng5VVZRSWVOUkJKeE81eThtM2dIWm93QmtodU5nQllPQmg1SS9rN2xZS0NvcUdzcDJTZG50Mko3a2JqaEdHeVZSQk1RQ3RuSm1neVFmZy81U3FpTGpaaEVJQkhvbEpDVGN4WDRFOEFhRHdVMjBobUpJQUxaZmtwT1RjMGdld0d0MFUxUFRpNjZRQ0lWQ2wvQ1RkK0U5dnZNOUhrOFRmVU14SkNDV3FhbXBQM0YyUWVJdC9iSG9MK1Frb0N1RmowNk9tZHdQTld6QnpKeWNuQnFWUTZjRXhDazdPN3VLVWs1aUsvejB4M0lTZkNvU25CZzNoUGRnS3pJUC82QW9LaWdKaUdONmVucUlvQWRGQnhNZzRWV1FPSUdOeUFaTjAzeWl4RUpNQW56Tkk2aUEvdGhJUEllUXFLaW9hSGRNNWU1Z2NpUjRRSExsdnlCc1drVkpRQjRMdHFDQUNzamwwK3FFNG1oc2JIeEswdjdvWVlIa05GR3dqWGt0aTUwT0pRRmVyRU1ZYXFDdEhDQ0pmSmhPa2o1dVEySk14T2hqcERYVmRFcUFEMm9lRWJZQ1hmNmd1Q252RG03RHFlZ2ZnQWFKWjVXVmxTbm9lcFhFanE0NU1TUlFYRnc4Q3ZlTFFKZlhsRHlONUE5bFFHNUxxakFaWGI1eVoxMWQzUlAwd2NDQ1hiVzBaaEZGZ0gzdnpRb0xDTkFQeUhWOGhzVHBMcGZyay9SMWNGbDk1MjRRRXA4Wnl3WmhBcHo3SCtpbUpZb0ErMzRVN3pRZ2Z6VFdrQ2hmZENPUTdCdVhqYnh1MzJXZTdiZ2diVmZRamdDMzJIS2M4eW52SndLbjhYcWRvNjhVdVd5d2Q1QWM4NnhWU21PRHlWWUNuUGZ4QkpMeis3Qyt2dDVCNERjRzlvWkRWT2szMlVzTkoyTU1oZ2x3bFBwR3p2dGU5dHR0NXEyUEVkZjBkSmdBNVRzTTFyTVMvY28xSGFDbmhqYit0V1NRZkI4bGZON1RZRWIrc2NiK0FRQUEvLytzN2kvOEFBQUFCa2xFUVZRREFJRzd2bUFkZUVtdkFBQUFBRWxGVGtTdVFtQ0Mi";
62477
63040
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./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=script&lang=js
62478
63041
 
62479
63042
 
@@ -62485,11 +63048,22 @@ const isNullValue = value => {
62485
63048
 
62486
63049
 
62487
63050
 
63051
+
63052
+
63053
+
63054
+
63055
+
63056
+
63057
+
63058
+
63059
+
63060
+
62488
63061
 
62489
63062
  /* harmony default export */ var custom_columnvue_type_script_lang_js = ({
62490
63063
  name: 'CustomColumn',
62491
63064
  components: {
62492
- draggable: (vuedraggable_umd_default())
63065
+ draggable: (vuedraggable_umd_default()),
63066
+ ByDialog: ByDialog
62493
63067
  },
62494
63068
  props: {
62495
63069
  dialogVisible: {
@@ -62513,11 +63087,26 @@ const isNullValue = value => {
62513
63087
  validator: value => {
62514
63088
  return value >= 0;
62515
63089
  }
63090
+ },
63091
+ // 是否使用多级表头模式(如果业务中使用展示二级表头,务必配置该字段为true) - gridOptions.customColumnConfig.useMultiLevelHeader配置
63092
+ useMultiLevelHeader: {
63093
+ type: Boolean,
63094
+ default: false
62516
63095
  }
62517
63096
  },
62518
63097
  data() {
62519
63098
  return {
63099
+ pinIcon: pin_namespaceObject,
62520
63100
  draggableMenu: [],
63101
+ // 多级表头模式专用的派生渲染数据(避免影响原有数据结构)
63102
+ fixedAreaList: [],
63103
+ groupCards: [],
63104
+ // 分组顺序持久列表:记录上一次用户排序后的分组顺序,不因分组被清空而丢失
63105
+ groupOrderPersist: [],
63106
+ // 初始分组顺序:来源于左侧原始分组顺序(checkBoxMenu)
63107
+ baseGroupOrder: [],
63108
+ // 服务端保存的分组顺序(用于初始化时恢复整组顺序)
63109
+ savedGroupOrder: [],
62521
63110
  /** 勾选的主标题菜单 */
62522
63111
  checkBoxMenu: [],
62523
63112
  /** 选中高亮的菜单ID */
@@ -62529,7 +63118,19 @@ const isNullValue = value => {
62529
63118
  /** 搜索字段 */
62530
63119
  search: '',
62531
63120
  /** 原始列数据备份 */
62532
- columnList: []
63121
+ columnList: [],
63122
+ /** 对话框按钮配置 */
63123
+ dialogButtons: [{
63124
+ text: '取消',
63125
+ type: 'default',
63126
+ action: 'cancel',
63127
+ size: 'small'
63128
+ }, {
63129
+ text: '确定',
63130
+ type: 'primary',
63131
+ action: 'confirm',
63132
+ size: 'small'
63133
+ }]
62533
63134
  };
62534
63135
  },
62535
63136
  computed: {
@@ -62571,6 +63172,9 @@ const isNullValue = value => {
62571
63172
  if (JSON.stringify(res.data) !== '[]') {
62572
63173
  this.id = res.data.id || undefined;
62573
63174
  res.data.column.forEach(col => bePreservedColumn.push(...col.data));
63175
+ if (this.useMultiLevelHeader && Array.isArray(res.data.column)) {
63176
+ this.savedGroupOrder = res.data.column.map(g => g.label).filter(Boolean);
63177
+ }
62574
63178
  }
62575
63179
  this.initTableList(this.deepClone(column), bePreservedColumn);
62576
63180
  }
@@ -62581,6 +63185,7 @@ const isNullValue = value => {
62581
63185
  * @param { object[] } bePreservedColumn 被保存过的列数据
62582
63186
  */
62583
63187
  initTableList(initColumn, bePreservedColumn = []) {
63188
+ // this.$message.success('目前是' + (this.useMultiLevelHeader ? '多级' : '一级') + '表头模式')
62584
63189
  //设置拖拽列表数据
62585
63190
  const setDraggableMenu = arr => {
62586
63191
  // 扁平化所有列并按 fixed 属性分类排序
@@ -62617,6 +63222,14 @@ const isNullValue = value => {
62617
63222
 
62618
63223
  // 保持原有的列结构,不重新分组
62619
63224
  this.checkBoxMenu = this.deepClone(initColumn);
63225
+ // 如果有服务端保存的分组顺序,则按该顺序重排分组(仅影响多级表头的右侧渲染顺序)
63226
+ if (this.useMultiLevelHeader && this.savedGroupOrder && this.savedGroupOrder.length > 0) {
63227
+ const orderMap = new Map(this.savedGroupOrder.map((l, i) => [l, i]));
63228
+ this.checkBoxMenu.sort((a, b) => {
63229
+ var _orderMap$get, _orderMap$get2;
63230
+ return ((_orderMap$get = orderMap.get(a.label)) !== null && _orderMap$get !== void 0 ? _orderMap$get : 9999) - ((_orderMap$get2 = orderMap.get(b.label)) !== null && _orderMap$get2 !== void 0 ? _orderMap$get2 : 9999);
63231
+ });
63232
+ }
62620
63233
  this.draggableMenu = setDraggableMenu(this.checkBoxMenu);
62621
63234
  } else {
62622
63235
  // console.log('==========从未被保存过', initColumn)
@@ -62640,10 +63253,29 @@ const isNullValue = value => {
62640
63253
 
62641
63254
  // 保持原有的列结构,不重新分组
62642
63255
  this.checkBoxMenu = this.deepClone(initColumn);
63256
+ if (this.useMultiLevelHeader && this.savedGroupOrder && this.savedGroupOrder.length > 0) {
63257
+ const orderMap = new Map(this.savedGroupOrder.map((l, i) => [l, i]));
63258
+ this.checkBoxMenu.sort((a, b) => {
63259
+ var _orderMap$get3, _orderMap$get4;
63260
+ return ((_orderMap$get3 = orderMap.get(a.label)) !== null && _orderMap$get3 !== void 0 ? _orderMap$get3 : 9999) - ((_orderMap$get4 = orderMap.get(b.label)) !== null && _orderMap$get4 !== void 0 ? _orderMap$get4 : 9999);
63261
+ });
63262
+ }
62643
63263
  this.draggableMenu = setDraggableMenu(this.checkBoxMenu);
62644
63264
  }
62645
63265
  this.emitChangeTable(this.draggableMenu.filter(item => item.key !== 'sort-cut-off').sort((a, b) => a.sort - b.sort));
62646
63266
  this.emitChangeTableGroup(this.checkBoxMenu);
63267
+
63268
+ // 多级表头模式下,初始化分组渲染数据
63269
+ if (this.useMultiLevelHeader) {
63270
+ // 初始化基础分组顺序,仅在首次时赋值
63271
+ if (this.baseGroupOrder.length === 0) {
63272
+ this.baseGroupOrder = this.checkBoxMenu.map(g => g.label);
63273
+ }
63274
+ if (this.groupOrderPersist.length === 0) {
63275
+ this.groupOrderPersist = this.baseGroupOrder.slice();
63276
+ }
63277
+ this.refreshMultiHeaderDerivedData();
63278
+ }
62647
63279
  },
62648
63280
  // 全不选
62649
63281
  selectNone() {
@@ -62655,6 +63287,31 @@ const isNullValue = value => {
62655
63287
  item.type = false;
62656
63288
  }
62657
63289
  });
63290
+ if (this.useMultiLevelHeader) {
63291
+ this.refreshMultiHeaderDerivedData();
63292
+ }
63293
+ },
63294
+ // 全选
63295
+ selectAll() {
63296
+ this.checkBoxMenu.forEach(cols => cols.data.forEach(col => col.type = true));
63297
+ this.draggableMenu.forEach(item => {
63298
+ if (item.key === 'sort-cut-off') {
63299
+ item.type = true;
63300
+ } else {
63301
+ item.type = true;
63302
+ }
63303
+ });
63304
+ if (this.useMultiLevelHeader) {
63305
+ this.refreshMultiHeaderDerivedData();
63306
+ }
63307
+ },
63308
+ // 全选/全不选 切换
63309
+ toggleSelectAll() {
63310
+ if (this.number === 0) {
63311
+ this.selectAll();
63312
+ } else {
63313
+ this.selectNone();
63314
+ }
62658
63315
  },
62659
63316
  /**
62660
63317
  * @describe 点击高亮
@@ -62686,11 +63343,71 @@ const isNullValue = value => {
62686
63343
  }
62687
63344
  });
62688
63345
  });
63346
+ if (this.useMultiLevelHeader) {
63347
+ this.refreshMultiHeaderDerivedData();
63348
+ }
62689
63349
  },
62690
63350
  // 恢复默认
62691
63351
  recoverDefault() {
63352
+ // 清空分组顺序的持久化与服务端顺序,恢复为最初顺序
63353
+ if (this.useMultiLevelHeader) {
63354
+ this.groupOrderPersist = [];
63355
+ this.savedGroupOrder = [];
63356
+ this.baseGroupOrder = [];
63357
+ }
62692
63358
  this.initTableList(this.deepClone(this.columnList));
62693
63359
  },
63360
+ /**
63361
+ * @describe 判断分组的勾选状态
63362
+ * @param { Object } group 分组对象
63363
+ * @returns { Boolean } true-全选 false-未全选
63364
+ */
63365
+ getGroupCheckState(group) {
63366
+ if (!group || !group.data || group.data.length === 0) {
63367
+ return false;
63368
+ }
63369
+ // 只有当组内所有项都被选中时才返回 true
63370
+ return group.data.every(item => item.type === true);
63371
+ },
63372
+ /**
63373
+ * @describe 判断分组是否为半选状态
63374
+ * @param { Object } group 分组对象
63375
+ * @returns { Boolean } true-半选 false-非半选
63376
+ */
63377
+ getGroupIndeterminateState(group) {
63378
+ if (!group || !group.data || group.data.length === 0) {
63379
+ return false;
63380
+ }
63381
+ const checkedCount = group.data.filter(item => item.type === true).length;
63382
+ const totalCount = group.data.length;
63383
+ // 部分选中时为半选状态
63384
+ return checkedCount > 0 && checkedCount < totalCount;
63385
+ },
63386
+ /**
63387
+ * @describe 处理分组勾选
63388
+ * @param { Object } group 分组对象
63389
+ */
63390
+ handleGroupCheck(group) {
63391
+ if (!group || !group.data || group.data.length === 0) {
63392
+ return;
63393
+ }
63394
+ const shouldCheck = !this.getGroupCheckState(group);
63395
+
63396
+ // 批量更新该组下所有项的勾选状态
63397
+ group.data.forEach(item => {
63398
+ // 更新 checkBoxMenu 中的状态
63399
+ item.type = shouldCheck;
63400
+ // 同步更新 draggableMenu 中的状态
63401
+ this.draggableMenu.forEach(dragItem => {
63402
+ if (dragItem.key === item.key) {
63403
+ dragItem.type = shouldCheck;
63404
+ }
63405
+ });
63406
+ });
63407
+ if (this.useMultiLevelHeader) {
63408
+ this.refreshMultiHeaderDerivedData();
63409
+ }
63410
+ },
62694
63411
  // 拖拽结束事件
62695
63412
  onEnd() {
62696
63413
  let isFixed = true;
@@ -62708,6 +63425,146 @@ const isNullValue = value => {
62708
63425
  delete item.fixed;
62709
63426
  }
62710
63427
  });
63428
+ if (this.useMultiLevelHeader) {
63429
+ this.refreshMultiHeaderDerivedData();
63430
+ }
63431
+ },
63432
+ // ====== 多级表头:派生数据与拖拽处理 ======
63433
+ refreshMultiHeaderDerivedData() {
63434
+ // 固定区:分割线之前的项(且非 separator)
63435
+ const separatorIndex = this.draggableMenu.findIndex(i => i.key === 'sort-cut-off');
63436
+ const fixed = separatorIndex > -1 ? this.draggableMenu.slice(0, separatorIndex).filter(i => i.key !== 'sort-cut-off' && i.type) : [];
63437
+ this.fixedAreaList = this.deepClone(fixed);
63438
+
63439
+ // 非固定区:分割线之后的项,按 parent.label 分组,保留现有顺序
63440
+ const normal = separatorIndex > -1 ? this.draggableMenu.slice(separatorIndex + 1) : [];
63441
+ const visibleNormal = normal.filter(i => i.type);
63442
+ const labelToItems = {};
63443
+ visibleNormal.forEach(item => {
63444
+ const label = item.parent && item.parent.label || '未分组';
63445
+ if (!labelToItems[label]) labelToItems[label] = [];
63446
+ labelToItems[label].push(item);
63447
+ });
63448
+ // 计算分组顺序:
63449
+ // - 以持久顺序 groupOrderPersist 为主(记录用户拖动顺序)
63450
+ // - 初次或缺失时,以 baseGroupOrder 为参考把新出现的分组插入到原始位置
63451
+ const allLabels = Object.keys(labelToItems);
63452
+ if (this.groupOrderPersist.length === 0) {
63453
+ this.groupOrderPersist = this.baseGroupOrder.slice();
63454
+ }
63455
+ // 补齐缺失 label:按 baseGroupOrder 插入其相对位置
63456
+ const persistSet = new Set(this.groupOrderPersist);
63457
+ const toInsert = allLabels.filter(l => !persistSet.has(l));
63458
+ if (toInsert.length > 0) {
63459
+ const baseIndex = new Map(this.baseGroupOrder.map((l, i) => [l, i]));
63460
+ // 将缺失项按 baseGroupOrder 的索引排序,从前往后插入
63461
+ toInsert.sort((a, b) => (baseIndex.get(a) || 99999) - (baseIndex.get(b) || 99999));
63462
+ toInsert.forEach(label => {
63463
+ // 寻找其前驱:在 baseGroupOrder 中向前查找第一个已存在于 persist 的 label,并插入其后;否则插入开头
63464
+ let insertPos = 0;
63465
+ const idxInBase = baseIndex.get(label);
63466
+ for (let i = idxInBase - 1; i >= 0; i--) {
63467
+ const prev = this.baseGroupOrder[i];
63468
+ const pos = this.groupOrderPersist.indexOf(prev);
63469
+ if (pos !== -1) {
63470
+ insertPos = pos + 1;
63471
+ break;
63472
+ }
63473
+ }
63474
+ this.groupOrderPersist.splice(insertPos, 0, label);
63475
+ });
63476
+ }
63477
+ // 当前展示顺序:过滤掉暂不存在的分组
63478
+ const displayOrder = this.groupOrderPersist.filter(l => allLabels.includes(l));
63479
+ const nextGroups = displayOrder.filter(l => labelToItems[l]).map(l => ({
63480
+ label: l,
63481
+ items: this.deepClone(labelToItems[l])
63482
+ }));
63483
+ this.groupCards = nextGroups;
63484
+ try {
63485
+ console.debug('[custom-column] refreshMultiHeaderDerivedData', {
63486
+ separatorIndex,
63487
+ fixedCount: fixed.length,
63488
+ groupCount: nextGroups.length
63489
+ });
63490
+ } catch (e) {}
63491
+ },
63492
+ onFixedEnd() {
63493
+ // 将 fixedAreaList 的顺序同步回 draggableMenu 的固定区
63494
+ const separatorIndex = this.draggableMenu.findIndex(i => i.key === 'sort-cut-off');
63495
+ const tail = separatorIndex > -1 ? this.draggableMenu.slice(separatorIndex) : [];
63496
+ const head = this.fixedAreaList.map((item, idx) => ({
63497
+ ...item,
63498
+ sort: idx + 1,
63499
+ fixed: 'left'
63500
+ }));
63501
+ this.draggableMenu = [...head, ...tail];
63502
+ if (this.useMultiLevelHeader) {
63503
+ this.refreshMultiHeaderDerivedData();
63504
+ }
63505
+ },
63506
+ onGroupOrderEnd() {
63507
+ // 更新持久顺序:将当前显示的顺序提到前部,未显示的分组保留在后部,保持其原相对顺序
63508
+ const visible = this.groupCards.map(g => g.label);
63509
+ const invisible = this.groupOrderPersist.filter(l => !visible.includes(l));
63510
+ this.groupOrderPersist = [...visible, ...invisible];
63511
+ },
63512
+ onGroupInnerEnd(group) {
63513
+ // 组内项排序变化:同步回 draggableMenu 中对应项的 sort,使其在非固定区内相对顺序一致
63514
+ const separatorIndex = this.draggableMenu.findIndex(i => i.key === 'sort-cut-off');
63515
+ const head = this.draggableMenu.slice(0, separatorIndex + 1);
63516
+ const tail = this.draggableMenu.slice(separatorIndex + 1);
63517
+ const otherGroups = this.groupCards.filter(g => g.label !== group.label);
63518
+ // 新的非固定区顺序:先按 groupCards 顺序,依次拼接每个组的 items
63519
+ const orderedTail = [];
63520
+ this.groupCards.forEach(g => {
63521
+ if (g.label === group.label) {
63522
+ orderedTail.push(...group.items);
63523
+ } else {
63524
+ orderedTail.push(...g.items);
63525
+ }
63526
+ });
63527
+ // 将 orderedTail 同步到 tail(仅保留出现在 tail 的 key)
63528
+ const keysInTail = new Set(tail.map(i => i.key));
63529
+ const newTail = orderedTail.filter(i => keysInTail.has(i.key)).map((item, idx) => {
63530
+ const clone = {
63531
+ ...item
63532
+ };
63533
+ clone.sort = idx + 1 + (separatorIndex + 1);
63534
+ delete clone.fixed;
63535
+ return clone;
63536
+ });
63537
+ this.draggableMenu = [...head, ...newTail];
63538
+ if (this.useMultiLevelHeader) {
63539
+ this.refreshMultiHeaderDerivedData();
63540
+ }
63541
+ },
63542
+ isItemFixed(item) {
63543
+ return item && item.fixed === 'left';
63544
+ },
63545
+ toggleFixed(item, toFixed) {
63546
+ // 根据 toFixed 将该项移动到分割线以上或以下
63547
+ const idx = this.draggableMenu.findIndex(i => i.key === item.key);
63548
+ if (idx === -1) return;
63549
+ const separatorIndex = this.draggableMenu.findIndex(i => i.key === 'sort-cut-off');
63550
+ const clone = {
63551
+ ...this.draggableMenu[idx]
63552
+ };
63553
+ // 从原位置移除
63554
+ this.draggableMenu.splice(idx, 1);
63555
+ if (toFixed) {
63556
+ clone.fixed = 'left';
63557
+ // 插入到分割线之前末尾
63558
+ const insertIndex = Math.max(0, separatorIndex);
63559
+ this.draggableMenu.splice(insertIndex, 0, clone);
63560
+ } else {
63561
+ delete clone.fixed;
63562
+ // 插入到分割线之后开头
63563
+ const insertIndex = Math.min(this.draggableMenu.length, separatorIndex + 1);
63564
+ this.draggableMenu.splice(insertIndex, 0, clone);
63565
+ }
63566
+ // 重新计算 sort 与 fixed
63567
+ this.onEnd();
62711
63568
  },
62712
63569
  // 点击保存
62713
63570
  async submit() {
@@ -62716,30 +63573,81 @@ const isNullValue = value => {
62716
63573
  id: this.id,
62717
63574
  page: this.page
62718
63575
  };
62719
-
62720
- // 处理普通的列分组(按原有的 parent.label 分组)
62721
- this.draggableMenu.forEach(item => {
62722
- if (item.key !== 'sort-cut-off') {
63576
+ if (this.useMultiLevelHeader) {
63577
+ // 多级表头:严格以“当前组顺序 + 每组内顺序”为准生成提交数据
63578
+ // 同时包含固定区中的项(会在所属组里),并为所有项重排 sort,固定项保留 fixed
63579
+ const fixedKeys = new Set((this.fixedAreaList || []).map(i => i.key));
63580
+ let sortIndex = 1;
63581
+ const labelToData = new Map();
63582
+ const orderedLabels = this.groupCards.map(g => g.label);
63583
+ const pushItem = item => {
63584
+ if (!item || !item.parent) return;
62723
63585
  const {
62724
63586
  parent,
62725
63587
  ...other
62726
63588
  } = item;
62727
- // 是否存在
62728
- const isExit = params.column.some(col => col.label === parent.label);
62729
- if (isExit) {
62730
- params.column.forEach(col => {
62731
- if (col.label === parent.label) {
62732
- col.data.push(other);
62733
- }
62734
- });
63589
+ other.sort = sortIndex++;
63590
+ if (fixedKeys.has(item.key)) {
63591
+ other.fixed = 'left';
62735
63592
  } else {
63593
+ delete other.fixed;
63594
+ }
63595
+ const label = parent.label;
63596
+ if (!labelToData.has(label)) labelToData.set(label, []);
63597
+ labelToData.get(label).push(other);
63598
+ }
63599
+
63600
+ // 先将每个组内固定项按当前固定区顺序提前写入对应组(保持相对顺序)
63601
+ ;
63602
+ (this.fixedAreaList || []).forEach(pushItem);
63603
+ // 再按组顺序写入非固定区项
63604
+ this.groupCards.forEach(g => (g.items || []).forEach(pushItem));
63605
+
63606
+ // 按当前组顺序输出;若有仅固定项所属的组但当前 groupCards 不包含,则按原始分组顺序追加
63607
+ const baseOrder = this.checkBoxMenu.map(g => g.label);
63608
+ const present = new Set();
63609
+ orderedLabels.forEach(label => {
63610
+ if (labelToData.has(label)) {
62736
63611
  params.column.push({
62737
- label: parent.label,
62738
- data: [other]
63612
+ label,
63613
+ data: labelToData.get(label)
62739
63614
  });
63615
+ present.add(label);
62740
63616
  }
62741
- }
62742
- });
63617
+ });
63618
+ baseOrder.forEach(label => {
63619
+ if (!present.has(label) && labelToData.has(label)) {
63620
+ params.column.push({
63621
+ label,
63622
+ data: labelToData.get(label)
63623
+ });
63624
+ }
63625
+ });
63626
+ } else {
63627
+ // 处理普通的列分组(按原有的 parent.label 分组)
63628
+ this.draggableMenu.forEach(item => {
63629
+ if (item.key !== 'sort-cut-off') {
63630
+ const {
63631
+ parent,
63632
+ ...other
63633
+ } = item;
63634
+ // 是否存在
63635
+ const isExit = params.column.some(col => col.label === parent.label);
63636
+ if (isExit) {
63637
+ params.column.forEach(col => {
63638
+ if (col.label === parent.label) {
63639
+ col.data.push(other);
63640
+ }
63641
+ });
63642
+ } else {
63643
+ params.column.push({
63644
+ label: parent.label,
63645
+ data: [other]
63646
+ });
63647
+ }
63648
+ }
63649
+ });
63650
+ }
62743
63651
  await this.submitMethod(params);
62744
63652
 
62745
63653
  // changeTable 回调:返回正常排序的列数据
@@ -62749,7 +63657,11 @@ const isNullValue = value => {
62749
63657
  });
62750
63658
  this.emitChangeTable(cols.sort((a, b) => a.sort - b.sort));
62751
63659
  this.emitChangeTableGroup(params.column);
62752
- this.closeDialog();
63660
+
63661
+ // ByDialog 的自动关闭逻辑会在confirm事件时处理
63662
+ // 但我们需要重置搜索和高亮状态
63663
+ this.search = '';
63664
+ this.activeId = 0;
62753
63665
  },
62754
63666
  // changeTable
62755
63667
  emitChangeTable(cols) {
@@ -62768,7 +63680,16 @@ const isNullValue = value => {
62768
63680
  // 重置数据
62769
63681
  this.search = '';
62770
63682
  this.activeId = 0;
63683
+ // ByDialog 会触发 update:visible 事件来关闭弹窗
63684
+ // 同时需要通知父组件
62771
63685
  this.$emit('closeDialog');
63686
+ },
63687
+ // 处理弹窗可见性变化
63688
+ handleVisibleChange(value) {
63689
+ if (!value) {
63690
+ // 弹窗关闭时重置状态
63691
+ this.closeDialog();
63692
+ }
62772
63693
  }
62773
63694
  }
62774
63695
  });
@@ -62784,8 +63705,8 @@ const isNullValue = value => {
62784
63705
  ;
62785
63706
  var custom_column_component = normalizeComponent(
62786
63707
  components_custom_columnvue_type_script_lang_js,
62787
- custom_columnvue_type_template_id_b39a6d78_render,
62788
- custom_columnvue_type_template_id_b39a6d78_staticRenderFns,
63708
+ custom_columnvue_type_template_id_3fe59a74_render,
63709
+ custom_columnvue_type_template_id_3fe59a74_staticRenderFns,
62789
63710
  false,
62790
63711
  null,
62791
63712
  null,
@@ -62831,6 +63752,7 @@ var custom_column_component = normalizeComponent(
62831
63752
  * @property {Function} customColumnConfig.submitMethod - 提交自定义列配置的方法
62832
63753
  * @property {number} customColumnConfig.fixedMaxCount - 固定列最大数量
62833
63754
  * @property {Array} customColumnConfig.slots - 自定义插槽配置
63755
+ * @property {boolean} customColumnConfig.useMultiLevelHeader - 是否使用多级表头模式
62834
63756
  * @property {Object} resizableConfig - 列宽调整配置
62835
63757
  * @property {number} resizableConfig.minWidth - 最小列宽
62836
63758
  * @property {Object} rowConfig - 行配置
@@ -63241,6 +64163,15 @@ var custom_column_component = normalizeComponent(
63241
64163
  },
63242
64164
  // 多层级表头
63243
64165
  changeTableGroupFields(cols) {
64166
+ // 保证组内顺序严格按后端/保存的 sort 值或当前顺序
64167
+ const sortGroupItems = groups => (groups || []).map(g => ({
64168
+ ...g,
64169
+ data: Array.isArray(g.data) ? [...g.data].sort((a, b) => {
64170
+ const sa = typeof a.sort === 'number' ? a.sort : Number(a.sort) || 0;
64171
+ const sb = typeof b.sort === 'number' ? b.sort : Number(b.sort) || 0;
64172
+ return sa - sb;
64173
+ }) : g.data
64174
+ }));
63244
64175
  const recursiveData = cols => {
63245
64176
  const arr = [];
63246
64177
  cols.forEach((item, index) => {
@@ -63252,7 +64183,8 @@ var custom_column_component = normalizeComponent(
63252
64183
  title: item.label,
63253
64184
  align: 'center',
63254
64185
  fixed: item.fixed,
63255
- children: recursiveData(item.data)
64186
+ // 子项先按 sort 排序,再递归
64187
+ children: recursiveData(sortGroupItems(item.data))
63256
64188
  });
63257
64189
  if (index < cols.length - 1) {
63258
64190
  arr.push({
@@ -63283,7 +64215,14 @@ var custom_column_component = normalizeComponent(
63283
64215
  });
63284
64216
  return arr;
63285
64217
  };
63286
- this.$emit('setGroupColumn', recursiveData(cols));
64218
+ // 根层分组也按 sort 排序(保持与右侧面板/后端一致)
64219
+ const sortedRoot = sortGroupItems(cols);
64220
+ const groupColumns = recursiveData(sortedRoot);
64221
+ // 主动刷新 vxe-grid 表头(避免仅 emit 而外层未接收导致不生效)
64222
+ if (this.$refs.xGrid && this.$refs.xGrid.reloadColumn) {
64223
+ this.$refs.xGrid.reloadColumn(groupColumns);
64224
+ }
64225
+ this.$emit('setGroupColumn', groupColumns);
63287
64226
  },
63288
64227
  // 关闭自定义表头弹框
63289
64228
  closeCustomColumnDialog() {
@@ -63579,8 +64518,8 @@ var custom_column_component = normalizeComponent(
63579
64518
  ;
63580
64519
  var table_component = normalizeComponent(
63581
64520
  components_tablevue_type_script_lang_js,
63582
- tablevue_type_template_id_22f2fb85_render,
63583
- tablevue_type_template_id_22f2fb85_staticRenderFns,
64521
+ tablevue_type_template_id_2e785b4e_render,
64522
+ tablevue_type_template_id_2e785b4e_staticRenderFns,
63584
64523
  false,
63585
64524
  null,
63586
64525
  null,
@@ -63589,7 +64528,7 @@ var table_component = normalizeComponent(
63589
64528
  )
63590
64529
 
63591
64530
  /* harmony default export */ var table = (table_component.exports);
63592
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/form/form.vue?vue&type=template&id=04400171&scoped=true
64531
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/form/form.vue?vue&type=template&id=04400171&scoped=true
63593
64532
  var formvue_type_template_id_04400171_scoped_true_render = function render() {
63594
64533
  var _vm = this,
63595
64534
  _c = _vm._self._c;
@@ -63959,7 +64898,7 @@ var formvue_type_template_id_04400171_scoped_true_render = function render() {
63959
64898
  };
63960
64899
  var formvue_type_template_id_04400171_scoped_true_staticRenderFns = [];
63961
64900
 
63962
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/form/comps/pair-number-input.vue?vue&type=template&id=604235f6
64901
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/form/comps/pair-number-input.vue?vue&type=template&id=604235f6
63963
64902
  var pair_number_inputvue_type_template_id_604235f6_render = function render() {
63964
64903
  var _vm = this,
63965
64904
  _c = _vm._self._c;
@@ -64064,7 +65003,7 @@ var pair_number_input_component = normalizeComponent(
64064
65003
  )
64065
65004
 
64066
65005
  /* harmony default export */ var pair_number_input = (pair_number_input_component.exports);
64067
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/form/comps/custom-date-picker.vue?vue&type=template&id=250a2dc7
65006
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/form/comps/custom-date-picker.vue?vue&type=template&id=250a2dc7
64068
65007
  var custom_date_pickervue_type_template_id_250a2dc7_render = function render() {
64069
65008
  var _vm = this,
64070
65009
  _c = _vm._self._c;
@@ -64257,7 +65196,7 @@ var custom_date_picker_component = normalizeComponent(
64257
65196
  )
64258
65197
 
64259
65198
  /* harmony default export */ var custom_date_picker = (custom_date_picker_component.exports);
64260
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/common-selector/ByCommonSelector.vue?vue&type=template&id=73eac40e
65199
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/common-selector/ByCommonSelector.vue?vue&type=template&id=73eac40e
64261
65200
  var ByCommonSelectorvue_type_template_id_73eac40e_render = function render() {
64262
65201
  var _vm = this,
64263
65202
  _c = _vm._self._c;
@@ -76139,7 +77078,7 @@ var ByCommonSelector_component = normalizeComponent(
76139
77078
  )
76140
77079
 
76141
77080
  /* harmony default export */ var ByCommonSelector = (ByCommonSelector_component.exports);
76142
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/batch-query-selector/BatchQuerySelector.vue?vue&type=template&id=ae023dca
77081
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/batch-query-selector/BatchQuerySelector.vue?vue&type=template&id=ae023dca
76143
77082
  var BatchQuerySelectorvue_type_template_id_ae023dca_render = function render() {
76144
77083
  var _vm = this,
76145
77084
  _c = _vm._self._c;
@@ -77150,7 +78089,7 @@ var form_component = normalizeComponent(
77150
78089
  )
77151
78090
 
77152
78091
  /* harmony default export */ var form_form = (form_component.exports);
77153
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/page-search/page-search.vue?vue&type=template&id=69194707
78092
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/page-search/page-search.vue?vue&type=template&id=69194707
77154
78093
  var page_searchvue_type_template_id_69194707_render = function render() {
77155
78094
  var _vm = this,
77156
78095
  _c = _vm._self._c;
@@ -77330,7 +78269,7 @@ var page_search_component = normalizeComponent(
77330
78269
  )
77331
78270
 
77332
78271
  /* harmony default export */ var page_search = (page_search_component.exports);
77333
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/fold-search/index.vue?vue&type=template&id=828bc332
78272
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/fold-search/index.vue?vue&type=template&id=828bc332
77334
78273
  var fold_searchvue_type_template_id_828bc332_render = function render() {
77335
78274
  var _vm = this,
77336
78275
  _c = _vm._self._c;
@@ -77406,7 +78345,7 @@ var fold_search_component = normalizeComponent(
77406
78345
  )
77407
78346
 
77408
78347
  /* harmony default export */ var fold_search = (fold_search_component.exports);
77409
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/form/comps/select.vue?vue&type=template&id=44dc7dca
78348
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/form/comps/select.vue?vue&type=template&id=44dc7dca
77410
78349
  var selectvue_type_template_id_44dc7dca_render = function render() {
77411
78350
  var _vm = this,
77412
78351
  _c = _vm._self._c;
@@ -77625,7 +78564,7 @@ var select_component = normalizeComponent(
77625
78564
  )
77626
78565
 
77627
78566
  /* harmony default export */ var comps_select = (select_component.exports);
77628
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/form/comps/date-picker-range.vue?vue&type=template&id=0ae5d93f
78567
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/form/comps/date-picker-range.vue?vue&type=template&id=0ae5d93f
77629
78568
  var date_picker_rangevue_type_template_id_0ae5d93f_render = function render() {
77630
78569
  var _vm = this,
77631
78570
  _c = _vm._self._c;
@@ -77766,7 +78705,7 @@ var date_picker_range_component = normalizeComponent(
77766
78705
  )
77767
78706
 
77768
78707
  /* harmony default export */ var date_picker_range = (date_picker_range_component.exports);
77769
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/tool-bar/ByToolBar.vue?vue&type=template&id=a297ff24
78708
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/tool-bar/ByToolBar.vue?vue&type=template&id=a297ff24
77770
78709
  var ByToolBarvue_type_template_id_a297ff24_render = function render() {
77771
78710
  var _vm = this,
77772
78711
  _c = _vm._self._c;
@@ -78078,218 +79017,30 @@ const ToolBarItemType = Object.freeze({
78078
79017
  break;
78079
79018
  case ToolBarItemType.Input:
78080
79019
  case ToolBarItemType.Select:
78081
- style.maxWidth = '200px';
78082
- break;
78083
- case ToolBarItemType.Button:
78084
- case ToolBarItemType.RadioGroup:
78085
- style.maxWidth = '400px';
78086
- break;
78087
- }
78088
- return style;
78089
- },
78090
- /**
78091
- * 统一事件分发,带上item的name或key作为唯一标识
78092
- */
78093
- handleEvent(eventType, item, payload) {
78094
- this.$emit('action', {
78095
- type: eventType,
78096
- item: item,
78097
- payload: payload
78098
- });
78099
- }
78100
- }
78101
- });
78102
- ;// ./src/components/tool-bar/ByToolBar.vue?vue&type=script&lang=js
78103
- /* harmony default export */ var tool_bar_ByToolBarvue_type_script_lang_js = (ByToolBarvue_type_script_lang_js);
78104
- ;// ./src/components/tool-bar/ByToolBar.vue
78105
-
78106
-
78107
-
78108
-
78109
-
78110
- /* normalize component */
78111
- ;
78112
- var ByToolBar_component = normalizeComponent(
78113
- tool_bar_ByToolBarvue_type_script_lang_js,
78114
- ByToolBarvue_type_template_id_a297ff24_render,
78115
- ByToolBarvue_type_template_id_a297ff24_staticRenderFns,
78116
- false,
78117
- null,
78118
- null,
78119
- null
78120
-
78121
- )
78122
-
78123
- /* harmony default export */ var ByToolBar = (ByToolBar_component.exports);
78124
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/tree-search/ByTreeSearch.vue?vue&type=template&id=01e044b6
78125
- var ByTreeSearchvue_type_template_id_01e044b6_render = function render() {
78126
- var _vm = this,
78127
- _c = _vm._self._c;
78128
- return _c('div', {
78129
- staticClass: "tree-container"
78130
- }, [_c('div', {
78131
- staticClass: "header"
78132
- }, [_c('el-input', {
78133
- staticStyle: {
78134
- "width": "200px",
78135
- "margin-right": "8px"
78136
- },
78137
- attrs: {
78138
- "clearable": "",
78139
- "size": _vm.size,
78140
- "placeholder": _vm.placeholder
78141
- },
78142
- on: {
78143
- "input": _vm.filterText
78144
- },
78145
- model: {
78146
- value: _vm.searchText,
78147
- callback: function ($$v) {
78148
- _vm.searchText = $$v;
78149
- },
78150
- expression: "searchText"
78151
- }
78152
- }), _c('el-button', {
78153
- attrs: {
78154
- "type": "primary",
78155
- "size": _vm.size
78156
- },
78157
- on: {
78158
- "click": _vm.filterText
78159
- }
78160
- }, [_vm._v("查找")]), _c('el-button', {
78161
- attrs: {
78162
- "type": "primary",
78163
- "size": _vm.size,
78164
- "disabled": !_vm.searchText
78165
- },
78166
- on: {
78167
- "click": _vm.location
78168
- }
78169
- }, [_vm._v("定位")])], 1), _c('div', {
78170
- staticClass: "tree-box",
78171
- staticStyle: {
78172
- "margin-top": "8px"
78173
- }
78174
- }, [_c('el-tree', {
78175
- ref: "treeRef",
78176
- attrs: {
78177
- "show-checkbox": _vm.showCheckbox,
78178
- "data": _vm.treeData,
78179
- "node-key": _vm.nodeKey,
78180
- "props": _vm.defaultProps,
78181
- "default-checked-keys": _vm.defaultCheckedKeys,
78182
- "default-expanded-keys": _vm.defaultExpandedKeys,
78183
- "render-content": _vm.renderContentMethods,
78184
- "filter-node-method": _vm.filterNode
78185
- }
78186
- })], 1)]);
78187
- };
78188
- var ByTreeSearchvue_type_template_id_01e044b6_staticRenderFns = [];
78189
-
78190
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./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/tree-search/ByTreeSearch.vue?vue&type=script&lang=js
78191
-
78192
-
78193
-
78194
- /* harmony default export */ var ByTreeSearchvue_type_script_lang_js = ({
78195
- name: 'TreeSearch',
78196
- props: {
78197
- // 树的数据
78198
- treeData: {
78199
- type: Array,
78200
- default: () => []
78201
- },
78202
- // 输入框
78203
- placeholder: {
78204
- type: String,
78205
- default: '请输入'
78206
- },
78207
- nodeKey: {
78208
- type: String,
78209
- default: 'id'
78210
- },
78211
- // 展示多选框
78212
- showCheckbox: {
78213
- type: Boolean,
78214
- default: true
78215
- },
78216
- size: {
78217
- type: String,
78218
- default: 'mini'
78219
- },
78220
- // 树的默认配置
78221
- defaultProps: {
78222
- type: Object,
78223
- default: () => {
78224
- return {
78225
- children: 'children',
78226
- label: 'name',
78227
- disabled: 'disabled'
78228
- };
78229
- }
78230
- }
78231
- },
78232
- data() {
78233
- return {
78234
- searchText: '',
78235
- defaultCheckedKeys: [],
78236
- defaultExpandedKeys: []
78237
- };
78238
- },
78239
- methods: {
78240
- getCheckedKeys() {
78241
- return [...this.$refs.treeRef.getCheckedKeys(), ...this.$refs.treeRef.getHalfCheckedKeys()];
78242
- },
78243
- setCheckedKeys(keys) {
78244
- this.$refs.treeRef.setCheckedKeys(keys);
78245
- },
78246
- // 定位
78247
- location() {
78248
- this.$refs.treeRef.filter('');
78249
- },
78250
- // 搜索
78251
- filterText() {
78252
- const node = this.$refs.treeRef.store.root;
78253
- this.defaultExpandedKeys = [];
78254
- this.collapseNode(node);
78255
- this.$refs.treeRef.filter(this.searchText);
78256
- },
78257
- // 关闭节点
78258
- collapseNode(node) {
78259
- if (node.childNodes.length > 0) {
78260
- node.expanded = false;
78261
- for (let i = 0; i < node.childNodes.length; i++) {
78262
- this.collapseNode(node.childNodes[i]);
78263
- }
78264
- }
78265
- },
78266
- // 自定义tree结构
78267
- renderContentMethods(h, {
78268
- node,
78269
- data
78270
- }) {
78271
- const textColor = this.defaultExpandedKeys.includes(data.id) ? '#F56C6C' : '#666';
78272
- return h("span", {
78273
- "class": "node-txt",
78274
- "style": {
78275
- color: textColor,
78276
- fontSize: '14px'
78277
- }
78278
- }, [node.label]);
78279
- },
78280
- // 自定义搜索方法
78281
- filterNode(value, data) {
78282
- if (!value) return true;
78283
- if (data.name.indexOf(value) !== -1) {
78284
- this.defaultExpandedKeys.push(data.id);
79020
+ style.maxWidth = '200px';
79021
+ break;
79022
+ case ToolBarItemType.Button:
79023
+ case ToolBarItemType.RadioGroup:
79024
+ style.maxWidth = '400px';
79025
+ break;
78285
79026
  }
78286
- return data.name.indexOf(value) !== -1;
79027
+ return style;
79028
+ },
79029
+ /**
79030
+ * 统一事件分发,带上item的name或key作为唯一标识
79031
+ */
79032
+ handleEvent(eventType, item, payload) {
79033
+ this.$emit('action', {
79034
+ type: eventType,
79035
+ item: item,
79036
+ payload: payload
79037
+ });
78287
79038
  }
78288
79039
  }
78289
79040
  });
78290
- ;// ./src/components/tree-search/ByTreeSearch.vue?vue&type=script&lang=js
78291
- /* harmony default export */ var tree_search_ByTreeSearchvue_type_script_lang_js = (ByTreeSearchvue_type_script_lang_js);
78292
- ;// ./src/components/tree-search/ByTreeSearch.vue
79041
+ ;// ./src/components/tool-bar/ByToolBar.vue?vue&type=script&lang=js
79042
+ /* harmony default export */ var tool_bar_ByToolBarvue_type_script_lang_js = (ByToolBarvue_type_script_lang_js);
79043
+ ;// ./src/components/tool-bar/ByToolBar.vue
78293
79044
 
78294
79045
 
78295
79046
 
@@ -78297,10 +79048,10 @@ var ByTreeSearchvue_type_template_id_01e044b6_staticRenderFns = [];
78297
79048
 
78298
79049
  /* normalize component */
78299
79050
  ;
78300
- var ByTreeSearch_component = normalizeComponent(
78301
- tree_search_ByTreeSearchvue_type_script_lang_js,
78302
- ByTreeSearchvue_type_template_id_01e044b6_render,
78303
- ByTreeSearchvue_type_template_id_01e044b6_staticRenderFns,
79051
+ var ByToolBar_component = normalizeComponent(
79052
+ tool_bar_ByToolBarvue_type_script_lang_js,
79053
+ ByToolBarvue_type_template_id_a297ff24_render,
79054
+ ByToolBarvue_type_template_id_a297ff24_staticRenderFns,
78304
79055
  false,
78305
79056
  null,
78306
79057
  null,
@@ -78308,356 +79059,176 @@ var ByTreeSearch_component = normalizeComponent(
78308
79059
 
78309
79060
  )
78310
79061
 
78311
- /* harmony default export */ var ByTreeSearch = (ByTreeSearch_component.exports);
78312
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/by-dialog/ByDialog.vue?vue&type=template&id=7eb39597
78313
- var ByDialogvue_type_template_id_7eb39597_render = function render() {
79062
+ /* harmony default export */ var ByToolBar = (ByToolBar_component.exports);
79063
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/tree-search/ByTreeSearch.vue?vue&type=template&id=01e044b6
79064
+ var ByTreeSearchvue_type_template_id_01e044b6_render = function render() {
78314
79065
  var _vm = this,
78315
79066
  _c = _vm._self._c;
78316
- return _c('el-dialog', _vm._g(_vm._b({
78317
- class: ['by-dialog', {
78318
- 'by-dialog--with-header': !!_vm.$slots.header
78319
- }, _vm.customClass],
78320
- attrs: {
78321
- "visible": _vm.dialogVisible,
78322
- "title": _vm.title
78323
- },
78324
- on: {
78325
- "update:visible": function ($event) {
78326
- _vm.dialogVisible = $event;
78327
- },
78328
- "close": _vm.handleClose
78329
- }
78330
- }, 'el-dialog', _vm.dialogAttrs, false), _vm.$listeners), [_vm.$slots.header ? _c('div', {
78331
- staticClass: "by-dialog__header"
78332
- }, [_vm._t("header")], 2) : _vm._e(), _c('div', {
78333
- class: ['by-dialog__body', {
78334
- 'by-dialog__body--with-header': !!_vm.$slots.header
78335
- }],
78336
- style: _vm.bodyStyle
78337
- }, [_vm.content ? _c('div', {
78338
- staticClass: "by-dialog__content"
78339
- }, [_vm._v(_vm._s(_vm.content))]) : _vm._e(), _vm._t("default")], 2), _vm.showFooter ? _c('div', {
78340
- staticClass: "by-dialog__footer"
79067
+ return _c('div', {
79068
+ staticClass: "tree-container"
78341
79069
  }, [_c('div', {
78342
- staticClass: "by-dialog__buttons"
78343
- }, [_vm.leftButtons.length > 0 ? _c('div', {
78344
- staticClass: "by-dialog__buttons--left"
78345
- }, _vm._l(_vm.leftButtons, function (button, index) {
78346
- return _c('el-button', {
78347
- key: `left-${index}`,
78348
- class: button.class,
78349
- style: button.style,
78350
- attrs: {
78351
- "type": button.type || 'default',
78352
- "size": button.size || 'mini',
78353
- "loading": button.loading,
78354
- "disabled": button.disabled,
78355
- "icon": button.icon
78356
- },
78357
- on: {
78358
- "click": function ($event) {
78359
- return _vm.handleButtonClick(button, index);
78360
- }
78361
- }
78362
- }, [_vm._v(" " + _vm._s(button.text) + " ")]);
78363
- }), 1) : _vm._e(), _vm.rightButtons.length > 0 ? _c('div', {
78364
- staticClass: "by-dialog__buttons--right"
78365
- }, _vm._l(_vm.rightButtons, function (button, index) {
78366
- return _c('el-button', {
78367
- key: `right-${index}`,
78368
- class: button.class,
78369
- style: button.style,
78370
- attrs: {
78371
- "type": button.type || 'default',
78372
- "size": button.size || 'mini',
78373
- "loading": button.loading,
78374
- "disabled": button.disabled,
78375
- "icon": button.icon
78376
- },
78377
- on: {
78378
- "click": function ($event) {
78379
- return _vm.handleButtonClick(button, index);
78380
- }
78381
- }
78382
- }, [_vm._v(" " + _vm._s(button.text) + " ")]);
78383
- }), 1) : _vm._e()]), _vm._t("footer")], 2) : _vm._e()]);
78384
- };
78385
- var ByDialogvue_type_template_id_7eb39597_staticRenderFns = [];
78386
-
78387
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./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/by-dialog/ByDialog.vue?vue&type=script&lang=js
78388
-
78389
-
78390
- /* harmony default export */ var ByDialogvue_type_script_lang_js = ({
78391
- name: 'ByDialog',
78392
- inheritAttrs: false,
78393
- props: {
78394
- // 是否显示弹窗
78395
- visible: {
78396
- type: Boolean,
78397
- default: false
78398
- },
78399
- width: {
78400
- type: String,
78401
- default: '600px'
78402
- },
78403
- // 大高度时自动收紧与顶部的距离(不影响默认行为)
78404
- autoAdjustTop: {
78405
- type: Boolean,
78406
- default: false
78407
- },
78408
- // 内容区固定高度(可选,优先级高于 maxHeight),支持 px/vh/%
78409
- bodyHeight: {
78410
- type: [String, Number],
78411
- default: undefined
78412
- },
78413
- // 内容区最大高度(可选),支持 px/vh/%
78414
- bodyMaxHeight: {
78415
- type: [String, Number],
78416
- default: undefined
78417
- },
78418
- // 标题
78419
- title: {
78420
- type: String,
78421
- default: ''
78422
- },
78423
- // 内容(当没有插槽时使用)
78424
- content: {
78425
- type: String,
78426
- default: ''
78427
- },
78428
- // 是否显示底部按钮区域
78429
- showFooter: {
78430
- type: Boolean,
78431
- default: true
78432
- },
78433
- // 是否点击模态层关闭弹窗
78434
- closeOnClickModal: {
78435
- type: Boolean,
78436
- default: false
78437
- },
78438
- // 按钮配置
78439
- buttons: {
78440
- type: Array,
78441
- default() {
78442
- return [{
78443
- text: '取消',
78444
- type: 'default',
78445
- action: 'cancel'
78446
- }, {
78447
- text: '确定',
78448
- type: 'primary',
78449
- action: 'confirm'
78450
- }];
78451
- }
78452
- },
78453
- // 自定义类名
78454
- customClass: {
78455
- type: String,
78456
- default: ''
78457
- }
78458
- },
78459
- data() {
78460
- return {
78461
- internalVisible: false,
78462
- responsiveWidth: null
78463
- };
78464
- },
78465
- computed: {
78466
- dialogVisible: {
78467
- get() {
78468
- return this.internalVisible;
78469
- },
78470
- set(value) {
78471
- this.internalVisible = value;
78472
- if (!value) {
78473
- this.$emit('update:visible', false);
78474
- }
78475
- }
78476
- },
78477
- dialogAttrs() {
78478
- const {
78479
- visible,
78480
- content,
78481
- showFooter,
78482
- customClass,
78483
- closeOnClickModal,
78484
- ...attrs
78485
- } = this.$attrs;
78486
- const result = {
78487
- top: this.computedTop,
78488
- closeOnClickModal: this.closeOnClickModal,
78489
- ...attrs
78490
- };
78491
-
78492
- // 全屏弹窗不设置width属性,让CSS样式控制
78493
- if (!this.isFullscreen) {
78494
- result.width = this.computedWidth;
78495
- }
78496
- return result;
78497
- },
78498
- computedWidth() {
78499
- // 全屏弹窗不设置宽度,让CSS样式控制
78500
- if (this.isFullscreen) {
78501
- return undefined;
78502
- }
78503
- // 如果设置了响应式宽度,优先使用响应式宽度
78504
- if (this.responsiveWidth !== null) {
78505
- return this.responsiveWidth;
78506
- }
78507
- return this.width;
78508
- },
78509
- computedTop() {
78510
- if (!this.autoAdjustTop) return '15vh';
78511
- const toNumber = val => {
78512
- if (typeof val === 'number') return val;
78513
- if (typeof val === 'string') {
78514
- if (val.endsWith('px')) return parseFloat(val);
78515
- // 对于百分比和其他单位不做换算,返回 NaN 以忽略
78516
- return parseFloat(val);
78517
- }
78518
- return NaN;
78519
- };
78520
- const isLargeByPx = px => !isNaN(px) && px >= 600;
78521
- const isLargeByVh = val => typeof val === 'string' && val.includes('vh') && parseFloat(val) >= 70;
78522
- const heightPx = toNumber(this.bodyHeight);
78523
- const maxHeightVal = this.bodyMaxHeight;
78524
- const largeHeight = isLargeByPx(heightPx) || isLargeByVh(this.bodyHeight);
78525
- const largeMaxHeight = isLargeByVh(maxHeightVal) || isLargeByPx(toNumber(maxHeightVal));
78526
- if (largeHeight || largeMaxHeight) {
78527
- return '8vh';
78528
- }
78529
- return '15vh';
79070
+ staticClass: "header"
79071
+ }, [_c('el-input', {
79072
+ staticStyle: {
79073
+ "width": "200px",
79074
+ "margin-right": "8px"
78530
79075
  },
78531
- bodyStyle() {
78532
- const style = {};
78533
- if (this.bodyHeight !== undefined && this.bodyHeight !== '') {
78534
- style.height = typeof this.bodyHeight === 'number' ? `${this.bodyHeight}px` : this.bodyHeight;
78535
- }
78536
- if (this.bodyMaxHeight !== undefined && this.bodyMaxHeight !== '') {
78537
- style.maxHeight = typeof this.bodyMaxHeight === 'number' ? `${this.bodyMaxHeight}px` : this.bodyMaxHeight;
78538
- }
78539
- return style;
79076
+ attrs: {
79077
+ "clearable": "",
79078
+ "size": _vm.size,
79079
+ "placeholder": _vm.placeholder
78540
79080
  },
78541
- // 左侧按钮
78542
- leftButtons() {
78543
- return this.buttons.filter(button => button.position === 'left');
79081
+ on: {
79082
+ "input": _vm.filterText
78544
79083
  },
78545
- // 右侧按钮(默认位置,包括未设置position的按钮)
78546
- rightButtons() {
78547
- return this.buttons.filter(button => !button.position || button.position === 'right');
79084
+ model: {
79085
+ value: _vm.searchText,
79086
+ callback: function ($$v) {
79087
+ _vm.searchText = $$v;
79088
+ },
79089
+ expression: "searchText"
79090
+ }
79091
+ }), _c('el-button', {
79092
+ attrs: {
79093
+ "type": "primary",
79094
+ "size": _vm.size
78548
79095
  },
78549
- // 判断是否为全屏弹窗
78550
- isFullscreen() {
78551
- return this.customClass && this.customClass.includes('fullscreen');
79096
+ on: {
79097
+ "click": _vm.filterText
78552
79098
  }
78553
- },
78554
- watch: {
78555
- visible: {
78556
- immediate: true,
78557
- handler(newVal) {
78558
- this.internalVisible = newVal;
78559
- if (newVal && !this.isFullscreen) {
78560
- this.$nextTick(() => {
78561
- this.calculateResponsiveWidth();
78562
- });
78563
- }
78564
- }
79099
+ }, [_vm._v("查找")]), _c('el-button', {
79100
+ attrs: {
79101
+ "type": "primary",
79102
+ "size": _vm.size,
79103
+ "disabled": !_vm.searchText
78565
79104
  },
78566
- width: {
78567
- handler() {
78568
- if (this.internalVisible && !this.isFullscreen) {
78569
- this.$nextTick(() => {
78570
- this.calculateResponsiveWidth();
78571
- });
78572
- }
79105
+ on: {
79106
+ "click": _vm.location
79107
+ }
79108
+ }, [_vm._v("定位")])], 1), _c('div', {
79109
+ staticClass: "tree-box",
79110
+ staticStyle: {
79111
+ "margin-top": "8px"
79112
+ }
79113
+ }, [_c('el-tree', {
79114
+ ref: "treeRef",
79115
+ attrs: {
79116
+ "show-checkbox": _vm.showCheckbox,
79117
+ "data": _vm.treeData,
79118
+ "node-key": _vm.nodeKey,
79119
+ "props": _vm.defaultProps,
79120
+ "default-checked-keys": _vm.defaultCheckedKeys,
79121
+ "default-expanded-keys": _vm.defaultExpandedKeys,
79122
+ "render-content": _vm.renderContentMethods,
79123
+ "filter-node-method": _vm.filterNode
79124
+ }
79125
+ })], 1)]);
79126
+ };
79127
+ var ByTreeSearchvue_type_template_id_01e044b6_staticRenderFns = [];
79128
+
79129
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./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/tree-search/ByTreeSearch.vue?vue&type=script&lang=js
79130
+
79131
+
79132
+
79133
+ /* harmony default export */ var ByTreeSearchvue_type_script_lang_js = ({
79134
+ name: 'TreeSearch',
79135
+ props: {
79136
+ // 树的数据
79137
+ treeData: {
79138
+ type: Array,
79139
+ default: () => []
79140
+ },
79141
+ // 输入框
79142
+ placeholder: {
79143
+ type: String,
79144
+ default: '请输入'
79145
+ },
79146
+ nodeKey: {
79147
+ type: String,
79148
+ default: 'id'
79149
+ },
79150
+ // 展示多选框
79151
+ showCheckbox: {
79152
+ type: Boolean,
79153
+ default: true
79154
+ },
79155
+ size: {
79156
+ type: String,
79157
+ default: 'mini'
79158
+ },
79159
+ // 树的默认配置
79160
+ defaultProps: {
79161
+ type: Object,
79162
+ default: () => {
79163
+ return {
79164
+ children: 'children',
79165
+ label: 'name',
79166
+ disabled: 'disabled'
79167
+ };
78573
79168
  }
78574
79169
  }
78575
79170
  },
78576
- mounted() {
78577
- // 直接监听窗口大小变化,让CSS过渡处理平滑效果
78578
- this.resizeHandler = () => {
78579
- if (this.internalVisible && !this.isFullscreen) {
78580
- this.calculateResponsiveWidth();
78581
- }
79171
+ data() {
79172
+ return {
79173
+ searchText: '',
79174
+ defaultCheckedKeys: [],
79175
+ defaultExpandedKeys: []
78582
79176
  };
78583
- window.addEventListener('resize', this.resizeHandler);
78584
- },
78585
- beforeDestroy() {
78586
- if (this.resizeHandler) {
78587
- window.removeEventListener('resize', this.resizeHandler);
78588
- }
78589
79177
  },
78590
79178
  methods: {
78591
- // 计算响应式宽度
78592
- calculateResponsiveWidth() {
78593
- // 全屏弹窗不需要响应式适配
78594
- if (this.isFullscreen) {
78595
- this.responsiveWidth = null;
78596
- return;
78597
- }
78598
- const screenWidth = window.innerWidth;
78599
- const dialogWidth = this.parseWidth(this.width);
78600
-
78601
- // 如果屏幕宽度小于等于弹窗宽度,则使用屏幕宽度的95%
78602
- if (screenWidth <= dialogWidth) {
78603
- this.responsiveWidth = '95%';
78604
- } else {
78605
- // 重置为原始宽度
78606
- this.responsiveWidth = null;
78607
- }
79179
+ getCheckedKeys() {
79180
+ return [...this.$refs.treeRef.getCheckedKeys(), ...this.$refs.treeRef.getHalfCheckedKeys()];
78608
79181
  },
78609
- // 解析宽度值,转换为像素值
78610
- parseWidth(width) {
78611
- if (typeof width === 'number') {
78612
- return width;
78613
- }
78614
- if (typeof width === 'string') {
78615
- if (width.endsWith('px')) {
78616
- return parseFloat(width);
78617
- }
78618
- if (width.endsWith('%')) {
78619
- // 百分比宽度需要根据父容器计算,这里假设为屏幕宽度
78620
- return parseFloat(width) / 100 * window.innerWidth;
78621
- }
78622
- if (width.endsWith('vw')) {
78623
- return parseFloat(width) / 100 * window.innerWidth;
78624
- }
78625
- // 其他情况尝试解析为数字
78626
- const num = parseFloat(width);
78627
- return isNaN(num) ? 600 : num; // 默认600px
78628
- }
78629
- return 600; // 默认600px
79182
+ setCheckedKeys(keys) {
79183
+ this.$refs.treeRef.setCheckedKeys(keys);
78630
79184
  },
78631
- handleClose() {
78632
- this.internalVisible = false;
78633
- this.$emit('update:visible', false);
78634
- this.$emit('close');
79185
+ // 定位
79186
+ location() {
79187
+ this.$refs.treeRef.filter('');
78635
79188
  },
78636
- handleButtonClick(button, index) {
78637
- const {
78638
- action,
78639
- callback
78640
- } = button;
78641
- if (callback && typeof callback === 'function') {
78642
- const result = callback();
78643
- if (result === false) {
78644
- return; // 阻止默认行为
79189
+ // 搜索
79190
+ filterText() {
79191
+ const node = this.$refs.treeRef.store.root;
79192
+ this.defaultExpandedKeys = [];
79193
+ this.collapseNode(node);
79194
+ this.$refs.treeRef.filter(this.searchText);
79195
+ },
79196
+ // 关闭节点
79197
+ collapseNode(node) {
79198
+ if (node.childNodes.length > 0) {
79199
+ node.expanded = false;
79200
+ for (let i = 0; i < node.childNodes.length; i++) {
79201
+ this.collapseNode(node.childNodes[i]);
78645
79202
  }
78646
79203
  }
78647
- if (action) {
78648
- this.$emit(action, button, index);
78649
- }
78650
-
78651
- // 如果是确认或取消按钮,默认关闭弹窗
78652
- if (action === 'confirm' || action === 'cancel') {
78653
- this.$emit('update:visible', false);
79204
+ },
79205
+ // 自定义tree结构
79206
+ renderContentMethods(h, {
79207
+ node,
79208
+ data
79209
+ }) {
79210
+ const textColor = this.defaultExpandedKeys.includes(data.id) ? '#F56C6C' : '#666';
79211
+ return h("span", {
79212
+ "class": "node-txt",
79213
+ "style": {
79214
+ color: textColor,
79215
+ fontSize: '14px'
79216
+ }
79217
+ }, [node.label]);
79218
+ },
79219
+ // 自定义搜索方法
79220
+ filterNode(value, data) {
79221
+ if (!value) return true;
79222
+ if (data.name.indexOf(value) !== -1) {
79223
+ this.defaultExpandedKeys.push(data.id);
78654
79224
  }
79225
+ return data.name.indexOf(value) !== -1;
78655
79226
  }
78656
79227
  }
78657
79228
  });
78658
- ;// ./src/components/by-dialog/ByDialog.vue?vue&type=script&lang=js
78659
- /* harmony default export */ var by_dialog_ByDialogvue_type_script_lang_js = (ByDialogvue_type_script_lang_js);
78660
- ;// ./src/components/by-dialog/ByDialog.vue
79229
+ ;// ./src/components/tree-search/ByTreeSearch.vue?vue&type=script&lang=js
79230
+ /* harmony default export */ var tree_search_ByTreeSearchvue_type_script_lang_js = (ByTreeSearchvue_type_script_lang_js);
79231
+ ;// ./src/components/tree-search/ByTreeSearch.vue
78661
79232
 
78662
79233
 
78663
79234
 
@@ -78665,10 +79236,10 @@ var ByDialogvue_type_template_id_7eb39597_staticRenderFns = [];
78665
79236
 
78666
79237
  /* normalize component */
78667
79238
  ;
78668
- var ByDialog_component = normalizeComponent(
78669
- by_dialog_ByDialogvue_type_script_lang_js,
78670
- ByDialogvue_type_template_id_7eb39597_render,
78671
- ByDialogvue_type_template_id_7eb39597_staticRenderFns,
79239
+ var ByTreeSearch_component = normalizeComponent(
79240
+ tree_search_ByTreeSearchvue_type_script_lang_js,
79241
+ ByTreeSearchvue_type_template_id_01e044b6_render,
79242
+ ByTreeSearchvue_type_template_id_01e044b6_staticRenderFns,
78672
79243
  false,
78673
79244
  null,
78674
79245
  null,
@@ -78676,7 +79247,7 @@ var ByDialog_component = normalizeComponent(
78676
79247
 
78677
79248
  )
78678
79249
 
78679
- /* harmony default export */ var ByDialog = (ByDialog_component.exports);
79250
+ /* harmony default export */ var ByTreeSearch = (ByTreeSearch_component.exports);
78680
79251
  // EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
78681
79252
  var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__(1719);
78682
79253
  var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_);
@@ -79068,7 +79639,7 @@ ByDialogService.install = function (Vue) {
79068
79639
  Vue.prototype.$byDialog = ByDialogService;
79069
79640
  };
79070
79641
  /* harmony default export */ var by_dialog_ByDialogService = (ByDialogService);
79071
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/cascader-panel/ByCascaderPanel.vue?vue&type=template&id=b9cc068a
79642
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/cascader-panel/ByCascaderPanel.vue?vue&type=template&id=b9cc068a
79072
79643
  var ByCascaderPanelvue_type_template_id_b9cc068a_render = function render() {
79073
79644
  var _vm = this,
79074
79645
  _c = _vm._self._c;
@@ -80771,7 +81342,7 @@ var ByCascaderPanel_component = normalizeComponent(
80771
81342
  )
80772
81343
 
80773
81344
  /* harmony default export */ var ByCascaderPanel = (ByCascaderPanel_component.exports);
80774
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/floating-menu/ByFloatingMenu.vue?vue&type=template&id=04723f13
81345
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/floating-menu/ByFloatingMenu.vue?vue&type=template&id=04723f13
80775
81346
  var ByFloatingMenuvue_type_template_id_04723f13_render = function render() {
80776
81347
  var _vm = this,
80777
81348
  _c = _vm._self._c;
@@ -81313,7 +81884,7 @@ var ByFloatingMenu_component = normalizeComponent(
81313
81884
  )
81314
81885
 
81315
81886
  /* harmony default export */ var ByFloatingMenu = (ByFloatingMenu_component.exports);
81316
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bbb361fc-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/popover-selector/ByPopoverSelector.vue?vue&type=template&id=59b52a66
81887
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5d9e3235-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/popover-selector/ByPopoverSelector.vue?vue&type=template&id=59b52a66
81317
81888
  var ByPopoverSelectorvue_type_template_id_59b52a66_render = function render() {
81318
81889
  var _vm = this,
81319
81890
  _c = _vm._self._c;