form-custom-test 3.0.113 → 3.0.115

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.
@@ -3863,6 +3863,7 @@ const assetSelectSchema = {
3863
3863
  hideFooter: false,
3864
3864
  typeJson: {},
3865
3865
  assetTypeValue: "",
3866
+ assetLimit: 0,
3866
3867
  customClass: ["assetCss"],
3867
3868
  onOpen: "",
3868
3869
  onConfirm: ""
@@ -3956,6 +3957,7 @@ var enLocale_extension = {
3956
3957
  assetTableClickRow: "Click Row",
3957
3958
  assetSelectAssetTypeValue: "Asset Type Value",
3958
3959
  assetTypeAssetTypeValue: "Asset Type",
3960
+ assetLimit: "Asset Limit",
3959
3961
  assetType: "Asset Typee"
3960
3962
  }
3961
3963
  }
@@ -4006,7 +4008,8 @@ var zhLocale_extension = {
4006
4008
  assetTableTypeJson: "\u8D44\u4EA7\u8868\u683C\u7C7B\u578BJson",
4007
4009
  assetTableClickRow: "\u662F\u5426\u70B9\u51FB\u884C",
4008
4010
  assetSelectAssetTypeValue: "\u8D44\u4EA7\u7C7B\u578B\u503C",
4009
- assetTypeAssetTypeValue: "\u9ED8\u8BA4\u8D44\u4EA7\u7C7B\u578B\u503C"
4011
+ assetTypeAssetTypeValue: "\u9ED8\u8BA4\u8D44\u4EA7\u7C7B\u578B\u503C",
4012
+ assetSelectAssetLimit: "\u8D44\u4EA7\u9009\u62E9\u9650\u5236"
4010
4013
  }
4011
4014
  }
4012
4015
  };
@@ -12581,19 +12584,23 @@ const _sfc_main$3c = {
12581
12584
  };
12582
12585
  const _hoisted_1$G = { class: "file-upload-widget-container" };
12583
12586
  const _hoisted_2$p = {
12587
+ key: 0,
12588
+ class: "no-data-wrap"
12589
+ };
12590
+ const _hoisted_3$k = {
12584
12591
  key: 0,
12585
12592
  class: "el-upload__tip"
12586
12593
  };
12587
- const _hoisted_3$k = { class: "main-tip" };
12588
- const _hoisted_4$h = { class: "sub-tip" };
12589
- const _hoisted_5$e = { class: "upload-file-list" };
12590
- const _hoisted_6$e = { class: "left-wrap" };
12591
- const _hoisted_7$b = ["src"];
12592
- const _hoisted_8$8 = ["title"];
12593
- const _hoisted_9$7 = { class: "right-wrap" };
12594
- const _hoisted_10$6 = ["title", "onClick"];
12595
- const _hoisted_11$4 = ["onClick"];
12594
+ const _hoisted_4$h = { class: "main-tip" };
12595
+ const _hoisted_5$e = { class: "sub-tip" };
12596
+ const _hoisted_6$e = { class: "upload-file-list" };
12597
+ const _hoisted_7$b = { class: "left-wrap" };
12598
+ const _hoisted_8$8 = ["src"];
12599
+ const _hoisted_9$7 = ["title"];
12600
+ const _hoisted_10$6 = { class: "right-wrap" };
12601
+ const _hoisted_11$4 = ["title", "onClick"];
12596
12602
  const _hoisted_12$3 = ["onClick"];
