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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "centaline-data-driven",
3
- "version": "1.3.18",
3
+ "version": "1.3.21",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/src/Detail.vue CHANGED
@@ -10,7 +10,7 @@
10
10
  name: 'DataDrivendetail',
11
11
  data() {
12
12
  return {
13
- apiParam: {actionType: 1,chanceID: "1"} ,
13
+ apiParam: {actionType: 1,chanceID: "1524555083688316928"} ,
14
14
  }
15
15
  },
16
16
  mounted() {
package/src/Form.vue CHANGED
@@ -2,7 +2,7 @@
2
2
  <div id="app-form" class="data-driven" style="width:100%;height:100%;overflow:auto">
3
3
  <!-- <ct-form :api="'/PropertyRET/getLayoutOfNew'" :apiParam="apiParam"></ct-form> -->
4
4
  <!-- <ct-form :source="formdata.content" :apiParam="apiParam"></ct-form> -->
5
- <ct-form :api="'/api/finance/collection-money/detail'" :apiParam="apiParam"></ct-form>
5
+ <ct-form :api="'/api/third-dept-tran/transaction/detail'" :apiParam="apiParam"></ct-form>
6
6
  <!--<ct-form :api="'api/Form/formdata'"></ct-form>-->
7
7
  <ct-dialog-list></ct-dialog-list>
8
8
  </div>
@@ -14,7 +14,7 @@
14
14
  data() {
15
15
  return {
16
16
  apiParam:{
17
- actionType: 2, originalTraId: "1542328321501380609", pageStyle: 2, pageTitle: "新增代收款", pageOnly: true
17
+ originalTraId: "1542431606998347777", actionType: 3, pageStyle: 2, pageTitle: "成交报告", pageOnly: true
18
18
  }
19
19
  }
20
20
  },
@@ -8,11 +8,13 @@
8
8
  :searchCategoryApi="'/ProfileWorklistList/getLayoutOfSearchCategory'"
9
9
  :searchDataApi="'/ProfileWorklistList/getListOfSearchModel'" :apiParam="para"></ct-searchlist> -->
10
10
 
11
- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
11
+ <ct-searchlist :searchConditionApi="'/PropertyWashList/getLayoutOfSearch'" :searchDataApi="'/PropertyWashList/getListOfSearchModel'"></ct-searchlist>
12
+
13
+ <!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
12
14
  :searchDataApi="'/PropertyRETList/getListOfSearchModel'"
13
15
  :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"
14
16
  :searchStatsApi="'/exampleList/getListStats'"
15
- ></ct-searchlist>
17
+ ></ct-searchlist> -->
16
18
 
17
19
  <ct-dialog-list></ct-dialog-list>
18
20
  </div>
@@ -7,11 +7,11 @@ const common = {
7
7
  }
8
8
  },
