@weitutech/by-components 1.2.14 → 1.2.15

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.
@@ -78435,8 +78435,8 @@ var table_component = normalizeComponent(
78435
78435
  )
78436
78436
 
78437
78437
  /* harmony default export */ var table = (table_component.exports);
78438
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/form.vue?vue&type=template&id=1fc1d18e&scoped=true
78439
- var formvue_type_template_id_1fc1d18e_scoped_true_render = function render() {
78438
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/form.vue?vue&type=template&id=04cd7112&scoped=true
78439
+ var formvue_type_template_id_04cd7112_scoped_true_render = function render() {
78440
78440
  var _vm = this,
78441
78441
  _c = _vm._self._c;
78442
78442
  return _c('div', {
@@ -78576,6 +78576,7 @@ var formvue_type_template_id_1fc1d18e_scoped_true_render = function render() {
78576
78576
  "options": item.options || [],
78577
78577
  "loadOptions": item.loadOptions,
78578
78578
  "hiddenAllOptions": item.hiddenAllOptions,
78579
+ "hiddenGroupTitle": item.hiddenGroupTitle || false,
78579
78580
  "multiple": item.multiple,
78580
78581
  "reserveKeyword": item.reserveKeyword !== false,
78581
78582
  "placeholder": item.placeholder,
@@ -78826,7 +78827,7 @@ var formvue_type_template_id_1fc1d18e_scoped_true_render = function render() {
78826
78827
  staticClass: "footer"
78827
78828
  }, [_vm._t("footer")], 2)], 1);
78828
78829
  };
78829
- var formvue_type_template_id_1fc1d18e_scoped_true_staticRenderFns = [];
78830
+ var formvue_type_template_id_04cd7112_scoped_true_staticRenderFns = [];
78830
78831
 
78831
78832
  ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/comps/pair-number-input.vue?vue&type=template&id=604235f6
78832
78833
  var pair_number_inputvue_type_template_id_604235f6_render = function render() {
@@ -79318,8 +79319,8 @@ var custom_date_picker_component = normalizeComponent(
79318
79319
  )
79319
79320
 
79320
79321
  /* harmony default export */ var custom_date_picker = (custom_date_picker_component.exports);
79321
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/common-selector/ByCommonSelector.vue?vue&type=template&id=781ea1a3
79322
- var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79322
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/common-selector/ByCommonSelector.vue?vue&type=template&id=2ab5dba2
79323
+ var ByCommonSelectorvue_type_template_id_2ab5dba2_render = function render() {
79323
79324
  var _vm = this,
79324
79325
  _c = _vm._self._c;
79325
79326
  return _c('div', {
@@ -79338,7 +79339,8 @@ var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79338
79339
  "size": _vm.size,
79339
79340
  "multiple": _vm.multiple,
79340
79341
  "collapse-tags": _vm.multiple,
79341
- "loading": _vm.loading
79342
+ "loading": _vm.loading,
79343
+ "popper-class": _vm.selectPopperClass
79342
79344
  },
79343
79345
  on: {
79344
79346
  "change": _vm.selected
@@ -79350,7 +79352,26 @@ var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79350
79352
  },
79351
79353
  expression: "selectedValue"
79352
79354
  }
79353
- }, 'el-select', _vm.$attrs, false), _vm._l(_vm.localOptions, function (item) {
79355
+ }, 'el-select', _vm.$attrs, false), [_vm.isSelectGrouped ? _vm._l(_vm.groupedSelectOptions, function (group) {
79356
+ return _c('el-option-group', {
79357
+ key: group.title,
79358
+ class: {
79359
+ 'by_select-group--hidden-title': _vm.hiddenGroupTitle
79360
+ },
79361
+ attrs: {
79362
+ "label": _vm.hiddenGroupTitle ? '' : group.title
79363
+ }
79364
+ }, _vm._l(group.items, function (item) {
79365
+ return _c('el-option', {
79366
+ key: item.id,
79367
+ attrs: {
79368
+ "label": item.name,
79369
+ "value": item.id,
79370
+ "disabled": item.status === 0
79371
+ }
79372
+ });
79373
+ }), 1);
79374
+ }) : _vm._l(_vm.localOptions, function (item) {
79354
79375
  return _c('el-option', {
79355
79376
  key: item.id,
79356
79377
  attrs: {
@@ -79359,7 +79380,7 @@ var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79359
79380
  "disabled": item.status === 0
79360
79381
  }
79361
79382
  });
79362
- }), 1), _vm.showSelectBatchInput && _vm.multiple ? _c('el-popover', {
79383
+ })], 2), _vm.showSelectBatchInput && _vm.multiple ? _c('el-popover', {
79363
79384
  attrs: {
79364
79385
  "placement": "bottom-start",
79365
79386
  "width": _vm.selectBatchInputPopoverWidth,
@@ -79911,7 +79932,7 @@ var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79911
79932
  }
79912
79933
  }, [_vm._v(" 加载中... ")]) : _vm._e()], 2);
