This commit is contained in:
张成
2025-11-21 16:53:49 +08:00
commit 8309808835
286 changed files with 32656 additions and 0 deletions

View 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);
}
};