lrf402788946 4 anos atrás
pai
commit
b31be66ae5

+ 64 - 0
app/controller/client/.route.js

@@ -0,0 +1,64 @@
+module.exports = {
+  create: {
+    requestBody: [
+      "!item",
+      "!s_p",
+      "!s_c",
+      "!e_p",
+      "!e_c",
+      "!name",
+      "start",
+      "end",
+      "status",
+      "!owner",
+    ],
+  },
+  destroy: {
+    params: ["!id"],
+    service: "delete",
+  },
+  update: {
+    params: ["!id"],
+    requestBody: [
+      "!item",
+      "!s_p",
+      "!s_c",
+      "!e_p",
+      "!e_c",
+      "!name",
+      "start",
+      "end",
+      "status",
+      "!owner",
+    ],
+  },
+  show: {
+    parameters: {
+      params: ["!id"],
+    },
+    service: "fetch",
+  },
+  index: {
+    parameters: {
+      query: {
+        item: "item",
+        s_p: "%s_p%",
+        s_c: "%s_c%",
+        e_p: "%e_p%",
+        e_c: "%e_c%",
+        name: "%name%",
+        start: "%start%",
+        end: "%end%",
+        status: "status",
+        owner: "owner",
+      },
+    },
+    service: "query",
+    options: {
+      query: ["skip", "limit"],
+      sort: ["meta.createdAt"],
+      desc: true,
+      count: true,
+    },
+  },
+};

+ 16 - 0
app/controller/client/route.js

@@ -0,0 +1,16 @@
+'use strict';
+
+// const _ = require('lodash');
+const meta = require('./.route.js');
+const Controller = require('egg').Controller;
+const { CrudController } = require('naf-framework-mongoose/lib/controller');
+
+// 客户/供应商
+class RouteController extends Controller {
+  constructor(ctx) {
+    super(ctx);
+    this.service = this.ctx.service.client.route;
+  }
+}
+
+module.exports = CrudController(RouteController, meta);

+ 83 - 0
app/model/route.js

@@ -0,0 +1,83 @@
+'use strict';
+const Schema = require('mongoose').Schema;
+const metaPlugin = require('naf-framework-mongoose/lib/model/meta-plugin');
+// 线路
+const route = {
+  item: {
+    type: String,
+    required: true,
+    maxLength: 200,
+    field: { label: '项目', filter: 'select', required: true },
+  },
+  s_p: {
+    type: String,
+    required: true,
+    maxLength: 200,
+    field: { label: '起始地省份', filter: true, required: true },
+  },
+  s_c: {
+    type: String,
+    maxLength: 200,
+    field: { label: '起始地城市', filter: true, required: true },
+  },
+  e_p: {
+    type: String,
+    maxLength: 200,
+    field: { label: '目的地省份', filter: true, required: true },
+  }, // 存储内容
+  e_c: {
+    type: String,
+    maxLength: 200,
+    field: { label: '目的地城市', filter: true, required: true },
+  },
+  name: {
+    type: String,
+    maxLength: 200,
+    field: { label: '线路名称', filter: true, required: true },
+  },
+  start: {
+    type: String,
+    maxLength: 200,
+    field: { label: '起始地地点' },
+  },
+  end: {
+    type: String,
+    maxLength: 200,
+    field: { label: '目的地地点' },
+  },
+  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 }, // 创建人
+};
+
+const schema = new Schema(route, { toJSON: { virtuals: true } });
+schema.index({ id: 1 });
+schema.index({ s_p: 1 });
+schema.index({ s_c: 1 });
+schema.index({ e_p: 1 });
+schema.index({ e_c: 1 });
+schema.index({ name: 1 });
+schema.index({ start: 1 });
+schema.index({ end: 1 });
+schema.index({ status: 1 });
+schema.index({ owner: 1 });
+
+schema.plugin(metaPlugin);
+
+module.exports = app => {
+  const { mongoose } = app;
+  return mongoose.model('Route', schema, 'route');
+};

+ 3 - 0
app/router/client.js

@@ -15,5 +15,8 @@ module.exports = app => {
   // 项目
   router.resources('item', `${prefix}/item`, controller[index].item); // index、create、show、destroy
   router.post('item', `${prefix}/item/update/:id`, controller[index].item.update);
+  // 线路
+  router.resources('route', `${prefix}/route`, controller[index].route); // index、create、show、destroy
+  router.post('route', `${prefix}/route/update/:id`, controller[index].route.update);
 
 };

+ 16 - 0
app/service/client/route.js

@@ -0,0 +1,16 @@
+'use strict';
+
+const assert = require('assert');
+const _ = require('lodash');
+const { ObjectId } = require('mongoose').Types;
+const { CrudService } = require('naf-framework-mongoose/lib/service');
+const { ZhwldriverError, ErrorCode } = require('naf-core').Error;
+
+class RouteService extends CrudService {
+  constructor(ctx) {
+    super(ctx, 'route');
+    this.model = this.ctx.model.Route;
+  }
+}
+
+module.exports = RouteService;