mali-ui-plus 1.0.3 → 1.0.5

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.
@@ -66546,7 +66546,6 @@ const MlTablevue_type_script_lang_ts_setup_true_hoisted_4 = {
66546
66546
  const tableLoading = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(false);
66547
66547
  const tableData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
66548
66548
  const tableMergeRowspans = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
66549
- const selectCheckboxRows = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
66550
66549
  const tableStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
66551
66550
  const {
66552
66551
  height
@@ -66651,8 +66650,15 @@ const MlTablevue_type_script_lang_ts_setup_true_hoisted_4 = {
66651
66650
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.mergeCells, () => {
66652
66651
  updateMergeRowspan();
66653
66652
  });
66654
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.data, val => {
66655
- tableData.value = val;
66653
+ const dataRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
66654
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.data, () => {
66655
+ dataRef.value++;
66656
+ });
66657
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.data ? props.data.length : -1, () => {
66658
+ dataRef.value++;
66659
+ });
66660
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(dataRef, () => {
66661
+ tableData.value = props.data;
66656
66662
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
66657
66663
  updateMergeRowspan();
66658
66664
  updateRadioStatus();
@@ -66702,17 +66708,6 @@ const MlTablevue_type_script_lang_ts_setup_true_hoisted_4 = {
66702
66708
  }
66703
66709
  }
66704
66710
  }
66705
- updateCheckboxCount();
66706
- });
66707
- };
66708
- const updateCheckboxCount = () => {
66709
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
66710
- const $grid = xGrid.value;
66711
- if ($grid) {
66712
- selectCheckboxRows.value = $grid.getCheckboxRecords();
66713
- } else {
66714
- selectCheckboxRows.value = [];
66715
- }
66716
66711
  });
66717
66712
  };
66718
66713
  const mergeRowMethod = (visibleColumn, visibleData, fields) => {
@@ -66750,11 +66745,9 @@ const MlTablevue_type_script_lang_ts_setup_true_hoisted_4 = {
66750
66745
  emit('radio-change', params);
66751
66746
  };
66752
66747
  const checkboxChangeEvent = params => {
66753
- updateCheckboxCount();
66754
66748
  emit('checkbox-change', params);
66755
66749
  };
66756
66750
  const checkboxAllEvent = params => {
66757
- updateCheckboxCount();
66758
66751
  emit('checkbox-all', params);
66759
66752
  };
66760
66753
  const cellClickEvent = params => {
@@ -66870,10 +66863,10 @@ const MlTablevue_type_script_lang_ts_setup_true_hoisted_4 = {
66870
66863
  }));
66871
66864
  ;// CONCATENATED MODULE: ./components/ml-table/MlTable.vue?vue&type=script&lang=ts&setup=true
66872
66865
 
66873
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/ml-table/MlTable.vue?vue&type=style&index=0&id=82df8286&lang=scss
66866
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/ml-table/MlTable.vue?vue&type=style&index=0&id=721eb538&lang=scss
66874
66867
  // extracted by mini-css-extract-plugin
66875
66868
 
66876
- ;// CONCATENATED MODULE: ./components/ml-table/MlTable.vue?vue&type=style&index=0&id=82df8286&lang=scss
66869
+ ;// CONCATENATED MODULE: ./components/ml-table/MlTable.vue?vue&type=style&index=0&id=721eb538&lang=scss
66877
66870
 
66878
66871
  ;// CONCATENATED MODULE: ./components/ml-table/MlTable.vue
66879
66872
 
@@ -67130,6 +67123,7 @@ const MlGridvue_type_script_lang_ts_setup_true_hoisted_23 = {
67130
67123
  });
67131
67124
  const tableMergeRowspans = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
67132
67125
  const selectCheckboxRows = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
67126
+ const selectCheckboxReserveRecords = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
67133
67127
  const tableStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
