| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | /** * 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};
 |