/** * Created by Tony on 2017/5/31. * 不同的用户会有一套自己的模板结构列表 */ import mongoose from "mongoose"; let Schema = mongoose.Schema; // let TreeNodeSchema = new Schema({ // ID:Number, // ParentID:Number, // NextSiblingID:Number, // grpType: Number, //建筑(const : 1)/公路(const 2)/其他 etc... // nodeType: Number, //节点类型:树节点(枝) 或 模板节点(叶) // tplType: Number, //概算、预算、招投标 etc... // userId: String, //用户自定义模板用 // refId: Number, //引用报表模板id (引用 collection: rpt_templates) // released: Boolean,//是否已发布, refId > -1 时才有意义 // name: String, // isDeleted: Boolean // }); let TplNodeSchema = new Schema({ nodeType: Number, //节点类型:树节点(枝) 或 模板节点(叶), 统一结构 ID: Number, //template节点ID,只有在nodeType是模板节点有效 refId: Number, //引用报表模板id (引用 collection: rpt_templates) name: String, //显示名称 released: Boolean, //是否已发布 items: [] //子节点 }); let RptTplTreeSchema = new Schema({ compilationId: String, //编办的ObjectId // engineerId: Number, //工程专业Id(参考 /modules/common/const/engineering.js) userId: String, //用户名的object_id串 properties: [], //这是一个预留的属性,假定未来还会有不同的划分细节(如:招标/投标/清单 ... etc) name: String, //显示名称 released: Boolean, //是否已发布 isDeleted: Boolean, //删除标记 flags: Schema.Types.Mixed, //额外标记集合(这些标记可能会影响到前端显示,如‘计税方式’等) items: [] //TplNodeSchema entity }); RptTplTreeSchema.statics.findAndModify = function (query, sort, doc, options, callback) { return this.collection.findAndModify(query, sort, doc, options, callback); }; mongoose.model("rpt_tpl_tree", RptTplTreeSchema, "rpt_tpl_tree"); /* let TreeNodeModel = mongoose.model("rpt_tpl_tree", TreeNodeSchema, "rpt_tpl_tree"); /*/ // let TreeNodeModel = mongoose.model("rpt_tpl_tree", RptTplTreeSchema, "rpt_tpl_tree"); //*/ // export {TreeNodeModel as default};