@fecp/designer 5.4.6 → 5.4.8

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.
@@ -1,4 +1,4 @@
1
- const version = "5.4.6";
1
+ const version = "5.4.8";
2
2
  const packageJson = {
3
3
  version
4
4
  };
package/es/designer.css CHANGED
@@ -5535,14 +5535,14 @@ body,
5535
5535
  color: #fff;
5536
5536
  outline: none;
5537
5537
  box-shadow: 0 1px 0 0 #c0c4cc inset, 0 -1px 0 0 #c0c4cc inset, -1px 0 0 0 #c0c4cc inset;
5538
- }.textarea-field-wrapper[data-v-29a082f2] {
5538
+ }.textarea-field-wrapper[data-v-34bc3c06] {
5539
5539
  height: 100%;
5540
5540
  width: 100%;
5541
5541
  }
5542
- .textarea-field-wrapper[data-v-29a082f2] .el-textarea {
5542
+ .textarea-field-wrapper[data-v-34bc3c06] .el-textarea {
5543
5543
  height: 100%;
5544
5544
  }
5545
- .textarea-field-wrapper[data-v-29a082f2] .el-textarea .el-textarea__inner {
5545
+ .textarea-field-wrapper[data-v-34bc3c06] .el-textarea .el-textarea__inner {
5546
5546
  height: 100%;
5547
5547
  }.el-progress{align-items:center;line-height:1;display:flex;position:relative}.el-progress__text{color:var(--el-text-color-regular);min-width:50px;margin-left:5px;font-size:14px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{text-align:center;width:100%;margin:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{margin-right:0;padding-right:0;display:block}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);vertical-align:middle;border-radius:100px;height:6px;position:relative;overflow:hidden}.el-progress-bar__inner{background-color:var(--el-color-primary);text-align:right;white-space:nowrap;border-radius:100px;height:100%;line-height:1;transition:width .6s;position:absolute;top:0;left:0}.el-progress-bar__inner:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-progress-bar__inner--indeterminate{animation:3s infinite indeterminate;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,#0000001a 25%,#0000 25% 50%,#0000001a 50% 75%,#0000 75%,#0000);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:3s linear infinite striped-flow}.el-progress-bar__innerText{vertical-align:middle;color:#fff;margin:0 5px;font-size:12px;display:inline-block}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.el-upload{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;cursor:pointer;outline:none;justify-content:center;align-items:center;display:inline-flex}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{border-color:var(--el-border-color-darker);color:inherit}.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);margin-top:7px;font-size:12px}.el-upload iframe{z-index:-1;opacity:0;filter:alpha(opacity=0);position:absolute;top:0;left:0}.el-upload--picture-card{background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);box-sizing:border-box;width:var(--el-upload-picture-card-size);height:var(--el-upload-picture-card-size);cursor:pointer;vertical-align:top;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{padding:var(--el-upload-dragger-padding-vertical) var(--el-upload-dragger-padding-horizontal);background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);box-sizing:border-box;text-align:center;cursor:pointer;border-radius:6px;position:relative;overflow:hidden}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);margin-bottom:16px;font-size:67px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);text-align:center;font-size:14px}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{padding:calc(var(--el-upload-dragger-padding-vertical) - 1px) calc(var(--el-upload-dragger-padding-horizontal) - 1px);background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary)}.el-upload-list{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;margin:10px 0 0;padding:0;list-style:none;position:relative}.el-upload-list__item{color:var(--el-text-color-regular);box-sizing:border-box;border-radius:4px;width:100%;margin-bottom:5px;font-size:14px;transition:all .5s cubic-bezier(.55,0,.1,1);position:relative}.el-upload-list__item .el-progress{width:100%;position:absolute;top:20px}.el-upload-list__item .el-progress__text{position:absolute;top:-13px;right:0}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{cursor:pointer;opacity:.75;color:var(--el-text-color-regular);transition:opacity var(--el-transition-duration);display:none;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.el-upload-list__item .el-icon--close:hover{opacity:1;color:var(--el-color-primary)}.el-upload-list__item .el-icon--close-tip{cursor:pointer;opacity:1;color:var(--el-color-primary);font-size:12px;font-style:normal;display:none;position:absolute;top:1px;right:5px}.el-upload-list__item:hover,.el-upload-list__item:focus-within{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close,.el-upload-list__item:focus-within .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-icon--close-tip,.el-upload-list__item:focus-within .el-icon--close-tip{right:24px}.el-upload-list__item:hover .el-progress__text,.el-upload-list__item:focus-within .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{flex-direction:column;justify-content:center;width:calc(100% - 30px);margin-left:4px;display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:hover,.el-upload-list__item.is-success .el-upload-list__item-name:focus{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:not(.focusing):focus,.el-upload-list__item.is-success:active{outline-width:0}.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip,.el-upload-list__item.is-success:active .el-icon--close-tip{display:none}.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus-within .el-upload-list__item-status-label{opacity:0;display:none}.el-upload-list__item-name{color:var(--el-text-color-regular);text-align:center;transition:color var(--el-transition-duration);font-size:var(--el-font-size-base);align-items:center;padding:0 4px;display:inline-flex}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-upload-list__item-status-label{line-height:inherit;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;display:none;position:absolute;top:0;right:5px}.el-upload-list__item-delete{color:var(--el-text-color-regular);font-size:12px;display:none;position:absolute;top:0;right:10px}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{flex-wrap:wrap;margin:0;display:inline-flex}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;width:var(--el-upload-list-picture-card-size);height:var(--el-upload-list-picture-card-size);border-radius:6px;margin:0 8px 8px 0;padding:0;display:inline-flex;overflow:hidden}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{object-fit:contain;width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-list--picture-card .el-upload-list__item-status-label i{margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{cursor:default;color:#fff;opacity:0;background-color:var(--el-overlay-color-lighter);width:100%;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;font-size:20px;display:inline-flex;position:absolute;top:0;left:0}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{font-size:inherit;color:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{width:126px;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{z-index:0;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;border-radius:6px;align-items:center;margin-top:10px;padding:10px;display:flex;overflow:hidden}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:inline-flex}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{object-fit:contain;z-index:1;background-color:var(--el-color-white);justify-content:center;align-items:center;width:70px;height:70px;display:inline-flex;position:relative}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:46px;height:26px;position:absolute;top:-7px;right:-17px;transform:rotate(45deg)}.el-upload-list--picture .el-upload-list__item-status-label i{margin-top:12px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{z-index:10;cursor:default;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.el-upload-cover:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-upload-cover img{width:100%;height:100%;display:block}.el-upload-cover__label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-cover__label i{color:#fff;margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-cover__progress{vertical-align:middle;width:243px;display:inline-block;position:static}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{width:100%;height:100%;position:absolute;top:0;left:0}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);text-align:center;width:100%;height:100%;position:absolute;bottom:0;left:0}.el-upload-cover__interact .btn{color:#fff;cursor:pointer;vertical-align:middle;transition:var(--el-transition-md-fade);margin-top:60px;font-size:14px;display:inline-block}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;font-size:24px;line-height:inherit;margin:0 auto 5px;display:block}.el-upload-cover__title{text-overflow:ellipsis;white-space:nowrap;text-align:left;width:100%;height:36px;color:var(--el-text-color-primary);background-color:#fff;margin:0;padding:0 10px;font-size:14px;font-weight:400;line-height:36px;position:absolute;bottom:0;left:0;overflow:hidden}.el-upload-cover+.el-upload__inner{opacity:0;z-index:1;position:relative}
5548
5548
  [data-v-fef25575] .el-upload-dragger {
@@ -5676,27 +5676,27 @@ body,
5676
5676
  width: 80px;
5677
5677
  font-size: var(--el-font-size-extra-small);
5678
5678
  }
5679
- .fec-form[data-v-18adf51b] {
5679
+ .fec-form[data-v-8baf793f] {
5680
5680
  height: 100%;
5681
5681
  }
5682
- [data-v-18adf51b] .vgl-item {
5682
+ [data-v-8baf793f] .vgl-item {
5683
5683
  transition: none;
5684
5684
  }
5685
- [data-v-18adf51b] .vgl-item > .el-form-item {
5685
+ [data-v-8baf793f] .vgl-item > .el-form-item {
5686
5686
  width: 100%;
5687
5687
  padding: 12px 8px 0 8px;
5688
5688
  height: calc(100% - 15px);
5689
5689
  display: flex;
5690
5690
  }
5691
- [data-v-18adf51b] .vgl-item > .el-form-item.el-form-item--label-top {
5691
+ [data-v-8baf793f] .vgl-item > .el-form-item.el-form-item--label-top {
5692
5692
  flex-direction: column;
5693
5693
  }
5694
- [data-v-18adf51b] .vgl-item > .el-form-item .el-form-item__label {
5694
+ [data-v-8baf793f] .vgl-item > .el-form-item .el-form-item__label {
5695
5695
  line-height: 20px;
5696
5696
  display: flex;
5697
5697
  align-items: center;
5698
5698
  }
5699
- [data-v-18adf51b] .vgl-item > .el-container {
5699
+ [data-v-8baf793f] .vgl-item > .el-container {
5700
5700
  height: auto !important;
5701
5701
  }.cell-content .cell-text[data-v-3e5372d4] {
5702
5702
  display: inline-block;
@@ -160,22 +160,26 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
160
160
  return item.component;
161
161
  });
162
162
  hiddenFields.value = option.hiddenFields || [];
163
- await loadFieldDataSources();
164
- await loadProductData();
165
- applyProductConfigToForm();
166
- mergeOptionsToFields();
167
163
  loadFormData();
168
164
  loadEventFlow();
169
- initGridLayoutDataConfig();
170
165
  if (pageEvents && localConfig.value.pageEventConfig) {
171
166
  const onCreatedEvent = localConfig.value.pageEventConfig.find(
172
167
  (e) => e.name === "onCreated"
173
168
  );
174
169
  if (onCreatedEvent) {
175
170
  console.log("🚀 页面 onCreated 事件触发");
176
- await pageEvents.executeEvent("onCreated");
171
+ try {
172
+ await pageEvents.executeEvent("onCreated");
173
+ } catch (error) {
174
+ }
177
175
  }
178
176
  }
177
+ await loadFieldDataSources();
178
+ await loadProductData();
179
+ applyProductConfigToForm();
180
+ mergeOptionsToFields();
181
+ initGridLayoutDataConfig();
182
+ initLinkage();
179
183
  emit("loaded", option);
180
184
  } catch (error) {
181
185
  console.error("加载配置失败:", error);
@@ -251,7 +255,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
251
255
  http: ctx.$http,
252
256
  dataSources: localConfig.value.dataSources,
253
257
  currentDataSourceId: dataSourceId,
254
- pagination: false
258
+ pagination: false,
259
+ data: formData.value,
260
+ fields: [...fieldsData.value, ...hiddenFields.value]
255
261
  });
256
262
  const data = await dsManager.fetch();
257
263
  let options = [];
@@ -901,9 +907,21 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
901
907
  gridLayoutFieldsData.value = updatedLayoutData.filter((item) => !item.hidden);
902
908
  (_a = gridLayout == null ? void 0 : gridLayout.value) == null ? void 0 : _a.resizeEvent();
903
909
  };
910
+ let linkaged = false;
911
+ function initLinkage() {
912
+ const changedFields = findChangedFields(formData.value, prevFormData.value);
913
+ if (changedFields.length > 0) {
914
+ applyLinkageEffectsForChangedFields(changedFields);
915
+ }
916
+ prevFormData.value = { ...formData.value };
917
+ linkaged = true;
918
+ }
904
919
  watch(
905
920
  formData,
906
921
  (newVal, oldVal) => {
922
+ if (!linkaged) {
923
+ return;
924
+ }
907
925
  const changedFields = findChangedFields(newVal, prevFormData.value);
908
926
  if (changedFields.length > 0) {
909
927
  applyLinkageEffectsForChangedFields(changedFields);
@@ -1034,7 +1052,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
1034
1052
  };
1035
1053
  }
1036
1054
  });
1037
- const _Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-18adf51b"]]);
1055
+ const _Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8baf793f"]]);
1038
1056
  export {
1039
1057
  _Form as default
1040
1058
  };
@@ -76,7 +76,6 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
76
76
  "show-word-limit": __props.showWordCount,
77
77
  rows: __props.rows,
78
78
  autosize: __props.autosize,
79
- clearable: "",
80
79
  resize: "none",
81
80
  onChange: handleChange
82
81
  }), null, 16, ["modelValue", "placeholder", "disabled", "readonly", "maxlength", "show-word-limit", "rows", "autosize"])
@@ -84,7 +83,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
84
83
  };
