4

目標(biāo):創(chuàng)建班級(jí)管理模塊(班級(jí)和學(xué)院贴捡、學(xué)校關(guān)聯(lián)起來(lái))

一猴仑、后臺(tái)三步驟:

1、打開(kāi)projectName文件芥被,在models目錄下創(chuàng)建classs.js文件欧宜,接著文件操作:

constmongoose=require('mongoose')constSchema=mongoose.Schemaconstfeld={name:String,//人物標(biāo)簽level:String,renshu:Number,school:{type:Schema.Types.ObjectId,ref:'School'},academy:{type:Schema.Types.ObjectId,ref:'Academy'}}//自動(dòng)添加更新時(shí)間創(chuàng)建時(shí)間:letpersonSchema=newmongoose.Schema(feld,{timestamps:{createdAt:'created',updatedAt:'updated'}})module.exports=mongoose.model('Classs',personSchema)

2、找到projectName下的routes目錄拴魄,創(chuàng)建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())

二冗茸、前臺(tái)三步驟:

打開(kāi)vue-admin-template-master文件,在src/views目錄下創(chuàng)建一個(gè)classs模塊匹中,并在academy目錄下創(chuàng)建vue文件夏漱。

1.editor.vue為編輯文件,用于創(chuàng)建班級(jí)記錄顶捷;

班級(jí)添加.png