9
9
  /**
10
- * @method
11
- * @param {String} flag 按钮类别标识
12
- * @returns {String} 对应Element按钮的Type
13
- * @desc 根据按钮标识获取按钮类别
14
- */
10
+ * @method
11
+ * @param {String} flag 按钮类别标识
12
+ * @returns {String} 对应Element按钮的Type
13
+ * @desc 根据按钮标识获取按钮类别
14
+ */
15
15
  getBtnType(flag) {
16
16
  switch (flag) {
17
17
  case 'e':
@@ -43,8 +43,7 @@ const common = {
43
43
  var elements = [];
44
44
  if (type) {
45
45
  elements = document.getElementsByTagName(type);
46
- }
47
- else {
46
+ } else {
48
47
  elements = document.getElementsByTagName('*');
49
48
  }
50
49
 
@@ -52,27 +51,26 @@ const common = {
52
51
  if (elements[i].className.indexOf(className) >= 0) {
53
52
  if (isFirst) {
54
53
  return elements[i];
55
- }
56
- else {
54
+ } else {
57
55
  rtn.push(elements[i]);
58
56
  }
59
57
  }
60
58
  }
61
59
  return rtn;
62
60
  },
63
- /**
64
- * @method
65
- * @param {Object}去重数组
66
- * @desc 将数组去重并合并
67
- * @returns {Object} 去重合并的对像
68
- */
61
+ /**
62
+ * @method
63
+ * @param {Object}去重数组
64
+ * @desc 将数组去重并合并
65
+ * @returns {Object} 去重合并的对像
66
+ */
69
67
  MergeArray() {
70
68
  var _arr = new Array();
71
69
  var _arr1 = new Array();
72
70
  for (x in arguments) {
73
71
  _arr1.concat(arguments[x]);
74
72
  }
75
- for (var i = 0; i < _arr1.length; i++) {
73
+ for (var i = 0; i < _arr1.length; i++) {
76
74
  if (_arr.indexOf(array[i]) == -1) _arr.push(array[i]);
77
75
  }
78
76
  return _arr;
@@ -111,15 +109,13 @@ const common = {
111
109
  var hisIndex = sourceHistory.indexOf(obj);
112
110
  if (hisIndex >= 0) {
113
111
  rtn = cloneHistory[hisIndex];
114
- }
115
- else {
112
+ } else {
116
113
  if (Object.prototype.toString.call(obj) === '[object Object]') {
117
114
  rtn = {};
118
115
  for (var keyObj in obj) {
119
116
  rtn[keyObj] = this.CloneCode(obj[keyObj], sourceHistory, cloneHistory);
120
117
  }
121
- }
122
- else if (Object.prototype.toString.call(obj) === '[object Array]') {
118
+ } else if (Object.prototype.toString.call(obj) === '[object Array]') {
123
119
  rtn = [];
124
120
  for (var keyArray in obj) {
125
121
  rtn.push(this.CloneCode(obj[keyArray], sourceHistory, cloneHistory));
@@ -171,17 +167,18 @@ const common = {
171
167
  * @returns {Number} 滚动条宽度
172
168
  */
173
169
  getScrollbarWidth() {
174
- var odiv = document.createElement('div'),//创建一个div
170
+ var odiv = document.createElement('div'), //创建一个div
175
171
  styles = {
176
172
  width: '100px',
177
173
  height: '100px',
178
- overflowY: 'scroll'//让他有滚动条
179
- }, i, scrollbarWidth;
174
+ overflowY: 'scroll' //让他有滚动条
175
+ },
176
+ i, scrollbarWidth;
180
177
  for (i in styles) odiv.style[i] = styles[i];
181
- document.body.appendChild(odiv);//把div添加到body中
182
- scrollbarWidth = odiv.offsetWidth - odiv.clientWidth;//相减
178
+ document.body.appendChild(odiv); //把div添加到body中
179
+ scrollbarWidth = odiv.offsetWidth - odiv.clientWidth; //相减
183
180
  document.body.removeChild(odiv);
184
- return scrollbarWidth;//返回滚动条宽度
181
+ return scrollbarWidth; //返回滚动条宽度
185
182
  },
186
183
 
187
184
  /**
@@ -215,29 +212,27 @@ const common = {
215
212
  */
216
213
  closeDialog(vmodel) {
217
214
  if (vmodel) {
218
- if (vmodel.name === 'ct-comfirm'
219
- || vmodel.$options.name === 'ctDialog'
220
- || vmodel.$options.name === 'ct-dialog'
221
- || vmodel.$options.name === 'ct-video') {
215
+ if (vmodel.name === 'ct-comfirm' ||
216
+ vmodel.$options.name === 'ctDialog' ||
217
+ vmodel.$options.name === 'ct-dialog' ||
218
+ vmodel.$options.name === 'ct-video') {
222
219
  this.dialogList.deleteDialog(vmodel);
223
220
  return;
224
- }
225
- else {
221
+ } else {
226
222
  this.closeDialog(vmodel.$parent);
227
223
  }
228
- }
229
- else {
224
+ } else {
230
225
  return;
231
226
  }
232
227
  },
233
228
 
234
229
  /**
235
- * @method
236
- * @param {Object} message 提示信息
237
- * @param {Object} title 提示框标题
238
- * @param {Object} options 参数 如confirmButtonText,cancelButtonText
239
- * @desc 确认框
240
- */
230
+ * @method
231
+ * @param {Object} message 提示信息
232
+ * @param {Object} title 提示框标题
233
+ * @param {Object} options 参数 如confirmButtonText,cancelButtonText
234
+ * @desc 确认框
235
+ */
241
236
  confirm(message, title, options) {
242
237
  let self = this;
243
238
 
@@ -288,8 +283,34 @@ const common = {
288
283
  width: router.dialogWidth + 'px',
289
284
  height: router.dialogHeight + 'px'
290
285
  },
291
- on: {
292
- }
286
+ on: {}
287
+ }]
288
+ };
289
+ this.openDialog(dialogOption);
290
+ })
291
+ },
292
+ viewerfile(router, MediaAlbum, groupIndex, index) {
293
+ var self = this;
294
+ var width = parseInt(window.document.body.clientWidth * 0.8);
295
+ width = width > 1160 ? 1160 : width;
296
+ return new Promise((resolve, reject) => {
297
+ var dialogOption = {
298
+ title: router.pageTitle,
299
+ name: 'ct-viewerfile',
300
+ content: [{
301
+ component: 'ct-viewerfile',
302
+ attrs: {
303
+ showTitle: false,
304
+ MediaAlbum: MediaAlbum,
305
+ groupIndex: groupIndex || 0,
306
+ index: index || 0,
307
+ // width: self.modelPhotoselect.router.pageWidth + 'px',
308
+ // height: self.modelPhotoselect.router.pageHeight+'px',
309
+ width: width + "px",
310
+ height: parseInt(window.document.body.clientHeight * 0.8).toString() +
311
+ "px"
312
+ },
313
+ on: {}
293
314
  }]
294
315
  };
295
316
  this.openDialog(dialogOption);
@@ -307,20 +328,15 @@ const common = {
307
328
  if (parent) {
308
329
  if (parent.$options.name === 'ElTabPane') {
309
330
  return parent;
310
- }
311
- else if (evControl.$options.name === 'ctDialog') {
331
+ } else if (evControl.$options.name === 'ctDialog') {
312
332
  return evControl.vmodel.pane;
313
- }
314
- else if (parent.$options.name === 'DataDrivenSearch') {
333
+ } else if (parent.$options.name === 'DataDrivenSearch') {
315
334
  return parent;
316
- }
317
- else if (parent.$options.name === 'DataDrivenForm') {
335
+ } else if (parent.$options.name === 'DataDrivenForm') {
318
336
  return parent;
319
- }
320
- else if (parent.$options.name === 'DataDrivendetail') {
337
+ } else if (parent.$options.name === 'DataDrivendetail') {
321
338
  return parent;
322
- }
323
- else {
339
+ } else {
324
340
  return this.getParentPane(parent);
325
341
  }
326
342
  }
@@ -356,8 +372,7 @@ const common = {
356
372
  if (currentKey.indexOf(j) < 0) {
357
373
  if (typeof window[j] === 'function') {
358
374
  rtn[j] = common.initFunction(window[j]);
359
- }
360
- else {
375
+ } else {
361
376
  rtn[j] = window[j];
362
377
  }
363
378
  delete window[j];
@@ -376,16 +391,14 @@ const common = {
376
391
  initFunction(f) {
377
392
  return function () {
378
393
  if (arguments.length === 0) {
379
- return f(typeof $fd!='undefined'?$fd:'');
380
- }
381
- else {
394
+ return f(typeof $fd != 'undefined' ? $fd : '');
395
+ } else {
382
396
  var exStr = 'f(';
383
397
  for (var i = 0; i < arguments.length; i++) {
384
398
  exStr += 'arguments[' + i + ']';
385
399
  if (i !== arguments.length - 1) {
386
400
  exStr += ',';
387
- }
388
- else {
401
+ } else {
389
402
  exStr += ');';
390
403
  }
391
404
  }
@@ -410,12 +423,12 @@ const common = {
410
423
  },
411
424
 
412
425
  /**
413
- * @method
414
- * @param {Function} fun 执行方法
415
- * @param {Object} para 执行方法的参数
416
- * @desc 执行方法,装载自定义方法和参数在window上
417
- * @returns {obj} 返回值
418
- */
426
+ * @method
427
+ * @param {Function} fun 执行方法
428
+ * @param {Object} para 执行方法的参数
429
+ * @desc 执行方法,装载自定义方法和参数在window上
430
+ * @returns {obj} 返回值
431
+ */
419
432
  excuteFun(fun, para) {
420
433
  var self = this;
421
434
  common.with(self);
@@ -426,12 +439,12 @@ const common = {
426
439
  },
427
440
 
428
441
  /**
429
- * @method
430
- * @param {String} fun 执行方法字符串
431
- * @param {Object} para 执行方法的参数
432
- * @desc 执行方法,装载自定义方法和参数在window上
433
- * @returns {obj} 返回值
434
- */
442
+ * @method
443
+ * @param {String} fun 执行方法字符串
444
+ * @param {Object} para 执行方法的参数
445
+ * @desc 执行方法,装载自定义方法和参数在window上
446
+ * @returns {obj} 返回值
447
+ */
435
448
  excuteFunStr(funStr, para) {
436
449
  var self = this;
437
450
  common.with(self);
@@ -480,7 +493,9 @@ const common = {
480
493
  byteArr[i] = fileContent.charCodeAt(i);
481
494
  }
482
495
 
483
- var blob = new Blob([new Uint8Array(byteArr)], { type: "application/ms-excel" });
496
+ var blob = new Blob([new Uint8Array(byteArr)], {
497
+ type: "application/ms-excel"
498
+ });
484
499
  var url = window.URL.createObjectURL(blob);
485
500
 
486
501
  var a = document.createElement("a");
@@ -494,8 +509,7 @@ const common = {
494
509
  //revokeObjectURL会导致firefox不能下载。。。
495
510
  //window.URL.revokeObjectURL(url);
496
511
  document.body.removeChild(a);
497
- }
498
- else { //IE 10+
512
+ } else { //IE 10+
499
513
  if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) {
500
514
  return navigator.msSaveOrOpenBlob(blob, name);
501
515
  }
@@ -537,8 +551,7 @@ const common = {
537
551
  //单字节加1
538
552
  if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) {
539
553
  len++;
540
- }
541
- else {
554
+ } else {
542
555
  len += 2;
543
556
  }
544
557
  }
@@ -572,11 +585,9 @@ const common = {
572
585
  setScrollTop(total) {
573
586
  if (document.getElementById("form-app")) {
574
587
  document.getElementById("form-app").scrollTop = total;
575
- }
576
- else if (window.scrollTo) {
588
+ } else if (window.scrollTo) {
577
589
  window.scrollTo(0, total)
578
- }
579
- else {
590
+ } else {
580
591
  // Chrome
581
592
  document.body.scrollTop = total
582
593
  // Firefox
@@ -587,11 +598,11 @@ const common = {
587
598
  },
588
599
 
589
600
  /**
590
- * 格式化日期
591
- * @param date 日期
592
- * @param format 格式化样式,例如yyyy-MM-dd HH:mm:ss E
593
- * @return 格式化后的日期
594
- */
601
+ * 格式化日期
602
+ * @param date 日期
603
+ * @param format 格式化样式,例如yyyy-MM-dd HH:mm:ss E
604
+ * @return 格式化后的日期
605
+ */
595
606
  formatDate: function (date, format) {
596
607
  var v = "";
597
608
  if (typeof date === "string" || typeof date !== "object") {
@@ -687,6 +698,16 @@ const common = {
687
698
  str = charUpper + str.slice(1);
688
699
  return str;
689
700
  },
701
+ getDataOfUpperLower(model, key) {
702
+ if (model[key]) {
703
+ return model[key];
704
+ } else if (model[this.initialsToUpperCase(key)]) {
705
+ return model[this.initialsToUpperCase(key)];
706
+ } else if (model[this.initialsToLowerCase(key)]) {
707
+ return model[this.initialsToLowerCase(key)];
708
+ }
709
+ return '';
710
+ },
690
711
 
691
712
  /**
692
713
  * @method
@@ -708,8 +729,7 @@ const common = {
708
729
  var reg = '';
709
730
  if (dc == undefined || dc == "" || dc === "0") {
710
731
  reg = /^(\-)?\d*$/;
711
- }
712
- else {
732
+ } else {
713
733
  if (dc === -1) dc = 12;
714
734
  reg = new RegExp("^(\\-)?\\d*[.]{0,1}(\\d{1," + dc + "})?$");
715
735
  }
@@ -717,8 +737,7 @@ const common = {
717
737
  // if (value.indexOf(".") !== -1 && value.indexOf(".") !== value.length - 1 && value.indexOf(".") < value.length - num - 1 && num && num > 0) {
718
738
  // value = oldValue;
719
739
  // }
720
- }
721
- else {
740
+ } else {
722
741
  value = oldValue;
723
742
  }
724
743
 
@@ -733,7 +752,18 @@ const common = {
733
752
  */
734
753
  numToFloat(value, num) {
735
754
  if (value && num && num > 0) {
736
- value = parseFloat(value).toFixed(num);
755
+ let ls = value.toString().split('.');
756
+ let l1 = 0;
757
+ value = ls[0] + '.';
758
+ if (ls.length > 1) {
759
+ value = value + ls[1];
760
+ l1 = ls[1].length;
761
+ }
762
+ if (num > l1) {
763
+ for (var i = 0; i < num - l1; i++) {
764
+ value = value + '0';
765
+ }
766
+ }
737
767
  }
738
768
  return value.toString();
739
769
  },
@@ -746,8 +776,9 @@ const common = {
746
776
  */
747
777
  isAssetTypeAnImage(ext) {
748
778
  return [
749
- 'png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].
750
- indexOf(ext.toLowerCase()) !== -1;
779
+ 'png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'
780
+ ].
781
+ indexOf(ext.toLowerCase()) !== -1;
751
782
  },
752
783
 
753
784
  /**
@@ -360,7 +360,10 @@ html {
360
360
  color: #303133;
361
361
  line-height: 1.769230769230769;
362
362
  }
363
-
363
+ .el-collapse-item__content [class*=el-col-] {
364
+ float: none;
365
+ display: inline-block;
366
+ }
364
367
  .ct-text .ct-text-label-div {
365
368
  display: flex;
366
369
  justify-content: left;
@@ -377,8 +380,14 @@ html {
377
380
 
378
381
  .ct-flex-div .ct-flex-div-input {
379
382
  flex: 1;
383
+
380
384
  }
381
-
385
+ .el-textarea .el-input__count {
386
+ /* right: 24px; */
387
+ }
388
+ .ct-flex-div-input input.el-input__inner {
389
+ /* width: 100%; */
390
+ }
382
391
  .ct-flex-div .ct-flex-div-span {
383
392
  display: flex;
384
393
  justify-content: left;
@@ -815,4 +824,8 @@ html {
815
824
  .shortcutFollow .el-collapse{
816
825
  border-bottom: none;
817
826
  }
827
+ .ct-form .el-tabs__content .el-row [class*=el-col-]{
828
+ float: none;
829
+ display: inline-block;
830
+ }
818
831
 
@@ -170,6 +170,14 @@
170
170
  if(data.content.imgUrl)this.tellImgUrl=data.content.imgUrl;
171
171
  }
172
172
  },
173
+ closeCallTel(){
174
+ if(this.model.isCallTel){
175
+ if(this.visible){
176
+ this.visible=false;
177
+ this.tellImgUrl='';
178
+ }
179
+ }
180
+ },
173
181
  }
174
182
  }
175
183
  </script>
@@ -418,6 +418,10 @@
418
418
  self.$forceUpdate();
419
419
  }
420
420
  else if(field.actionType===19){
421
+ if(self.model.currentCallTel){
422
+ self.$refs[self.model.currentCallTel][0].closeCallTel()
423
+ }
424
+ self.model.currentCallTel='router'+field.id+field.rowindex;
421
425
  self.$refs['router'+field.id+field.rowindex][0].callTelClick(data);
422
426
  }
423
427
  })
@@ -651,6 +651,9 @@ export default {
651
651
  lookOwner() {
652
652
  this.codeOwner = true;
653
653
  },
654
+ loadBaseInfo() {
655
+ this.model.loadBaseInfo();
656
+ },
654
657
  handleClick(tab, event) {
655
658
  let i = tab.index;
656
659
  if (this.model.tags2 && this.model.tags2[i]) {
@@ -713,16 +716,26 @@ export default {
713
716
  router.submitFormField.forEach((v) => {
714
717
  submitData[v] = field.list[field.listIndex].code;
715
718
  });
716
- } else {
719
+ }
720
+ else {
717
721
  router.submitFormField.forEach((v) => {
718
722
  submitData[v] = self.model.fields1Dic[v].value;
719
723
  });
720
724
  }
725
+ if(router.id=="PropertyEdit"){
726
+ callBack="loadBaseInfo"
727
+ }
721
728
  }
722
729
 
723
- if (callBack && callBack == "loadOperation") {
724
- this.routerClickHandler(router, submitData, self.loadOperation);
725
- } else {
730
+ if (callBack) {
731
+ if(callBack=='loadOperation'){
732
+ this.routerClickHandler(router, submitData, self.loadOperation);
733
+ }
734
+ else if(callBack=='loadBaseInfo'){
735
+ this.routerClickHandler(router, submitData, self.loadBaseInfo);
736
+ }
737
+ }
738
+ else {
726
739
  this.routerClickHandler(router, submitData);
727
740
  }
728
741
  },