driver.js 2.1 KB

12345678910111213141516171819202122232425262728
  1. 'use strict';
  2. const Schema = require('mongoose').Schema;
  3. const moment = require('moment');
  4. const metaPlugin = require('naf-framework-mongoose/lib/model/meta-plugin');
  5. // 司机表
  6. const Driverchema = {
  7. name: { type: String, required: true, maxLength: 200, field: { required: true, label: '姓名', filter: true } }, // 姓名
  8. tel: { type: String, required: true, maxLength: 200, field: { required: true, label: '联系电话', filter: true, options: { maxLength: 11 } } }, // 电话/固定电话
  9. id_card: { type: String, required: true, maxLength: 200, field: { required: true, label: '身份证', filter: true, options: { maxLength: 18, minLength: 18 } } }, // 身份证
  10. drive_card: { type: String, required: true, maxLength: 200, field: { required: true, label: '驾驶证号' } }, // 驾驶证号
  11. fhc_time: { type: String, required: false, maxLength: 200, field: { label: '初次领证时间', type: 'date', notable: true } }, // 初次领证时间=年月日
  12. car_type: { type: String, required: false, maxLength: 200, field: { label: '准驾车型', notable: true } }, // 准驾车型
  13. ccu_time: { type: String, required: false, maxLength: 200, field: { required: true, label: '驾驶证有效日期', notable: true, type: 'date' } }, // 驾驶证有效日期
  14. cc_time: { type: String, required: false, maxLength: 200, field: { required: true, label: '驾驶证年检日期', notable: true, type: 'date' } }, // 驾驶证年检日期
  15. qc_time: { type: String, required: false, maxLength: 200, field: { required: true, label: '资格证年检日期', notable: true, type: 'date' } }, // 资格证年检日期
  16. status: { type: String, required: false, maxLength: 200, default: '在籍', field: { label: '状态', type: 'radio', filter: 'select', list: [{ label: '在籍', value: '在籍' }, { label: '注销', value: '注销' }] } },
  17. create_time: { type: String, default: moment().format('YYYY-MM-DD HH:mm:ss') },
  18. };
  19. const schema = new Schema(Driverchema, { toJSON: { virtuals: true } });
  20. schema.index({ id: 1 });
  21. schema.plugin(metaPlugin);
  22. module.exports = app => {
  23. const { mongoose } = app;
  24. return mongoose.model('Diver', schema, 'driver');
  25. };