## 前端
<template>
<div>
<!-- <div>{{ ContentList }}</div> -->
<div>
<button style="background-color:rgba(0,0,0,0);border: 0px; float: left;">会议室列表</button>
<el-button type="primary" @click="dialogVisible = true" style="float:right">添加</el-button>
</div>
<div>
<el-table :data="ContentList" style="width: 100%">
<el-table-column prop="id" label="ID" width="80">
</el-table-column>
<el-table-column prop="zuzhi" label="组织" width="80">
</el-table-column>
<el-table-column prop="mingcheng" label="会议室名称" width="120">
</el-table-column>
<el-table-column prop="weizhi" label="会议室位置" width="120">
</el-table-column>
<el-table-column prop="rongliang" label="参考容量" width="90">
</el-table-column>
<el-table-column prop="shebei" label="内部设备" width="150">
</el-table-column>
<el-table-column prop="zhuangtai" label="状态" width="60">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-link type="primary">
<i class="el-icon-edit"><i @click="getones(scope.row.id)">编辑</i></i>
</el-link>
<el-link type="danger" @click="del(scope.row.id)">删除</el-link>
</template>
</el-table-column>
</el-table>
<el-dialog title="添加会议" :visible.sync="dialogVisible" width="50%">
<el-form ref="form" :model="form" label-width="100px">
<el-form-item label="组织">
<el-input v-model="form.zuzhi"></el-input>
</el-form-item>
<el-form-item label="会议室名称">
<el-input v-model="form.mingcheng"></el-input>
</el-form-item>
<el-form-item label="会议室位置">
<el-input v-model="form.weizhi"></el-input>
</el-form-item>
<el-form-item label="参考容量">
<el-input v-model="form.rongliang"></el-input>
</el-form-item>
<el-form-item label="内部设备">
<el-input v-model="form.shebei"></el-input>
</el-form-item>
<el-form-item label="状态">
<el-input v-model="form.zhuangtai"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="Post_d">添 加</el-button>
</span>
</el-dialog>
<el-dialog title="修改会议" :visible.sync="dialogVisible2" width="50%">
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="组织">
<el-input v-model="form2.zuzhi"></el-input>
</el-form-item>
<el-form-item label="会议室名称">
<el-input v-model="form2.mingcheng"></el-input>
</el-form-item>
<el-form-item label="会议室位置">
<el-input v-model="form2.weizhi"></el-input>
</el-form-item>
<el-form-item label="参考容量">
<el-input v-model="form2.rongliang"></el-input>
</el-form-item>
<el-form-item label="内部设备">
<el-input v-model="form2.shebei"></el-input>
</el-form-item>
<el-form-item label="状态">
<el-input v-model="form2.zhuangtai"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible2 = false">取 消</el-button>
<el-button type="primary" @click="Put_d">修 改</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<script>
import axios from 'axios';
export default {
name: 'Content',
data() {
return {
ContentList: [],
dialogVisible: false,
dialogVisible2: false,
form: {
zuzhi: '', mingcheng: '', weizhi: '', rongliang: '', shebei: '', zhuangtai: '',
},
form2: {
zuzhi: '', mingcheng: '', weizhi: '', rongliang: '', shebei: '', zhuangtai: '',
}
};
},
props: {},
components: {},
created() { },
mounted() {
this.Content()
},
methods: {
//获取所有信息
Content() {
axios.get('/myapp/MyContent/')
.then((resp) => {
console.log(resp)
this.ContentList = resp.data.ser
}).catch((err) => {
console.log(err)
});
},
//新增
Post_d() {
axios.post('/myapp/ContentApi/', this.form)
.then((resp) => {
console.log(resp)
this.$message(resp.data.msg)
this.Content()
}).catch((err) => {
console.log(err)
});
},
//获取修改数据
getones(id) {
this.dialogVisible2 = true
axios.post('/myapp/ContentApi2/' + id + '/')
.then((resp) => {
console.log(resp)
this.form2 = resp.data.ser
this.$message({
type: 'success',
message: resp.data.msg
})
}).catch((err) => {
console.log(err)
});
},
//修改
Put_d() {
console.log(this.form2.id)
axios.put('/myapp/ContentApi2/' + this.form2.id + '/', this.form2)
.then((resp) => {
console.log(resp)
this.$message(resp.data.msg)
this.dialogVisible2 = false
this.Content()
}).catch((err) => {
console.log(err)
});
},
//删除
del(id) {
axios.delete('/myapp/ContentApi2/' + id + '/')
.then((resp) => {
console.log(resp)
this.$message(resp.data.msg)
this.Content()
}).catch((err) => {
console.log(err)
});
}
},
computed: {},
watch: {},
directives: {},
filters: {}
};
</script>
<style>
</style>
## Django 模型类:
from django.db import models
# Create your models here.
class Content(models.Model):
zuzhi = models.CharField('组织', max_length=50)
mingcheng = models.CharField('会议室名称', max_length=50)
weizhi = models.CharField('会议室位置', max_length=50)
rongliang = models.CharField('参考容量', max_length=50)
shebei = models.CharField('内部设备', max_length=50)
zhuangtai = models.SmallIntegerField('状态', choices=((0, '正常状态'), (1, '异常状态')))
class Meta:
db_table = 'content'
verbose_name_plural = '会议'
def __str__(self):
return self.zuzhi
## Django 视图功能:增删改查
from django.db.models import Q
from django.shortcuts import render
# Create your views here.
from rest_framework.response import Response
from rest_framework.views import APIView
from myapp.models import Content
from myapp.serializers import MySer
# 加载用户全部信息
class MyContent(APIView):
def get(self, request):
con = Content.objects.all()
ser = MySer(con, many=True)
return Response({'code': 200, 'msg': '会议加载成功', 'ser': ser.data})
# 新增功能
class ContentApi(APIView):
def post(self, request):
zuzhi = request.data.get('zuzhi')
mingcheng = request.data.get('mingcheng')
weizhi = request.data.get('weizhi')
rongliang = request.data.get('rongliang')
shebei = request.data.get('shebei')
zhuangtai = request.data.get('zhuangtai')
if not all([zuzhi, mingcheng, weizhi, rongliang, shebei, zhuangtai]):
return Response({'code': 400, 'msg': '信息不能为空'})
Content.objects.create(
zuzhi=zuzhi, mingcheng=mingcheng, weizhi=weizhi, rongliang=rongliang,
shebei=shebei, zhuangtai=zhuangtai
)
return Response({'code': 200, 'msg': '添加成功'})
# 获取单条数据修改,及删除
class ContentApi2(APIView):
# 获取单条要修改的数据
def post(self, request, id):
data = Content.objects.filter(id=id).first()
ser = MySer(data)
return Response({'code': 200, 'msg': '会议加载成功', 'ser': ser.data})
# 实现修改
def put(self, request, id):
# con_id = request.data.get('con_id')
zuzhi = request.data.get('zuzhi')
mingcheng = request.data.get('mingcheng')
weizhi = request.data.get('weizhi')
rongliang = request.data.get('rongliang')
shebei = request.data.get('shebei')
zhuangtai = request.data.get('zhuangtai')
print(zuzhi)
try:
con = Content.objects.get(id=id)
con.zuzhi = zuzhi
con.mingcheng = mingcheng
con.weizhi = weizhi
con.rongliang = rongliang
con.shebei = shebei
con.zhuangtai = zhuangtai
con.save()
return Response({'code': 200, 'msg': '修改信息成功'})
except Exception as e:
print('>>>>', e)
return Response({'code': 400, 'msg': '获取信息失败'})
# 实现删除
def delete(self, request, id):
try:
Content.objects.get(id=id).delete()
return Response({'code': 200, 'msg': '删除信息成功'})
except:
return Response({'code': 400, 'msg': '删除信息成功'})
## Django 路由
from django.contrib import admin
from django.urls import path
from myapp import views
urlpatterns = [
path('MyContent/', views.MyContent.as_view()),
path('ContentApi/', views.ContentApi.as_view()),
path('ContentApi2/<int:id>/', views.ContentApi2.as_view()),
]