12603
+ const _hoisted_13$3 = ["onClick"];
12597
12604
  function _sfc_render$3c(_ctx, _cache, $props, $setup, $data, $options) {
12598
12605
  const _component_el_button = resolveComponent("el-button");
12599
12606
  const _component_el_upload = resolveComponent("el-upload");
@@ -12613,6 +12620,7 @@ function _sfc_render$3c(_ctx, _cache, $props, $setup, $data, $options) {
12613
12620
  }, {
12614
12621
  default: withCtx(() => [
12615
12622
  createElementVNode("div", _hoisted_1$G, [
12623
+ _ctx.getDisabled() && $data.fileList.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_2$p, " \u6682\u65E0\u6570\u636E ")) : createCommentVNode("", true),
12616
12624
  createVNode(_component_el_upload, {
12617
12625
  ref: "fieldEditor",
12618
12626
  disabled: _ctx.getDisabled(),
@@ -12634,22 +12642,22 @@ function _sfc_render$3c(_ctx, _cache, $props, $setup, $data, $options) {
12634
12642
  "on-progress": $options.handleProgress
12635
12643
  }, createSlots({
12636
12644
  tip: withCtx(() => [
12637
- !!$props.field.options.uploadTip && !_ctx.getDisabled() ? (openBlock(), createElementBlock("div", _hoisted_2$p, toDisplayString($props.field.options.uploadTip), 1)) : createCommentVNode("", true)
12645
+ !!$props.field.options.uploadTip && !_ctx.getDisabled() ? (openBlock(), createElementBlock("div", _hoisted_3$k, toDisplayString($props.field.options.uploadTip), 1)) : createCommentVNode("", true)
12638
12646
  ]),
12639
12647
  file: withCtx(({ file }) => [
12640
- createElementVNode("div", _hoisted_5$e, [
12641
- createElementVNode("div", _hoisted_6$e, [
12648
+ createElementVNode("div", _hoisted_6$e, [
12649
+ createElementVNode("div", _hoisted_7$b, [
12642
12650
  createElementVNode("img", {
12643
12651
  src: $options.getFileIcon(file.name),
12644
12652
  alt: "",
12645
12653
  style: { "width": "18px", "height": "18px", "margin-right": "8px" }
12646
- }, null, 8, _hoisted_7$b),
12654
+ }, null, 8, _hoisted_8$8),
12647
12655
  createElementVNode("div", {
12648
12656
  class: "upload-file-name",
12649
12657
  title: file.name
12650
- }, toDisplayString(file.name), 9, _hoisted_8$8)
12658
+ }, toDisplayString(file.name), 9, _hoisted_9$7)
12651
12659
  ]),
12652
- createElementVNode("div", _hoisted_9$7, [
12660
+ createElementVNode("div", _hoisted_10$6, [
12653
12661
  !_ctx.getDisabled() ? (openBlock(), createElementBlock("div", {
12654
12662
  key: 0,
12655
12663
  class: "file-action",
@@ -12660,17 +12668,17 @@ function _sfc_render$3c(_ctx, _cache, $props, $setup, $data, $options) {
12660
12668
  src: _imports_1,
12661
12669
  alt: ""
12662
12670
  }, null, -1)
12663
- ])], 8, _hoisted_10$6)) : createCommentVNode("", true),
12671
+ ])], 8, _hoisted_11$4)) : createCommentVNode("", true),
12664
12672
  _ctx.getDisabled() && !$options.isZip(file.name) ? (openBlock(), createElementBlock("div", {
12665
12673
  key: 1,
12666
12674
  onClick: withModifiers(($event) => $options.handlePreview(file), ["stop"]),
12667
12675
  class: "pr-8px color-primary cursor-pointer file-action-right"
12668
- }, " \u9884\u89C8 ", 8, _hoisted_11$4)) : createCommentVNode("", true),
12676
+ }, " \u9884\u89C8 ", 8, _hoisted_12$3)) : createCommentVNode("", true),
12669
12677
  _ctx.getDisabled() ? (openBlock(), createElementBlock("div", {
12670
12678
  key: 2,
12671
12679
  onClick: withModifiers(($event) => $options.handleDownload(file), ["stop"]),
12672
12680
  class: "pr-8px color-primary cursor-pointer file-action-right"
12673
- }, " \u4E0B\u8F7D ", 8, _hoisted_12$3)) : createCommentVNode("", true)
12681
+ }, " \u4E0B\u8F7D ", 8, _hoisted_13$3)) : createCommentVNode("", true)
12674
12682
  ])
12675
12683
  ])
12676
12684
  ]),