67134
67128
  const {
67135
67129
  height
@@ -67261,8 +67255,15 @@ const MlGridvue_type_script_lang_ts_setup_true_hoisted_23 = {
67261
67255
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.mergeCells, () => {
67262
67256
  updateMergeRowspan();
67263
67257
  });
67264
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.data, val => {
67265
- tableData.value = val;
67258
+ const dataRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
67259
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.data, () => {
67260
+ dataRef.value++;
67261
+ });
67262
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.data ? props.data.length : -1, () => {
67263
+ dataRef.value++;
67264
+ });
67265
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(dataRef, () => {
67266
+ tableData.value = props.data;
67266
67267
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
67267
67268
  updateMergeRowspan();
67268
67269
  updateRadioStatus();
@@ -67574,8 +67575,12 @@ const MlGridvue_type_script_lang_ts_setup_true_hoisted_23 = {
67574
67575
  const $grid = xGrid.value;
67575
67576
  if ($grid) {
67576
67577
  selectCheckboxRows.value = $grid.getCheckboxRecords();
67578
+ if (props.checkboxConfig && props.checkboxConfig.reserve) {
67579
+ selectCheckboxReserveRecords.value = $grid.getCheckboxReserveRecords();
67580
+ }
67577
67581
  } else {
67578
67582
  selectCheckboxRows.value = [];
67583
+ selectCheckboxReserveRecords.value = [];
67579
67584
  }
67580
67585
  });
67581
67586
  };
@@ -67831,7 +67836,7 @@ const MlGridvue_type_script_lang_ts_setup_true_hoisted_23 = {
67831
67836
  }, {
67832
67837
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createTextVNode)("清空")]),
67833
67838
  _: 1
67834
- })], 64)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), __props.showCheckboxTotal && (0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(showCheckboxColumn) ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("span", _hoisted_21, "已选 " + (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(selectCheckboxRows.value.length) + " 条", 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "pager_left", (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.guardReactiveProps)({})))]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", MlGridvue_type_script_lang_ts_setup_true_hoisted_22, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "table_pager", (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.guardReactiveProps)({})), () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_MlPager, {
67839
+ })], 64)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), __props.showCheckboxTotal && (0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(showCheckboxColumn) ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("span", _hoisted_21, "已选 " + (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(selectCheckboxRows.value.length + selectCheckboxReserveRecords.value.length) + " 条", 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "pager_left", (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.guardReactiveProps)({})))]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", MlGridvue_type_script_lang_ts_setup_true_hoisted_22, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "table_pager", (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.guardReactiveProps)({})), () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_MlPager, {
67835
67840
  total: pageVO.total,
67836
67841
  currentPage: pageVO.currPage,
67837
67842
  "onUpdate:currentPage": _cache[4] || (_cache[4] = $event => pageVO.currPage = $event),
@@ -67851,10 +67856,10 @@ const MlGridvue_type_script_lang_ts_setup_true_hoisted_23 = {
67851
67856
  }));
67852
67857
  ;// CONCATENATED MODULE: ./components/ml-table/MlGrid.vue?vue&type=script&lang=ts&setup=true
67853
67858
 
67854
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/ml-table/MlGrid.vue?vue&type=style&index=0&id=b9938d72&lang=scss
67859
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/ml-table/MlGrid.vue?vue&type=style&index=0&id=7ba05c2f&lang=scss
67855
67860
  // extracted by mini-css-extract-plugin
67856
67861
 
67857
- ;// CONCATENATED MODULE: ./components/ml-table/MlGrid.vue?vue&type=style&index=0&id=b9938d72&lang=scss
67862
+ ;// CONCATENATED MODULE: ./components/ml-table/MlGrid.vue?vue&type=style&index=0&id=7ba05c2f&lang=scss
67858
67863
 
67859
67864
  ;// CONCATENATED MODULE: ./components/ml-table/MlGrid.vue
67860
67865
 
@@ -68384,11 +68389,7 @@ const MlUploadvue_type_script_lang_ts_setup_true_hoisted_21 = ["src"];
68384
68389
  __name: 'MlUpload',
