next-element-vue 0.3.9 → 0.4.0

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.
package/dist/index.umd.js CHANGED
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * 作  者:huangteng
4
4
  * 邮  箱:htengweb@163.com
5
- * 当前版本:0.3.9 v
6
- * 发布日期:2024-11-12
5
+ * 当前版本:0.4.0 v
6
+ * 发布日期:2024-11-13
7
7
  * 地  址:https://www.npmjs.com/package/next-element-vue
8
8
  */
9
9
 
@@ -3781,9 +3781,15 @@
3781
3781
  columnSlots.value.forEach((slotName => {
3782
3782
  column_slots[slotName] = (...arg) => slots[slotName] && slots[slotName](...arg);
3783
3783
  }));
3784
- const _options = vue.inject("options", {}), options = vue.isRef(_options) ? vue.unref(_options) : _options, columnOption = props.columnOption, _dicKey = valueExist(columnOption.dicKey, "value"), _formatterColumnValue = (value, dicData) => {
3784
+ const _options = vue.inject("options", {}), options = vue.isRef(_options) ? vue.unref(_options) : _options, columnOption = props.columnOption, _dicKey = valueExist(columnOption.dicKey, "value"), _dicLabel = valueExist(columnOption.dicLabel, columnOption.treeSelectProps?.label, "label"), _separator = valueExist(columnOption.treeSelectProps?.separator, ","), _formatterColumnValue = (value, dicData) => {
3785
+ if (Array.isArray(value)) {
3786
+ const temp = [];
3787
+ return value.forEach((val => {
3788
+ temp.push(_formatterColumnValue(val, dicData));
3789
+ })), temp.join(_separator);
3790
+ }
3785
3791
  const item = dicData.find((o => o[_dicKey] == value));
3786
- return item ? item.label : value;
3792
+ return item ? item[_dicLabel] : value;
3787
3793
  }, renderCustomItem = (row, $index) => {
3788
3794
  if (columnOption.children?.length > 0) return vue.createVNode(vue.Fragment, null, [ columnOption.children.map((column => {
3789
3795
  return vue.createVNode(TableColumnDynamic, {
@@ -3976,6 +3982,14 @@
3976
3982
  var NextDialog$1 = vue.defineComponent({
3977
3983
  name: "NextDialog",
3978
3984
  props: {
3985
+ className: {
3986
+ type: String,
3987
+ default: ""
3988
+ },
3989
+ style: {
3990
+ type: Object,
3991
+ default: () => ({})
3992
+ },
3979
3993
  modelValue: {
3980
3994
  type: Boolean,
3981
3995
  default: !1
@@ -4041,7 +4055,8 @@
4041
4055
  return () => vue.createVNode(vue.Fragment, null, [ vue.createVNode(elementPlus.ElDialog, {
4042
4056
  modelValue: visible.value,
4043
4057
  "onUpdate:modelValue": $event => visible.value = $event,
4044
- class: ns$b.b(),
4058
+ class: [ ns$b.b(), props.className ],
4059
+ style: props.style,
4045
4060
  title: props.title,
4046
4061
  appendToBody: props.appendToBody,
4047
4062
  "destroy-on-close": !0,
@@ -4557,6 +4572,60 @@
4557
4572
  onClear: onClearValue
4558
4573
  }, null) ]);
4559
4574
  }
4575
+ }), NestTreeCascader = vue.defineComponent({
4576
+ name: "NextTreeCascader",
4577
+ props: {
4578
+ modelValue: {
4579
+ type: [ Number, String, Boolean, Object, Array ],
4580
+ default: ""
4581
+ },
4582
+ column: {
4583
+ type: Object,
4584
+ default: () => ({})
4585
+ },
4586
+ disabled: {
4587
+ type: Boolean,
4588
+ default: !1
4589
+ },
4590
+ formParams: {
4591
+ type: Object,
4592
+ default: () => ({})
4593
+ }
4594
+ },
4595
+ emits: [ "change", "clear", "expand-change", "visible-change", "remove-tag", "blur", "focus" ],
4596
+ setup(props, {emit: emit, expose: expose}) {
4597
+ const {t: t} = useLocale(), _modelValue = vue.ref(props.modelValue);
4598
+ vue.watch((() => props.modelValue), (val => {
4599
+ _modelValue.value = val;
4600
+ }));
4601
+ const _column = props.column, placeholder = _column.placeholder || t("next.form.select") + _column.label, _defaultProps = {
4602
+ label: "label",
4603
+ children: "children"
4604
+ }, onChange = val => {
4605
+ const nodes = treeSelectRef.value.getCheckedNodes().map((item => item.data));
4606
+ props.formParams[_column.prop] = val, _modelValue.value = val, emit("change", val, nodes);
4607
+ }, treeSelectRef = vue.ref(), getInstance = () => treeSelectRef.value;
4608
+ _column.loadInstance && _column.loadInstance(getInstance()), expose({
4609
+ getInstance: getInstance,
4610
+ onClearValue: () => {
4611
+ props.formParams[_column.prop] = "", _modelValue.value = "";
4612
+ }
4613
+ });
4614
+ return () => vue.createVNode(vue.Fragment, null, [ vue.createVNode(elementPlus.ElCascader, {
4615
+ ref: treeSelectRef,
4616
+ modelValue: _modelValue.value,
4617
+ "onUpdate:modelValue": $event => _modelValue.value = $event,
4618
+ placeholder: placeholder,
4619
+ options: valueExist(_column.dicData, []),
4620
+ props: valueExist(_column.treeSelectProps, _defaultProps),
4621
+ disabled: valueExist(props.disabled, !1),
4622
+ clearable: valueExist(_column.clearable, !0),
4623
+ filterable: valueExist(_column.filterable, !1),
4624
+ "collapse-tags": !0,
4625
+ "collapse-tags-tooltip": !0,
4626
+ onChange: onChange
4627
+ }, null) ]);
4628
+ }
4560
4629
  });
4561
4630
  function _isSlot$2(s) {
4562
4631
  return "function" == typeof s || "[object Object]" === Object.prototype.toString.call(s) && !vue.isVNode(s);
@@ -4921,7 +4990,15 @@
4921
4990
  "onUpdate:modelValue": $event => formParams[col.prop] = $event,
4922
4991
  disabled: valueExist(col.disabled, !1),
4923
4992
  column: col,
4924
- formParams: formParams
4993
+ formParams: formParams,
4994
+ onChange: (...arg) => col.onChange?.(...arg, col, formParams, formColumns)
4995
+ }, null) : "cascader" === col.type ? vue.createVNode(NestTreeCascader, {
4996
+ modelValue: formParams[col.prop],
4997
+ "onUpdate:modelValue": $event => formParams[col.prop] = $event,
4998
+ disabled: valueExist(col.disabled, !1),
4999
+ column: col,
5000
+ formParams: formParams,
5001
+ onChange: (...arg) => col.onChange?.(...arg, col, formParams, formColumns)
4925
5002
  }, null) : void 0;
4926
5003
  };
4927
5004
  expose({
@@ -7939,7 +8016,7 @@
7939
8016
  })(app);
7940
8017
  };
7941
8018
  var index = {
7942
- version: "0.3.9",
8019
+ version: "0.4.0",
7943
8020
  install: install
7944
8021
  };
7945
8022
  exports.NextContainer = NextContainer, exports.NextCrudTable = NextCrudTable, exports.NextCrudTableVirtualized = NextCrudTableVirtualized,
@@ -7986,7 +8063,7 @@
7986
8063
  }), exports.useGetDerivedNamespace = useGetDerivedNamespace, exports.useLanguage = (locale, lang) => {
7987
8064
  const localeRef = vue.isRef(locale) ? locale : vue.ref(locale), nextLang = localeLang[lang] || localeLang["zh-cn"];
7988
8065
  localeRef.value.name = lang, localeRef.value.next = nextLang.next;
7989
- }, exports.useLocale = useLocale, exports.useNamespace = useNamespace, exports.version = "0.3.9",
8066
+ }, exports.useLocale = useLocale, exports.useNamespace = useNamespace, exports.version = "0.4.0",
7990
8067
  Object.defineProperty(exports, "__esModule", {
7991
8068
  value: !0
7992
8069
  });