@@ -12684,8 +12692,8 @@ function _sfc_render$3c(_ctx, _cache, $props, $setup, $data, $options) {
12684
12692
  src: _imports_0,
12685
12693
  alt: ""
12686
12694
  }, null, -1)),
12687
- createElementVNode("div", _hoisted_3$k, toDisplayString($props.field.options.mainTip || "\u70B9\u51FB\u6216\u62D6\u62FD\u6587\u4EF6\u5230\u6B64\u533A\u57DF\u4E0A\u4F20"), 1),
12688
- createElementVNode("div", _hoisted_4$h, toDisplayString($props.field.options.subTip || `\u652F\u6301\u4E0A\u4F20${$props.field.options.fileTypes.slice(0, 8).join("\uFF0C")}\u7B49\u683C\u5F0F\u6587\u4EF6`), 1)
12695
+ createElementVNode("div", _hoisted_4$h, toDisplayString($props.field.options.mainTip || "\u70B9\u51FB\u6216\u62D6\u62FD\u6587\u4EF6\u5230\u6B64\u533A\u57DF\u4E0A\u4F20"), 1),
12696
+ createElementVNode("div", _hoisted_5$e, toDisplayString($props.field.options.subTip || `\u652F\u6301\u4E0A\u4F20${$props.field.options.fileTypes.slice(0, 8).join("\uFF0C")}\u7B49\u683C\u5F0F\u6587\u4EF6`), 1)
12689
12697
  ], 64)) : (openBlock(), createBlock(_component_el_button, {
12690
12698
  key: 1,
12691
12699
  type: "primary"
@@ -12711,7 +12719,7 @@ function _sfc_render$3c(_ctx, _cache, $props, $setup, $data, $options) {
12711
12719
  _: 1
12712
12720
  }, 8, ["designer", "field", "rules", "design-state", "parent-widget", "parent-list", "index-of-parent-list", "sub-form-row-index", "sub-form-col-index", "sub-form-row-id"]);
12713
12721
  }
12714
- var fileUploadWidget = /* @__PURE__ */ _export_sfc$1(_sfc_main$3c, [["render", _sfc_render$3c], ["__scopeId", "data-v-7746136c"]]);
12722
+ var fileUploadWidget = /* @__PURE__ */ _export_sfc$1(_sfc_main$3c, [["render", _sfc_render$3c], ["__scopeId", "data-v-497c69c8"]]);
12715
12723
  var __glob_0_7$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
12716
12724
  __proto__: null,
12717
12725
  "default": fileUploadWidget
@@ -68443,13 +68451,13 @@ function registerIcon(app) {
68443
68451
  if (typeof window !== "undefined") {
68444
68452
  let loadSvg = function() {
68445
68453
  var body = document.body;
68446
- var svgDom = document.getElementById("__svg__icons__dom__1777432126019__");
68454
+ var svgDom = document.getElementById("__svg__icons__dom__1777455426152__");
68447
68455
  if (!svgDom) {
68448
68456
  svgDom = document.createElementNS("http://www.w3.org/2000/svg", "svg");
68449
68457
  svgDom.style.position = "absolute";
68450
68458
  svgDom.style.width = "0";
68451
68459
  svgDom.style.height = "0";
68452
- svgDom.id = "__svg__icons__dom__1777432126019__";
68460
+ svgDom.id = "__svg__icons__dom__1777455426152__";
68453
68461
  svgDom.setAttribute("xmlns", "http://www.w3.org/2000/svg");
68454
68462
  svgDom.setAttribute("xmlns:link", "http://www.w3.org/1999/xlink");
68455
68463
  }
@@ -68604,6 +68612,35 @@ const createTextareaEditor = function(propName, propLabelKey, configs = {}) {
68604
68612
  }
68605
68613
  };
68606
68614
  };
68615
+ const createInputNumberEditor = function(propName, propLabelKey) {
68616
+ return {
68617
+ props: {
68618
+ optionModel: Object
68619
+ },
68620
+ methods: {
68621
+ updateValue(newValue) {
68622
+ if (newValue === void 0 || newValue === null || isNaN(newValue)) {
68623
+ this.optionModel[propName] = null;
68624
+ } else {
68625
+ this.optionModel[propName] = Number(newValue);
68626
+ }
68627
+ }
68628
+ },
68629
+ render(h) {
68630
+ return createVNode(resolveComponent("el-form-item"), {
68631
+ "label": translate(propLabelKey)
68632
+ }, {
68633
+ default: () => [createVNode(resolveComponent("el-input-number"), {
68634
+ "type": "text",
68635
+ "modelValue": this.optionModel[propName],
68636
+ "onUpdate:modelValue": ($event) => this.optionModel[propName] = $event,
68637
+ "onChange": this.updateValue,
68638
+ "style": "width: 100%"
68639
+ }, null)]
68640
+ });
68641
+ }
68642
+ };
68643
+ };
68607
68644
  const createBooleanEditor = function(propName, propLabelKey) {
68608
68645
  return {
68609
68646
  props: {
@@ -78496,6 +78533,10 @@ const _sfc_main$4 = {
78496
78533
  assetTypeValue: {
78497
78534
  type: String,
78498
78535
  default: ""
78536
+ },
78537
+ limit: {
78538
+ type: Number,
78539
+ default: 0
78499
78540
  }
78500
78541
  },
78501
78542
  watch: {
@@ -78542,7 +78583,9 @@ const _sfc_main$4 = {
78542
78583
  },
78543
78584
  disabled: false,
78544
78585
  total: 0,
78545
- searchValue: ""
78586
+ searchValue: "",
78587
+ _prevTableSelectionIds: [],
78588
+ _handlingSelectionChange: false
78546
78589
  };
78547
78590
  },
78548
78591
  methods: {
@@ -78552,6 +78595,30 @@ const _sfc_main$4 = {
78552
78595
  handleConfirm() {
78553
78596
  this.$emit("confirm", this.selectedRows);
78554
78597
  },
78598
+ handleSelectionChange(selection) {
78599
+ if (this._handlingSelectionChange)
78600
+ return;
78601
+ const tableRef = this.$refs.tableRef;
78602
+ const sel = Array.isArray(selection) ? selection : [];
78603
+ const currentIds = sel.map((r) => r.assetId);
78604
+ if (this.limit > 0 && currentIds.length > this.limit) {
78605
+ const prevIds = Array.isArray(this._prevTableSelectionIds) ? this._prevTableSelectionIds : [];
78606
+ const allowedIds = prevIds.slice(0, this.limit);
78607
+ if (tableRef && typeof tableRef.clearSelection === "function" && typeof tableRef.toggleRowSelection === "function") {
78608
+ this._handlingSelectionChange = true;
78609
+ tableRef.clearSelection();
78610
+ sel.forEach((row) => {
78611
+ if (allowedIds.includes(row.assetId)) {
78612
+ tableRef.toggleRowSelection(row, true);
78613
+ }
78614
+ });
78615
+ this._handlingSelectionChange = false;
78616
+ }
78617
+ this._prevTableSelectionIds = allowedIds;
78618
+ return;
78619
+ }
78620
+ this._prevTableSelectionIds = currentIds;
78621
+ },
78555
78622
  getTableData() {
78556
78623
  service$1({
78557
78624
  method: "post",
@@ -78579,7 +78646,34 @@ const _sfc_main$4 = {
78579
78646
  this.getTableData();
78580
78647
  },
78581
78648
  handleAdd() {
78582
- const selection = this.$refs.tableRef.getSelectionRows();
78649
+ const tableRef = this.$refs.tableRef;
78650
+ const selection = tableRef && typeof tableRef.getSelectionRows === "function" ? tableRef.getSelectionRows() : [];
78651
+ if (!selection || selection.length === 0) {
78652
+ return;
78653
+ }
78654
+ if (this.limit === 1) {
78655
+ const picked = selection[selection.length - 1];
78656
+ this.selectedRows = picked ? [picked] : [];
78657
+ if (tableRef && typeof tableRef.clearSelection === "function") {
78658
+ tableRef.clearSelection();
78659
+ }
78660
+ return;
78661
+ }
78662
+ if (this.limit > 1) {
78663
+ const acc = [...this.selectedRows];
78664
+ selection.forEach((item) => {
78665
+ if (acc.length >= this.limit)
78666
+ return;
78667
+ if (!acc.some((i) => i.assetId === item.assetId)) {
78668
+ acc.push(item);
78669
+ }
78670
+ });
78671
+ this.selectedRows = acc;
78672
+ if (tableRef && typeof tableRef.clearSelection === "function") {
78673
+ tableRef.clearSelection();
78674
+ }
78675
+ return;
78676
+ }
78583
78677
  const arr = [...this.selectedRows, ...selection].reduce((acc, item) => {
78584
78678
  if (!acc.some((i) => i.assetId === item.assetId)) {
78585
78679
  acc.push(item);
@@ -78587,6 +78681,9 @@ const _sfc_main$4 = {
78587
78681
  return acc;
78588
78682
  }, []);
78589
78683
  this.selectedRows = arr;
78684
+ if (tableRef && typeof tableRef.clearSelection === "function") {
78685
+ tableRef.clearSelection();
78686
+ }
78590
78687
  },
78591
78688
  handleRemove(assetId) {
78592
78689
  const index2 = this.selectedRows.findIndex((item) => item.assetId === assetId);
@@ -78815,6 +78912,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
78815
78912
  "check-strictly": "",
78816
78913
  "row-key": "assetId",
78817
78914
  ref: "tableRef",
78915
+ onSelectionChange: $options.handleSelectionChange,
78818
78916
  "header-row-class-name": "headerRowClassName",
78819
78917
  "header-cell-class-name": "headerCellClassName",
78820
78918
  stripe: ""
@@ -78865,7 +78963,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
78865
78963
  })
78866
78964
  ]),
78867
78965
  _: 1
78868
- }, 8, ["data"]),
78966
+ }, 8, ["data", "onSelectionChange"]),
78869
78967
  createVNode(_component_el_pagination, {
78870
78968
  onSizeChange: $options.handleSizeChange,
78871
78969
  onCurrentChange: $options.handleCurrentChange,
@@ -78943,7 +79041,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
78943
79041
  _: 1
78944
79042
  }, 8, ["modelValue", "onClose"]);
78945
79043
  }
78946
- var AssetDialog = /* @__PURE__ */ _export_sfc$1(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-b38703a2"]]);
79044
+ var AssetDialog = /* @__PURE__ */ _export_sfc$1(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-58c3d01c"]]);
78947
79045
  var index_vue_vue_type_style_index_0_lang$1 = "";
78948
79046
  const _sfc_main$3 = {
78949
79047
  name: "asset-select-widget",
@@ -79182,9 +79280,10 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
79182
79280
  onClose: $options.handleClose,
79183
79281
  onConfirm: $options.handleConfirm,
79184
79282
  onCancel: $options.handleCancel,
79283
+ limit: $props.field.options.assetLimit,
79185
79284
  fieldValue: $data.fieldModel,
79186
79285
  assetTypeValue: $props.field.options.assetTypeValue
79187
- }, null, 8, ["dialog-visible", "onClose", "onConfirm", "onCancel", "fieldValue", "assetTypeValue"])
79286
+ }, null, 8, ["dialog-visible", "onClose", "onConfirm", "onCancel", "limit", "fieldValue", "assetTypeValue"])
79188
79287
  ], 4)
