centaline-data-driven 1.3.18 → 1.3.21

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.
Files changed (31) hide show
  1. package/package.json +1 -1
  2. package/src/Detail.vue +1 -1
  3. package/src/Form.vue +2 -2
  4. package/src/SearchList.vue +4 -2
  5. package/src/centaline/common/index.js +123 -92
  6. package/src/centaline/css/common.css +15 -2
  7. package/src/centaline/dynamicBtn/src/dynamicBtn.vue +8 -0
  8. package/src/centaline/dynamicDetail/src/dynamicContactList.vue +4 -0
  9. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailOFI.vue +17 -4
  10. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +83 -149
  11. package/src/centaline/dynamicDetail/src/dynamicPropertySimpleDetailRET.vue +13 -8
  12. package/src/centaline/dynamicForm/src/dynamicForm.vue +19 -14
  13. package/src/centaline/dynamicLayout/src/dynamicLayout.vue +5 -2
  14. package/src/centaline/dynamicLayout/src/dynamicLayoutChildren.vue +9 -3
  15. package/src/centaline/dynamicLayout/src/dynamicLayoutChildrenFor.vue +7 -2
  16. package/src/centaline/dynamicLayout/src/dynamicLayoutImage.vue +13 -2
  17. package/src/centaline/dynamicLayout/src/dynamicLayoutLabel.vue +7 -2
  18. package/src/centaline/dynamicLayout/src/dynamicLayoutLine.vue +4 -1
  19. package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +6 -2
  20. package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +1340 -1153
  21. package/src/centaline/loader/src/ctl/CellLayout.js +13 -1
  22. package/src/centaline/loader/src/ctl/Contact.js +1 -1
  23. package/src/centaline/loader/src/ctl/ContactList.js +1 -1
  24. package/src/centaline/loader/src/ctl/Detail.js +22 -0
  25. package/src/centaline/loader/src/ctl/Router.js +35 -31
  26. package/src/centaline/loader/src/ctl/SearchTable.js +1 -1
  27. package/src/centaline/loader/src/ctl/lib/Enum.js +124 -133
  28. package/src/centaline/quickInputSos/src/quickInput.vue +19 -30
  29. package/src/main.js +6 -4
  30. package/wwwroot/static/centaline/centaline-data-driven.js +3 -3
  31. package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
@@ -10,30 +10,13 @@
10
10
  <span>{{ model.fields1Dic.EstateName.value }}</span>
11
11
  <span> {{ model.fields1Dic.BuildingName.value }}</span>
12
12
  <span>{{ model.fields1Dic.RoomNo.value }}</span>
13
- <img
14
- :src="model.fields1Dic.FavoriteUrl.value"
15
- alt=""
16
- class="collection"
17
- />
13
+ <img :src="model.fields1Dic.FavoriteUrl.value" alt="" class="collection"/>
18
14
  </div>
19
15
  <div class="title-other">
20
- <span
21
- >{{ model.fields1Dic.PropertyNo.label
22
- }}{{ model.fields1Dic.PropertyNo.value }}</span
23
- >
24
- <span
25
- >{{ model.fields1Dic.GovNo.label
26
- }}{{ model.fields1Dic.GovNo.value }}</span
27
- >
28
- <span class="mr10">{{
29
- model.fields1Dic["DistrictName"].value +
30
- model.fields1Dic.AreaName.value
31
- }}</span>
32
- <img
33
- :src="model.fields1Dic.LocationUrl.value"
34
- alt=""
35
- class="location"
36
- />
16
+ <span>{{ model.fields1Dic.PropertyNo.label }}{{ model.fields1Dic.PropertyNo.value }}</span>
17
+ <span>{{ model.fields1Dic.GovNo.label}}{{ model.fields1Dic.GovNo.value }}</span>
18
+ <span class="mr10">{{model.fields1Dic["DistrictName"].value +model.fields1Dic.AreaName.value}}</span>
19
+ <img :src="model.fields1Dic.LocationUrl.value" alt="" class="location"/>
37
20
  </div>
38
21
  <div class="title-tags">
