柔晶美网络工作室

柔晶美网络工作室,倾心于web技术的博客站点

关注我 微信公众号

您现在的位置是: 首页 > 博客日记

Excel通用填报系统Laravel8.0重构版设计思路

2020-09-25 admin laravel  1509

2020年1月,根据众多用户的反馈,重构了PHP简化版的通用查询系统,功能增加了许多。系统由两个部分组成:查询系统+填报系统,对接公众号关键词、公众号菜单、微信小程序、电脑客户端等。

查询系统类似于易查分,不过更加自由易用,无任何限制,适应于成绩、水电、工资、物流等各种查询,只需要导入EXCEL表格即可。特色:

1. 表格导入后,字段还可以增加、删除和拖动排序;

2. 查询条件可设置无数个,可设置哪些字段内容用户可见,哪些不显示;

3. 可设置哪些字段用户可修改,比如工资查询,设置一个【反馈意见】字段,用户查询后,对工资有疑问,可以在此填写,填写后,管理员如果绑定了微信,微信上会显示此信息;

4. 可设置是否需要登录才能查询,适合保密性强的数据查询;配合用户组,可实现付费查询,计次或计时;

5. 模糊和精确搜索可随意切换,多个条件时,可设置是否需要全部填写;

6. 用户组有5个:总管理员、高级数据管理员、数据管理员、VIP、普通。可实现协同填报表格,比如总管理员上传一张表,然后数据管理员可下载此表模板填写后追加上传。数据管理员仅能查看和修改自己的数据,实现保密协同填报。

7. 证书系统,用于批量生成证书。管理员上传excel表格后,设置好证书模板,点击批量生成证书,将根据EXCEL表格的内容,批量生成证书。

填报系统类似于表单大师,对接了微信支付,数据和功能无任何限制,支持微信扫码查询,适应于报名、员工信息搜集、疫情门卫登记等各种。只需要导入EXCEL表格即可。特色:

1. 表格导入后,字段还可以增加删除和拖动排序;

2. 用户在前台可上传word、excel、PPT、PDF、ZIP等文件,支持在线预览,支持图片批量导出;

3. 设置查询条件后,可实现保密填报,并且填报后,再次进入还可以修改。

4. 拥有表单大师高级用户才有的功能:限制填报数量、定时填报、定制word模板后生成word导出等。


在使用了近一年后,又发现了众多不足,主要有以下几方面:

1. 程序没有防范CSRF攻击,攻击者可模拟POST发送恶意请求,批量抓取服务器数据。

2. 导入excel表格到数据库时,直接将表格第一行作为mysql字段,导致出现两个问题:一是不支持特殊字符,比如有空格——my name,那这个无法作为字段创建,导入失败;二是中文做字段,影响数据库性能等。

3. 填报系统字段类型太少,扩展太复杂,设置不够直观方便,字段不支持计算功能,不能自定义页面,表单太单调等。

QQ截图20200925195456.jpg

设计中的新版界面如下:

可以看出,设置字段类型和属性时,功能和可操作性好了很多,还可以自己设计前台模板。

如何让用户自己设置数据统计的公式。例如:导入或者用户填报的数据是这样的

我们添加几个虚拟字段(数值是临时保存,每次更改都覆盖掉),用来显示统计数值。

G列:总分=语文+数学+英语

H列:平均分=G列/3

然后,我们添加底部统计,比如C列语文成绩之和,在最后一行添加SUM(语文)即可。


文章评论


需要 登录 才能发表评论
热门评论
0条评论

暂时没有评论!