68385
68390
  props: {
68386
68391
  modelValue: {
68387
- type: Array,
68388
- default: () => []
68389
- },
68390
- urlList: {
68391
- type: Array,
68392
+ type: [Array, String],
68392
68393
  default: () => []
68393
68394
  },
68394
68395
  params: {
@@ -68516,8 +68517,14 @@ const MlUploadvue_type_script_lang_ts_setup_true_hoisted_21 = ["src"];
68516
68517
  return fieldMaps.value.fileName || 'fileName';
68517
68518
  });
68518
68519
  const loadList = () => {
68520
+ let vals = [];
68521
+ if (xe_utils_default().isArray(props.modelValue)) {
68522
+ vals = props.modelValue;
68523
+ } else if (props.modelValue && xe_utils_default().isString(props.modelValue)) {
68524
+ vals = [props.modelValue];
68525
+ }
68519
68526
  if (props.simpleValue) {
68520
- fileList.value = (props.urlList && props.urlList.length ? props.urlList : props.modelValue || []).map(url => {
68527
+ fileList.value = vals.map(url => {
68521
68528
  const name = getUrlName(url);
68522
68529
  return {
68523
68530
  [nameField.value]: name,
@@ -68525,12 +68532,8 @@ const MlUploadvue_type_script_lang_ts_setup_true_hoisted_21 = ["src"];
68525
68532
  [urlField.value]: url
68526
68533
  };
68527
68534
  });
68528
- if (props.urlList && props.urlList.length) {
68529
- isModelUpdate = true;
68530
- updateModel();
68531
- }
68532
68535
  } else {
68533
- fileList.value = (props.modelValue || []).map(item => {
68536
+ fileList.value = vals.map(item => {
68534
68537
  const url = item[urlField.value] || item.url;
68535
68538
  const name = item[nameField.value] || getUrlName(url);
68536
68539
  return Object.assign(item, {
@@ -68543,7 +68546,11 @@ const MlUploadvue_type_script_lang_ts_setup_true_hoisted_21 = ["src"];
68543
68546
  };
68544
68547
  const updateModel = () => {
68545
68548
  const urlList = fileList.value.map(item => item[urlField.value]);
68546
- const value = props.simpleValue ? urlList : fileList.value;
68549
+ const rest = props.simpleValue ? urlList : fileList.value;
68550
+ let value = rest;
68551
+ if (!props.multiple) {
68552
+ value = rest[0] || null;
68553
+ }
68547
68554
  // 自动更新校验状态
68548
68555
  if ($xeform && $xeformiteminfo) {
68549
68556
  $xeform.triggerItemEvent(new Event('change'), $xeformiteminfo.itemConfig.field, value);
@@ -68643,82 +68650,6 @@ const MlUploadvue_type_script_lang_ts_setup_true_hoisted_21 = ["src"];
68643
68650
  });
68644
68651
  });
68645
68652
  };
68646
- const customRequest = action => {
68647
- if (isReadonly.value || isDisabled.value || loading.value) {
68648
- return;
68649
- }
68650
- if (props.limit && fileList.value.length >= props.limit) {
68651
- VXETable.modal.message({
68652
- status: 'error',
68653
- content: props.mediatype === 'image' ? `最多只允许选择 ${props.limit} 个图片!` : `最多只允许选择 ${props.limit} 个文件!`
68654
- });
68655
- return;
68656
- }
68657
- const file = action.file;
68658
- const fileSuffix = getSuffix(file.name);
68659
- if (props.mediatype === 'image') {
68660
- if (!imgTypes.value.includes(fileSuffix)) {
68661
- VXETable.modal.message({
68662
- status: 'error',
68663
- content: `只支持 ${imgTypes.value.join(', ')} 格式的图片,请重新选择!`
68664
- });
68665
- return;
68666
- }
68667
- } else {
68668
- if (fileTypes.value.length && !fileTypes.value.includes(fileSuffix)) {
68669
- VXETable.modal.message({
68670
- status: 'error',
68671
- content: `只支持 ${fileTypes.value.join(', ')} 格式的文件,请重新选择!`
68672
- });
68673
- return;
68674
- }
68675
- }
68676
- const uploadMethod = props.uploadFile ? props.uploadFile : config_0.upload ? config_0.upload.uploadFile : null;
68677
- if (uploadMethod) {
68678
- loading.value = true;
68679
- Promise.resolve(uploadMethod({
68680
- file,
68681
- params: props.params
68682
- })).then(res => {
68683
- const item = {
68684
- ...res,
68685
- [nameField.value]: res[nameField.value] || file.name,
68686
- [typeField.value]: res[typeField.value] || fileSuffix
68687
- };
68688
- isModelUpdate = true;
68689
- fileList.value.push(item);
68690
- updateModel();
68691
- emit('success', {
68692
- item,
68693
- file
68694
- });
68695
- loading.value = false;
68696
- }).catch(e => {
68697
- const item = {
68698
- [nameField.value]: file.name,
68699
- [typeField.value]: fileSuffix
68700
- };
68701
- emit('error', {
68702
- item,
68703
- file
68704
- });
68705
- loading.value = false;
68706
- console.error(e);
68707
- });
68708
- } else {
68709
- const item = {
68710
- [nameField.value]: file.name,
68711
- [typeField.value]: fileSuffix
68712
- };
68713
- isModelUpdate = true;
68714
- fileList.value.push(item);
68715
- updateModel();
68716
- emit('success', {
68717
- item
68718
- });
68719
- console.error('[MlUpload] 代码检查:未设置上传方法,请通过 MaliUI.config({ ... }) 全局设置 upload.uploadFile');
68720
- }
68721
- };
68722
68653
  const hidePreview = () => {
68723
68654
  previewVisible.value = false;
68724
68655
  previewItem.value = null;
@@ -68808,9 +68739,6 @@ const MlUploadvue_type_script_lang_ts_setup_true_hoisted_21 = ["src"];
68808
68739
  }
68809
68740
  isModelUpdate = false;
68810
68741
  });
68811
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.urlList, () => {
68812
- loadList();
68813
- });
68814
68742
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
68815
68743
  if (config_0.upload && !config_0.upload.fileProps) {
68816
68744
  console.warn('[MlUpload] 代码检查:全局参数 upload.fileProps 字段属性未配置');
@@ -68953,10 +68881,10 @@ const MlUploadvue_type_script_lang_ts_setup_true_hoisted_21 = ["src"];
68953
68881
  }));
68954
68882
  ;// CONCATENATED MODULE: ./components/ml-upload/MlUpload.vue?vue&type=script&lang=ts&setup=true
68955
68883
 
68956
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/ml-upload/MlUpload.vue?vue&type=style&index=0&id=54fcb21e&lang=scss
68884
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/ml-upload/MlUpload.vue?vue&type=style&index=0&id=f2f59104&lang=scss
68957
68885
  // extracted by mini-css-extract-plugin
68958
68886
 
68959
- ;// CONCATENATED MODULE: ./components/ml-upload/MlUpload.vue?vue&type=style&index=0&id=54fcb21e&lang=scss
68887
+ ;// CONCATENATED MODULE: ./components/ml-upload/MlUpload.vue?vue&type=style&index=0&id=f2f59104&lang=scss
68960
68888
 
68961
68889
  ;// CONCATENATED MODULE: ./components/ml-upload/MlUpload.vue
68962
68890
 
@@ -71485,7 +71413,7 @@ function index_config(options) {
71485
71413
  return config_0;
71486
71414
  }
71487
71415
  const MaliUI = {
71488
- version: "1.0.2",
71416
+ version: "1.0.4",
71489
71417
  modal: index_esm.modal,
71490
71418
  install: index_install,
71491
71419
  config: index_config,
@@ -66556,7 +66556,6 @@ const MlTablevue_type_script_lang_ts_setup_true_hoisted_4 = {
66556
66556
  const tableLoading = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(false);
66557
66557
  const tableData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
66558
66558
  const tableMergeRowspans = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
66559
- const selectCheckboxRows = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
66560
66559
  const tableStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
66561
66560
  const {
66562
66561
  height
@@ -66661,8 +66660,15 @@ const MlTablevue_type_script_lang_ts_setup_true_hoisted_4 = {
66661
66660
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.mergeCells, () => {
66662
66661
  updateMergeRowspan();
66663
66662
  });
66664
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.data, val => {
66665
- tableData.value = val;
66663
+ const dataRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
66664
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.data, () => {
66665
+ dataRef.value++;
66666
+ });
66667
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.data ? props.data.length : -1, () => {
66668
+ dataRef.value++;
66669
+ });
66670
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(dataRef, () => {
66671
+ tableData.value = props.data;
66666
66672
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
66667
66673
  updateMergeRowspan();
66668
66674
  updateRadioStatus();
@@ -66712,17 +66718,6 @@ const MlTablevue_type_script_lang_ts_setup_true_hoisted_4 = {
66712
66718
  }
66713
66719
  }
66714
66720
  }
66715
- updateCheckboxCount();
66716
- });
66717
- };
66718
- const updateCheckboxCount = () => {
66719
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
66720
- const $grid = xGrid.value;
66721
- if ($grid) {
66722
- selectCheckboxRows.value = $grid.getCheckboxRecords();
66723
- } else {
66724
- selectCheckboxRows.value = [];
66725
- }
66726
66721
  });