<template><divclass="dashboard-container"><el-formref="form":model="form"label-width="80px"><el-form-itemlabel="所屬學(xué)校"><el-selectv-model="form.school"placeholder="請(qǐng)選擇"@change="schoolChange"><el-optionv-for="item in schools":key="item._id":label="item.name":value="item._id"></el-option></el-select></el-form-item><!--? ? ? 編輯框:學(xué)院選擇列表--><el-form-itemlabel="所屬學(xué)院"><el-selectv-model="form.academy"placeholder="請(qǐng)選擇"><el-optionv-for="item in academys":key="item._id":label="item.name":value="item._id"></el-option></el-select></el-form-item><el-form-itemlabel="班級(jí)名稱"><el-inputv-model="form.name"></el-input></el-form-item><el-form-itemlabel="專業(yè)"><el-inputv-model="form.level"></el-input></el-form-item><el-form-itemlabel="人數(shù)"><el-inputv-model="form.renshu"></el-input></el-form-item><el-form-item><el-buttontype="primary"@click="onSubmit">立即創(chuàng)建</el-button><el-button>取消</el-button></el-form-item></el-form></div></template><script>import { mapGetters } from 'vuex'? export default {? ? name: 'classs',? ? computed: {? ? ? ...mapGetters([? ? ? ? 'name'? ? ? ])? ? },? ? data(){? ? ? return{? ? ? ? schools:[],? ? ? ? academys:[],? ? ? ? //列表內(nèi)容? ? ? ? options: [? ? ? ? ],? ? ? ? apiModel:'classs',? ? ? ? form:{}? ? ? }? ? },? ? methods:{? ? ? onSubmit(){? ? ? ? if(this.form._id){? ? ? ? ? this.$http.post(`/api/${this.apiModel}/update`,this.form).then(res => {? ? ? ? ? ? console.log('bar:', res)? ? ? ? ? ? this.$router.push({path:this.apiModel})? ? ? ? ? ? this.form={}? ? ? ? ? })? ? ? ? }else? ? ? ? {? ? ? ? ? this.$http.post('/api/'+this.apiModel+'/add',this.form).then(res => {? ? ? ? ? ? console.log('bar:', res)? ? ? ? ? ? this.$router.push({path:this.apiModel})? ? ? ? ? ? this.form={}? ? ? ? ? })? ? ? ? }? ? ? },? ? ? schoolChange(val1){? ? ? ? //顯示學(xué)院選擇欄目? ? ? ? this.$http.post('/api/academy/get',{school:val1}).then(res => {? ? ? ? ? if(res&&res.length>0){? ? ? ? ? ? this.academys = res? ? ? ? ? ? console.log('res:', res)? ? ? ? ? }? ? ? ? })? ? ? }? ? },? ? mounted() {? ? ? if(this.$route.query._id){? ? ? ? this.$http.post('/api/'+this.apiModel+'/get',{_id:this.$route.query._id}).then(res => {? ? ? ? ? if(res&&res.length>0){? ? ? ? ? ? this.form = res[0]? ? ? ? ? ? this.schoolChange(this.form.school)? ? ? ? ? }? ? ? ? })? ? ? }? ? ? //顯示學(xué)校選擇欄目? ? ? this.$http.post('/api/school/find').then(res => {? ? ? ? if(res&&res.length>0){? ? ? ? ? this.schools = res? ? ? ? ? console.log('res:', res)? ? ? ? }? ? ? })? ? }? }</script><stylelang="scss"scoped>.dashboard {? ? &-container {? ? ? margin: 30px;? ? }? ? &-text {? ? ? font-size: 30px;? ? ? line-height: 46px;? ? }? }</style>

2.index.vue為目錄文件麻蹋,用于顯示結(jié)果;

班級(jí)管理.png

<template><divclass="dashboard-container"><el-table:data="users"style="width: 100%":row-class-name="tableRowClassName"><el-table-columnprop="name"label="班級(jí)名稱"width="180"></el-table-column><el-table-columnprop="level"label="專業(yè)"width="180"></el-table-column><el-table-columnprop="renshu"label="人數(shù)"></el-table-column><!--? ? ? 列表添加項(xiàng)目

--><el-table-columnprop="school"label="學(xué)校名稱"width="180"><templateslot-scope="scope"><spanclass=""v-if="scope.row.school"><el-tag:type="scope.row.school.name === '深圳信息職業(yè)技術(shù)學(xué)院' ? 'primary' : 'success'"disable-transitions>{{scope.row.school.name}}</el-tag></span></template></el-table-column><el-table-columnprop="academy"label="學(xué)院名稱"width="180"><templateslot-scope="scope"><spanclass=""v-if="scope.row.academy"><el-tag:type="scope.row.academy.name === '軟件學(xué)院' ? 'primary' : 'success'"disable-transitions>{{scope.row.academy.name}}</el-tag></span></template></el-table-column><el-table-columnlabel="操作"><templateslot-scope="scope"><el-buttonsize="mini"@click="handleEdit(scope.$index, scope.row)">編輯</el-button><el-buttonsize="mini"type="danger"@click="handleDelete(scope.$index, scope.row)">刪除</el-button></template></el-table-column></el-table></div></template><script>import { mapGetters } from 'vuex'? export default {? ? name: 'classs',? ? computed: {? ? ? ...mapGetters([? ? ? ? 'name'? ? ? ])? ? },? ? data() {? ? ? return {? ? ? ? apiModel:'classs',? ? ? ? users: {}? ? ? }? ? },? ? methods: {? ? ? onSubmit() {? ? ? ? console.log(123434)? ? ? },? ? ? handleEdit(index, item) {? ? ? ? this.$router.push({ path: '/'+this.apiModel+'/editor', query: {_id:item._id} })? ? ? },? ? ? handleDelete(index, item) {? ? ? ? this.$http.post('/api/'+this.apiModel+'/delete', item).then(res => {? ? ? ? ? console.log('res:', res)? ? ? ? ? this.findUser()? ? ? ? })? ? ? },? ? ? findUser(){? ? ? ? this.$http.post('/api/'+this.apiModel+'/find', this.user).then(res => {? ? ? ? ? console.log('res:', res)? ? ? ? ? this.users = res? ? ? ? })? ? ? }? ? },? ? mounted() {? ? ? this.findUser()? ? }? }</script><stylelang="scss"scoped>.dashboard {? ? &-container {? ? ? margin: 30px;? ? }? ? &-text {? ? ? font-size: 30px;? ? ? line-height: 46px;? ? }? }</style>

3.在index.js中添加路由:

{path:'/classs',component:Layout,meta:{title:'班級(jí)管理',icon:'example'},redirect:'/classs',children:[{path:'classs',name:'classs',component:()=>import('@/views/classs'),meta:{title:'班級(jí)管理',icon:'classs'}},{path:'editor',name:'editor',component:()=>import('@/views/classs/editor'),meta:{title:'添加班級(jí)',icon:'classs'}}]},

作者:去年的牛肉

鏈接:http://www.reibang.com/p/2bcfad54d0ba

來(lái)源:簡(jiǎn)書

著作權(quán)歸作者所有焊切。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)扮授,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末专肪,一起剝皮案震驚了整個(gè)濱河市刹勃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嚎尤,老刑警劉巖荔仁,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異芽死,居然都是意外死亡乏梁,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門关贵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)遇骑,“玉大人,你說(shuō)我怎么就攤上這事揖曾÷湮” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵炭剪,是天一觀的道長(zhǎng)练链。 經(jīng)常有香客問(wèn)我,道長(zhǎng)奴拦,這世上最難降的妖魔是什么媒鼓? 我笑而不...
    開(kāi)封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上绿鸣,老公的妹妹穿的比我還像新娘瓷产。我一直安慰自己,他們只是感情好枚驻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布濒旦。 她就那樣靜靜地躺著,像睡著了一般再登。 火紅的嫁衣襯著肌膚如雪尔邓。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天锉矢,我揣著相機(jī)與錄音梯嗽,去河邊找鬼。 笑死沽损,一個(gè)胖子當(dāng)著我的面吹牛灯节,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播绵估,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼炎疆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了国裳?” 一聲冷哼從身側(cè)響起形入,我...
    開(kāi)封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎缝左,沒(méi)想到半個(gè)月后亿遂,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡渺杉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年蛇数,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片是越。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡耳舅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出英妓,到底是詐尸還是另有隱情挽放,我是刑警寧澤绍赛,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布蔓纠,位于F島的核電站,受9級(jí)特大地震影響吗蚌,放射性物質(zhì)發(fā)生泄漏腿倚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一蚯妇、第九天 我趴在偏房一處隱蔽的房頂上張望敷燎。 院中可真熱鬧暂筝,春花似錦、人聲如沸硬贯。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)饭豹。三九已至鸵赖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拄衰,已是汗流浹背它褪。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留翘悉,地道東北人茫打。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像妖混,于是被迫代替她去往敵國(guó)和親老赤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 目標(biāo):創(chuàng)建班級(jí)管理模塊(班級(jí)和學(xué)院制市、學(xué)校關(guān)聯(lián)起來(lái)) 一诗越、后臺(tái)三步驟: 1、在db->models目錄下創(chuàng)建clas...
    小甜甜甜甜椒閱讀 360評(píng)論 0 0
  • 第一步:創(chuàng)建集群 image.png 如果已經(jīng)有了集群的界面如下 image.png 第二步:創(chuàng)建用戶(注意記住帳...
    羅雙海閱讀 242評(píng)論 0 0
  • 第一步:創(chuàng)建集群 image.png 如果已經(jīng)有了集群的界面如下 image.png 第二步:創(chuàng)建用戶(注意記住帳...
    張鈺張鈺張鈺閱讀 304評(píng)論 0 0
  • 目標(biāo):創(chuàng)建班級(jí)管理模塊(班級(jí)和學(xué)院息堂、學(xué)校關(guān)聯(lián)起來(lái)) 一嚷狞、后臺(tái)三步驟: 1、打開(kāi)projectName文件荣堰,在mod...
    不留遺憾_dd5b閱讀 120評(píng)論 0 0
  • ### 1.安裝 nodejs ### 2.安裝 git ### 3.下載 [vue-element-admin]...
    gogogo_e6cf閱讀 363評(píng)論 0 0