79913
79934
  };
79914
- var ByCommonSelectorvue_type_template_id_781ea1a3_staticRenderFns = [];
79935
+ var ByCommonSelectorvue_type_template_id_2ab5dba2_staticRenderFns = [];
79915
79936
 
79916
79937
  ;// ./node_modules/pinyin-pro/dist/index.mjs
79917
79938
 
@@ -90205,6 +90226,7 @@ function segment(word, options) {
90205
90226
 
90206
90227
 
90207
90228
 
90229
+
90208
90230
  //拼音库,用于搜索栏生成A~Z字母
90209
90231
 
90210
90232
 
@@ -90232,7 +90254,8 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
90232
90254
  default: 'select'
90233
90255
  },
90234
90256
  /**
90235
- * 选项数据,格式:[{id: 1, name: '选项1', initial: 'A', status: 1}]
90257
+ * 选项数据,格式:[{id: 1, name: '选项1', initial: 'A', status: 1, groupTitle: '分组名'}]
90258
+ * select 模式下,当每一项都配置了 groupTitle 时,将按 groupTitle 分组展示
90236
90259
  * 如果loadOptions存在,则options无效
90237
90260
  */
90238
90261
  options: {
@@ -90491,6 +90514,15 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
90491
90514
  selectBatchInputPopoverWidth: {
90492
90515
  type: [String, Number],
90493
90516
  default: '300'
90517
+ },
90518
+ // ********************************** select 类型分组展示相关 **********************************
90519
+ /**
90520
+ * select 类型下是否隐藏分组标题
90521
+ * 注意:仅在所有选项都配置了 groupTitle 时生效;隐藏后组与组之间以分割线分隔
90522
+ */
90523
+ hiddenGroupTitle: {
90524
+ type: Boolean,
90525
+ default: false
90494
90526
  }
90495
90527
  },
