目标:创建班级管理模块(班级和学院、学校关联起来)
一、后台三步骤:
1、打开projectName文件,在models目录下创建classs.js文件,接着文件操作:
constmongoose=require('mongoose')constSchema=mongoose.Schemaconstfeld={name:String,//人物标签level:String,renshu:Number,school:{type:Schema.Types.ObjectId,ref:'School'},academy:{type:Schema.Types.ObjectId,ref:'Academy'}}//自动添加更新时间创建时间:letpersonSchema=newmongoose.Schema(feld,{timestamps:{createdAt:'created',updatedAt:'updated'}})module.exports=mongoose.model('Classs',personSchema)
2、找到projectName下的routes目录,创建classs.js文件:
constrouter=require('koa-router')()letModel=require("../db/models/classs");router.prefix('/classs')router.get('/',function(ctx,next){ctx.body='this is a users response!'})router.post('/add',asyncfunction(ctx,next){console.log(ctx.request.body)letmodel=newModel(ctx.request.body);model=awaitmodel.save();console.log('user',model)ctx.body=model})router.post('/find',asyncfunction(ctx,next){letmodels=awaitModel.find({}).populate('academy').populate('school')ctx.body=models})router.post('/get',asyncfunction(ctx,next){// let users = await User.// find({})console.log(ctx.request.body)letmodel=awaitModel.find(ctx.request.body)console.log(model)ctx.body=model})router.post('/update',asyncfunction(ctx,next){console.log(ctx.request.body)letpbj=awaitModel.update({_id:ctx.request.body._id},ctx.request.body);ctx.body=pbj})router.post('/delete',asyncfunction(ctx,next){console.log(ctx.request.body)awaitModel.remove({_id:ctx.request.body._id});ctx.body='shibai '})module.exports=router
3.在app.js中挂载路由:
constclasss=require('./routes/classs')app.use(classs.routes(),classs.allowedMethods())
二、前台三步骤:
打开vue-admin-template-master文件,在src/views目录下创建一个classs模块,并在academy目录下创建vue文件。
1.editor.vue为编辑文件,用于创建班级记录;
班级添加.png
立即创建取消
.dashboard { &-container { margin: 30px; } &-text { font-size: 30px; line-height: 46px; } }
2.index.vue为目录文件,用于显示结果;
班级管理.png
{{scope.row.school.name}}{{scope.row.academy.name}}编辑删除
.dashboard { &-container { margin: 30px; } &-text { font-size: 30px; line-height: 46px; } }
3.在index.js中添加路由:
{path:'/classs',component:Layout,meta:{title:'班级管理',icon:'example'},redirect:'/classs',children:[{path:'classs',name:'classs',component:()=>import('@/views/classs'),meta:{title:'班级管理',icon:'classs'}},{path:'editor',name:'editor',component:()=>import('@/views/classs/editor'),meta:{title:'添加班级',icon:'classs'}}]},
目标:创建班级管理模块(学生和班级、学院、学校关联起来)
一、后台三步骤:
1、打开projectName文件,在models目录下创建student.js文件,接着文件操作:
constmongoose=require('mongoose')constSchema=mongoose.Schemaconstfeld={name:String,age:Number,student_number:Number,gender:String,school:{type:Schema.Types.ObjectId,ref:'School'},academy:{type:Schema.Types.ObjectId,ref:'Academy'},classs:{type:Schema.Types.ObjectId,ref:'Classs'}}//自动添加更新时间创建时间:letpersonSchema=newmongoose.Schema(feld,{timestamps:{createdAt:'created',updatedAt:'updated'}})module.exports=mongoose.model('Student',personSchema)
2、找到projectName下的routes目录,创建student.js文件:
constrouter=require('koa-router')()letModel=require("../db/models/student");router.prefix('/student')router.get('/',function(ctx,next){ctx.body='this is a users response!'})router.post('/add',asyncfunction(ctx,next){console.log(ctx.request.body)letmodel=newModel(ctx.request.body);model=awaitmodel.save();console.log('user',model)ctx.body=model})router.post('/find',asyncfunction(ctx,next){letmodels=awaitModel.find({}).populate('classs').populate('academy').populate('school')ctx.body=models})router.post('/get',asyncfunction(ctx,next){// let users = await User.// find({})console.log(ctx.request.body)letmodel=awaitModel.find(ctx.request.body)console.log(model)ctx.body=model})router.post('/update',asyncfunction(ctx,next){console.log(ctx.request.body)letpbj=awaitModel.update({_id:ctx.request.body._id},ctx.request.body);ctx.body=pbj})router.post('/delete',asyncfunction(ctx,next){console.log(ctx.request.body)awaitModel.remove({_id:ctx.request.body._id});ctx.body='shibai '})module.exports=router
3.在app.js中挂载路由:
constclasss=require('./routes/student')app.use(student.routes(),student.allowedMethods())
二、前台三步骤:
打开vue-admin-template-master文件,在src/views目录下创建一个student模块,并在student目录下创建vue文件。
1.editor.vue为编辑文件,用于创建班级记录;
添加学生.png
立即创建取消