66727
66722
  };
66728
66723
  const mergeRowMethod = (visibleColumn, visibleData, fields) => {
@@ -66760,11 +66755,9 @@ const MlTablevue_type_script_lang_ts_setup_true_hoisted_4 = {
66760
66755
  emit('radio-change', params);
66761
66756
  };
66762
66757
  const checkboxChangeEvent = params => {
66763
- updateCheckboxCount();
66764
66758
  emit('checkbox-change', params);
66765
66759
  };
66766
66760
  const checkboxAllEvent = params => {
66767
- updateCheckboxCount();
66768
66761
  emit('checkbox-all', params);
66769
66762
  };
66770
66763
  const cellClickEvent = params => {
@@ -66880,10 +66873,10 @@ const MlTablevue_type_script_lang_ts_setup_true_hoisted_4 = {
66880
66873
  }));
66881
66874
  ;// CONCATENATED MODULE: ./components/ml-table/MlTable.vue?vue&type=script&lang=ts&setup=true
66882
66875
 
66883
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-67.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-67.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-67.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-67.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/ml-table/MlTable.vue?vue&type=style&index=0&id=82df8286&lang=scss
66876
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-67.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-67.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-67.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-67.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/ml-table/MlTable.vue?vue&type=style&index=0&id=721eb538&lang=scss
66884
66877
  // extracted by mini-css-extract-plugin
