engineering_lib.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. /**
  2. * 计价规则数据结构
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/8/31
  6. * @version
  7. */
  8. import mongoose from "mongoose";
  9. let Schema = mongoose.Schema;
  10. let collectionName = "engineering_lib";
  11. let taxGroupSchema = new Schema(
  12. {
  13. taxType: String, //计税方式
  14. program_lib: { type: Schema.Types.Mixed, default: {} }, // 计算程序标准库
  15. template_lib: { type: Schema.Types.Mixed, default: {} }, //清单模板库
  16. col_lib: { type: Schema.Types.Mixed, default: {} }, //列设置
  17. fee_lib: { type: Schema.Types.Mixed, default: {} }, //费率标准库
  18. norm_lib: String, //指标分部
  19. },
  20. { _id: false }
  21. );
  22. let modelSchema = {
  23. // 标准清单
  24. bill_lib: {
  25. type: Schema.Types.Mixed,
  26. default: [],
  27. },
  28. // 定额库
  29. ration_lib: {
  30. type: Schema.Types.Mixed,
  31. default: [],
  32. },
  33. // 工料机库
  34. glj_lib: {
  35. type: Schema.Types.Mixed,
  36. default: [],
  37. },
  38. //清单指引库
  39. billsGuidance_lib: {
  40. type: Schema.Types.Mixed,
  41. default: [],
  42. },
  43. tax_group: {
  44. type: [taxGroupSchema],
  45. default: [],
  46. },
  47. /* // 费率标准库 2018-08-28 改成放在tax_group 里了
  48. fee_lib: {
  49. type: Schema.Types.Mixed,
  50. default: []
  51. },*/
  52. // 人工系数标准库
  53. artificial_lib: {
  54. type: Schema.Types.Mixed,
  55. default: [],
  56. },
  57. //工程特征库
  58. feature_lib: {
  59. type: Schema.Types.Mixed,
  60. default: [],
  61. },
  62. info_lib: {
  63. type: Schema.Types.Mixed,
  64. default: [],
  65. },
  66. item_increase_lib: {
  67. type: Schema.Types.Mixed,
  68. default: [],
  69. },
  70. //累进区间库
  71. progressive_lib: {
  72. type: Schema.Types.Mixed,
  73. default: [],
  74. },
  75. engineer_info_lib: {
  76. type: Schema.Types.Mixed,
  77. default: [],
  78. },
  79. //工程特征指标库
  80. engineer_feature_lib: {
  81. type: Schema.Types.Mixed,
  82. default: [],
  83. },
  84. //主要工料指标库
  85. material_lib: {
  86. type: Schema.Types.Mixed,
  87. default: [],
  88. },
  89. //主要工程量指标库
  90. main_quantity_lib: {
  91. type: Schema.Types.Mixed,
  92. default: [],
  93. },
  94. //主要经济指标库
  95. economic_lib: {
  96. type: Schema.Types.Mixed,
  97. default: [],
  98. },
  99. //超高降效库
  100. over_height_lib: {
  101. type: Schema.Types.Mixed,
  102. default: [],
  103. },
  104. //设置人材机显示列
  105. glj_col: {
  106. showAdjustPrice: Boolean, //是否显示调整价列
  107. },
  108. //清单或定额计价规则ID
  109. valuationID: { type: String, index: true },
  110. //工程专业名称
  111. name: String,
  112. //费用标准
  113. feeName: String,
  114. //前端是否显示
  115. visible: { type: Boolean, default: false },
  116. // 是否是项目汇总
  117. isSummary: { type: Boolean, default: false },
  118. //取费专业
  119. engineering: Number,
  120. //单位工程取费专业
  121. projectEngineering: Number,
  122. //是否计算安装增加费
  123. isInstall: { type: Boolean, default: false },
  124. //是否计算子目增加费
  125. isItemIncrease: { type: Boolean, default: false },
  126. //是否计算面积增加费
  127. isAreaIncrease: { type: Boolean, default: false },
  128. indexName: String, //指标专业名称
  129. seq: Number, //序列号
  130. };
  131. mongoose.model(
  132. collectionName,
  133. new Schema(modelSchema, { versionKey: false, collection: collectionName })
  134. );