ration_calc_base.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /**
  2. * Created by Mai on 2017/7/21.
  3. */
  4. "use strict";
  5. const baseCalc = 0, adjustCalc = 1, budgetCalc = 2, diffCalc = 3, offerCalc = 4;
  6. const gljType = {
  7. // 人工
  8. LABOUR: 1,
  9. // ==============材料类型=================
  10. // 普通材料
  11. GENERAL_MATERIAL: 201,
  12. // 混凝土
  13. CONCRETE: 202,
  14. // 砂浆
  15. MORTAR: 203,
  16. // 配合比
  17. MIX_RATIO: 204,
  18. // 商品混凝土
  19. COMMERCIAL_CONCRETE: 205,
  20. // 商品砂浆
  21. COMMERCIAL_MORTAR: 206,
  22. // ==============材料类型=================
  23. // ==============机械类型=================
  24. // 普通机械
  25. GENERAL_MACHINE: 301,
  26. // 机械组成物
  27. MACHINE_COMPOSITION: 302,
  28. // 机上人工
  29. MACHINE_LABOUR: 303,
  30. // ==============机械类型=================
  31. // 主材
  32. MAIN_MATERIAL: 4,
  33. // 设备
  34. EQUIPMENT: 5
  35. };
  36. let rationCalcBase = [
  37. {
  38. 'dispName': '定额基价人工费',
  39. 'calcFun': 'base',
  40. 'calcType': baseCalc,
  41. 'gljTypes': [gljType.LABOUR]
  42. },{
  43. 'dispName': '定额基价材料费',
  44. 'calcFun': 'base',
  45. 'calcType': baseCalc,
  46. 'gljTypes': [gljType.GENERAL_MATERIAL, gljType.CONCRETE, gljType.MORTAR, gljType.MIX_RATIO, gljType.COMMERCIAL_CONCRETE, gljType.COMMERCIAL_MORTAR]
  47. },{
  48. 'dispName': '定额基价机械费',
  49. 'calcFun': 'base',
  50. 'calcType': baseCalc,
  51. 'gljTypes': [gljType.GENERAL_MACHINE]
  52. },{
  53. 'dispName': '定额基价机上人工费',
  54. 'calcFun': 'base',
  55. 'calcType': baseCalc,
  56. 'gljTypes': [gljType.MACHINE_LABOUR]
  57. },{
  58. 'dispName': '人工费价差',
  59. 'calcFun': 'diff',
  60. 'calcType': budgetCalc,
  61. 'gljTypes': [gljType.LABOUR]
  62. },{
  63. 'dispName': '材料费价差',
  64. 'calcFun': 'diff',
  65. 'calcType': diffCalc,
  66. 'gljTypes': [gljType.GENERAL_MATERIAL, gljType.CONCRETE, gljType.MORTAR, gljType.MIX_RATIO, gljType.COMMERCIAL_CONCRETE, gljType.COMMERCIAL_MORTAR]
  67. },{
  68. 'dispName': '机械费价差',
  69. 'calcFun': 'diff',
  70. 'calcType': diffCalc,
  71. 'gljTypes': [gljType.GENERAL_MACHINE]
  72. },{
  73. 'dispName': '主材费',
  74. 'calcFun': 'budget',
  75. 'calcType': diffCalc,
  76. 'gljTypes': [gljType.MAIN_MATERIAL]
  77. },{
  78. 'dispName': '设备费',
  79. 'calcFun': 'budget',
  80. 'calcType': budgetCalc,
  81. 'gljTypes': [gljType.EQUIPMENT]
  82. }
  83. ];
  84. // 该方法暂时不用,已使用中文预编译的方式代替,但可靠性有待验证,若有问题再用回来。
  85. function getRationCalcBase(dispName){
  86. for (let base of rationCalcBase) {
  87. if (base.dispName == dispName) {
  88. return base;
  89. };
  90. }
  91. return null;
  92. };