66885
66878
 
66886
- ;// CONCATENATED MODULE: ./components/ml-table/MlTable.vue?vue&type=style&index=0&id=82df8286&lang=scss
66879
+ ;// CONCATENATED MODULE: ./components/ml-table/MlTable.vue?vue&type=style&index=0&id=721eb538&lang=scss
66887
66880
 
66888
66881
  ;// CONCATENATED MODULE: ./components/ml-table/MlTable.vue
66889
66882
 
@@ -67140,6 +67133,7 @@ const MlGridvue_type_script_lang_ts_setup_true_hoisted_23 = {
67140
67133
  });
67141
67134
  const tableMergeRowspans = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
67142
67135
  const selectCheckboxRows = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
67136
+ const selectCheckboxReserveRecords = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
67143
67137
  const tableStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
67144
67138
  const {
67145
67139
  height
@@ -67271,8 +67265,15 @@ const MlGridvue_type_script_lang_ts_setup_true_hoisted_23 = {
67271
67265
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.mergeCells, () => {
67272
67266
  updateMergeRowspan();
67273
67267
  });
67274
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.data, val => {
67275
- tableData.value = val;
67268
+ const dataRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
67269
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.data, () => {
67270
+ dataRef.value++;
67271
+ });
67272
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.data ? props.data.length : -1, () => {
67273
+ dataRef.value++;
67274
+ });
67275
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(dataRef, () => {
67276
+ tableData.value = props.data;
67276
67277
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
67277
67278
  updateMergeRowspan();
67278
67279
  updateRadioStatus();
@@ -67584,8 +67585,12 @@ const MlGridvue_type_script_lang_ts_setup_true_hoisted_23 = {
67584
67585
  const $grid = xGrid.value;
67585
67586
  if ($grid) {
67586
67587
  selectCheckboxRows.value = $grid.getCheckboxRecords();
67588
+ if (props.checkboxConfig && props.checkboxConfig.reserve) {
67589
+ selectCheckboxReserveRecords.value = $grid.getCheckboxReserveRecords();
67590
+ }
67587
67591
  } else {
67588
67592
  selectCheckboxRows.value = [];
67593
+ selectCheckboxReserveRecords.value = [];
67589
67594
  }
67590
67595
  });
67591
67596
  };
