cloud-web-corejs 1.0.54-dev.134 → 1.0.54-dev.136

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.
@@ -206,7 +206,7 @@
206
206
  <template #widget="obj">
207
207
  <component
208
208
  :is="getColumnWidgetName(obj.column.params.widget)"
209
- :field="obj.column.params.widget"
209
+ :field="getRowWidget(obj)"
210
210
  :form-model="globalModel.formModel"
211
211
  :designer="null"
212
212
  :key="obj.column.params.widget.id+'-'+obj.rowIndex"
@@ -105,6 +105,7 @@ modules = {
105
105
  showTreeMoveDialog: false,
106
106
  tableConfig: {},
107
107
  showTableFormDialogContent: true,
108
+ widgetMap: {},
108
109
  };
109
110
  },
110
111
  watch: {
@@ -167,6 +168,30 @@ modules = {
167
168
  this.unregisterFromRefList();
168
169
  },
169
170
  methods: {
171
+ getRowRefKey(row, name) {
172
+ let keyVal = row._X_ROW_KEY;
173
+ let key = name +"_"+ keyVal;
174
+ return key;
175
+ },
176
+ getTableRowWidgetRef(index, name) {
177
+ let row = this.getGridTable().getTableData().fullData[index]
178
+ let key = this.getRowRefKey(row, name);
179
+ return this.getWidgetRef(key);
180
+ },
181
+ getRowWidget(rowParam) {
182
+ let row = rowParam.row;
183
+ let params = rowParam.column.params;
184
+ let key = this.getRowRefKey(row, params.widget.options.name);
185
+ let widget = this.widgetMap[key];
186
+ if (!widget) {
187
+ this.$set(
188
+ this.widgetMap,
189
+ key,
190
+ this.$baseLodash.cloneDeep(params.widget)
191
+ );
192
+ }
193
+ return this.widgetMap[key];
194
+ },
170
195
  getGridTableName() {
171
196
  let formCode = this.getFormRef().reportTemplate.formCode;
172
197
  let tableName = formCode + "_" + this.widget.options.name;