39
22
  <div
@@ -49,20 +32,9 @@
49
32
  {{ tag.label }}
50
33
  </div>
51
34
  </div>
52
- <div
53
- v-if="model.fields1Dic.PropertyDepict"
54
- v-html="model.fields1Dic.PropertyDepict.value"
55
- style="
56
- font-weight: bold;
57
- font-size: 13px;
58
- margin-top: 10px;
59
- background: rgb(236, 249, 255);
60
- flex: 1;
61
- align-items: center;
62
- padding: 5px;
63
- border-radius: 5px;
64
- "
65
- ></div>
35
+ <div v-if="model.fields1Dic.PropertyDepict" v-html="model.fields1Dic.PropertyDepict.value"
36
+ style="font-weight: bold;font-size: 13px; margin-top: 10px;background: rgb(236, 249, 255); flex: 1;align-items: center;padding: 5px;border-radius: 5px;">
37
+ </div>
66
38
  </div>
67
39
  <div class="head-but">
68
40
  <div>
@@ -170,100 +142,54 @@
170
142
  </div>
171
143
  </div>
172
144
  </div>
173
- <div
174
- ref="detail"
175
- class="details-mid y-auto"
176
- @scroll="scrollHandle($event)"
177
- :style="{
178
- height: model.detailHeight ? model.detailHeight + 'px' : '780px',
179
- }"
180
- >
181
- <div
182
- ref="midl"
183
- class="mid-l"
184
- :style="{
185
- width: model.midlWidth ? model.midlWidth + 'px' : '1200px',
186
- }"
187
- >
145
+ <div ref="detail" class="details-mid y-auto" @scroll="scrollHandle($event)" :style="{height: model.detailHeight ? model.detailHeight + 'px' : '780px',}">
146
+ <div ref="midl" class="mid-l" :style="{ width: model.midlWidth ? model.midlWidth + 'px' : '1200px',}">
188
147
  <!-- 图片内容部分 -->
189
148
  <div class="hous-info base-box">
190
149
  <div class="info-conten">
191
150
  <div class="hous-t">
192
- <ct-albums
193
- :mediaAlbums="model.mediaAlbums"
194
- :noMediaUrl="model.noMediaUrl"
195
- @addMedia="addMedia"
196
- :title="model.title"
197
- >
151
+ <ct-albums :mediaAlbums="model.mediaAlbums" :noMediaUrl="model.noMediaUrl" @addMedia="addMedia" :title="model.title">
198
152
  </ct-albums>
199
153
  </div>
200
154
  <div class="hous-b">
201
- <img
202
- :src="model.fields1Dic.ewmUrl.value"
203
- alt=""
204
- class="code-ewm"
205
- />
155
+ <img :src="model.fields1Dic.ewmUrl.value" alt="" class="code-ewm"/>
206
156
  <div class="info-row mb20 mt5">
207
157
  <div class="row-i">
208
- <span>{{ model.fields1Dic.Price.label }}</span
209
- ><span
210
- class="base-clolr expand-f"
211
- v-html="model.fields1Dic.Price.value"
212
- ></span
213
- ><span class="base-clolr">{{
214
- model.fields1Dic.Price.unitName
215
- }}</span>
158
+ <span>{{ model.fields1Dic.Price.label }}</span>
159
+ <span class="base-clolr expand-f" v-html="model.fields1Dic.Price.value"></span>
160
+ <span class="base-clolr">{{ model.fields1Dic.Price.unitName}}</span>
216
161
  <img src="../../../assets/jsq.png" class="img-jsq" alt="" />
217
162
  </div>
218
163
  <div class="row-i">
219
- <span>{{ model.fields1Dic.PriceUnit.label }}</span
220
- ><span
221
- class="base-clolr expand-f"
222
- v-html="model.fields1Dic.PriceUnit.value"
223
- ></span
224
- ><span class="base-clolr">{{
225
- model.fields1Dic.PriceUnit.unitName
226
- }}</span>
164
+ <span>{{ model.fields1Dic.PriceUnit.label }}</span>
165
+ <span class="base-clolr expand-f" v-html="model.fields1Dic.PriceUnit.value">
166
+ </span>
167
+ <span class="base-clolr">{{ model.fields1Dic.PriceUnit.unitName}}</span>
227
168
  </div>