@@ -67841,7 +67846,7 @@ const MlGridvue_type_script_lang_ts_setup_true_hoisted_23 = {
67841
67846
  }, {
67842
67847
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createTextVNode)("清空")]),
67843
67848
  _: 1
67844
- })], 64)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), __props.showCheckboxTotal && (0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(showCheckboxColumn) ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("span", _hoisted_21, "已选 " + (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(selectCheckboxRows.value.length) + " 条", 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "pager_left", (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.guardReactiveProps)({})))]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", MlGridvue_type_script_lang_ts_setup_true_hoisted_22, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "table_pager", (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.guardReactiveProps)({})), () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_MlPager, {
67849
+ })], 64)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), __props.showCheckboxTotal && (0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(showCheckboxColumn) ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("span", _hoisted_21, "已选 " + (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(selectCheckboxRows.value.length + selectCheckboxReserveRecords.value.length) + " 条", 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "pager_left", (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.guardReactiveProps)({})))]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", MlGridvue_type_script_lang_ts_setup_true_hoisted_22, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "table_pager", (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.guardReactiveProps)({})), () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_MlPager, {
67845
67850
  total: pageVO.total,
67846
67851
  currentPage: pageVO.currPage,
67847
67852
  "onUpdate:currentPage": _cache[4] || (_cache[4] = $event => pageVO.currPage = $event),
@@ -67861,10 +67866,10 @@ const MlGridvue_type_script_lang_ts_setup_true_hoisted_23 = {
67861
67866
  }));
67862
67867
  ;// CONCATENATED MODULE: ./components/ml-table/MlGrid.vue?vue&type=script&lang=ts&setup=true
67863
67868
 
67864
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-67.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-67.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-67.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-67.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/ml-table/MlGrid.vue?vue&type=style&index=0&id=b9938d72&lang=scss
67869
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-67.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-67.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-67.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-67.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/ml-table/MlGrid.vue?vue&type=style&index=0&id=7ba05c2f&lang=scss
67865
67870
  // extracted by mini-css-extract-plugin
67866
67871
 
67867
- ;// CONCATENATED MODULE: ./components/ml-table/MlGrid.vue?vue&type=style&index=0&id=b9938d72&lang=scss
67872
+ ;// CONCATENATED MODULE: ./components/ml-table/MlGrid.vue?vue&type=style&index=0&id=7ba05c2f&lang=scss
67868
67873
 
67869
67874
  ;// CONCATENATED MODULE: ./components/ml-table/MlGrid.vue
67870
67875
 
@@ -68394,11 +68399,7 @@ const MlUploadvue_type_script_lang_ts_setup_true_hoisted_21 = ["src"];
68394
68399
  __name: 'MlUpload',
