1
This commit is contained in:
77
config/template/controller.ejs
Normal file
77
config/template/controller.ejs
Normal file
@@ -0,0 +1,77 @@
|
||||
const {<%=table_name%>, op } = require('../../middleware/baseModel');
|
||||
|
||||
module.exports = {
|
||||
'GET /<%=table_name%>/all' : async (ctx, next) => {
|
||||
const res = await <%=table_name%>.findAll();
|
||||
return ctx.success(res);
|
||||
},
|
||||
|
||||
'GET /<%=table_name%>/detail' : async (ctx, next) => {
|
||||
let id = ctx.get('id')
|
||||
const res = await <%=table_name%>.findOne({where:{id:id}});
|
||||
return ctx.success(res);
|
||||
},
|
||||
|
||||
|
||||
"POST /<%=table_name%>/export": async (ctx, next) => {
|
||||
let rows = [];
|
||||
let cols = [];
|
||||
let title='<%=table_name%>';
|
||||
|
||||
let tableAttributes = <%=table_name%>.tableAttributes;
|
||||
let colKeys = Object.keys(tableAttributes);
|
||||
|
||||
colKeys.forEach((key) => {
|
||||
let row = tableAttributes[key];
|
||||
let caption = row.comment ? row.comment : row.fieldName;
|
||||
cols.push({ caption, type: row.type.__proto__.key === "INTEGER" ? "number" : "string", key: row.field });
|
||||
});
|
||||
|
||||
const dbRows = await <%=table_name%>.findAll({});
|
||||
rows = dbRows.map((p) => {
|
||||
let tempRow = p.toJSON();
|
||||
let row = [];
|
||||
cols.forEach((col) => {
|
||||
row.push(tempRow[col.key]);
|
||||
});
|
||||
return row;
|
||||
});
|
||||
|
||||
return ctx.downFile({title, rows, cols });
|
||||
},
|
||||
|
||||
'POST /<%=table_name%>/page' : async (ctx, next) => {
|
||||
let param = ctx.getPageSize()
|
||||
let row = ctx.getBody();
|
||||
let {key,value}=row.seachOption
|
||||
let where={}
|
||||
if(key&&value){
|
||||
where[key]={ [op.like]:'%' +value + '%'}
|
||||
}
|
||||
|
||||
const res = await <%=table_name%>.findAndCountAll({
|
||||
where,
|
||||
order: [["id", "DESC"]],
|
||||
...param,
|
||||
});
|
||||
return ctx.success(res);
|
||||
},
|
||||
|
||||
'POST /<%=table_name%>/add': async (ctx, next) => {
|
||||
let row = ctx.getBody();
|
||||
const res = await <%=table_name%>.create(row);
|
||||
return ctx.success(res);
|
||||
},
|
||||
'POST /<%=table_name%>/edit': async (ctx, next) => {
|
||||
let row = ctx.getBody();
|
||||
let id = ctx.get('id')
|
||||
const res = await <%=table_name%>.update(row, { where: { id: id }, individualHooks: true });
|
||||
return ctx.success(res);
|
||||
},
|
||||
|
||||
'POST /<%=table_name%>/del': async (ctx, next) => {
|
||||
let id = ctx.get('id')
|
||||
const res = await <%=table_name%>.destroy({ where: { id: id }, individualHooks: true });
|
||||
return ctx.success(res);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user