228
169
  <div v-if="model.fields1Dic.PriceLine" class="row-i">
229
170
  <span>{{ model.fields1Dic.PriceLine.label }}</span>
230
171
  <div>
231
- {{ model.fields1Dic.PriceLine.value
232
- }}{{ model.fields1Dic.PriceLine.unitName }}
172
+ {{ model.fields1Dic.PriceLine.value}}{{ model.fields1Dic.PriceLine.unitName }}
233
173
  </div>
234
174
  </div>
235
175
  </div>
236
176
  <div class="info-row">
237
177
  <div v-if="model.fields1Dic.PriceLine" class="row-i">
238
- <span>{{ model.fields1Dic.MarketRateOfReturn.label }}</span
239
- ><span
240
- >{{ model.fields1Dic.MarketRateOfReturn.value }} </span
241
- ><span>{{
242
- model.fields1Dic.MarketRateOfReturn.unitName
243
- }}</span>
178
+ <span>{{ model.fields1Dic.MarketRateOfReturn.label }}</span>
179
+ <span>{{ model.fields1Dic.MarketRateOfReturn.value }}</span>
180
+ <span>{{model.fields1Dic.MarketRateOfReturn.unitName}}</span>
244
181
  </div>
245
182
  <div v-if="model.fields1Dic.EstimatePriceRent" class="row-i">
246
183
  <span>{{ model.fields1Dic.EstimatePriceRent.label }}</span>
247
184
  <div>
248
- {{ model.fields1Dic.EstimatePriceRent.value
249
- }}<span>{{
250
- model.fields1Dic.EstimatePriceRent.unitName
251
- }}</span>
185
+ {{ model.fields1Dic.EstimatePriceRent.value}}
186
+ <span>{{model.fields1Dic.EstimatePriceRent.unitName}}</span>
252
187
  </div>
253
188
  </div>
254
- <div
255
- v-if="model.fields1Dic.EstimatePriceRentUnit"
256
- class="row-i"
257
- >
258
- <span>{{
259
- model.fields1Dic.EstimatePriceRentUnit.label
260
- }}</span
261
- ><span>{{
262
- model.fields1Dic.EstimatePriceRentUnit.value
263
- }}</span
264
- ><span>{{
265
- model.fields1Dic.EstimatePriceRentUnit.unitName
266
- }}</span>
189
+ <div v-if="model.fields1Dic.EstimatePriceRentUnit" class="row-i">
190
+ <span>{{model.fields1Dic.EstimatePriceRentUnit.label}}</span>
191
+ <span>{{model.fields1Dic.EstimatePriceRentUnit.value}}</span>
192
+ <span>{{ model.fields1Dic.EstimatePriceRentUnit.unitName}}</span>
267
193
  </div>
268
194
  </div>
269
195
 
@@ -271,15 +197,13 @@
271
197
  <div class="mid-i">
272
198
  <div>{{ model.fields1Dic.Area.label }}</div>
273
199
  <div>
274
- {{ model.fields1Dic.Area.value
275
- }}{{ model.fields1Dic.Area.unitName }}
200
+ {{ model.fields1Dic.Area.value}}{{ model.fields1Dic.Area.unitName }}
276
201
  </div>
277
202
  </div>
278
203
  <div class="mid-i">
279
204
  <div>{{ model.fields1Dic.AreaNet.label }}</div>
280
205
  <div>
281
- {{ model.fields1Dic.AreaNet.value
282
- }}{{ model.fields1Dic.AreaNet.unitName }}
206
+ {{ model.fields1Dic.AreaNet.value}}{{ model.fields1Dic.AreaNet.unitName }}
283
207
  </div>
284
208
  </div>
285
209
  <div class="mid-i">
@@ -293,20 +217,10 @@
293
217
  </div>
294
218
  </div>
295
219
  </div>
