/** * 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: Number, //userId,如果是标准模板,则为-100 properties: [], //这是一个预留的属性,假定未来还会有不同的划分细节(如:招标/投标/清单 ... etc) name: String, //显示名称 released: Boolean, //是否已发布 isDeleted: Boolean, //删除标记 items: [] //TplNodeSchema entity }); RptTplTreeSchema.statics.findAndModify = function (query, sort, doc, options, callback) { return this.collection.findAndModify(query, sort, doc, options, callback); }; /* 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};