90496
90528
  data() {
@@ -90584,6 +90616,46 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
90584
90616
  // 标准化后的 enhancedAllOptions(将 value/label 转为 id/name)
90585
90617
  normalizedEnhancedAllOptions() {
90586
90618
  return this.normalizeOptions(this.enhancedAllOptions || []);
90619
+ },
90620
+ // select 模式下是否按 groupTitle 分组展示(需每一项都配置非空 groupTitle)
90621
+ isSelectGrouped() {
90622
+ if (this.type !== 'select' || this.localOptions.length === 0) {
90623
+ return false;
90624
+ }
90625
+ return this.localOptions.every(item => item.groupTitle != null && item.groupTitle !== '');
90626
+ },
90627
+ // select 模式下的分组选项(按 groupTitle 首次出现顺序)
90628
+ groupedSelectOptions() {
90629
+ if (!this.isSelectGrouped) {
90630
+ return [];
90631
+ }
90632
+ const groupMap = new Map();
90633
+ const groups = [];
90634
+ this.localOptions.forEach(item => {
90635
+ const title = item.groupTitle;
90636
+ if (!groupMap.has(title)) {
90637
+ const group = {
90638
+ title,
90639
+ items: []
90640
+ };
90641
+ groupMap.set(title, group);
90642
+ groups.push(group);
90643
+ }
90644
+ groupMap.get(title).items.push(item);
90645
+ });
90646
+ return groups;
90647
+ },
90648
+ // select 下拉面板 class(合并外部传入的 popper-class)
90649
+ selectPopperClass() {
90650
+ const classes = [];
90651
+ const attrClass = this.$attrs['popper-class'] || this.$attrs.popperClass;
90652
+ if (attrClass) {
90653
+ classes.push(attrClass);
90654
+ }
90655
+ if (this.isSelectGrouped && this.hiddenGroupTitle) {
90656
+ classes.push('by_common-selector-select--hidden-group-title');
90657
+ }
90658
+ return classes.join(' ');
90587
90659
  }
90588
90660
  },
