@weitutech/by-components 1.1.144 → 1.1.145

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