柔晶美网络工作室

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

关注我 微信公众号

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

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元(个人版);二是填写相应资料要提交苹果公司审核通过才能上架。

九、 文件管理

后台点击左边菜单的文件管理,可以对用户上传的文件进行管理。可以方便的进行上传新建、重命名或移动、查看编辑和删除。


十、系统更新

后台点击系统更新,如果有新版本,会显示可更新,以及更新的内容。点击更新即可完成自动升级。

文章评论


需要 登录 才能发表评论
热门评论
1条评论
admin 2021-02-19 00:09:06
单图导出正常,多图导出无图片