90589
90661
  watch: {
@@ -91442,8 +91514,8 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
91442
91514
  ;
91443
91515
  var ByCommonSelector_component = normalizeComponent(
91444
91516
  common_selector_ByCommonSelectorvue_type_script_lang_js,
91445
- ByCommonSelectorvue_type_template_id_781ea1a3_render,
91446
- ByCommonSelectorvue_type_template_id_781ea1a3_staticRenderFns,
91517
+ ByCommonSelectorvue_type_template_id_2ab5dba2_render,
91518
+ ByCommonSelectorvue_type_template_id_2ab5dba2_staticRenderFns,
91447
91519
  false,
91448
91520
  null,
91449
91521
  null,
@@ -92912,10 +92984,10 @@ var ByCommonInput_component = normalizeComponent(
92912
92984
  });
92913
92985
  ;// ./src/components/form/form.vue?vue&type=script&lang=js
92914
92986
  /* harmony default export */ var form_formvue_type_script_lang_js = (formvue_type_script_lang_js);
92915
- ;// ./node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[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=style&index=0&id=1fc1d18e&prod&lang=scss&scoped=true
92987
+ ;// ./node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[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=style&index=0&id=04cd7112&prod&lang=scss&scoped=true
92916
92988
  // extracted by mini-css-extract-plugin
92917
92989
 
92918
- ;// ./src/components/form/form.vue?vue&type=style&index=0&id=1fc1d18e&prod&lang=scss&scoped=true
92990
+ ;// ./src/components/form/form.vue?vue&type=style&index=0&id=04cd7112&prod&lang=scss&scoped=true
92919
92991
 
92920
92992
  ;// ./src/components/form/form.vue
92921
92993
 
@@ -92928,11 +93000,11 @@ var ByCommonInput_component = normalizeComponent(
92928
93000
 
92929
93001
  var form_component = normalizeComponent(
92930
93002
  form_formvue_type_script_lang_js,
92931
- formvue_type_template_id_1fc1d18e_scoped_true_render,
92932
- formvue_type_template_id_1fc1d18e_scoped_true_staticRenderFns,
93003
+ formvue_type_template_id_04cd7112_scoped_true_render,
93004
+ formvue_type_template_id_04cd7112_scoped_true_staticRenderFns,
92933
93005
  false,
92934
93006
  null,
92935
- "1fc1d18e",
93007
+ "04cd7112",
92936
93008
  null
92937
93009
 
92938
93010
  )
@@ -102831,6 +102903,22 @@ var ByTabsvue_type_template_id_8c36e07e_scoped_true_staticRenderFns = [];
102831
102903
 
102832
102904
 
102833
102905
 
102906
+ /**
102907
+ * 为 by-tab-pane 的 variant="subtle" 动态生成 tab 样式。
102908
+ *
102909
+ * 背景:
102910
+ * - el-tabs 的 tab 项由 Element UI 内部渲染,无法直接给单个 .el-tabs__item 挂自定义 class
102911
+ * - 若用 JS 改 class,Vue / el-tabs 重渲染时会覆盖,导致 subtle tab 闪烁
102912
+ *
102913
+ * 方案:
102914
+ * - ByTabPane 向 ByTabs 注册 { name, variant }
102915
+ * - 本模块按 name 生成 CSS,选择器命中 el-tabs 自带的 #tab-{name}
102916
+ * - ByTabs 将结果写入 <style data-by-tabs-variant> 注入 document.head
102917
+ *
102918
+ * 样式分两套:默认盒状 tab、type="line" 下划线 tab(buildDefaultSubtleStyles / buildLineSubtleStyles)
102919
+ */
102920
+
102921
+ /** 转义 tab name,避免特殊字符破坏 CSS 选择器 */
102834
102922
  function escapeTabName(name) {
102835
102923
  const value = String(name);
102836
102924
  if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') {
@@ -102838,10 +102926,19 @@ function escapeTabName(name) {
102838
102926
  }
102839
102927
  return value.replace(/[^a-zA-Z0-9_-]/g, '\\$&');
102840
102928
  }
102929
+
102930
+ /**
102931
+ * 拼接 subtle tab 的 CSS 选择器
102932
+ * @param {string[]} names - tab 的 name 列表
102933
+ * @param {string} suffix - 伪类/状态后缀,如 ':hover'、'.is-active'
102934
+ * @param {boolean} line - 是否为 type="line" 模式
102935
+ */
102841
102936
  function buildSelector(names, suffix = '', line = false) {
102842
102937
  const root = line ? '.by-tabs.by-tabs--line' : '.by-tabs';
102843
102938
  return names.map(name => `${root} .el-tabs__item#tab-${escapeTabName(name)}${suffix}`).join(',\n');
102844
102939
  }
102940
+
102941
+ /** 默认模式下的 subtle tab:更小、置灰、圆角胶囊(如定向监管的项目 tab) */
102845
102942
  function buildDefaultSubtleStyles(subtleNames) {
102846
102943
  const base = buildSelector(subtleNames);
102847
102944
  const hover = buildSelector(subtleNames, ':hover');
@@ -102878,6 +102975,8 @@ ${active} {
102878
102975
  }
102879
102976
  `;
102880
102977
  }
102978
+
102979
+ /** line 模式下的 subtle tab:透明底 + 下划线选中,尺寸与 line 主 tab 协调 */
102881
102980
  function buildLineSubtleStyles(subtleNames) {
102882
102981
  const base = buildSelector(subtleNames, '', true);
102883
102982
  const hover = buildSelector(subtleNames, ':hover', true);
@@ -102916,6 +103015,13 @@ ${activeAfter} {
102916
103015
  }
102917
103016
  `;
102918
103017
  }
103018
+
103019
+ /**
103020
+ * 根据已注册的 pane variant 生成 subtle 样式字符串
103021
+ * @param {Record<string, string>} paneVariants - { [tabName]: 'default' | 'subtle' }
103022
+ * @param {{ line?: boolean }} options - line 为 true 时使用下划线风格
103023
+ * @returns {string} 可注入 <style> 的 CSS,无 subtle tab 时返回空字符串
103024
+ */
102919
103025
  function buildVariantTabStyles(paneVariants = {}, options = {}) {
102920
103026
  const subtleNames = Object.entries(paneVariants).filter(([, variant]) => variant === 'subtle').map(([name]) => name);
102921
103027
  if (!subtleNames.length) return '';
@@ -1 +1 @@
1
- .b-form .header[data-v-1fc1d18e]{margin-bottom:20px}.b-form .footer[data-v-1fc1d18e]{margin-top:20px}.by-tabs-wrapper[data-v-8c36e07e]{width:100%}
1
+ .b-form .header[data-v-04cd7112]{margin-bottom:20px}.b-form .footer[data-v-04cd7112]{margin-top:20px}.by-tabs-wrapper[data-v-8c36e07e]{width:100%}
@@ -78445,8 +78445,8 @@ var table_component = normalizeComponent(
78445
78445
  )
78446
78446
 
78447
78447
  /* harmony default export */ var table = (table_component.exports);
78448
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-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=1fc1d18e&scoped=true
78449
- var formvue_type_template_id_1fc1d18e_scoped_true_render = function render() {
78448
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-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=04cd7112&scoped=true
78449
+ var formvue_type_template_id_04cd7112_scoped_true_render = function render() {
78450
78450
  var _vm = this,
78451
78451
  _c = _vm._self._c;
78452
78452
  return _c('div', {
@@ -78586,6 +78586,7 @@ var formvue_type_template_id_1fc1d18e_scoped_true_render = function render() {
78586
78586
  "options": item.options || [],
78587
78587
  "loadOptions": item.loadOptions,
78588
78588
  "hiddenAllOptions": item.hiddenAllOptions,
78589
+ "hiddenGroupTitle": item.hiddenGroupTitle || false,
78589
78590
  "multiple": item.multiple,
78590
78591
  "reserveKeyword": item.reserveKeyword !== false,
78591
78592
  "placeholder": item.placeholder,
@@ -78836,7 +78837,7 @@ var formvue_type_template_id_1fc1d18e_scoped_true_render = function render() {
78836
78837
  staticClass: "footer"
78837
78838
  }, [_vm._t("footer")], 2)], 1);
78838
78839
  };
78839
- var formvue_type_template_id_1fc1d18e_scoped_true_staticRenderFns = [];
78840
+ var formvue_type_template_id_04cd7112_scoped_true_staticRenderFns = [];
78840
78841
 
78841
78842
  ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-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
78842
78843
  var pair_number_inputvue_type_template_id_604235f6_render = function render() {
@@ -79328,8 +79329,8 @@ var custom_date_picker_component = normalizeComponent(
79328
79329
  )
79329
79330
 
79330
79331
  /* harmony default export */ var custom_date_picker = (custom_date_picker_component.exports);
79331
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-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=781ea1a3
79332
- var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79332
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-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=2ab5dba2
79333
+ var ByCommonSelectorvue_type_template_id_2ab5dba2_render = function render() {
79333
79334
  var _vm = this,
79334
79335
  _c = _vm._self._c;
79335
79336
  return _c('div', {
@@ -79348,7 +79349,8 @@ var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79348
79349
  "size": _vm.size,
79349
79350
  "multiple": _vm.multiple,
79350
79351
  "collapse-tags": _vm.multiple,
79351
- "loading": _vm.loading
79352
+ "loading": _vm.loading,
79353
+ "popper-class": _vm.selectPopperClass
79352
79354
  },
79353
79355
  on: {
79354
79356
  "change": _vm.selected
@@ -79360,7 +79362,26 @@ var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79360
79362
  },
79361
79363
  expression: "selectedValue"
79362
79364
  }
79363
- }, 'el-select', _vm.$attrs, false), _vm._l(_vm.localOptions, function (item) {
79365
+ }, 'el-select', _vm.$attrs, false), [_vm.isSelectGrouped ? _vm._l(_vm.groupedSelectOptions, function (group) {
79366
+ return _c('el-option-group', {
79367
+ key: group.title,
79368
+ class: {
79369
+ 'by_select-group--hidden-title': _vm.hiddenGroupTitle
79370
+ },
79371
+ attrs: {
79372
+ "label": _vm.hiddenGroupTitle ? '' : group.title
79373
+ }
79374
+ }, _vm._l(group.items, function (item) {
79375
+ return _c('el-option', {
79376
+ key: item.id,
79377
+ attrs: {
79378
+ "label": item.name,
79379
+ "value": item.id,
79380
+ "disabled": item.status === 0
79381
+ }
79382
+ });
79383
+ }), 1);
79384
+ }) : _vm._l(_vm.localOptions, function (item) {
79364
79385
  return _c('el-option', {
79365
79386
  key: item.id,
79366
79387
  attrs: {
@@ -79369,7 +79390,7 @@ var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79369
79390
  "disabled": item.status === 0
79370
79391
  }
79371
79392
  });
79372
- }), 1), _vm.showSelectBatchInput && _vm.multiple ? _c('el-popover', {
79393
+ })], 2), _vm.showSelectBatchInput && _vm.multiple ? _c('el-popover', {
79373
79394
  attrs: {
79374
79395
  "placement": "bottom-start",
79375
79396
  "width": _vm.selectBatchInputPopoverWidth,
@@ -79921,7 +79942,7 @@ var ByCommonSelectorvue_type_template_id_781ea1a3_render = function render() {
79921
79942
  }
79922
79943
  }, [_vm._v(" 加载中... ")]) : _vm._e()], 2);
79923
79944
  };
