lrf402788946 4 years ago
parent
commit
605c3af668

+ 57 - 0
app/controller/client/.treaty.js

@@ -0,0 +1,57 @@
+module.exports = {
+  create: {
+    requestBody: [
+      "!client",
+      "!number",
+      "jf",
+      "yf",
+      "period",
+      "settle_up",
+      "settle_up_period",
+      "status",
+      "!owner",
+    ],
+  },
+  destroy: {
+    params: ["!id"],
+    service: "delete",
+  },
+  update: {
+    params: ["!id"],
+    requestBody: [
+      "!client",
+      "!number",
+      "jf",
+      "yf",
+      "period",
+      "settle_up",
+      "settle_up_period",
+      "status",
+      "!owner",
+    ],
+  },
+  show: {
+    parameters: {
+      params: ["!id"],
+    },
+    service: "fetch",
+  },
+  index: {
+    parameters: {
+      query: {
+        client: "client",
+        number: "number",
+        jf: "jf",
+        owner: "owner",
+        status: "status",
+      },
+    },
+    service: "query",
+    options: {
+      query: ["skip", "limit"],
+      sort: ["meta.createdAt"],
+      desc: true,
+      count: true,
+    },
+  },
+};

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

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

+ 70 - 0
app/model/treaty.js

@@ -0,0 +1,70 @@
+'use strict';
+const Schema = require('mongoose').Schema;
+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: '结算周期' },
+  },
+  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(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');
+};

+ 5 - 0
app/router/client.js

@@ -6,6 +6,11 @@ module.exports = app => {
   const prefix = '/api/servicezhwl';
   const index = 'client';
   const { router, controller } = app;
+  // 客户/供应商
   router.resources('client', `${prefix}/client`, controller[index].client); // index、create、show、destroy
   router.post('client', `${prefix}/client/update/:id`, controller[index].client.update);
+  // 合同
+  router.resources('treaty', `${prefix}/treaty`, controller[index].treaty); // index、create、show、destroy
+  router.post('treaty', `${prefix}/treaty/update/:id`, controller[index].treaty.update);
+
 };

+ 16 - 0
app/service/client/treaty.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 TreatyService extends CrudService {
+  constructor(ctx) {
+    super(ctx, 'treaty');
+    this.model = this.ctx.model.Treaty;
+  }
+}
+
+module.exports = TreatyService;