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