79924
- var ByCommonSelectorvue_type_template_id_781ea1a3_staticRenderFns = [];
79945
+ var ByCommonSelectorvue_type_template_id_2ab5dba2_staticRenderFns = [];
79925
79946
 
79926
79947
  ;// ./node_modules/pinyin-pro/dist/index.mjs
79927
79948
 
@@ -90215,6 +90236,7 @@ function segment(word, options) {
90215
90236
 
90216
90237
 
90217
90238
 
90239
+
90218
90240
  //拼音库,用于搜索栏生成A~Z字母
90219
90241
 
90220
90242
 
@@ -90242,7 +90264,8 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
90242
90264
  default: 'select'
90243
90265
  },
90244
90266
  /**
90245
- * 选项数据,格式:[{id: 1, name: '选项1', initial: 'A', status: 1}]
90267
+ * 选项数据,格式:[{id: 1, name: '选项1', initial: 'A', status: 1, groupTitle: '分组名'}]
90268
+ * select 模式下,当每一项都配置了 groupTitle 时,将按 groupTitle 分组展示
90246
90269
  * 如果loadOptions存在,则options无效
90247
90270
  */
90248
90271
  options: {
@@ -90501,6 +90524,15 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
90501
90524
  selectBatchInputPopoverWidth: {
90502
90525
  type: [String, Number],
90503
90526
  default: '300'
90527
+ },
90528
+ // ********************************** select 类型分组展示相关 **********************************
90529
+ /**
90530
+ * select 类型下是否隐藏分组标题
90531
+ * 注意:仅在所有选项都配置了 groupTitle 时生效;隐藏后组与组之间以分割线分隔
90532
+ */
90533
+ hiddenGroupTitle: {
90534
+ type: Boolean,
90535
+ default: false
90504
90536
  }
90505
90537
  },