79189
79288
  ]),
79190
79289
  _: 1
@@ -79319,20 +79418,15 @@ const _sfc_main$2 = {
79319
79418
  if (ref2 && typeof ref2.setFormJson === "function") {
79320
79419
  ref2.setFormJson(lodash.exports.cloneDeep(this.formJson));
79321
79420
  this.$nextTick(() => {
79322
- this.syncFormDisabledStatus();
79323
79421
  this.flushPendingColHiddenOps();
79422
+ this.syncFormDisabledStatus();
79324
79423
  });
79325
79424
  }
79326
79425
  });
79327
79426
  },
79328
79427
  setColHidden(colNames, hidden) {
79329
79428
  const names = Array.isArray(colNames) ? colNames : [colNames];
79330
- const ref2 = this.$refs.detailFormRender;
79331
- if (!ref2 || typeof ref2.setColHidden !== "function") {
79332
- this.pendingColHiddenOps.push({ names, hidden });
79333
- return;
79334
- }
79335
- names.forEach((name) => ref2.setColHidden(name, hidden));
79429
+ this.pendingColHiddenOps.push({ names, hidden });
79336
79430
  },
79337
79431
  flushPendingColHiddenOps() {
79338
79432
  if (!this.pendingColHiddenOps.length) {
@@ -79473,7 +79567,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
79473
79567
  _: 1
79474
79568
  }, 8, ["modelValue", "onClose"]);
