'use strict'; const Schema = require('mongoose').Schema; const moment = require('moment'); const metaPlugin = require('naf-framework-mongoose/lib/model/meta-plugin'); // 合同 const treaty = { client: { type: String, required: true, maxLength: 200, field: { label: '客户', filter: 'select', required: true }, }, number: { type: String, required: true, maxLength: 200, field: { label: '合同编号', filter: true, required: true }, }, jf: { type: String, maxLength: 200, field: { label: '甲方', filter: true }, }, yf: { type: String, maxLength: 200, field: { label: '乙方' }, }, // 存储内容 period: { type: String, maxLength: 200, field: { label: '周期' }, }, settle_up: { type: String, maxLength: 200, field: { label: '结算方式' } }, settle_up_period: { type: String, maxLength: 200, field: { label: '结算周期' }, }, expiry_date: { type: String, required: true, maxLength: 200, field: { label: '截止日期', type: 'date' } }, status: { type: String, maxLength: 200, default: '0', field: { label: '状态', filter: 'select', type: 'select', format: (i => (i === '0' ? '使用' : '禁用')).toString(), list: [ { label: '使用', value: '0' }, { label: '禁用', value: '1' }, ], }, }, // 状态:0=>使用;1禁用 owner: { type: String, required: true }, // 创建人 create_date: { type: String, default: moment().format('YYYY-MM-DD') }, }; const schema = new Schema(treaty, { toJSON: { virtuals: true } }); schema.index({ id: 1 }); schema.index({ client: 1 }); schema.index({ number: 1 }); schema.index({ jf: 1 }); schema.index({ status: 1 }); schema.index({ owner: 1 }); schema.plugin(metaPlugin); module.exports = app => { const { mongoose } = app; return mongoose.model('Treaty', schema, 'treaty'); };