「开源免费」基于 Vue 和 Quasar 的前端 SPA 项目 crudapi 后台管理系统实战之序列号自定义组件(四)
基于 Vue 和 Quasar 的前端 SPA 项目实战之序列号(四)
回顾
通过上一篇文章 基于Vue和Quasar的前端SPA项目实战之布局菜单(三)的介绍,我们已经完成了布局菜单,本文主要介绍序列号功能的实现。
简介
MySQL 数据库没有单独的 Sequence,只支持自增长(increment)主键,但是不能设置步长、开始索引、格式等,最重要的是一张表只能由一个字段使用自增,但有的时候我们需要多个字段实现序列号功能或者需要支持复杂格式,MySQL 本身是实现不了的,所以 crudapi 封装了复杂序列号,支持字符串和数字,自定义格式,也可以设置为时间戳。可以用于产品编码、订单流水号等场景!
UI 界面
序列号列表
创建序列号
编辑序列号
API
序列号 API 包括基本的 CRUD 操作,具体的通过 swagger 文档可以查看。通过 axios 封装 api,名称为 metadataSequence
增删改查
通过列表页面,新建页面和编辑页面实现了序列号基本的 crud 操作,其中新建和编辑页面类似,普通的表单提交,这里就不详细介介绍了,直接查看代码即可。对于列表查询页面,用到了自定义组件,这里重点介绍了一下自定义组件相关知识。
自定义 component
序列号列表页面中用到了分页控件,因为其它列表页面也会用到,所以适合封装成 component, 名称为 CPage。主要功能包括:设置每页的条目个数,切换分页,统一样式等。
核心代码
首先在 components 目录下创建文件夹 CPage,然后创建 CPage.vue 和 index.js 文件。
CPage/CPage.vue
用到了 q-pagination 控件
CPage/index.js
实现 install 方法
CPage 使用
全局配置
首先,创建 boot/cpage.js 文件
然后,在 quasar.conf.js 里面 boot 节点添加 cpage,这样 Quasar 就会自动加载 cpage。
应用
在序列号列表中通过标签 CPage 使用
当切换分页的时候,通过 @input 回调,传递当前页数和每页个数给父页面,然后通过 API 获取对应的序列号列表。
小结
本文主要介绍了元数据中序列号功能,用到了 q-pagination 分页控件,并且封装成自定义组件 cpage, 然后实现了序列号的 crud 增删改查功能,下一章会介绍元数据中表定义功能。
demo 演示
官网地址:https://crudapi.cn
测试地址:https://demo.crudapi.cn/crudapi/login
附源码地址
GitHub 地址
https://github.com/crudapi/crudapi-admin-web
Gitee 地址
https://gitee.com/crudapi/crudapi-admin-web
由于网络原因,GitHub 可能速度慢,改成访问 Gitee 即可,代码同步更新。
版权声明: 本文为 InfoQ 作者【crudapi】的原创文章。
原文链接:【http://xie.infoq.cn/article/ad3c8b41ace36079780c33cf2】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论