79475
79569
  }
79476
- var DetailDialog = /* @__PURE__ */ _export_sfc$1(_sfc_main$2, [["render", _sfc_render$2], ["__scopeId", "data-v-137c1c22"]]);
79570
+ var DetailDialog = /* @__PURE__ */ _export_sfc$1(_sfc_main$2, [["render", _sfc_render$2], ["__scopeId", "data-v-c6770b7c"]]);
79477
79571
  var index_vue_vue_type_style_index_0_lang = "";
79478
79572
  const _sfc_main$1 = {
79479
79573
  name: "asset-table-widget",
@@ -79552,10 +79646,6 @@ const _sfc_main$1 = {
79552
79646
  this.unregisterFromRefList();
79553
79647
  },
79554
79648
  methods: {
79555
- handleClick() {
79556
- this.dialogVisible = true;
79557
- this.triggerEvent("onOpen");
79558
- },
79559
79649
  handleClose() {
79560
79650
  this.dialogVisible = false;
79561
79651
  this.triggerEvent("onClose");
@@ -79603,7 +79693,7 @@ const _sfc_main$1 = {
79603
79693
  }
79604
79694
  },
79605
79695
  handleRow(row) {
79606
- const index2 = this.fieldModel.findIndex((item) => item.id === row.id);
79696
+ const index2 = this.fieldModel.findIndex((item) => item.assetId === row.assetId);
79607
79697
  if (index2 === -1)
79608
79698
  return;
79609
79699
  this.triggerEvent("onOpen", this.fieldModel[index2]);
@@ -79623,7 +79713,7 @@ const _sfc_main$1 = {
79623
79713
  this.detailDialogData = null;
79624
79714
  },
79625
79715
  handleConfirm(formData) {
79626
- const index2 = this.fieldModel.findIndex((item) => item.id === this.detailDialogData.id);
79716
+ const index2 = this.fieldModel.findIndex((item) => item.assetId === this.detailDialogData.assetId);
79627
79717
  if (index2 === -1)
79628
79718
  return;
79629
79719
  const oldValue = lodash.exports.cloneDeep(this.fieldModel);
@@ -80027,6 +80117,7 @@ const loadExtension = function(app) {
80027
80117
  registerCPEditor(app, "asset-select-buttonText", "asset-select-buttonText-editor", createInputTextEditor("buttonText", "extension.setting.assetSelectButtonText"));
80028
80118
  registerCPEditor(app, "asset-select-typeJson", "asset-select-typeJson-editor", createTextareaEditor("typeJson", "extension.setting.assetSelectTypeJson", { rows: 4 }));
80029
80119
  registerCPEditor(app, "asset-select-assetTypeValue", "asset-select-assetTypeValue-editor", createInputTextEditor("assetTypeValue", "extension.setting.assetSelectAssetTypeValue"));
80120
+ registerCPEditor(app, "asset-select-assetLimit", "asset-select-assetLimit-editor", createInputNumberEditor("assetLimit", "extension.setting.assetSelectAssetLimit"));
80030
80121
  addCustomWidgetSchema(assetTableSchema);
80031
80122
  app.component(AssetTableWidget.name, AssetTableWidget);
80032
80123
  registerCPEditor(app, "asset-table-typeJson", "asset-table-typeJson-editor", createInputTextEditor("typeJson", "extension.setting.assetTableTypeJson"));