68395
68400
  props: {
68396
68401
  modelValue: {
68397
- type: Array,
68398
- default: () => []
68399
- },
68400
- urlList: {
68401
- type: Array,
68402
+ type: [Array, String],
68402
68403
  default: () => []
68403
68404
  },
68404
68405
  params: {
@@ -68526,8 +68527,14 @@ const MlUploadvue_type_script_lang_ts_setup_true_hoisted_21 = ["src"];
68526
68527
  return fieldMaps.value.fileName || 'fileName';
68527
68528
  });
68528
68529
  const loadList = () => {
68530
+ let vals = [];
68531
+ if (xe_utils_default().isArray(props.modelValue)) {
68532
+ vals = props.modelValue;
68533
+ } else if (props.modelValue && xe_utils_default().isString(props.modelValue)) {
68534
+ vals = [props.modelValue];
68535
+ }
68529
68536
  if (props.simpleValue) {
68530
- fileList.value = (props.urlList && props.urlList.length ? props.urlList : props.modelValue || []).map(url => {
68537
+ fileList.value = vals.map(url => {
68531
68538
  const name = getUrlName(url);
68532
68539
  return {
68533
68540
  [nameField.value]: name,
@@ -68535,12 +68542,8 @@ const MlUploadvue_type_script_lang_ts_setup_true_hoisted_21 = ["src"];
68535
68542
  [urlField.value]: url
68536
68543
  };
68537
68544
  });
68538
- if (props.urlList && props.urlList.length) {
68539
- isModelUpdate = true;
68540
- updateModel();
68541
- }
68542
68545
  } else {
68543
- fileList.value = (props.modelValue || []).map(item => {
68546
+ fileList.value = vals.map(item => {
68544
68547
  const url = item[urlField.value] || item.url;
68545
68548
  const name = item[nameField.value] || getUrlName(url);
68546
68549
  return Object.assign(item, {
@@ -68553,7 +68556,11 @@ const MlUploadvue_type_script_lang_ts_setup_true_hoisted_21 = ["src"];
68553
68556
  };
68554
68557
  const updateModel = () => {
68555
68558
  const urlList = fileList.value.map(item => item[urlField.value]);
68556
- const value = props.simpleValue ? urlList : fileList.value;
68559
+ const rest = props.simpleValue ? urlList : fileList.value;
68560
+ let value = rest;
68561
+ if (!props.multiple) {
68562
+ value = rest[0] || null;
68563
+ }
68557
68564
  // 自动更新校验状态
68558
68565
  if ($xeform && $xeformiteminfo) {
68559
68566
  $xeform.triggerItemEvent(new Event('change'), $xeformiteminfo.itemConfig.field, value);
@@ -68653,82 +68660,6 @@ const MlUploadvue_type_script_lang_ts_setup_true_hoisted_21 = ["src"];
68653
68660
  });
68654
68661
  });
68655
68662
  };
68656
- const customRequest = action => {
68657
- if (isReadonly.value || isDisabled.value || loading.value) {
68658
- return;
68659
- }
68660
- if (props.limit && fileList.value.length >= props.limit) {
68661
- VXETable.modal.message({
68662
- status: 'error',
68663
- content: props.mediatype === 'image' ? `最多只允许选择 ${props.limit} 个图片!` : `最多只允许选择 ${props.limit} 个文件!`
68664
- });
68665
- return;
68666
- }
68667
- const file = action.file;
68668
- const fileSuffix = getSuffix(file.name);
68669
- if (props.mediatype === 'image') {
68670
- if (!imgTypes.value.includes(fileSuffix)) {
68671
- VXETable.modal.message({
68672
- status: 'error',
68673
- content: `只支持 ${imgTypes.value.join(', ')} 格式的图片,请重新选择!`
68674
- });
68675
- return;
68676
- }
68677
- } else {
68678
- if (fileTypes.value.length && !fileTypes.value.includes(fileSuffix)) {
68679
- VXETable.modal.message({
68680
- status: 'error',
68681
- content: `只支持 ${fileTypes.value.join(', ')} 格式的文件,请重新选择!`
68682
- });
68683
- return;
68684
- }
68685
- }
68686
- const uploadMethod = props.uploadFile ? props.uploadFile : config_0.upload ? config_0.upload.uploadFile : null;
68687
- if (uploadMethod) {
68688
- loading.value = true;
68689
- Promise.resolve(uploadMethod({
68690
- file,
68691
- params: props.params
68692
- })).then(res => {
68693
- const item = {
68694
- ...res,
68695
- [nameField.value]: res[nameField.value] || file.name,
68696
- [typeField.value]: res[typeField.value] || fileSuffix
68697
- };
68698
- isModelUpdate = true;
68699
- fileList.value.push(item);
68700
- updateModel();
68701
- emit('success', {
68702
- item,
68703
- file
68704
- });
68705
- loading.value = false;
68706
- }).catch(e => {
68707
- const item = {
68708
- [nameField.value]: file.name,
68709
- [typeField.value]: fileSuffix
68710
- };
68711
- emit('error', {
68712
- item,
68713
- file
68714
- });
68715
- loading.value = false;
68716
- console.error(e);
68717
- });
68718
- } else {
68719
- const item = {
68720
- [nameField.value]: file.name,
68721
- [typeField.value]: fileSuffix
68722
- };
68723
- isModelUpdate = true;
68724
- fileList.value.push(item);
68725
- updateModel();
68726
- emit('success', {
68727
- item
68728
- });
68729
- console.error('[MlUpload] 代码检查:未设置上传方法,请通过 MaliUI.config({ ... }) 全局设置 upload.uploadFile');
68730
- }
68731
- };
68732
68663
  const hidePreview = () => {
68733
68664
  previewVisible.value = false;
68734
68665
  previewItem.value = null;
@@ -68818,9 +68749,6 @@ const MlUploadvue_type_script_lang_ts_setup_true_hoisted_21 = ["src"];
68818
68749
  }
68819
68750
  isModelUpdate = false;
68820
68751
  });
68821
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.urlList, () => {
68822
- loadList();
68823
- });
68824
68752
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
68825
68753
  if (config_0.upload && !config_0.upload.fileProps) {
68826
68754
  console.warn('[MlUpload] 代码检查:全局参数 upload.fileProps 字段属性未配置');
@@ -68963,10 +68891,10 @@ const MlUploadvue_type_script_lang_ts_setup_true_hoisted_21 = ["src"];
68963
68891
  }));
68964
68892
  ;// CONCATENATED MODULE: ./components/ml-upload/MlUpload.vue?vue&type=script&lang=ts&setup=true
68965
68893
 
68966
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-67.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-67.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-67.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-67.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/ml-upload/MlUpload.vue?vue&type=style&index=0&id=54fcb21e&lang=scss
68894
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-67.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-67.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-67.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-67.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/ml-upload/MlUpload.vue?vue&type=style&index=0&id=f2f59104&lang=scss
68967
68895
  // extracted by mini-css-extract-plugin
68968
68896
 
68969
- ;// CONCATENATED MODULE: ./components/ml-upload/MlUpload.vue?vue&type=style&index=0&id=54fcb21e&lang=scss
68897
+ ;// CONCATENATED MODULE: ./components/ml-upload/MlUpload.vue?vue&type=style&index=0&id=f2f59104&lang=scss
68970
68898
 
68971
68899
  ;// CONCATENATED MODULE: ./components/ml-upload/MlUpload.vue
68972
68900
 
@@ -71495,7 +71423,7 @@ function index_config(options) {
71495
71423
  return config_0;
71496
71424
  }
71497
71425
  const MaliUI = {
71498
- version: "1.0.2",
71426
+ version: "1.0.4",
71499
71427
  modal: index_esm.modal,
71500
71428
  install: index_install,
71501
71429
  config: index_config,