296
- <div
297
- v-for="(col, index) in collapse"
298
- :key="index"
299
- class="info-conten-b"
300
- v-show="allInfo"
301
- >
220
+ <div v-for="(col, index) in collapse" :key="index" class="info-conten-b" v-show="allInfo">
302
221
  <div class="info-row mb20">
303
- <div
304
- v-for="(c, i) in col"
305
- :key="i"
306
- :class="c.singleLine === true ? 'row-i100' : 'row-i'"
307
- >
308
- <span>{{ c.label }}</span
309
- ><span>{{ c.value }}</span>
222
+ <div v-for="(c, i) in col" :key="i" :class="c.singleLine === true ? 'row-i100' : 'row-i'">
223
+ <span>{{ c.label }}</span><span>{{ c.value }}</span>
310
224
  </div>
311
225
  </div>
312
226
  </div>
@@ -737,31 +651,28 @@ export default {
737
651
  }
738
652
  );
739
653
  this.$nextTick(function () {
740
- if (
741
- self.parentModel &&
742
- self.parentModel.$refs &&
743
- self.parentModel.$refs.table
744
- ) {
654
+ if ( self.parentModel && self.parentModel.$refs && self.parentModel.$refs.table ) {
745
655
  if (self.parentModel.$refs.table.model.selectIndex <= 0) {
746
656
  self.flagDisabledPrev = true;
747
657
  }
748
- if (
749
- self.parentModel.$refs.table.model.listData &&
750
- self.parentModel.$refs.table.model.selectIndex ===
751
- self.parentModel.$refs.table.model.listData.length - 1
658
+ if ( self.parentModel.$refs.table.model.listData
659
+ && self.parentModel.$refs.table.model.selectIndex === self.parentModel.$refs.table.model.listData.length - 1
752
660
  ) {
753
661
  self.flagDisabledNext = true;
754
662
  }
755
- } else {
663
+ }
664
+ else {
756
665
  self.flagDisabledPrev = true;
757
666
  self.flagDisabledNext = true;
758
667
  }
759
668
 
760
669
  if (self.vmodel) {
761
670
  self.load(self.vmodel);
762
- } else if (typeof self.source !== "undefined") {
671
+ }
672
+ else if (typeof self.source !== "undefined") {
763
673
  self.loaderObj.Detail(self.source, null, self.load);
764
- } else if (typeof self.api !== "undefined") {
674
+ }
675
+ else if (typeof self.api !== "undefined") {
765
676
  self.loaderObj.Detail(self.api, self.apiParam, self.load);
766
677
  }
767
678
  });
@@ -860,7 +771,8 @@ export default {
860
771
  if (v.type === 13) {
861
772
  collapseItemArr = [];
862
773
  col = 0;
863
- } else if (v.singleLine) {
774
+ }
775
+ else if (v.singleLine) {
864
776
  if (collapseItemArr.length > 0) {
865
777
  self.collapse.push(collapseItemArr);
866
778
  collapseItemArr = [];
@@ -869,7 +781,8 @@ export default {
869
781
  self.collapse.push(collapseItemArr);
870
782
  collapseItemArr = [];
871
783
  col = 0;
872
- } else if (v.spanCols) {
784
+ }
785
+ else if (v.spanCols) {
873
786
  collapseItemArr.push(v);
874
787
  col = col + v.spanCols;
875
788
  if (col === colCount || index === self.model.fields2Dic.length - 1) {
@@ -877,7 +790,8 @@ export default {
877
790
  collapseItemArr = [];
878
791
  col = 0;
879
792
  }
880
- } else {
793
+ }
794
+ else {
881
795
  collapseItemArr.push(v);
882
796
  col = col + 1;
883
797
  if (col === colCount || index === self.model.fields2Dic.length - 1) {
@@ -899,6 +813,9 @@ export default {
899
813
  lookOwner() {
900
814
  this.codeOwner = true;
901
815
  },
816
+ loadBaseInfo() {
817
+ this.model.loadBaseInfo();
818
+ },
902
819
  handleClick(tab, event) {
903
820
  let i = tab.index;
904
821
  if (this.model.tags2 && this.model.tags2[i]) {
@@ -977,16 +894,26 @@ export default {
977
894
  router.submitFormField.forEach((v) => {
978
895
  submitData[v] = field.list[field.listIndex].code;
979
896
  });
980
- } else {
897
+ }
898
+ else {
981
899
  router.submitFormField.forEach((v) => {
982
900
  submitData[v] = self.model.fields1Dic[v].value;
983
901
  });
984
902
  }
903
+ if(router.id=="PropertyEdit"){
904
+ callBack="loadBaseInfo"
905
+ }
985
906
  }
986
907
 
987
- if (callBack && callBack == "loadOperation") {
988
- this.routerClickHandler(router, submitData, self.loadOperation);
989
- } else {
908
+ if (callBack) {
909
+ if(callBack=='loadOperation'){
910
+ this.routerClickHandler(router, submitData, self.loadOperation);
911
+ }
912
+ else if(callBack=='loadBaseInfo'){
913
+ this.routerClickHandler(router, submitData, self.loadBaseInfo);
914
+ }
915
+ }
916
+ else {
990
917
  this.routerClickHandler(router, submitData);
991
918
  }
992
919
  },
@@ -1034,7 +961,8 @@ export default {
1034
961
  ],
1035
962
  };
1036
963
  self.$common.openDialog(dialogOption);
1037
- } else if (field.isOpenList) {
964
+ }
965
+ else if (field.isOpenList) {
1038
966
  var dialogOption = {
1039
967
  title: field.pageTitle,
1040
968
  pane: self.$common.getParentPane(self),
@@ -1062,7 +990,8 @@ export default {
1062
990
  ],
1063
991
  };
1064
992
  self.$common.openDialog(dialogOption);
1065
- } else if (field.isFormPageInTab) {
993
+ }
994
+ else if (field.isFormPageInTab) {
1066
995
  // 外部框架tab页打开
1067
996
  submitData = field.getActionPara(submitData).para;
1068
997
  self.$common
@@ -1074,24 +1003,29 @@ export default {
1074
1003
  self.model,
1075
1004
  field.dialogWidth
1076
1005
  );
1077
- } else if (field.isSearchPageInTab) {
1006
+ }
1007
+ else if (field.isSearchPageInTab) {
1078
1008
  // 外部框架tab页打开
1079
1009
  submitData = field.getActionPara(submitData).para;
1080
1010
  self.$common
1081
1011
  .getDataDrivenOpts()
1082
1012
  .handler.openTabSearch(field, submitData);
1083
- } else if (field.isBrowserNewTab) {
1013
+ }
1014
+ else if (field.isBrowserNewTab) {
1084
1015
  // 浏览器打开
1085
1016
  submitData = field.getActionPara(submitData).para;
1086
1017
  let query = self.$common.objectToQueryStr(submitData);
1087
1018
  window.open(field.action + query, "_blank");
1088
- } else if (field.isOpenUrlInBrowse) {
1019
+ }
1020
+ else if (field.isOpenUrlInBrowse) {
1089
1021
  // 浏览器打开
1090
1022
  window.open(submitData[field.submitFormField], "_blank");
1091
- } else if (field.isSeeVoice) {
1023
+ }
1024
+ else if (field.isSeeVoice) {
1092
1025
  //看视频
1093
1026
  self.$common.browseVideo(field, submitData);
1094
- } else {
1027
+ }
1028
+ else {
1095
1029
  field.doAction(submitData, (data) => {
1096
1030
  self.model.doAction(data, field);
1097
1031
  if (callBack) {
@@ -1116,8 +1050,7 @@ export default {
1116
1050
  }
1117
1051
 
1118
1052
  if (field.alert) {
1119
- self.$common
1120
- .confirm(field.alertMsg, field.alertCaption, {
1053
+ self.$common.confirm(field.alertMsg, field.alertCaption, {
1121
1054
  confirmButtonText: field.alertOKButtonText,
1122
1055
  cancelButtonText: field.alertCancelButtonText,
1123
1056
  //type: 'warning'
@@ -1127,7 +1060,8 @@ export default {
1127
1060
  clickAcion(field, submitData);
1128
1061
  })
1129
1062
  .catch(() => {});
1130
- } else {
1063
+ }
1064
+ else {
1131
1065
  clickAcion(field, submitData);
1132
1066
  }
1133
1067
  },
@@ -52,7 +52,7 @@
52
52
  <ct-contact :key="refreshKey" :apiRouter="model.contactApiRouter" :api="model.contactApiRouter.action" :apiParam="model.contactApiRouter.getSearchPara()"></ct-contact>
53
53
  </div>
54
54
  <div ref="routers" style="margin-top: 16px;display: flex;">
55
- <component v-for="(router, index) in model.actionRoutersSimple.slice(0,showIndex>0?showIndex:model.actionRoutersSimple.length-1)" :key="index"
55
+ <component v-for="(router, index) in model.actionRoutersSimple.slice(0,showIndex>0?showIndex:model.actionRoutersSimple.length)" :key="index"
56
56
  :ref="'routers'+index"
57
57
  v-if="!router.rightField || (model.fields1Dic[router.rightField] && model.fields1Dic[router.rightField].value == 1)"
58
58
  :is="router.is" :vmodel="router" :api="model.optionApi" @click="fieldClickHandler(router)">
@@ -168,7 +168,6 @@
168
168
  }
169
169
  }
170
170
  }
171
- // this.loadOperation();
172
171
  this.setDetailStyle();
173
172
  this.$nextTick(() => {
174
173
  window.addEventListener("resize", (ev) => {
@@ -249,10 +248,8 @@
249
248
  }
250
249
  });
251
250
  },
252
- loadOperation() {
253
- this.model._operationList=null;
254
- this.model._operationRouters=[];
255
- this.model.getOperationList();
251
+ loadBaseInfo() {
252
+ this.model.loadBaseInfo();
256
253
  },
257
254
  handleClick(tab, event) {
258
255
  let i=tab.index;
@@ -310,10 +307,18 @@
310
307
  submitData[v] = self.model.fields1Dic[v].value;
311
308
  });
312
309
  }
310
+ if(router.id=="PropertyEdit"){
311
+ callBack="loadBaseInfo"
312
+ }
313
313
  }
314
314
 
315
- if(callBack && callBack=='loadOperation'){
316
- this.routerClickHandler(router,submitData,self.loadOperation);
315
+ if(callBack){
316
+ if(callBack=='loadOperation'){
317
+ this.routerClickHandler(router, submitData, self.loadOperation);
318
+ }
319
+ else if(callBack=='loadBaseInfo'){
320
+ this.routerClickHandler(router, submitData, self.loadBaseInfo);
321
+ }
317
322
  }
318
323
  else{
319
324
  this.routerClickHandler(router,submitData);
@@ -10,9 +10,9 @@
10
10
  <!--头部元素-->
11
11
  <el-row v-if="collapseFieldsRow.length > 0">
12
12
  <el-col v-for="(col, index) in collapseFieldsRow[0]" :key="index" v-if="col.show !== false" :span="col.colspan" style="padding:5px">
13
- <component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" v-bind="col.bindPara" :fileData="getFileData(col)" :from="'form'"
13
+ <component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" :parentModel="model" v-bind="col.bindPara" :fileData="getFileData(col)" :from="'form'"
14
14
  @click="fieldClickHandler(col,$event)" @change="changeHandler(col,$event)" @enter="enterHandler(col,$event)"
15
- @input="inputHandler(col,$event)"
15
+ @input="inputHandler(col,$event)" @importComplete="importComplete"
16
16
  @popupSearchList="popupSearchListHandler"
17
17
  @tableButtonClick="clickHandler"></component>
18
18
  </el-col>
@@ -24,7 +24,7 @@
24
24
  v-for="(item, index) in collapse" v-if="item.show !== false" :key="index">
25
25
  <el-row>
26
26
  <el-col v-for="(col, index) in collapseFieldsRow[index + 1]" :key="index" :span="col.colspan" v-if="col.show !== false" style="padding:5px">
27
- <component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" :parentModel="model" v-bind="col.bindPara" :fileData="getFileData(col)"
27
+ <component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" :parentModel="model" v-bind="col.bindPara" :fileData="getFileData(col)" :from="'form'"
28
28
  @click="fieldClickHandler(col,$event)" @change="changeHandler(col,$event)" @enter="enterHandler(col,$event)"
29
29
  @input="inputHandler(col,$event)" @importComplete="importComplete"
30
30
  @popupSearchList="popupSearchListHandler"
@@ -56,9 +56,9 @@
56
56
  <!--尾部元素-->
57
57
  <el-row v-if="independentItem.length > 0" style="margin-top: 20px;">
58
58
  <el-col v-for="(col, index) in independentItem" :key="index" v-if="col.show !== false" :span="col.colspan" style="padding:5px">
59
- <component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" v-bind="col.bindPara" :fileData="getFileData(col)"
59
+ <component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" :parentModel="model" v-bind="col.bindPara" :fileData="getFileData(col)" :from="'form'"
60
60
  @click="fieldClickHandler(col,$event)" @change="changeHandler(col,$event)"
61
- @input="inputHandler(col,$event)"
61
+ @input="inputHandler(col,$event)" @importComplete="importComplete"
62
62
  @popupSearchList="popupSearchListHandler"
63
63
  @tableButtonClick="clickHandler"></component>
64
64
  </el-col>
@@ -428,7 +428,7 @@
428
428
  submitData = {};
429
429
  var tempFormData = self.model.getFormObj();
430
430
  field.submitFormField.forEach((v) => {
431
- submitData[v] = tempFormData[v];
431
+ submitData[v] = self.$common.getDataOfUpperLower(tempFormData,v);
432
432
  });
433
433
  }
434
434
  submitData = field.getActionPara(submitData).para;
@@ -539,7 +539,7 @@
539
539
  var check = true;
540
540
  var checkMsg;
541
541
  router.submitFormField.forEach((v) => {
542
- submitData[v] = tempFormData[v];
542
+ submitData[v] = self.$common.getDataOfUpperLower(tempFormData,v);
543
543
  if (typeof tempFormData[v] === "undefined") {
544
544
  if (self.model.fieldsDic[v]) {
545
545
  checkMsg = "请先录入" + self.model.fieldsDic[v].label;
@@ -595,7 +595,17 @@
595
595
  self.$message.error(f.validMessage);
596
596
  }
597
597
  else{
598
- self.$message.error('【'+f.model.label+'】不能为空!');
598
+ if(f.validMessage){
599
+ if(f.validMessage=='必填'){
600
+ self.$message.error('【'+f.model.label+'】'+f.validMessage);
601
+ }
602
+ else{
603
+ self.$message.error(f.validMessage);
604
+ }
605
+ }
606
+ else{
607
+ self.$message.error('【'+f.model.label+'】不能为空!');
608
+ }
599
609
  }
600
610
  }
601
611
  i++;
@@ -671,12 +681,7 @@
671
681
  else{
672
682
  if(field.submitFormField){
673
683
  field.submitFormField.forEach((v) => {
674
- if(tempFormData[v]){
675
- submitData[v] = tempFormData[v];
676
- }
677
- else{
678
- submitData[v] = tempFormData[self.$common.initialsToUpperCase(v)];
679
- }
684
+ submitData[v] = self.$common.getDataOfUpperLower(tempFormData,v);
680
685
  });
681
686
  }
682
687
  }
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div v-loading="loading" class="ct-Layout" v-if="Layout !== null && !loading">
3
- <ct-layoutchildren :rowindex="rowindex" :vmodel="Layout" @click="clickHandler"></ct-layoutchildren>
3
+ <ct-layoutchildren :rowindex="rowindex" :actionRouter="actionRouter" :rowdata="vmodel" :vmodel="Layout" @click="clickHandler"></ct-layoutchildren>
4
4
  </div>
5
5
  </template>
6
6
  <script>
@@ -225,7 +225,10 @@
225
225
  },
226
226
  mounted() {
227
227
 
228
- }
228
+ },
229
+ beforeDestroy() {
230
+ this.Layout = [];
231
+ },
229
232
  }
230
233
  </script>
231
234
  <style>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <el-container v-if="model.visibility!='0'" :direction="model.orientation" :style="model.styleObject" ref="layoutchildren">
3
- <component v-for="(item, index) in model.fields" :key="index" :is="item.is" :vmodel="item" :rowindex="rowindex" :forname="forname" :forrowindex="forrowindex" @click="clickHandler"></component>
3
+ <component v-for="(item, index) in model.fields" :actionRouter="actionRouter" :rowdata="rowdata" :key="index" :is="item.is" :vmodel="item" :rowindex="rowindex" :forname="forname" :forrowindex="forrowindex" @click="clickHandler"></component>
4
4
  </el-container>
5
5
  </template>
6
6
  <script>
@@ -20,9 +20,12 @@
20
20
  },
21
21
  props: {
22
22
  vmodel: Object,
23
+ rowdata: Object,
24
+ actionRouter: Array,
23
25
  rowindex: Number,
24
26
  forname: String,
25
- forrowindex: String
27
+ forrowindex: String,
28
+
26
29
  },
27
30
  data() {
28
31
  return {
@@ -39,7 +42,10 @@
39
42
  },
40
43
  mounted() {
41
44
 
42
- }
45
+ },
46
+ beforeDestroy() {
47
+ this.model = {};
48
+ },
43
49
  }
44
50
  </script>
45
51
  <style>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <el-container v-if="model.visibility!='0'" :direction="model.orientation" :style="model.styleObject">
3
- <ct-layoutchildren v-for="(item, index) in model.fields" :key="index" :rowindex="rowindex" :forrowindex="model.forrowindex" :vmodel="item" :forname="model.forname" @click="clickHandler"></ct-layoutchildren>
3
+ <ct-layoutchildren v-for="(item, index) in model.fields" :rowdata="rowdata" :actionRouter="actionRouter" :key="index" :rowindex="rowindex" :forrowindex="model.forrowindex" :vmodel="item" :forname="model.forname" @click="clickHandler"></ct-layoutchildren>
4
4
  </el-container>
5
5
  </template>
6
6
  <script>
@@ -13,6 +13,8 @@
13
13
  },
14
14
  props: {
15
15
  vmodel: Object,
16
+ rowdata: Object,
17
+ actionRouter: Array,
16
18
  rowindex: Number
17
19
  },
18
20
  data() {
@@ -31,7 +33,10 @@
31
33
  },
32
34
  mounted() {
33
35
 
34
- }
36
+ },
37
+ beforeDestroy() {
38
+ this.model = {};
39
+ },
35
40
  }
36
41
  </script>
37
42
  <style>
@@ -24,6 +24,8 @@
24
24
  mixins: [dynamicElement],
25
25
  props: {
26
26
  vmodel: Object,
27
+ rowdata: Object,
28
+ actionRouter: Array,
27
29
  rowindex: Number,
28
30
  forname: String,
29
31
  forrowindex: String
@@ -47,7 +49,7 @@
47
49
  },
48
50
  created() {
49
51
  if (typeof this.vmodel !== 'undefined') {
50
- this.model = this.loaderObj.CellLayout(this.vmodel);
52
+ this.model = this.loaderObj.CellLayout(this.vmodel, this.actionRouter, this.rowdata, this.forname, this.forrowindex);
51
53
  }
52
54
  },
53
55
 
@@ -80,9 +82,18 @@
80
82
  if (data.content.imgUrl) this.tellImgUrl = data.content.imgUrl;
81
83
  }
82
84
  },
85
+ closeCallTel() {
86
+ if (this.visible) {
87
+ this.visible = false;
88
+ this.tellImgUrl = '';
89
+ }
90
+ },
83
91
  },
84
92
  computed: {
85
93
 
86
- }
94
+ },
95
+ beforeDestroy() {
96
+ this.model = {};
97
+ },
87
98
  }
88
99
  </script>