84 lines
3.5 KiB
HTML
84 lines
3.5 KiB
HTML
{% extends 'base.html' %}
|
|
|
|
{% block title %}批量导入图书 - 图书管理系统{% endblock %}
|
|
|
|
{% block head %}
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/book-import.css') }}">
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="import-container">
|
|
<div class="page-header">
|
|
<h1>批量导入图书</h1>
|
|
<a href="{{ url_for('book.book_list') }}" class="btn btn-secondary">
|
|
<i class="fas fa-arrow-left"></i> 返回图书列表
|
|
</a>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-8 offset-md-2">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h4>Excel文件导入</h4>
|
|
</div>
|
|
<div class="card-body">
|
|
<form method="POST" enctype="multipart/form-data">
|
|
<div class="form-group">
|
|
<label for="file">选择Excel文件</label>
|
|
<div class="custom-file">
|
|
<input type="file" class="custom-file-input" id="file" name="file" accept=".xlsx, .xls" required>
|
|
<label class="custom-file-label" for="file">选择文件...</label>
|
|
</div>
|
|
<small class="form-text text-muted">支持的文件格式: .xlsx, .xls</small>
|
|
</div>
|
|
|
|
<button type="submit" class="btn btn-primary btn-lg btn-block">
|
|
<i class="fas fa-upload"></i> 开始导入
|
|
</button>
|
|
</form>
|
|
|
|
<hr>
|
|
|
|
<div class="import-instructions">
|
|
<h5>导入说明:</h5>
|
|
<ul>
|
|
<li>Excel文件须包含以下列 (标题行必须与下列完全一致):</li>
|
|
<li class="required-field">title - 图书标题 (必填)</li>
|
|
<li class="required-field">author - 作者名称 (必填)</li>
|
|
<li>publisher - 出版社</li>
|
|
<li>category_id - 分类ID (对应系统中的分类ID)</li>
|
|
<li>tags - 标签 (多个标签用逗号分隔)</li>
|
|
<li>isbn - ISBN编号 (建议唯一)</li>
|
|
<li>publish_year - 出版年份</li>
|
|
<li>description - 图书简介</li>
|
|
<li>cover_url - 封面图片URL</li>
|
|
<li>stock - 库存数量</li>
|
|
<li>price - 价格</li>
|
|
</ul>
|
|
|
|
<div class="template-download">
|
|
<p>下载导入模板:</p>
|
|
<a href="{{ url_for('static', filename='templates/book_import_template.xlsx') }}" class="btn btn-outline-primary">
|
|
<i class="fas fa-download"></i> 下载Excel模板
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block scripts %}
|
|
<script>
|
|
$(document).ready(function() {
|
|
// 显示选择的文件名
|
|
$('.custom-file-input').on('change', function() {
|
|
const fileName = $(this).val().split('\\').pop();
|
|
$(this).next('.custom-file-label').html(fileName);
|
|
});
|
|
});
|
|
</script>
|
|
{% endblock %}
|