90506
90538
  data() {
@@ -90594,6 +90626,46 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
90594
90626
  // 标准化后的 enhancedAllOptions(将 value/label 转为 id/name)
90595
90627
  normalizedEnhancedAllOptions() {
90596
90628
  return this.normalizeOptions(this.enhancedAllOptions || []);
90629
+ },
90630
+ // select 模式下是否按 groupTitle 分组展示(需每一项都配置非空 groupTitle)
90631
+ isSelectGrouped() {
90632
+ if (this.type !== 'select' || this.localOptions.length === 0) {
90633
+ return false;
90634
+ }
90635
+ return this.localOptions.every(item => item.groupTitle != null && item.groupTitle !== '');
90636
+ },
90637
+ // select 模式下的分组选项(按 groupTitle 首次出现顺序)
90638
+ groupedSelectOptions() {
90639
+ if (!this.isSelectGrouped) {
90640
+ return [];
90641
+ }
90642
+ const groupMap = new Map();
90643
+ const groups = [];
90644
+ this.localOptions.forEach(item => {
90645
+ const title = item.groupTitle;
90646
+ if (!groupMap.has(title)) {
90647
+ const group = {
90648
+ title,
90649
+ items: []
90650
+ };
90651
+ groupMap.set(title, group);
90652
+ groups.push(group);
90653
+ }
90654
+ groupMap.get(title).items.push(item);
90655
+ });
90656
+ return groups;
90657
+ },
90658
+ // select 下拉面板 class(合并外部传入的 popper-class)
90659
+ selectPopperClass() {
90660
+ const classes = [];
90661
+ const attrClass = this.$attrs['popper-class'] || this.$attrs.popperClass;
90662
+ if (attrClass) {
90663
+ classes.push(attrClass);
90664
+ }
90665
+ if (this.isSelectGrouped && this.hiddenGroupTitle) {
90666
+ classes.push('by_common-selector-select--hidden-group-title');
90667
+ }
90668
+ return classes.join(' ');
90597
90669
  }
90598
90670
  },
