Excel查询填报系统2.0版本安装和使用方法
2021-01-12 admin php laravel 6361
注:千万不要用记事本修改系统上任何文件,用记事本修改文件会改变文件编码的,导致系统无法使用。建议在宝塔面板里直接修改文件,或者下载Notepad++软件编辑。
外网建议用宝塔面板安装,快捷又稳定。内网无法在线安装的,可用phpstudy,安装教程:点我查看。
开发文档:https://www.yuque.com/kangzhihua/ptvp9l/ssuuru
该源码是2021年开发的,在2020年版本的基础上,更换了laravel框架,提升了安全性和可定制性(后台可以修改各种模板、自定义菜单、自定义用户组和权限)。
该版本查询和填报在一起,可在后台自由切换,20多种表单字段类型,支持单选、多选、联动下拉、单图多图、单文件多文件上传,支持审核(审核通过后数据锁定),支持微信和支付宝支付,支持微信一键登录和扫码登录,支持公众号信息推送和自定义菜单,支持关联用户查询以实现工资等保密查询等。
在填报功能上有了很大的提升,默认有数据管理员和审核员两个用户组,数据管理员可用于协同填报,多单位多人填报一个表格,并且每个人只能看到自己的数据,总管理员可将数据全部导出。
该系统是全端发布,含各家的小程序源码、安卓APP和苹果APP(需要自己申请开发者账号上架)
微信小程序体验:
安卓app:点击下载
一、安装方法
环境要求:
php7.3 - 8.0
mysql5.7或以上
nginx、apache或IIS
操作系统:linux或windows
最佳环境:linux php7.3 + mysql5.7 + nginx
为了更顺利地安装,减少环境导致的问题,尽量下载宝塔面板安装:bt.cn,然后注意以下几个细节:
1. PHP拓展和禁用函数
需要安装的拓展:fileinfo、redis、exif
注:有时新安装的Redis扩展,打开网站提示未找到Redis,可点击软件商店->运行环境,看看有没有安装Redis,如果安装了,卸载重装后重启PHP即可。
需要从禁用函数中删除的(也可看报错来删除),一般删除putenv就可以了:
2. 站点设置
伪静态选择laravel5,运行目录为public,public目录下有一个.user.ini的文件,将里面的网址修改为自己的,或者直接删除这个文件(也可在面板关闭,再开启防跨站,自动修改):
3. 修改配置文件
根目录下的.env文件(注意在windows中可能看不到该文件,可直接创建一个,再粘贴内容),这个配置文件有几处必须修改正确:
首先是数据库名及其用户名和密码:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dj_ydjkt_net
DB_USERNAME=dj_ydjkt_net
DB_PASSWORD=bpTHKnBt4zaPHc3E
然后是网址和https是否启用:
APP_URL=https://dj.ydjkt.net
ADMIN_HTTPS=true
上面的网址必须注意,是https还是http,如果没有部署SSL证书那就是http,并将下面的ADMIN_HTTPS的true改为false,不然无法登录后台。
最后,将根目录下的sql文件导入到数据库中即可。注意:如果mysql版本低于5.7将导入失败。
另外,对于非宝塔面板,如果是nginx,伪静态规则请设置为:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
如果是Apache,可设置为:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
如果是IIS,可使用以下规则
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)/$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="/{R:1}" />
</rule>
<rule name="Imported Rule 2" stopProcessing="true">
<match url="^" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
二、查询填报系统使用方法
该系统将查询和填报融为一体,并可以切换自如。
1. 创建一个新的查询或填报项目
点击新增项目,输入项目名称后,有两种方式创建:一种是导入excel表,另一种是手工创建,点击新增创建字段:
每一项设置都有说明,首次使用请认真查看。可以设置开始时间,截止时间,填报数量,非常适合报名等场合。
注意,默认创建的项目,所有字段对所有用户开放,如果需要让部分用户可见,需要设置项目属性中的开放查询字段,开放查询字段为空,则用户在前台看不到该项目。
2. 设置项目属性
在项目管理处右键相应项目,点击编辑。
如果是查询项目,只需要设置查询条件和开放查询字段即可,如下图:
这样前台就能查询了。查询项目默认不需要用户登录,如果要实现用户登录查询,并且不同用户显示的内容不同,可在站点设置中开启登录后查询,然后在此设置不同用户组可查看的字段。
如果是填报项目,需要设置字段属性。点击字段设置,属性设置,对每个字段进行设置:
如果要实现用户在微信内填报,且一个项目只能填报一次,可开启微信填报。
填报项目还可以设置开始时间和结束时间,填报人数,适合报名等场合。添加一个审核字段,可实现用户填报后,后台管理员审核前可自由修改,审核通过后禁止修改。
3. 保密查询
有些场合,比如工资查询,我们不希望用户查询他人的工资,用户登录后,只能查询自己的。我们可以设置关联查询:
首先导入工资表数据,数据中有一列手机号对应用户,然后在项目中设置关联查询,选择手机,这样就可以了。用户点击该项目,如果没有登录,将自动跳转登录;如果已登录,将自动显示关联的该用户手机号的工资,实现保密 查询。
4. 数据统计
使用场合举例:用户下单,选择相应物品和数量后,自动计算总价格,然后付费结算。实现方法,在字段属性中选择计算,输入公式即可:
5. 项目创建后,修改字段名或添加字段
注意,该操作有风险,可能损坏数据,因此尽量在创建项目时就设计好字段,不要在使用过程中修改。为防止在使用过程中修改导致出错,可以站点设置中,开启【禁止编辑有数据项目】开关:
6. 用户填报后,自动根据设计的证书,生成证书图片
使用场景:用户报名,填报完表单后,根据模板和填报内容,自动生成一张证书图片,展示给用户查看或下载。使用方法:点击查询填报,证书模板,然后点击新增,上传底图,设置字段的位置等后保存。
怎样在填报过程中调用呢?点击项目管理,右键编辑,点击字段设置,属性设置,下拉选择一个存放证书图片的字段,字段类型设置为证书,选择证书模板即可。
7. 用户填报后,自动根据设计的word模板,生成word文件给用户查看和下载
使用场景:用户报名,填报完后,自动生成报名信息表word文件,用户下载打印后,在现场报名时上交查验。调用方法和上面的证书模板一样,仅仅word模板的制作不同。
word模板制作方法:首先,要下载office2007以上版本(确保能编辑保存docx后缀的word文件),然后
(1) 先在word中设计好报名信息登录表的样式等,如下图:
(2)设计好后,将word另存为Word-XML文档:
(3)在这个Word-XML文档上,填写学生报名填写的相应字段名(本程序中应以k1,k2这样的作为字段名),并放在${}的括号中间,注意不要有空格。如下图
注意,上面word模板中添加的k0等字段,要对应模板设置中的变量:
再将这个xml文档,另存为docx格式的word文档(默认最上面第一个),这样模板文件就制作完成了。 进后台,在查询填报,word模板菜单中,新增一个模板,上传刚才的docx文件。然后预览模板:
下载生成的word,打开查看效果,如果正确,就可以设置在填报中生成word了:
如果没有审核字段,用户在填报数据后,会自动根据选择的模板,生成填报好的word,可下载打印;如果设置了审核字段,那么填报后不会自动生成,审核员在后台审核通过后,才会生成word。
8. 联动下拉的设置
联动下拉常见的使用场合是省市县选择,还有学校、年级和班级选择。本系统支持自定义联动数据,最多支持5级联动,如省市县乡村选择。使用时,需要先在excel中填写好联动数据,a1表示第一级联动(省),a2为二级联动(市),以此类推。具体示例可点击查询填报->联动数据中的模板查看。
然后,项目管理,字段属性设置中,依次指定相应字段为联动下拉的123等相应联动级,指定联动表即可。
9. 查询填报模板
本系统支持自定义背景和logo版权,可点击查询填报->填报模板,右键编辑修改现在模板,版权设置支持html代码,如需更个性化的设置,可修改resources/views/cxtb目录下的模板文件。
三、支付设置
本系统表单支持在线支付,可设置支付金额,用户填报后进入支付,并记录支付单号。前提是:先申请好微信或支付宝支付,比如微信支付,需要认证的服务号和商户号,然后在后台的站点设置中,点击微信登录设置相应key,并设置授权域名等。
填写微信支付设置商户号,最后在商户号后台设置支付目录和回调地址。
表单设置支付字段用来记录单号,在项目管理,字段属性设置中,将该字段设置为支付,并填写金额即可。
支付的环节比较复杂,支付方式包括pc、wap、公众号等,设置繁琐,因此要非常细致,一个出错就无法支付。
四、 微信公众号和消息推送
从2.1.0版本开始,支持公众号消息模板的设计和推送,以及自定义菜单管理。使用的前提是,需要有认证的服务号,并在站点设置微信登录中,添加相应参数,请根据后台图片的提示填写,网址更改为自己的,必须https访问。
然后登录后台,点击左侧菜单微信公众号=>消息模板,添加一个消息模板。系统默认推送微信登录和扫码登录的信息。
五、 协同填报
有时我们需要上传一个表,设置好表格属性后,给许多人填报或批量导入,但每个人只能看到和管理自己的数据,不能看到他人的,我们可使用数据管理员完成这个功能:
点击查询填报,右键项目,编辑,在数据管理中点击指定的人员为数据管理员后提交。数据管理员登录后,可看到自己有权管理的项目,点击项目名称进入后,可以手动填报数据,也可追加导入excel表。每个数据管理员只能看到自己的数据,确保安全性。
还有一种需求是,我们要让数据管理员能看到表的全部数据,而不仅仅是自己的数据,这时,要以站点设置中,开启【超级数据管理员】开关。
六、 数据审核
项目中添加一个审核字段,设置好审核选项用/分割,并设置在什么状态下禁止修改,如下图:
实现的功能是:用户填报数据后,默认为未审核,我们添加一个审核员,审核员只能查看数据和修改审核状态:
审核员如果将审核状态修改为审核通过,该行数据将锁定,用户在前台只能查询数据,不能再修改数据。
七、小程序部署
下载好微信开发者工具,在网站根目录下的小程序源码压缩包下载回来解压,用开发者工具导入目录,输入自己小程序的appid。
载入完成后,在开发者工具里,修改common/main.js中的网站为自己的:
注意必须有ssl证书,而且是腾讯认可的,不允许 http访问。如果网址正确的话,应该能出来数据了。
小程序中的有关配置,可以在网站后台设置。点击站点设置->小程序,根据提示输入相应参数即可。
目前默认只保存了微信小程序源码,如果需要百度、支付宝、抖音等平台的小程序,可以联系我索取。
八、安卓、苹果APP
安卓App只需要修改网址即可生成,然后就可以将文件发给员工安装了(如果要上架各应用市场的话,需要自己去做各种认证,每家要求都不同);
苹果APP也可生成,但上架到appstore,一是需要注册苹果开发者,每年费用688元(个人版);二是填写相应资料要提交苹果公司审核通过才能上架。
九、 文件管理
后台点击左边菜单的文件管理,可以对用户上传的文件进行管理。可以方便的进行上传新建、重命名或移动、查看编辑和删除。
十、系统更新
后台点击系统更新,如果有新版本,会显示可更新,以及更新的内容。点击更新即可完成自动升级。