engineering_lib.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. taxType: String,//计税方式
  13. program_lib: { type: Schema.Types.Mixed,default:{}},// 计算程序标准库
  14. template_lib:{ type: Schema.Types.Mixed,default:{}},//清单模板库
  15. col_lib:{ type: Schema.Types.Mixed,default:{}},//列设置
  16. fee_lib:{ type: Schema.Types.Mixed,default:{}}//费率标准库
  17. },{_id: false});
  18. let modelSchema = {
  19. // 标准清单
  20. bill_lib: {
  21. type: Schema.Types.Mixed,
  22. default: []
  23. },
  24. // 定额库
  25. ration_lib: {
  26. type: Schema.Types.Mixed,
  27. default: []
  28. },
  29. // 工料机库
  30. glj_lib: {
  31. type: Schema.Types.Mixed,
  32. default: []
  33. },
  34. //清单指引库
  35. billsGuidance_lib: {
  36. type: Schema.Types.Mixed,
  37. default: []
  38. },
  39. tax_group :{
  40. type: [taxGroupSchema],
  41. default: []
  42. },
  43. /* // 费率标准库 2018-08-28 改成放在tax_group 里了
  44. fee_lib: {
  45. type: Schema.Types.Mixed,
  46. default: []
  47. },*/
  48. // 人工系数标准库
  49. artificial_lib: {
  50. type: Schema.Types.Mixed,
  51. default: []
  52. },
  53. //工程特征库
  54. feature_lib:{
  55. type: Schema.Types.Mixed,
  56. default: []
  57. },
  58. //累进区间库
  59. progressive_lib: {
  60. type: Schema.Types.Mixed,
  61. default: []
  62. },
  63. //车船税文件
  64. vvTax_lib: {
  65. type: Schema.Types.Mixed,
  66. default: []
  67. },
  68. //设置人材机显示列
  69. glj_col:{
  70. showAdjustPrice:Boolean//是否显示调整价列
  71. },
  72. //清单或定额计价规则ID
  73. valuationID:{type:String,index: true},
  74. //工程专业名称
  75. name:String,
  76. //费用标准
  77. feeName:String,
  78. //前端是否显示
  79. visible:{type: Boolean, default: false},
  80. //取费专业
  81. engineering:Number,
  82. //单位工程取费专业
  83. projectEngineering:Number,
  84. //是否计算安装增加费
  85. isInstall:{type: Boolean, default: false}
  86. };
  87. mongoose.model(collectionName, new Schema(modelSchema, {versionKey: false, collection: collectionName}));