85
84
  }
86
85
  });
87
- const _Textarea = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-29a082f2"]]);
86
+ const _Textarea = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-34bc3c06"]]);
88
87
  export {
89
88
  _Textarea as default
90
89
  };
@@ -17,7 +17,9 @@ class DataSourceManager {
17
17
  this.currentDataSourceId = options.currentDataSourceId;
18
18
  this.pagination = options.pagination || false;
19
19
  this.sortRules = reactive(options.sortRules || []);
20
- this.originalSortRules = JSON.parse(JSON.stringify(options.sortRules || []));
20
+ this.originalSortRules = JSON.parse(
21
+ JSON.stringify(options.sortRules || [])
22
+ );
21
23
  this.showSuccessMessage = options.showSuccessMessage || false;
22
24
  this.loading = false;
23
25
  this.error = null;
@@ -253,7 +255,9 @@ class DataSourceManager {
253
255
  * 更新排序
254
256
  */
255
257
  updateSort(field, order) {
256
- const existingIndex = this.sortRules.findIndex((rule) => rule.field === field);
258
+ const existingIndex = this.sortRules.findIndex(
259
+ (rule) => rule.field === field
260
+ );
257
261
  if (!order) {
258
262
  if (existingIndex > -1) {
259
263
  this.sortRules.splice(existingIndex, 1);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const version = "5.4.6";
3
+ const version = "5.4.8";
4
4
  const packageJson = {
5
5
  version
6
6
  };
package/lib/designer.css CHANGED
@@ -5535,14 +5535,14 @@ body,
5535
5535
  color: #fff;
5536
5536
  outline: none;
5537
5537
  box-shadow: 0 1px 0 0 #c0c4cc inset, 0 -1px 0 0 #c0c4cc inset, -1px 0 0 0 #c0c4cc inset;
5538
- }.textarea-field-wrapper[data-v-29a082f2] {
5538
+ }.textarea-field-wrapper[data-v-34bc3c06] {
5539
5539
  height: 100%;
5540
5540
  width: 100%;
5541
5541
  }
5542
- .textarea-field-wrapper[data-v-29a082f2] .el-textarea {
5542
+ .textarea-field-wrapper[data-v-34bc3c06] .el-textarea {
5543
5543
  height: 100%;
5544
5544
  }
5545
- .textarea-field-wrapper[data-v-29a082f2] .el-textarea .el-textarea__inner {
5545
+ .textarea-field-wrapper[data-v-34bc3c06] .el-textarea .el-textarea__inner {
5546
5546
  height: 100%;
5547
5547
  }.el-progress{align-items:center;line-height:1;display:flex;position:relative}.el-progress__text{color:var(--el-text-color-regular);min-width:50px;margin-left:5px;font-size:14px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{text-align:center;width:100%;margin:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{margin-right:0;padding-right:0;display:block}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);vertical-align:middle;border-radius:100px;height:6px;position:relative;overflow:hidden}.el-progress-bar__inner{background-color:var(--el-color-primary);text-align:right;white-space:nowrap;border-radius:100px;height:100%;line-height:1;transition:width .6s;position:absolute;top:0;left:0}.el-progress-bar__inner:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-progress-bar__inner--indeterminate{animation:3s infinite indeterminate;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,#0000001a 25%,#0000 25% 50%,#0000001a 50% 75%,#0000 75%,#0000);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:3s linear infinite striped-flow}.el-progress-bar__innerText{vertical-align:middle;color:#fff;margin:0 5px;font-size:12px;display:inline-block}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.el-upload{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;cursor:pointer;outline:none;justify-content:center;align-items:center;display:inline-flex}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{border-color:var(--el-border-color-darker);color:inherit}.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);margin-top:7px;font-size:12px}.el-upload iframe{z-index:-1;opacity:0;filter:alpha(opacity=0);position:absolute;top:0;left:0}.el-upload--picture-card{background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);box-sizing:border-box;width:var(--el-upload-picture-card-size);height:var(--el-upload-picture-card-size);cursor:pointer;vertical-align:top;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{padding:var(--el-upload-dragger-padding-vertical) var(--el-upload-dragger-padding-horizontal);background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);box-sizing:border-box;text-align:center;cursor:pointer;border-radius:6px;position:relative;overflow:hidden}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);margin-bottom:16px;font-size:67px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);text-align:center;font-size:14px}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{padding:calc(var(--el-upload-dragger-padding-vertical) - 1px) calc(var(--el-upload-dragger-padding-horizontal) - 1px);background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary)}.el-upload-list{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;margin:10px 0 0;padding:0;list-style:none;position:relative}.el-upload-list__item{color:var(--el-text-color-regular);box-sizing:border-box;border-radius:4px;width:100%;margin-bottom:5px;font-size:14px;transition:all .5s cubic-bezier(.55,0,.1,1);position:relative}.el-upload-list__item .el-progress{width:100%;position:absolute;top:20px}.el-upload-list__item .el-progress__text{position:absolute;top:-13px;right:0}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{cursor:pointer;opacity:.75;color:var(--el-text-color-regular);transition:opacity var(--el-transition-duration);display:none;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.el-upload-list__item .el-icon--close:hover{opacity:1;color:var(--el-color-primary)}.el-upload-list__item .el-icon--close-tip{cursor:pointer;opacity:1;color:var(--el-color-primary);font-size:12px;font-style:normal;display:none;position:absolute;top:1px;right:5px}.el-upload-list__item:hover,.el-upload-list__item:focus-within{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close,.el-upload-list__item:focus-within .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-icon--close-tip,.el-upload-list__item:focus-within .el-icon--close-tip{right:24px}.el-upload-list__item:hover .el-progress__text,.el-upload-list__item:focus-within .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{flex-direction:column;justify-content:center;width:calc(100% - 30px);margin-left:4px;display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:hover,.el-upload-list__item.is-success .el-upload-list__item-name:focus{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:not(.focusing):focus,.el-upload-list__item.is-success:active{outline-width:0}.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip,.el-upload-list__item.is-success:active .el-icon--close-tip{display:none}.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus-within .el-upload-list__item-status-label{opacity:0;display:none}.el-upload-list__item-name{color:var(--el-text-color-regular);text-align:center;transition:color var(--el-transition-duration);font-size:var(--el-font-size-base);align-items:center;padding:0 4px;display:inline-flex}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-upload-list__item-status-label{line-height:inherit;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;display:none;position:absolute;top:0;right:5px}.el-upload-list__item-delete{color:var(--el-text-color-regular);font-size:12px;display:none;position:absolute;top:0;right:10px}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{flex-wrap:wrap;margin:0;display:inline-flex}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;width:var(--el-upload-list-picture-card-size);height:var(--el-upload-list-picture-card-size);border-radius:6px;margin:0 8px 8px 0;padding:0;display:inline-flex;overflow:hidden}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{object-fit:contain;width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-list--picture-card .el-upload-list__item-status-label i{margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{cursor:default;color:#fff;opacity:0;background-color:var(--el-overlay-color-lighter);width:100%;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;font-size:20px;display:inline-flex;position:absolute;top:0;left:0}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{font-size:inherit;color:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{width:126px;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{z-index:0;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;border-radius:6px;align-items:center;margin-top:10px;padding:10px;display:flex;overflow:hidden}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:inline-flex}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{object-fit:contain;z-index:1;background-color:var(--el-color-white);justify-content:center;align-items:center;width:70px;height:70px;display:inline-flex;position:relative}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:46px;height:26px;position:absolute;top:-7px;right:-17px;transform:rotate(45deg)}.el-upload-list--picture .el-upload-list__item-status-label i{margin-top:12px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{z-index:10;cursor:default;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.el-upload-cover:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-upload-cover img{width:100%;height:100%;display:block}.el-upload-cover__label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-cover__label i{color:#fff;margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-cover__progress{vertical-align:middle;width:243px;display:inline-block;position:static}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{width:100%;height:100%;position:absolute;top:0;left:0}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);text-align:center;width:100%;height:100%;position:absolute;bottom:0;left:0}.el-upload-cover__interact .btn{color:#fff;cursor:pointer;vertical-align:middle;transition:var(--el-transition-md-fade);margin-top:60px;font-size:14px;display:inline-block}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;font-size:24px;line-height:inherit;margin:0 auto 5px;display:block}.el-upload-cover__title{text-overflow:ellipsis;white-space:nowrap;text-align:left;width:100%;height:36px;color:var(--el-text-color-primary);background-color:#fff;margin:0;padding:0 10px;font-size:14px;font-weight:400;line-height:36px;position:absolute;bottom:0;left:0;overflow:hidden}.el-upload-cover+.el-upload__inner{opacity:0;z-index:1;position:relative}
5548
5548
  [data-v-fef25575] .el-upload-dragger {
@@ -5676,27 +5676,27 @@ body,
5676
5676
  width: 80px;
5677
5677
  font-size: var(--el-font-size-extra-small);
5678
5678
  }
5679
- .fec-form[data-v-18adf51b] {
5679
+ .fec-form[data-v-8baf793f] {
5680
5680
  height: 100%;
5681
5681
  }
5682
- [data-v-18adf51b] .vgl-item {
5682
+ [data-v-8baf793f] .vgl-item {
5683
5683
  transition: none;
5684
5684
  }
5685
- [data-v-18adf51b] .vgl-item > .el-form-item {
5685
+ [data-v-8baf793f] .vgl-item > .el-form-item {
5686
5686
  width: 100%;
5687
5687
  padding: 12px 8px 0 8px;
5688
5688
  height: calc(100% - 15px);
5689
5689
  display: flex;
5690
5690
  }
5691
- [data-v-18adf51b] .vgl-item > .el-form-item.el-form-item--label-top {
5691
+ [data-v-8baf793f] .vgl-item > .el-form-item.el-form-item--label-top {
5692
5692
  flex-direction: column;
5693
5693
  }
5694
- [data-v-18adf51b] .vgl-item > .el-form-item .el-form-item__label {
5694
+ [data-v-8baf793f] .vgl-item > .el-form-item .el-form-item__label {
5695
5695
  line-height: 20px;
5696
5696
  display: flex;
5697
5697
  align-items: center;
5698
5698
  }
5699
- [data-v-18adf51b] .vgl-item > .el-container {
5699
+ [data-v-8baf793f] .vgl-item > .el-container {
5700
5700
  height: auto !important;
5701
5701
  }.cell-content .cell-text[data-v-3e5372d4] {
5702
5702
  display: inline-block;
@@ -162,22 +162,26 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
162
162
  return item.component;
163
163
  });
164
164
  hiddenFields.value = option.hiddenFields || [];
165
- await loadFieldDataSources();
166
- await loadProductData();
167
- applyProductConfigToForm();
168
- mergeOptionsToFields();
169
165
  loadFormData();
170
166
  loadEventFlow();
171
- initGridLayoutDataConfig();
172
167
  if (pageEvents && localConfig.value.pageEventConfig) {
173
168
  const onCreatedEvent = localConfig.value.pageEventConfig.find(
174
169
  (e) => e.name === "onCreated"
175
170
  );
176
171
  if (onCreatedEvent) {
177
172
  console.log("🚀 页面 onCreated 事件触发");
178
- await pageEvents.executeEvent("onCreated");
173
+ try {
174
+ await pageEvents.executeEvent("onCreated");
175
+ } catch (error) {
176
+ }
179
177
  }
180
178
  }
179
+ await loadFieldDataSources();
180
+ await loadProductData();
181
+ applyProductConfigToForm();
182
+ mergeOptionsToFields();
183
+ initGridLayoutDataConfig();
184
+ initLinkage();
181
185
  emit("loaded", option);
182
186
  } catch (error) {
183
187
  console.error("加载配置失败:", error);
@@ -253,7 +257,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
253
257
  http: ctx.$http,
254
258
  dataSources: localConfig.value.dataSources,
255
259
  currentDataSourceId: dataSourceId,
256
- pagination: false
260
+ pagination: false,
261
+ data: formData.value,
262
+ fields: [...fieldsData.value, ...hiddenFields.value]
257
263
  });
258
264
  const data = await dsManager.fetch();
259
265
  let options = [];
@@ -903,9 +909,21 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
903
909
  gridLayoutFieldsData.value = updatedLayoutData.filter((item) => !item.hidden);
904
910
  (_a = gridLayout == null ? void 0 : gridLayout.value) == null ? void 0 : _a.resizeEvent();
905
911
  };
912
+ let linkaged = false;
913
+ function initLinkage() {
914
+ const changedFields = findChangedFields(formData.value, prevFormData.value);
915
+ if (changedFields.length > 0) {
916
+ applyLinkageEffectsForChangedFields(changedFields);
917
+ }
918
+ prevFormData.value = { ...formData.value };
919
+ linkaged = true;
920
+ }
906
921
  vue.watch(
907
922
  formData,
908
923
  (newVal, oldVal) => {
924
+ if (!linkaged) {
925
+ return;
926
+ }
909
927
  const changedFields = findChangedFields(newVal, prevFormData.value);
910
928
  if (changedFields.length > 0) {
911
929
  applyLinkageEffectsForChangedFields(changedFields);
@@ -1036,5 +1054,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
1036
1054
  };
1037
1055
  }
1038
1056
  });
1039
- const _Form = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-18adf51b"]]);
1057
+ const _Form = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-8baf793f"]]);
1040
1058
  exports.default = _Form;
@@ -78,7 +78,6 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
78
78
  "show-word-limit": __props.showWordCount,
79
79
  rows: __props.rows,
80
80
  autosize: __props.autosize,
81
- clearable: "",
82
81
  resize: "none",
83
82
  onChange: handleChange
84
83
  }), null, 16, ["modelValue", "placeholder", "disabled", "readonly", "maxlength", "show-word-limit", "rows", "autosize"])
@@ -86,5 +85,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
86
85
  };
87
86
  }
88
87
  });
89
- const _Textarea = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-29a082f2"]]);
88
+ const _Textarea = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-34bc3c06"]]);
90
89
  exports.default = _Textarea;
@@ -19,7 +19,9 @@ class DataSourceManager {
19
19
  this.currentDataSourceId = options.currentDataSourceId;
20
20
  this.pagination = options.pagination || false;
21
21
  this.sortRules = vue.reactive(options.sortRules || []);
22
- this.originalSortRules = JSON.parse(JSON.stringify(options.sortRules || []));
22
+ this.originalSortRules = JSON.parse(
23
+ JSON.stringify(options.sortRules || [])
24
+ );
23
25
  this.showSuccessMessage = options.showSuccessMessage || false;
24
26
  this.loading = false;
25
27
  this.error = null;
@@ -255,7 +257,9 @@ class DataSourceManager {
255
257
  * 更新排序
256
258
  */
257
259
  updateSort(field, order) {
258
- const existingIndex = this.sortRules.findIndex((rule) => rule.field === field);
260
+ const existingIndex = this.sortRules.findIndex(
261
+ (rule) => rule.field === field
262
+ );
259
263
  if (!order) {
260
264
  if (existingIndex > -1) {
261
265
  this.sortRules.splice(existingIndex, 1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fecp/designer",
3
- "version": "5.4.6",
3
+ "version": "5.4.8",
4
4
  "main": "lib/designer/index.js",
5
5
  "module": "es/designer/index.mjs",
6
6
  "files": [