<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<link rel="stylesheet" href="./lib/bootstrap-v4.6.0.css" />
<style>
:root {
font-size: 15px;
}
body {
padding-top: 15px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-sm-8">
<table class="table table-bordered table-striped table-dark table-hover text-center">
<thead>
<tr>
<th scope="col">Id</th>
<th scope="col">书名</th>
<th scope="col">作者</th>
<th scope="col">出版社</th>
<th scope="col">操作</th>
</tr>
</thead>
<tbody>
</tr>
</tbody>
</table>
</div>
<div class="col-sm-4">
<div class="card text-white bg-secondary sticky-top">
<div class="card-header">添加新图书</div>
<form class="card-body bg-light" id="addForm">
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">书名</span>
</div>
<input type="text" class="form-control bookname" placeholder="请输入图书名称" name="bookname" />
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">作者</span>
</div>
<input type="text" class="form-control" placeholder="请输入作者名字" name="author" />
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">出版社</span>
</div>
<input type="text" class="form-control" placeholder="请输入出版社名称" name="publisher" />
</div>
<button class="btn btn-dark btnadd" type="submit">添加</button>
</form>
</div>
</div>
</div>
</div>
<div class="modal fade" id="editModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">编辑</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form class="card-body bg-light" id="addForm">
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">书名</span>
</div>
<input type="text" class="form-control bookname" placeholder="请输入图书名称" name="editbookname" />
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">作者</span>
</div>
<input type="text" class="form-control" placeholder="请输入作者名字" name="editauthor" />
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">出版社</span>
</div>
<input type="text" class="form-control" placeholder="请输入出版社名称" name="editpublisher" />
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">
取消
</button>
<button type="button" class="btn btn-primary btnConfirm">
确定修改
</button>
</div>
</div>
</div>
</div>
<script src="./lib/axios.js"></script>
<script src="./lib/jquery.js"></script>
<script src="./lib/bootstrap-4.6.1-dist/js/bootstrap.js"></script>
<script>
let tbody = document.querySelector('tbody')
let btnadd = document.querySelector('.btnadd')
let bookname = document.querySelector('[name=bookname]')
let author = document.querySelector('[name=author]')
let publisher = document.querySelector('[name=publisher]')
let editbookname = document.querySelector('[name=editbookname]')
let editauthor = document.querySelector('[name=editauthor]')
let editpublisher = document.querySelector('[name=editpublisher]')
let btnConfirm = document.querySelector('.btnConfirm')
function init() {
axios({
url: 'http://www.itcbc.com:3006/api/getbooks',
method: 'get'
}).then(res => {
console.log(res.data.data)
let str = ''
res.data.data.forEach((value, index) => {
str += `<tr>
<th scope="row">${index + 1}</th>
<td>${value.bookname}</td>
<td>${value.author}</td>
<td>${value.publisher}</td>
<td>
<button data-id='${value.id}'
type="button"
class="btn btn-link btn-sm btndel">
删除
</button>
<button data-id='${value.id}'
data-bookname='${value.bookname}'
data-author='${value.author}'
data-publisher='${value.publisher}'
type="button"
class="btn btn-link btn-sm btnedit">
编辑
</button>
</td>
</tr>`
})
tbody.innerHTML = str
})
}
init()
btnadd.addEventListener('click', function (e) {
e.preventDefault()
axios({
url: "http://www.itcbc.com:3006/api/addbook",
method: 'POST',
data: {
bookname: bookname.value,
author: author.value,
publisher: publisher.value
}
}).then(result => {
console.log(result)
alert(result.data.message)
init()
})
})
tbody.addEventListener('click', function (e) {
if (e.target.classList.contains('btndel')) {
let id = e.target.dataset.id
console.log(id)
axios({
url: 'http://www.itcbc.com:3006/api/delbook',
params: { id },
method: 'delete'
}).then(result => {
console.log(result)
alert('删除成功')
init()
})
}
})
let Id
tbody.addEventListener('click', function (e) {
if (e.target.classList.contains('btnedit')) {
$('#editModal').modal('show')
let data = e.target.dataset
id = data.id
alert(id)
editbookname.value = data.bookname
editauthor.value = data.author
editpublisher.value = data.publisher
}
})
btnConfirm.addEventListener('click', function () {
let data = {
id: id,
bookname: bookname.value,
author: author.value,
publisher: publisher.value
}
console.log(data)
axios({
url: 'http://www.itcbc.com:3006/api/updatebook',
method: 'PUT',
data
}).then(result => {
alert('编辑成功')
$('#editModal').modal('hide')
init()
})
})
</script>
</body>
</html>