cloud-web-corejs 1.0.54-dev.148 → 1.0.54-dev.149

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.
@@ -36,14 +36,15 @@ export default {
36
36
  }
37
37
  },
38
38
  methods: {
39
- openEditTab(row) {
39
+ openEditTab(row,param) {
40
40
  let paneKeyName = this.paneKeyName;
41
41
  let tab = this.tabs.find(tab => tab.data[paneKeyName] === row[paneKeyName])
42
42
  if (!tab) {
43
43
  tab = {
44
44
  data: row,
45
45
  showContent: false,
46
- dataId: row[paneKeyName]
46
+ dataId: row[paneKeyName],
47
+ param
47
48
  }
48
49
  if (this.tabs.length >= 30) {
49
50
  this.tabs.splice(0, 1, tab);
@@ -46,6 +46,7 @@ modules = {
46
46
  },
47
47
  inject: [
48
48
  "refList",
49
+ "widgetKeyNameMap",
49
50
  "getFormConfig",
50
51
  "globalOptionData",
51
52
  "globalModel",
@@ -64,12 +65,18 @@ modules = {
64
65
  requestAccess: null,
65
66
  extraAccessData: {},
66
67
  timerMap: {},
68
+
69
+ disabled: false,
70
+ hidden: false,
71
+ readonly: false
67
72
  };
68
73
  },
69
74
  beforeDestroy() {
70
75
  this.clearAllInterval();
71
76
  },
72
77
  created() {
78
+ // this.initFieldAttrs();
79
+ this.initValueWatchEvent();
73
80
  if (this.field.options.searchDialogConfig) {
74
81
  if (this.field.options.searchDialogConfig.multipleChoices === void 0) {
75
82
  if (this.field.type == "vabsearch") {
@@ -90,11 +97,11 @@ modules = {
90
97
  },
91
98
  mounted() {
92
99
  },
93
- watch: {
100
+ /*watch: {
94
101
  currentValue(val) {
95
102
  this.initFieldModel(true);
96
103
  },
97
- },
104
+ },*/
98
105
  computed: {
99
106
  currentValue() {
100
107
  let currentData =
@@ -147,6 +154,28 @@ modules = {
147
154
  },
148
155
  },
149
156
  methods: {
157
+ initValueWatchEvent() {
158
+ this.$watch(() => {
159
+ let currentData = this.tableParam && this.tableParam.row
160
+ ? this.tableParam.row
161
+ : this.formModel;
162
+ let currentValue = currentData[this.fieldKeyName];
163
+ return currentValue;
164
+ }, (newValue, oldValue) => {
165
+
166
+ if(oldValue!==undefined){
167
+ this.initFieldModel(true);
168
+ }
169
+
170
+ // console.log(newValue, oldValue)
171
+ })
172
+
173
+ },
174
+ initFieldAttrs() {
175
+ this.setDisabled(this.field.options.disabled)
176
+ this.setHidden(this.field.options.hidden)
177
+ this.setReadonly(this.field.options.readonly)
178
+ },
150
179
  initConfig() {
151
180
  let config = this.designer.getFieldWidgetByType(this.field.type);
152
181
  this.field.options = Object.assign(
@@ -404,11 +433,18 @@ modules = {
404
433
  if (this.tableParam && !this.designState) {
405
434
  let row = this.tableParam.row;
406
435
  let keyVal = row._X_ROW_KEY;
407
- e && delete this.refList[e + "_" + keyVal],
408
- (this.refList[this.field.options.name + "_" + keyVal] = this);
436
+ e && delete this.refList[e + "_" + keyVal];
437
+ this.refList[this.field.options.name + "_" + keyVal] = this;
409
438
  } else {
410
- e && delete this.refList[e],
411
- (this.refList[this.field.options.name] = this);
439
+ e && delete this.refList[e];
440
+ this.refList[this.field.options.name] = this;
441
+ if (this.widgetKeyNameMap) {
442
+ if (!this.widgetKeyNameMap[this.fieldKeyName]) {
443
+ this.widgetKeyNameMap[this.fieldKeyName] = [this.field.options.name]
444
+ } else {
445
+ this.widgetKeyNameMap[this.fieldKeyName].push(this.field.options.name);
446
+ }
447
+ }
412
448
  }
413
449
  }
414
450
  },
@@ -868,7 +904,8 @@ modules = {
868
904
  newData[vabSearchName] =
869
905
  item[searchDialogConfig.labelSourceField] ?? null;
870
906
  tableData.forEach((item1) => {
871
- newData[item1.targetField] = item[item1.sourceField];
907
+ let targetFormField = item1.targetFormField || item1.targetField
908
+ newData[targetFormField] = item[item1.sourceField];
872
909
  });
873
910
  return newData;
874
911
  });
@@ -882,10 +919,11 @@ modules = {
882
919
  ? row[searchDialogConfig.labelSourceField]
883
920
  : null;
884
921
  tableData.forEach((item) => {
922
+ let targetFormField = item.targetFormField || item.targetField;
885
923
  if (!isClear) {
886
- rowData[item.targetField] = row[item.sourceField];
924
+ rowData[targetFormField] = row[item.sourceField];
887
925
  } else {
888
- rowData[item.targetField] = null;
926
+ rowData[targetFormField] = null;
889
927
  }
890
928
  });
891
929
  }
@@ -901,7 +939,12 @@ modules = {
901
939
  tableData.forEach((item) => {
902
940
  // formModel[item.targetField] = row[item.sourceField]
903
941
  let value = !isClear ? row[item.sourceField] ?? null : null;
904
- this.getWidgetRef(item.targetField).setValue(value);
942
+ if(item.targetField){
943
+ this.getWidgetRef(item.targetField).setValue(value);
944
+ }else if(item.targetFormField){
945
+ formModel[item.targetFormField] = value;
946
+ }
947
+
905
948
  // formModel[item.targetField] = value;
906
949
  });
907
950
  // this.$forceUpdate();
@@ -912,7 +955,8 @@ modules = {
912
955
  let addRows = rows.map((rowData) => {
913
956
  let itemData = {};
914
957
  tableData.forEach((item) => {
915
- itemData[item.targetField] = rowData[item.sourceField];
958
+ let targetFormField = item.targetFormField || item.targetField;
959
+ itemData[targetFormField] = rowData[item.sourceField];
916
960
  });
917
961
  return itemData;
918
962
  });
@@ -924,7 +968,15 @@ modules = {
924
968
  tableData.forEach((item) => {
925
969
  let value = row[item.sourceField] ?? null;
926
970
  // formModel[item.targetField] = value
927
- this.getWidgetRef(item.targetField).setValue(value);
971
+ // this.getWidgetRef(item.targetField).setValue(value);
972
+
973
+ if(item.targetField){
974
+ this.getWidgetRef(item.targetField).setValue(value);
975
+ }else if(item.targetFormField){
976
+ formModel[item.targetFormField] = value;
977
+ }
978
+
979
+
928
980
  });
929
981
  // this.$forceUpdate();
930
982
  }
@@ -998,9 +1050,11 @@ modules = {
998
1050
  },
999
1051
  setReadonly: function (e) {
1000
1052
  this.field.options.readonly = e;
1053
+ this.readonly = e;
1001
1054
  },
1002
1055
  setDisabled: function (e) {
1003
1056
  this.field.options.disabled = e;
1057
+ this.disabled = e;
1004
1058
  },
1005
1059
  setAppendButtonVisible: function (e) {
1006
1060
  this.field.options.appendButton = e;
@@ -1009,8 +1063,9 @@ modules = {
1009
1063
  this.field.options.appendButtonDisabled = e;
1010
1064
  },
1011
1065
  setHidden: function (e) {
1012
- (this.field.options.hidden = e),
1013
- e ? this.clearFieldRules() : this.buildFieldRules();
1066
+ this.field.options.hidden = e;
1067
+ this.hidden = e;
1068
+ e ? this.clearFieldRules() : this.buildFieldRules();
1014
1069
  },
1015
1070
  setRequired: function (e) {
1016
1071
  (this.field.options.required = e), this.buildFieldRules();
@@ -140,7 +140,8 @@ modules = {
140
140
  getObjectName: () => "",
141
141
  getHasWf: () => false,
142
142
  readonly:this.readonly,
143
- columnFlag:this.columnFlag
143
+ columnFlag:this.columnFlag,
144
+ widgetKeyNameMap:{}
144
145
  };
145
146
  },
146
147
  created() {
@@ -101,6 +101,14 @@
101
101
  <el-form-item :label="i18nt('designer.setting.formRulesName')"><el-input type="text" v-model="formConfig.rulesName"></el-input></el-form-item>
102
102
  -->
103
103
  </el-collapse-item>
104
+ <el-collapse-item name="2" title="列表标签页信息">
105
+ <el-form-item :label="i18nt('列表启用多标签')">
106
+ <el-switch v-model="formConfig.multiTabEnabled"></el-switch>
107
+ </el-form-item>
108
+ <el-form-item :label="i18nt('标签名称字段')">
109
+ <el-input type="text" v-model="formConfig.multiTabLabelField"></el-input>
110
+ </el-form-item>
111
+ </el-collapse-item>
104
112
  <el-collapse-item name="3" title="详情表单信息">
105
113
  <el-form-item :label="i18nt('表单编码')">
106
114
  <el-input
@@ -58,7 +58,7 @@
58
58
  :close-on-press-escape="!1"
59
59
  :destroy-on-close="!0"
60
60
  top="5vh"
61
- width="500px"
61
+ width="600px"
62
62
  v-dialog-drag
63
63
  >
64
64
  <div class="cont">
@@ -76,6 +76,11 @@
76
76
  <el-input v-model="scope.row.targetField"></el-input>
77
77
  </template>
78
78
  </el-table-column>
79
+ <el-table-column label="目标数据属性名称" width="150" prop="targetField">
80
+ <template slot-scope="scope">
81
+ <el-input v-model="scope.row.targetFormField"></el-input>
82
+ </template>
83
+ </el-table-column>
79
84
  <el-table-column label="来源字段" width="150" prop="sourceField">
80
85
  <template slot-scope="scope">
81
86
  <el-input v-model="scope.row.sourceField"></el-input>
@@ -114,6 +119,7 @@
114
119
  </el-table>
115
120
  </div>
116
121
  <div class="dialog-footer" slot="footer">
122
+ <span class="fl tips">注:'目标字段'与'目标数据属性名称'只需要维护一个即可。</span>
117
123
  <el-button @click="showDialog=false" class="button-sty" icon="el-icon-close">
118
124
  {{ i18nt('designer.hint.cancel') }}
119
125
  </el-button>
@@ -24,7 +24,7 @@ modules = {
24
24
  },
25
25
  },
26
26
  mixins: [scriptHttpMixin, defaultHandleMixin],
27
- inject: ['doScriptAccess', 'getReportTemplate'],
27
+ inject: ['widgetKeyNameMap','doScriptAccess', 'getReportTemplate'],
28
28
  data() {
29
29
  return {
30
30
  extraAccessData: {},
@@ -149,22 +149,22 @@
149
149
  </vxe-button>
150
150
  </template>
151
151
 
152
- <template v-for="(subWidget, swIdx) in widget.widgetList" v-slot:[subWidget.options.name]>
153
- <component
154
- v-if="'container' !== subWidget.category"
155
- :key="swIdx"
156
- :is="subWidget.type + '-widget'"
157
- :field="subWidget"
158
- :designer="null"
159
- :parent-list="subWidget.widgetList"
160
- :parent-widget="widget"
161
- >
162
- <!-- 递归传递插槽!!! -->
163
- <template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
164
- <slot :name="slot" v-bind="scope"/>
165
- </template>
166
- </component>
167
- </template>
152
+ <template v-for="(subWidget, swIdx) in widget.widgetList" v-slot:[subWidget.options.name]>
153
+ <component
154
+ v-if="'container' !== subWidget.category"
155
+ :key="swIdx"
156
+ :is="subWidget.type + '-widget'"
157
+ :field="subWidget"
158
+ :designer="null"
159
+ :parent-list="subWidget.widgetList"
160
+ :parent-widget="widget"
161
+ >
162
+ <!-- 递归传递插槽!!! -->
163
+ <template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
164
+ <slot :name="slot" v-bind="scope"/>
165
+ </template>
166
+ </component>
167
+ </template>
168
168
 
169
169
  <template #searchWidget="{searchColumn}">
170
170
  <component
@@ -183,7 +183,8 @@
183
183
  </template>
184
184
 
185
185
  </tableForm>
186
- <treeMoveDialog v-if="showTreeMoveDialog" :visiable.sync="showTreeMoveDialog" :rows.sync="sortRows" :parent-target="_self" @confirm="confirmTreeMoveDialog"></treeMoveDialog>
186
+ <treeMoveDialog v-if="showTreeMoveDialog" :visiable.sync="showTreeMoveDialog" :rows.sync="sortRows"
187
+ :parent-target="_self" @confirm="confirmTreeMoveDialog"></treeMoveDialog>
187
188
  </template>
188
189
  <template v-for="fieldWidget in widgets" v-slot:[fieldWidget.id]="obj">
189
190
  <component
@@ -245,10 +246,10 @@
245
246
  <template #editWidget="obj">
246
247
  <component
247
248
  :is="getColumnWidgetName(obj.column.params.editWidget)"
248
- :field="obj.column.params.editWidget"
249
+ :field="getRowWidget(obj,obj.column.params.editWidget)"
249
250
  :form-model="globalModel.formModel"
250
251
  :designer="null"
251
- :key="obj.column.params.editWidget.id+'-'+obj.rowIndex"
252
+ :key="getRowWidgetKey(obj,obj.column.params.editWidget)"
252
253
  :parent-widget="widget"
253
254
  :columnConfig="obj.column.params.columnConfig"
254
255
  :subFormRowIndex="obj.rowIndex"
@@ -106,6 +106,7 @@ modules = {
106
106
  tableConfig: {},
107
107
  showTableFormDialogContent: true,
108
108
  widgetMap: {},
109
+ rowWidgetList:[]
109
110
  };
110
111
  },
111
112
  watch: {
@@ -232,6 +233,7 @@ modules = {
232
233
  },
233
234
  setValue(val) {
234
235
  // console.log("rows:",val);
236
+ this.clearRowWidgets()
235
237
  let rows = val || [];
236
238
  this.formModel[this.fieldKeyName] = rows;
237
239
  let $grid = this.getGridTable();
@@ -371,6 +373,7 @@ modules = {
371
373
  return conditions;
372
374
  },
373
375
  createColumns() {
376
+ let rowWidgetList = [];
374
377
  let tableColumns = this.widget.options.tableColumns;
375
378
  let newColumns = [];
376
379
  newColumns.push({
@@ -429,6 +432,19 @@ modules = {
429
432
  }
430
433
  }
431
434
  col = addColumProperty(col, t);
435
+
436
+ if(col.params.widget){
437
+ rowWidgetList.push(col.params.widget)
438
+ }
439
+ if(col.params.editWidget){
440
+ rowWidgetList.push(col.params.editWidget)
441
+ }
442
+ if(col.params.widgetList && col.params.widgetList.length){
443
+ col.params.widgetList.forEach((item) => {
444
+ rowWidgetList.push(item)
445
+ })
446
+
447
+ }
432
448
  return col;
433
449
  };
434
450
 
@@ -509,6 +525,7 @@ modules = {
509
525
  }
510
526
  }
511
527
  }
528
+ this.rowWidgetList = rowWidgetList;
512
529
  return this.$baseLodash.cloneDeep(newColumns);
513
530
  },
514
531
  initTableList() {
@@ -526,6 +543,7 @@ modules = {
526
543
  let dataId = this.formDataId;
527
544
  let accessScript = this.widget.options.accessScript;
528
545
  let searchColumns = null;
546
+
529
547
  if (isQueryTable) {
530
548
  path = "#";
531
549
  paramFun = () => {
@@ -836,151 +854,6 @@ modules = {
836
854
  let accessReturnType = this.widget.options.accessReturnType || 2;
837
855
  let scriptCode = this.getScriptCode();
838
856
  return new Promise((resolve, reject) => {
839
- /*let items = [
840
- {
841
- "create_by": "admin",
842
- "object_foreign_id": 224,
843
- "f_code": "202501068569",
844
- "f_grade": "1",
845
- "f_name": "呃呃呃呃呃呃俄文",
846
- "company_code": "mk1",
847
- "id": 95,
848
- "modify_by": "admin",
849
- "create_date": "2025-01-06 17:53:34",
850
- "f_flag": "A",
851
- "modify_date": "2025-01-16 21:11:44"
852
- },
853
- {
854
- "create_by": "admin",
855
- "object_foreign_id": 224,
856
- "f_code": "202501068569",
857
- "f_grade": "1",
858
- "f_name": "呃呃呃呃呃呃俄文",
859
- "company_code": "mk1",
860
- "id": 10095,
861
- "modify_by": "admin",
862
- "create_date": "2025-01-06 17:53:34",
863
- "f_flag": "A",
864
- "modify_date": "2025-01-16 21:11:44"
865
- },
866
- {
867
- "create_by": "admin",
868
- "object_foreign_id": 221,
869
- "f_code": "202501037347",
870
- "f_grade": "1",
871
- "f_name": "张三",
872
- "company_code": "mk1",
873
- "id": 92,
874
- "modify_by": "admin",
875
- "create_date": "2025-01-03 17:49:55",
876
- "f_flag": "A",
877
- "modify_date": "2025-01-05 17:21:46"
878
- },
879
- {
880
- "create_by": "admin",
881
- "object_foreign_id": 222,
882
- "f_code": "202501037348",
883
- "f_grade": "2",
884
- "f_name": "李四",
885
- "company_code": "mk1",
886
- "id": 93,
887
- "modify_by": "admin",
888
- "create_date": "2025-01-03 17:49:55",
889
- "f_flag": "A",
890
- "modify_date": "2025-01-03 17:49:55"
891
- },
892
- {
893
- "create_by": "admin",
894
- "object_foreign_id": 222,
895
- "f_code": "202501037348",
896
- "f_grade": "2",
897
- "f_name": "李四",
898
- "company_code": "mk1",
899
- "id": 10093,
900
- "modify_by": "admin",
901
- "create_date": "2025-01-03 17:49:55",
902
- "f_flag": "A",
903
- "modify_date": "2025-01-03 17:49:55"
904
- },
905
- {
906
- "create_by": "admin",
907
- "object_foreign_id": 223,
908
- "f_code": "202501037349",
909
- "f_grade": "3",
910
- "f_name": "王五",
911
- "company_code": "mk1",
912
- "id": 94,
913
- "modify_by": "admin",
914
- "create_date": "2025-01-03 17:49:55",
915
- "f_flag": "A",
916
- "modify_date": "2025-01-03 17:49:55"
917
- },
918
- {
919
- "create_by": "admin",
920
- "object_foreign_id": 218,
921
- "f_code": "202501037340",
922
- "f_grade": "4",
923
- "f_name": "林一",
924
- "company_code": "mk1",
925
- "id": 89,
926
- "modify_by": "admin",
927
- "create_date": "2025-01-03 15:02:31",
928
- "f_flag": "A",
929
- "modify_date": "2025-01-03 15:02:31"
930
- },
931
- {
932
- "create_by": "admin",
933
- "object_foreign_id": 219,
934
- "f_code": "202501037341",
935
- "f_grade": "3",
936
- "f_name": "林二",
937
- "company_code": "mk1",
938
- "id": 90,
939
- "modify_by": "admin",
940
- "create_date": "2025-01-03 15:02:31",
941
- "f_flag": "A",
942
- "modify_date": "2025-01-03 15:02:31"
943
- }
944
- ];
945
- let currentId = 0;
946
- let records = [];
947
- for(let i=0;i<50;i++){
948
- let newItems = items.map((item,index)=>{
949
- let flag = (index+1)%2!=0;
950
- let line = flag ? index : (index-1)
951
- let f_code = '10000'+i+''+line;
952
- currentId++
953
- return {
954
- ...item,
955
- id:currentId,
956
- f_code
957
- };
958
- })
959
- records.push(...newItems)
960
- }
961
-
962
- let res = {
963
- "time": "2025-03-21 11:24:55",
964
- "type": "success",
965
- "content": "success",
966
- "objx": {
967
- "records": [],
968
- "total": 77,
969
- "size": 100,
970
- "current": 1,
971
- "orders": [],
972
- "optimizeCountSql": true,
973
- "hitCount": false,
974
- "countId": null,
975
- "maxLimit": null,
976
- "searchCount": true,
977
- "pages": 1
978
- },
979
- "rmid": null
980
- };
981
- res.objx.records = records
982
- resolve(res);
983
- return*/
984
857
  let reqData = {
985
858
  ...queryParams,
986
859
  };
@@ -989,6 +862,7 @@ modules = {
989
862
  let toDo = () => {
990
863
  // let f = new Function("dataId", "formCode", "param", "done", accessScript);
991
864
  let done = (res) => {
865
+ this.clearRowWidgets();
992
866
  resolve(res);
993
867
  if (res.type == "success") {
994
868
  let rows = res.objx
@@ -1398,6 +1272,7 @@ modules = {
1398
1272
  this.$nextTick(() => {
1399
1273
  this.handleWbs();
1400
1274
  });
1275
+ this.deleteRowWidgets(row)
1401
1276
  },
1402
1277
  createNewTableData(isEdit) {
1403
1278
  let vailColumns = this.widget.options.tableColumns.filter(
@@ -1878,7 +1753,10 @@ modules = {
1878
1753
  }
1879
1754
  delIds.forEach((id) => {
1880
1755
  let index = tableRows.findIndex((item) => item.id === id);
1756
+ let delRow = tableRows[index];
1881
1757
  tableRows.splice(index, 1);
1758
+ this.deleteRowWidgets(delRow)
1759
+
1882
1760
  });
1883
1761
  this.$nextTick(() => {
1884
1762
  this.handleWbs();
@@ -2191,6 +2069,58 @@ modules = {
2191
2069
  }
2192
2070
  }
2193
2071
  },
2072
+
2073
+ /**begin*/
2074
+ /*initFieldSchemaData() { //初始化fieldSchemaData!!!
2075
+
2076
+ let rowWidgetList = this.rowWidgetList
2077
+ let rows = this.getValue();
2078
+ let rowLength = rows.length
2079
+ this.widgetMap = {} //清除数组必须用splice,length=0不会响应式更新!!
2080
+ if (rowLength > 0) {
2081
+ for (let i = 0; i < rowLength; i++) {
2082
+ let row = rows[i];
2083
+ let fieldSchemas = []
2084
+ rowWidgetList.forEach(swItem => {
2085
+ fieldSchemas.push( this.cloneFieldSchema(swItem) )
2086
+ })
2087
+ let keyVal = row._X_ROW_KEY;
2088
+ this.widgetMap[keyVal] = fieldSchemas;
2089
+ }
2090
+ }
2091
+ },
2092
+
2093
+ addToFieldSchemaData(row) {
2094
+ let fieldSchemas = []
2095
+ this.rowWidgetList.forEach(swItem => {
2096
+ fieldSchemas.push( this.cloneFieldSchema(swItem) )
2097
+ })
2098
+
2099
+ let keyVal = row._X_ROW_KEY;
2100
+ this.widgetMap[keyVal] = fieldSchemas;
2101
+ },
2102
+
2103
+ deleteFromFieldSchemaData(row) {
2104
+ let keyVal = row._X_ROW_KEY;
2105
+ delete this.widgetMap[keyVal] ;
2106
+ },
2107
+
2108
+ cloneFieldSchema(fieldWidget) {
2109
+ let newFieldSchema = this.$baseLodash.cloneDeep(fieldWidget)
2110
+ newFieldSchema.id = fieldWidget.type + generateId()
2111
+ return newFieldSchema
2112
+ },*/
2113
+ clearRowWidgets(){
2114
+ this.widgetMap = {};
2115
+ },
2116
+ deleteRowWidgets(row) {
2117
+ this.rowWidgetList.forEach(widget=>{
2118
+ let key = this.getRowRefKey(row, widget.options.name);
2119
+ delete this.widgetMap[key];
2120
+ })
2121
+ }
2122
+ /**end*/
2123
+
2194
2124
  },
2195
2125
  };
2196
2126
 
@@ -57,7 +57,11 @@
57
57
  tableParam: {
58
58
  type: Object,
59
59
  default: null,
60
- }
60
+ },
61
+ formItemProp: {
62
+ type: String,
63
+ default: null,
64
+ },
61
65
  },
62
66
  inject: ['refList', 'globalModel', 'previewState'],
63
67
  data() {
@@ -46,7 +46,11 @@ export default {
46
46
  tableParam: {
47
47
  type: Object,
48
48
  default: null,
49
- }
49
+ },
50
+ formItemProp: {
51
+ type: String,
52
+ default: null,
53
+ },
50
54
  },
51
55
  inject: ['refList', 'globalModel'],
52
56
  computed: {