90599
90671
  watch: {
@@ -91452,8 +91524,8 @@ const allOptionsNames = ['全部', '全选', '所有', '全部选项', 'All', 'a
91452
91524
  ;
91453
91525
  var ByCommonSelector_component = normalizeComponent(
91454
91526
  common_selector_ByCommonSelectorvue_type_script_lang_js,
91455
- ByCommonSelectorvue_type_template_id_781ea1a3_render,
91456
- ByCommonSelectorvue_type_template_id_781ea1a3_staticRenderFns,
91527
+ ByCommonSelectorvue_type_template_id_2ab5dba2_render,
91528
+ ByCommonSelectorvue_type_template_id_2ab5dba2_staticRenderFns,
91457
91529
  false,
91458
91530
  null,
91459
91531
  null,
@@ -92922,10 +92994,10 @@ var ByCommonInput_component = normalizeComponent(
92922
92994
  });
92923
92995
  ;// ./src/components/form/form.vue?vue&type=script&lang=js
92924
92996
  /* harmony default export */ var form_formvue_type_script_lang_js = (formvue_type_script_lang_js);
92925
- ;// ./node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-64.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-64.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-64.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-64.use[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=style&index=0&id=1fc1d18e&prod&lang=scss&scoped=true
92997
+ ;// ./node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-64.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-64.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-64.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-64.use[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=style&index=0&id=04cd7112&prod&lang=scss&scoped=true
92926
92998
  // extracted by mini-css-extract-plugin
92927
92999
 
92928
- ;// ./src/components/form/form.vue?vue&type=style&index=0&id=1fc1d18e&prod&lang=scss&scoped=true
93000
+ ;// ./src/components/form/form.vue?vue&type=style&index=0&id=04cd7112&prod&lang=scss&scoped=true
92929
93001
 
92930
93002
  ;// ./src/components/form/form.vue
92931
93003
 
@@ -92938,11 +93010,11 @@ var ByCommonInput_component = normalizeComponent(
92938
93010
 
92939
93011
  var form_component = normalizeComponent(
92940
93012
  form_formvue_type_script_lang_js,
92941
- formvue_type_template_id_1fc1d18e_scoped_true_render,
92942
- formvue_type_template_id_1fc1d18e_scoped_true_staticRenderFns,
93013
+ formvue_type_template_id_04cd7112_scoped_true_render,
93014
+ formvue_type_template_id_04cd7112_scoped_true_staticRenderFns,
92943
93015
  false,
92944
93016
  null,
92945
- "1fc1d18e",
93017
+ "04cd7112",
92946
93018
  null
92947
93019
 
92948
93020
  )
@@ -102841,6 +102913,22 @@ var ByTabsvue_type_template_id_8c36e07e_scoped_true_staticRenderFns = [];
102841
102913
 
102842
102914
 
102843
102915
 
102916
+ /**
102917
+ * 为 by-tab-pane 的 variant="subtle" 动态生成 tab 样式。
102918
+ *
102919
+ * 背景:
102920
+ * - el-tabs 的 tab 项由 Element UI 内部渲染,无法直接给单个 .el-tabs__item 挂自定义 class
102921
+ * - 若用 JS 改 class,Vue / el-tabs 重渲染时会覆盖,导致 subtle tab 闪烁
102922
+ *
102923
+ * 方案:
102924
+ * - ByTabPane 向 ByTabs 注册 { name, variant }
102925
+ * - 本模块按 name 生成 CSS,选择器命中 el-tabs 自带的 #tab-{name}
102926
+ * - ByTabs 将结果写入 <style data-by-tabs-variant> 注入 document.head
102927
+ *
102928
+ * 样式分两套:默认盒状 tab、type="line" 下划线 tab(buildDefaultSubtleStyles / buildLineSubtleStyles)
102929
+ */
102930
+
102931
+ /** 转义 tab name,避免特殊字符破坏 CSS 选择器 */
102844
102932
  function escapeTabName(name) {
102845
102933
  const value = String(name);
102846
102934
  if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') {
@@ -102848,10 +102936,19 @@ function escapeTabName(name) {
102848
102936
  }
102849
102937
  return value.replace(/[^a-zA-Z0-9_-]/g, '\\$&');
102850
102938
  }
102939
+
102940
+ /**
102941
+ * 拼接 subtle tab 的 CSS 选择器
102942
+ * @param {string[]} names - tab 的 name 列表
102943
+ * @param {string} suffix - 伪类/状态后缀,如 ':hover'、'.is-active'
102944
+ * @param {boolean} line - 是否为 type="line" 模式
102945
+ */
102851
102946
  function buildSelector(names, suffix = '', line = false) {
102852
102947
  const root = line ? '.by-tabs.by-tabs--line' : '.by-tabs';
102853
102948
  return names.map(name => `${root} .el-tabs__item#tab-${escapeTabName(name)}${suffix}`).join(',\n');
102854
102949
  }
102950
+
102951
+ /** 默认模式下的 subtle tab:更小、置灰、圆角胶囊(如定向监管的项目 tab) */
102855
102952
  function buildDefaultSubtleStyles(subtleNames) {
102856
102953
  const base = buildSelector(subtleNames);
102857
102954
  const hover = buildSelector(subtleNames, ':hover');
@@ -102888,6 +102985,8 @@ ${active} {
102888
102985
  }
102889
102986
  `;
102890
102987
  }
102988
+
102989
+ /** line 模式下的 subtle tab:透明底 + 下划线选中,尺寸与 line 主 tab 协调 */
102891
102990
  function buildLineSubtleStyles(subtleNames) {
102892
102991
  const base = buildSelector(subtleNames, '', true);
102893
102992
  const hover = buildSelector(subtleNames, ':hover', true);
@@ -102926,6 +103025,13 @@ ${activeAfter} {
102926
103025
  }
102927
103026
  `;
102928
103027
  }
103028
+
103029
+ /**
103030
+ * 根据已注册的 pane variant 生成 subtle 样式字符串
103031
+ * @param {Record<string, string>} paneVariants - { [tabName]: 'default' | 'subtle' }
103032
+ * @param {{ line?: boolean }} options - line 为 true 时使用下划线风格
103033
+ * @returns {string} 可注入 <style> 的 CSS,无 subtle tab 时返回空字符串
103034
+ */
102929
103035
  function buildVariantTabStyles(paneVariants = {}, options = {}) {
102930
103036
  const subtleNames = Object.entries(paneVariants).filter(([, variant]) => variant === 'subtle').map(([name]) => name);
102931
103037
  if (!subtleNames.length) return '';