InfoWindowUtil.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. export default {
  2. /**
  3. * 克隆过滤字段集合
  4. * @param {*} infoFilterField 过滤字段
  5. */
  6. cloneInfoFilterFields: function (infoFilterFields) {
  7. var cloneInfoFilterFields = [];
  8. for (var i = 0, len = infoFilterFields.length; i < len; i++) {
  9. var infoFilterField = infoFilterFields[i];
  10. if (infoFilterField.constraintEnum == 'Between') {
  11. let cloneObject1 = this.cloneInfoFilterField(infoFilterField);
  12. cloneObject1.index = 1;
  13. cloneInfoFilterFields.push(cloneObject1);
  14. let cloneObject2 = this.cloneInfoFilterField(infoFilterField);
  15. cloneObject2.index = 2;
  16. cloneObject2.name = '~';
  17. cloneObject2.value = cloneObject1.value;
  18. cloneInfoFilterFields.push(cloneObject2);
  19. } else {
  20. let cloneObject1 = this.cloneInfoFilterField(infoFilterField);
  21. cloneObject1.index = 1;
  22. cloneInfoFilterFields.push(cloneObject1);
  23. }
  24. }
  25. // 排序
  26. cloneInfoFilterFields.sort(function (item1, item2) {
  27. return item1.sortNo - item2.sortNo;
  28. });
  29. return cloneInfoFilterFields;
  30. },
  31. /**
  32. * 克隆过滤字段
  33. * @param {*} infoFilterField 过滤字段
  34. */
  35. cloneInfoFilterField: function (infoFilterField) {
  36. var cloneObject = {
  37. 'fieldName': infoFilterField.fieldName,
  38. 'name': infoFilterField.name,
  39. 'nameEng': infoFilterField.nameEng,
  40. 'help': infoFilterField.help,
  41. 'helpEng': infoFilterField.helpEng,
  42. 'displayType': infoFilterField.displayType,
  43. 'listFieldNames': infoFilterField.listFieldNames,
  44. 'infoWindowNo': infoFilterField.infoWindowNo,
  45. 'sortNo': infoFilterField.sortNo,
  46. 'isShow': infoFilterField.isShow,
  47. 'constraintEnum': infoFilterField.constraintEnum,
  48. 'defaultValue1': infoFilterField.defaultValue1,
  49. 'defaultValue2': infoFilterField.defaultValue2,
  50. 'whereClause': infoFilterField.whereClause,
  51. 'enumClass': infoFilterField.enumClass,
  52. 'rowNumber': infoFilterField.rowNumber,
  53. 'columnNumber': infoFilterField.columnNumber,
  54. 'columnSpan': infoFilterField.columnSpan,
  55. 'value': {
  56. 'infoFilterFieldId': infoFilterField.id,
  57. 'value1': infoFilterField.value.value1,
  58. 'value2': infoFilterField.value.value2,
  59. },
  60. 'keyValues':infoFilterField.keyValues,
  61. };
  62. if (cloneObject.displayType == 'ListBoxEnumEditor' || cloneObject.displayType == 'SearchBoxEditor') {
  63. let fieldValue = {
  64. id: {},
  65. displayValue: [],
  66. fieldType: 'Key',
  67. };
  68. cloneObject.fieldValue = fieldValue;
  69. } else if (cloneObject.displayType == 'MultiSearchBoxEditor') {
  70. let fieldValue = {
  71. displayValue: [],
  72. fieldType: 'MultiSearchBoxEditor',
  73. ids: [],
  74. };
  75. cloneObject.fieldValue = fieldValue;
  76. }
  77. return cloneObject;
  78. },
  79. };