档案信息管理系统设计与实现(vue + java +Ajax)
由于这是一个完整的系统,我们需要提供的是系统的核心部分,比如前端的Vue组件部分和后端的Java控制器部分。
前端Vue组件示例(部分):
<template>
<div>
<input type="text" v-model="searchQuery" placeholder="搜索档案" />
<table>
<thead>
<tr>
<th>编号</th>
<th>档案名称</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr v-for="archive in filteredArchives" :key="archive.id">
<td>{{ archive.id }}</td>
<td>{{ archive.name }}</td>
<td>
<button @click="deleteArchive(archive.id)">删除</button>
</td>
</tr>
</tbody>
</table>
</div>
</template>
<script>
export default {
data() {
return {
searchQuery: '',
archives: []
};
},
created() {
this.fetchArchives();
},
methods: {
fetchArchives() {
// 使用Ajax获取所有档案信息
$.ajax({
url: '/api/archives',
success: (data) => {
this.archives = data;
}
});
},
deleteArchive(archiveId) {
// 发送删除请求
$.ajax({
url: `/api/archives/${archiveId}`,
type: 'DELETE',
success: () => {
this.fetchArchives();
}
});
}
},
computed: {
filteredArchives() {
return this.archives.filter((archive) =>
archive.name.toLowerCase().includes(this.searchQuery.toLowerCase())
);
}
}
};
</script>
后端Java Spring Boot控制器示例:
@RestController
@RequestMapping("/api/archives")
public class ArchiveController {
@Autowired
private ArchiveService archiveService;
@GetMapping
public List<Archive> getAllArchives() {
return archiveService.findAll();
}
@GetMapping("/{id}")
public Archive getArchiveById(@PathVariable Long id) {
return archiveService.findById(id);
}
@PostMapping
public Archive createArchive(@RequestBody Archive archive) {
return archiveService.save(archive);
}
@PutMapping("/{id}")
public Archive updateArchive(@PathVariable Long id, @RequestBody Archive archive) {
archive.setId(id);
return archiveService.save(archive);
}
@DeleteMapping("/{id}")
public void deleteArchive(@PathVariable Long id) {
archiveService.deleteById(id);
}
}
这两个示例都是非常基础的代码,展示了如何使用Vue和Java Spring Boot创建一个简单的档案管理界面。在实际的系统中,你需要为每个操作实现更复杂的逻辑,比如处理错误、验证输入、分页显示数据等。
评论已关闭