版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于小程序的S高校财务报销知识库系统设计摘要今年来,随着社会经济和科技的发展的大环境下,我国对于发票的需求日益增长发票作为各种经济活动的凭证,它是应用各种不同场合财务报销的重要依据。随着近年来国家对于国民素质的要求不断上升,据统计,2016—2020年,全国一般公共预算教育支出累计16.21万亿元,是一般公共预算第一大支出,由此不难看出国家对于高等教育的重视程度不言而喻,同时由于2020年初至今,新冠疫情在全世界范围内的大规模流行,2020年6月19日,国家医疗保障局办公室发布《关于配合做好进一步提升新冠病毒检测能力有关工作的通知》。文件提出,各地要将核酸检测及相关耗材纳入医保报销范围。[[[]石睿.“最多跑一次”高校财务报销业务流程优化分析[J].行政事业资产与财务,2020(24):83-84.[]石睿.“最多跑一次”高校财务报销业务流程优化分析[J].行政事业资产与财务,2020(24):83-84.在高校财务工作中,财务报销工作是其基础以及主要的工作范畴,是财务管理部门重要的组成部分。相关报销工作的牵涉面广、相关人员所处领域大为不同。高校财务报销工作反映校内人员经费使用者在办理与经费预算相关的各项实际发生的经济业务后,规范整理、按要求粘贴并填报好相关资料后,将经相关上级部门审批后的财务单据提交到财务处办理核算业务的过程。对于高校财务报销的流程,如何规范化的报销是当下遇到的一个瓶颈。超过七成的学生没能够一次性完成报销,因为多种原因被打回或多次进行改动后才得以报销完毕。[[][]黄明非.“最多跑一次”的高校财务报销业务流程再造探究[J].中国乡镇企业会计,2019(10):177-179.本文针对高校传统财务报销业务流程存在的问题进行分析,针对本高校师生关于财务报销方面的困扰和疑问进行调查并总结。其目的是为S学院财务报销业务流程建设优化方案并设计知识库系统以微信小程序的方式给予展现,用于学生规范化展示,支持财务信息化建设。通过软件需求分析、软件设计和软件实现等过程,完成了财务报销知识库系统的开发,以通过业务流程优化进一步提高财务报销水平,提升报销工作服务能力和师生满意度,保障高校教学和科研事业蒸蒸日上。关键词:财务报销,知识库系统,微信小程序目录摘要 11引言 61.1背景介绍 61.2研究意义 71.3研究方法及内容 72S学院财务报销调研及原因分析 82.1需求调研 82.2问题分析 123系统规划与分析 133.1系统目标与范围 133.2系统运行环境 133.2.1NodeJs 133.2.2MySQL 143.2.3微信小程序 143.3系统开发计划 153.4系统分析 153.4.1可行性分析 153.4.2系统需求分析 163.4.3系统业务流程及数据流程分析 174系统设计 184.1系统功能模块设计 184.2后台管理 184.3代码设计 204.4数据库设计 334.5输入输出页面设计 375系统实施 395.1系统硬件配置 395.2程序开发 405.3系统调试 425.4系统测试 435.5系统部署 445.5.1服务端部署: 445.5.2小程序端部署: 445.6系统维护 45引言背景介绍2021年是全面建成小康社会、实现第一个百年奋斗目标之年,是乘势而上开启全面建设社会主义现代化国家新征程、向第二个百年奋斗目标进军的开局之年。国家教育部在2021全年工作要点中明确指出:积极推进教育信息化建设,推进高等教育提质创新发展。在我国科教兴国、人才强国的战略之下,国家对于高校教育经费的投入日渐增多,促使高校财务报销业务量也呈现出爆炸式增长态势。很多高校近年都注重科技研发创新发展,人才引进、人才培养等工作也在紧锣密鼓的开展,促使财务报销业务量繁多,财务报销流程复杂、效率低等诸多问题,困扰着高校需要报销的师生和财务处的工作人员。高校财务面临报销问题时如何规范化管理这给不管是学生还是财务处工作人员带来了棘手的问题。学生不按照报销规定流程走使得效率低下,工作人员面对学生不规范问题再三纠正也变得力不从心。随着国家对教育的不断重视,越来越多的大学生涌入大学的校园,每年的毕业生人数也逐年增加,从2014年的700多万人到2020年的874万人不断刷新着大学生人数新高。[[]GuanPeng.TheResearchoftheApplicationandPromotionMethodofManagementAccountinginUniversityFinancialManagement[J].InternationalJournalofEducationandManagement,2020,5(4).]这无疑同时给各个高校的财务岗位带来了更多的压力。同时的我认为财务管理作为高校整体的一个重要组成部分,它作为高校教育事业长期健康化稳定发展的物质保证,《中华人民共和国高等教育法》的颁布使得我国公立高等院校有了相应的法人资格,在认定了其办学自主权的同时,也承担了相应的民事责任,使得高校办学变为风险管理,这一客观转变就使得高校的经营和日常活动必须要有一定的风险。[[]侯利敏.高校财务报销审核中的问题与对策[J].会计之友(中旬刊),2010(10):72-73.[]GuanPeng.TheResearchoftheApplicationandPromotionMethodofManagementAccountinginUniversityFinancialManagement[J].InternationalJournalofEducationandManagement,2020,5(4).[]侯利敏.高校财务报销审核中的问题与对策[J].会计之友(中旬刊),2010(10):72-73.同时随着社会科技和信息化的逐步发展,以及教育部印发《关于推进“互联网+教育”发展的指导意见》而不难看出国家正在以信息化为重点推进高校新型教育设施建设和高质量发展。为此探索出一套有效的如何规范化学生财务报销的知识库系统是十分有意义的,也将是本文的重点工作内容。依照此上种种背景情况,以及S学院如今内部的确切情况,展开此次S学院财务报销知识库的开发与设计,从而解决相关问题改善当下状况。研究意义由于本人以及身边同学曾经办理校内财务报销手续时遇到过不同的差错,由于我们对于报销流程规格规范化认知不足,导致我们不得不多跑了几次才能达到财务处报销标准,这大大影响了学生和财务处工作人员双方的办事效率。此次“财务报销知识库系统”的开发意义在于结合目前高校信息化建设逐步稳定的开展,统筹规范财务报销工作流程,合理安排报销工作的申报、审批、传达、领取等工作,形成规范化管理,形成清晰明了的财务报销流程,为高校师生带来了更加高效便捷的工作模式。[[]张娟娟,马巧选.谈高校财务“报销难”的原因与解决对策[J].经济师,2016(03):100-101.][]张娟娟,马巧选.谈高校财务“报销难”的原因与解决对策[J].经济师,2016(03):100-101.研究方法及内容目前高校财务报销流程一般为:财务报销人员收集整理发票、明细清单、合同等填写预约报销单;项目负责人和经办人在发票、预约报销单等材料上签字,学院审批盖;财务人员核对无误后进行制单、审核和出纳。根据S学院报销“先申报、审批,后支出、报销”的原则,收集S学院的相关报销制度,将包括差旅费、材料费、易耗品管理费、劳务费等一系列报销流程清晰的加以阐述汇总。当下微信作为人们生活中接受度,[[][]赵雪芹,王少春.微信小程序用户持续使用意愿的影响因素探究[J].现代报,2019,39(06):70-80+90.本系统使用微信开发者工具、Node.js、VisualStudio作为开发环境,运用Mysql数据库、npm中的express框架、npm中的mysql模块包、Json数据传输、Javascript等技术完成开发。前端应用响应式布局,调用小程序接口以异步请求的方式获取后端数据,便于页面及时响应。后端使用express框架快速、高效的创建和管理服务器,使用mysql模块来与Mysql数据库进行数据交互。整个开发过程采取前后端分离模式,前端通过后端的路由设计表根据需要发送相应的请求,使得以后功能模块的维护和拓展更加高效更具有可行性。S学院财务报销调研及原因分析需求调研为了发现本校(S学院)财务报销过程成中面临的一系列问题,我对于本校大一至大四年级的学生以及本校的数名教师进行时实地的进行了一次S学院学生财务报销情况调查,此次调查以问卷的形式进行,此番可以精确直观的反映出本校财务报销中学生遇到的难处以及他们所想表达的建议和感受,从而能够依据问卷结果进行相应的调整。这次问卷调查的结果如以下多个表格中呈现。由统计汇总得到,如图2-1是本校师生对于S学院报销流程是否了解的比例占比情况,在接受调查的一百名校内师生中,仅有百分之十四的人对于本校的报销流程是处于非常了解的情况,剩下百分之八十六的人对于S学院的流程还是处于比较模糊的认知程度。选项小计比例非常了解1414%略有了解5454%不了解3232%本题有效填写人次100图2-1本校师生对于报销流程了解情况由统计汇总得到,如图2-2是本校师生对于S学院对于S学院财务报流程总体评价,只有一成的受调查者认为报销流程相对比较方便快捷,剩下百分之九十的受调查者有一半的人认为比较一般,另一半的人认为流程比较繁琐。由此看来报销流程繁琐是目前导致报销低效的弊端之一。选项小计比例比较繁琐4747%一般4343%比较方便1010%本题有效填写人次100图2-2本校师生对于现在的报销流程的感受由统计汇总得到,如图2-3、2-4两图结合起来分析,分别是本校师生为了报销单据平均要跑几次的汇总以及一次就可以报销成功的概率统计。从两图中可知一次性就能够完成个人报销需求的仅仅占了不到百分之三十,而选择一次性成功报销概率在百分之九十以上的也只有三成。可见剩下七成师生在本校完成个人票据财务报销的效率是不高的。并且从数据可知还有百分之十九的人为了报销是要跑四次以上的,这极大的影响了报销者与报销工作人员双方的效率,导致彼此事倍功半选项小计比例1次2929%2-3次5252%4-5次99%5次以上1010%本题有效填写人次100图2-3本校师生单据报销成功平均需要的次数选项小计比例90%以上3434%70%-90%2929%50%-70%1515%30%-50%99%10%-30%55%10%以下88%本题有效填写人次100图2-4本校师生平均单据报销一次成功的比例由统计汇总得到,如图2-5,2-6,前表中总结出了师生具体被驳回报销的多种原因,其中占比最高的就是缺少报销所需附件,达到了一半多的比例,可见此方面问题最为普遍。在图2-6中的调查结果显示,受调查者认为阻碍财务报销效率的主要两点是报销流程不明确和报销流程繁琐,这两项投票结果都占有将近一半的比例,而这两个结果恰恰反映的都是报销流程性的问题,繁琐加上不明确,使得学生不知该如何准备报销材料以及从何进行报销手续,这样一来,为了报销达到标准多跑几次也就成了常态。总结得出报销流程要明确是当务之急。选项小计比例发票粘贴或报销单据填写不规范4141%报销流程不全(如缺乏领导审批)4747%发票内容和预算开支范围不符2020%缺少报销所需附件(如盖章清单、合同等)5252%其他2323%本题有效填写人次100图2-5本校师生认为何种问题阻碍了财务报销效率选项小计比例报销规定及相关标准流程不明确5656%报销流程太过繁琐4848%排队等候时间很长3434%财务人员服务质量较差2424%忙于科研学习工作无瑕了解报销流程1919%其他88%本题有效填写人次100图2-6本校师生认为何种问题阻碍了财务报销效率由统计汇总得到,如图2-7中为了统计学校师生们对于此情况的优化建议,其中建立建立规范化报销流程指南和提供财务报销流程模板被受调查人员提及最多均达到了六成以上,由此看出目前学校需要将各种类型报销的流程规范清楚,并提供给学生老师们一个正确的操作流程,用规范化的流程图和文字作为示范,以至于让大家一次就搞定,减少无用功。选项小计比例建立规范化报销流程指南6464%组织报销人员系统培训4848%提供财务报销流程模板6161%预审批报销单据3939%及时公告财务规定变更信息3838%本题有效填写人次100图2-7本校师生认为何种方式可以提高财务报销效率由统计汇总得到,如图2-8对于现阶段财务报销中存在的普遍存在的问题进行了汇总,并且让参与者进行了投票选出其中存在的最大的问题,其中认为问题最大的是信息化手段未能充分利用,以及投票结果占比两成的销规范化管理宣传力度不足这两点问题是硬伤,可见如今切实需要将流程化问题结合信息化手段进行宣传和指引。选项小计比例信息化手段未能充分利用3434%经费量逐年增加,有限资源供给跟不上1010%对报销反馈的主观能动性未能充分发挥99%各行政职能部门间未能充分衔接1414%报销规范化管理宣传力度不足2222%其他1111%本题有效填写人次100图2-8本校师生认为当下财务报销流程当下最大的问题问题分析通过以上对于S学院财务报销知识库小程序准备前的的相关调研,发现当下学校内出现以下几方面的问题第一,极大一部分的师生对于本校的财务报销流程是处于知识盲区的,也就是不知道何种报销类型需要何种的手续和流程。其中更何况这还是包含在校已经学习生活了四年的大四学生在内的,这明确地反映出本校师生显著存在着对本校财务报销流程不熟悉的问题。第二,本校财务报销流程本身也确实存在较为繁琐的特点,但是出于学校对于财务报销的严谨性考虑,我认为应有的手续流程还是要有,但是可以考虑在基础上稍微简化,结合信息化未能充分利用这一点,我认为此次设计的财务报销知识库小程序十分的有必要,借助信息化宣传和查阅也是提升相关报销效率最便捷的方式。第三,流程繁琐加上报销流程未能规范化管理的直接结果就是,每当学生有报销相关需求时,会产生缺少报销所需附件,发票粘贴或报销单据填写不规范等等规范化不足的问题。这样一来学生为了报销多跑几次就成了常态化,以我为例就多次产生这种报销被驳回的问题。第四,本校还存在着宣传力度不足的问题,大多数人都是到了报销的现场才发现自己所准备的报销单据不齐全,不但使得自己要再一次的准备,还使得相关报销人员一遍一遍的重复正确的流程,解释规范的重要性,双方效率低和双方情绪化甚至产生争执这一系列问题都是有可能发生的。这些一些列的问题促成我设计此款小程序的想法,从实际需求出发,解决S学院不熟悉财务报销制度的师生在报销过程中容易踩坑的问题。首先将财务报销制度、相关要求、流程规范、示例等内容以图文、短视频等形式展线,形成知识库,然后利用科学的分类方法、索引和关键词对知识条目进行组织,最后利用专家系统相关理论和技术构建可运行的仿真信息系统。系统规划与分析本章主要描述了需要搭建仿真系统的目的和搭建后实现的目标,如何搭建此系统、系统的开发及真实运行环境、开发和使用过程中需要使用的硬件及软件的配置,最后阐述了开发此系统的开发计划。系统目标与范围现如今,在S学院,诸多师生不熟悉如何进行财务报销,许多准备哪些材料与如何整理材料,所以在师生的报销过程中,非常容易发生做了许多无用功的现象,既浪费了师生们的宝贵时间,又降低了财务部门报销效率,因为大量的不熟悉的师生拥挤在财务部门里,挤兑了有限的工作人员的资源,而没有提高报销的效率。因为,本文将设计一套仿真信息系统,用来将财务报销制度、相关要求、流程规范、示例等内容以图文、短视频等形式展线,形成知识库,然后利用科学的分类方法、索引和关键词对知识条目进行组织,最终得到一个高可用的一套系统,用以解决以上问题。系统运行环境运行环境:Vue是需要基于node环境来进行运行开发或者打包生产。Vue运行环境搭建步骤:1. 安装nvm;2. 安装node3. 安装GitBash4. 有了以上基础运行环境工具后就可以开始搭建项目环境了NodeJs直到2008年Chrome发布,并且同时发布了V8JavaScript解释器。RyanDahl,NodeJS的创建者,开始对V8JavaScript进行深入的分析,这位创建者认为,通过JavaScript这款编程语言,加入一些异步IO的特性,融合了HTTP服务器Event,将可以带来质的改变,最终,“node”这款产品被他打磨了出来,成功诞生。[[]DongyingXUE.ProblemsandCountermeasuresoftheUniversityFinancialReimbursement[J].InternationalJournalofIntelligentInformationandManagementScience,2016,5(5).][]DongyingXUE.ProblemsandCountermeasuresoftheUniversityFinancialReimbursement[J].InternationalJournalofIntelligentInformationandManagementScience,2016,5(5).1.Nodejs是完全依赖Javascript的一个独立的运行环境;
2.使用属于谷歌浏览器内部使用的V8引擎对nodejs的代码进行解析;
3.Nodejs是通过事件(Event)进行驱动的;
4.非阻塞I/O;
5.单进程(Singleprocess),单线程(Singlethread)。 MySQLMySQL可以与其他开发语言如PHP、Java、Python、C++、Go、NodeJs等市场上非常流行的编程语言配合使用的一套数据库系统,它非常的高效且支持跨平台,如Centos、Windows、Mac等等系统都可以使用。由瑞典的MySQLAB公司进行开发,并提供了强大的社区支持。[[]杨启,张丽萍.从互联网生态看微信小程序的发展[J].新闻论坛,2017(02):22-24.]MySQL拥有安装包小、开源等特点,广受初创公司等小公司喜爱,他们更偏向采用MySQL数据库以降低开发和运营成本。
下面总结了一下MySQL具备的特点。
1)跨平台(Windows、Mac、Centos等)
2)成本低(开放源码,免费使用)
3)支持主流开发语言(Java、Python、C[]杨启,张丽萍.从互联网生态看微信小程序的发展[J].新闻论坛,2017(02):22-24.微信小程序现如今,微信这款手机软件已经成为中国人们生活中用于沟通和交流的不可或缺的一部分了,人们使用它来交流生活中的琐事、分享喜欢的事物与照片、视频等。而在微信团队推出微信小程序之后,许许多多的微信小程序开发者们在产品经理们的设计下,开发出了一款款实用且便民的小程序,用以满足人们日常生活中的一些事情的处理,除了提高了生产效率,也提高了生活的质量。而在很多方面,微信小程序则表现得更加出现,从以下几个方面进行阐述。首先,体验优秀,与传统的手机应用相比来说,小程序真正做到了即开即用,不需要从各大应用市场下载很大的安装包进行安装,并且是通过微信这个媒介,使得用户可以很方便的使用,并且也不会因为打开一个小程序就占用了很多内存,导致手机空间不足,并且如果不想用了只需要退出而不是卸载。[[]庄泽莎,陈浩,高志雄,陈艺瀚,鲜征征.大学校园生活微信小程序的设计和实现[J].软件,2020,41(07):76-80+90.]其次,功能强大,微信小程序是由微信官方团队开发而成,并且处于一个持续更新的阶段,在微信的产品经理团队的设计以及微信团队的程序员的努力下,以及能够满足很多企业和个人的需求。再者,成本低廉,由于世界现如今已经进入了互联网时代,相比于之前的电脑,手机这类的移动设备越来越多,并且已经超过了电脑端用户。而相比于开发一个APP,开发一款小程序应用则是成本更加的低廉,既符合了市场的发展趋势,又降低了入行的门槛。还有,推广容易,微信的使用用户已经达到了十亿用户的级别了,不需要从零开始在市场里厮杀,微信团队只需要利用好现有的客户,就足以得到足够的用户来使用微信小程序。[[]丁添英.高校财务报销业务流程优化的实践探索[J].财经界,2021(08):87-88.]相比于低下载率的APP来说,实用小程序则更加的方便,推广也更加容易[]庄泽莎,陈浩,高志雄,陈艺瀚,鲜征征.大学校园生活微信小程序的设计和实现[J].软件,2020,41(07):76-80+90.[]丁添英.高校财务报销业务流程优化的实践探索[J].财经界,2021(08):87-88.系统开发计划本系统将从尽调开始,了解财务报销过程中的业务流程,将其整理成一幅幅简单易懂的图片,或者是制作成易懂的动画;其次会对数据库进行设计,将需要使用到的表格和字段设计出来;再者,则是搭建后端服务,由于是前后端分离的项目,所以需要先提前写好响应的接口;然后,将对应的前端页面实现出来,并与后端接口进行接口联调;最终,进行增删改查的测试,保证系统的高可用和鲁棒性。系统分析本章将会进行各方面的分析,包含了系统的可行性的分析,分析现有系统等,并且会对需求进行分析,以及对系统组织架构的分析,分析系统的架构图,还有系统的流程图及数据流转的分析。可行性分析 在进行线下的需求尽调之后,发现,在母校S学院,真实存在着许多不了解报销流程的师生,他们在报销过程中,暴露了非常多的问题。不仅仅是不了解实际的报销流程,而且有些了解的是错误的流程,导致交上来的材料与发票并不符合财务部门的要求,在错误的材料交上来后,反而降低了财务部门的处理效率,也导致了师生们不满的情绪滋生。因此,此项目的立项则显得尤为重要,为了解决师生和财务部门之间存在的隔阂和困扰,并提高工作效率,急需一款能够介绍清楚报销流程的应用软件来解决该问题,且需要以非常便捷的方式供给师生使用,既要考虑到便捷性,也要考虑到现在师生们的使用习惯。因此,通过微信的小程序来实现该软件则可以达到更好的用户体验。[[][]韩舶.微信小程序发展现状及其前景探析[J].数字传媒研究,2020,37(08):5-9.系统需求分析 视频信息通过将财务报销的流程排成小视频,放在微信小程序里,方便师生通过看视频的方式浏览报销流程,拍摄视频的手法与角度则显得尤为重要。图文信息也可以通过图文的方式,将重要的步骤,通过一步一步的拍照,或者比较详细的文字流程,将其记录下来,然后将其发布到小程序应用上,师生可以通过小程序进行浏览,这种方式相较于视频,则更加节省流量。系统业务流程及数据流程分析该系统从系统架构上可以分为三层,分别是展示层、数据流转层以及存储层。在展示层中,技术选型上则是选择了Vue作为视图用来创建页面,通过vue非常好的兼容性,既可以用来搭建小程序端的页面,又可以用来搭建一套管理后台的页面。并且使用vue及其一些axios等其他组件完成与后端接口的调用与自身路由的创建,用于页面之间来回的跳转与重定向。而在数据流转层中,则是使用了Node.js+Express框架,搭建了一套简单的后台服务应用,这个后台服务应用除了为前端的VUE提供api接口之外,还与数据库MySQL建立了连接,通过nodejs,可以将后台管理员上传的图文信息与视频信息存储到服务器的文件系统中,并且将对应的文件路径记录到数据库里,方便在加载图文信息和视频信息的时候从文件系统中再次读取出来。存储层则相对比较简单了,在存储层使用了MySQL,创建了一个库,并在其中创建了许多张表,通过持久化框架,nodejs可以建立与MySQL之间的连接,完成对数据的读写与存储。系统设计系统功能模块设计通过使用者,该系统可以分为后台管理和小程序端,两个使用者界面。后台管理信息管理在后台管理中,管理员可以管理需要发布的财务报销的信息,在这个模块中,管理员可以查看所有信息的列表,并且可以在列表中通过类型或者关键字进行搜索,并且可以发布新的信息(可以是图文信息,也可以是视频信息),也可以编辑已发布的信息,避免因为错误的发布带来给师生们的误导,也可以删除不合适的或者已经过时的财务报销的信息记录。在发布信息时,需要指定信息的类型,方便在微信小程序端师生查看的时候根据不同的类型快速的查找。类型管理后台管理员可以对信息进行类型管理,将需要发布的信息划分为多种类型,如视频类型和图文类型,或者是别的一些类型,类型也可以在后台管理中进行增删改查,所有未被删除的类型,都可以在发布和编辑信息时被选择,并且在前端小程序中搜索时,可以帮助师生辅助他们搜索他们需要查看的类型的信息。新闻管理后台管理员可以通过新闻管理,后台的管理员们可以发布一些站内的新闻,如财务部门最近的开关门时间、最近的活动、最新的报销政策发布等等。管理员管理通过该功能,可以实现对可以登录管理后台的管理员账号进行管理,并且可以对管理员的的登录密码进行重置、修改昵称等等操作。登录通过使用正确的管理员账号密码,可以实现登录,登录后,根据分配的权限,可以实现对不同功能的操作和使用。用户管理可以查看当前所有通过小程序注册并登录的用户记录,并且可以对忘记密码的用户进行密码重置等功能。权限管理通过权限管理,可以实现针对不同的管理员开通不同功能,使得权限分开,管理的粒度更加的细致,增强了管理的有效性和合理性。图文信息在小程序端,师生们可以通过微信打开小程序端,并通过不同分类查看财务报销的信息,如图文版的,则是比较省流量的一种方式打开,并且是静态的,可以仔细学习步骤和流程。视频信息视频版的消息则是相较于纯图文版的消息,更加的直观,可以看到真实操作是如何进行的。并可以对视频中的教程与步骤进行一对一的模仿。信息分类通过信息分类,可以更加精准的找到自己想要查看的对应的视频后者图文。登录&注册通过小程序进入的师生,可以通过登录注册来完成对功能的使用,当然不登录注册也不影响查看流程,主要是登录注册后,后台可以记录师生们查看了哪些教程和视频,可以对热点的视频或者图文进行推送,发布在站内新闻里,方便其他有类似困扰的师生们有一个学习的方向。个人中心当前的个人中心只能修改登录密码,查看之前登录后浏览过的记录功能,可以方便查看上一回查看过的图文信息内容或者是视频内容,继续阅读不断档。代码设计后端接口设计以下代码用来与数据库MySQL进行交互:/***此文件用来与mysql数据库进行交互,所有的与数据相关的调用函数都在这里。*/varmysql=require('mysql');const{param}=require('./router');varconnection=mysql.createConnection({//host:'localhost',//user:'root',//password:'825754588',host:'0',user:'dev',password:'Gaoshiqun123!',port:'3306',database:'paperwork_2021005'});connection.connect();/****搜索所有的报销项目信息。*/exports.findAll=function(callback){varsql="select*fromapply_items";connection.query(sql,function(err,result){if(err){callback(err,null)}else{varitems=[];for(i=0;i<result.length;i++){varitem={"item_id":result[i].item_id,"item_type":result[i].item_type,"item_describe":result[i].item_describe,"item_remark":result[i].item_remark,"item_image":result[i].item_image,"item_index":result[i].item_index,};items.push(item);}callback(null,items);}})}/***根据id添加一个项目的索引量*/exports.add=function(id,callback){varsql="select*fromapply_itemswhereitem_id=?";varsqParas=[id];varup='UPDATEapply_itemsSETitem_index=?WHEREitem_id=?';varupParams;connection.query(sql,sqParas,function(err,result){if(err){callback(err);}else{result[0].item_index=result[0].item_index+1;upParams=[result[0].item_index,id];connection.query(up,upParams,function(err,result){if(err){callback(err);}else{callback(null);}})}})}/***模糊查询*/exports.like=function(str,callback){varsql="selectitem_idfromapply_itemswhereitem_typelike?oritem_describelike?";varparms=['%'+str+'%','%'+str+'%'];connection.query(sql,parms,function(err,result){console.log(result);if(err){callback(err);}else{callback(null,result);}})}以下代码为路由设计:/***此文件为路由模块*所有的可供访问的url都在这里(静态资源除外)*/letexpress=require('express');letitems=require("./items.js")//创建路由容器letrouter=express.Router();letfs=require("fs");router.get('/images',function(req,res){fs.readFile("./images/明细.png",function(err,data){if(err){res.send("服务器异常");}else{res.send(data);}})})router.get('/searchIcon',function(req,res){fs.readFile("./images/搜索.png",function(err,data){if(err){res.send("服务器异常");}else{res.send(data);}})})router.get('/',function(req,res){items.findAll(function(err,result){if(err){res.send("服务器查询异常");}else{vardata=({items:result});data=JSON.stringify(data);res.send(data);}})})router.get('/addIndex',function(req,res){items.add(req.query.id,function(err){if(err){console.log(err);}})})router.post('/process',function(req,res){items.like(req.body.searchInput,function(err,result){if(err){console.log(err);}else{if(result==undefined){result[0].item_id=0;res.send(result);}else{res.send(result);}}})})//把路由都挂载到router路由容器中router.get('/',function(req,res){students.find(function(err,data){if(err){console.log("查询错误");}else{console.log(data.students);res.render("index.html",{students:data.students})}})})router.get('/delete',function(req,res){students.delete(req.query.id,function(err){if(err){res.send("错误响应500,服务器端出现异常。")}else{res.redirect('/');}})})router.get('/update',function(req,res){students.findById(req.query.id,function(err,data){if(err){res.send("服务器异常")}res.render("uodate.html",data);})})router.post('/update',function(req,res){students.update(req.body,function(err){if(err){res.send("服务器出现异常");}res.redirect("/");})})//导出routermodule.exports=router;以下代码为主动启动代码
/***此文件为后端的运行文件,在终端输入命令nodeapp.js即可运行。*//***导入模块*/letexpress=require('express');letrouter=require('./router');letbodyParser=require("body-parser")letapp=express();app.engine('html',require('express-art-template'));app.use(bodyParser.urlencoded({extended:false}));app.use(bodyParser.json());/***开放images文件中的静态资源*/app.use(express.static("images"));//把路由容器挂载到app服务中app.use(router);app.listen(3000,function(){console.log('启动成功');})以下代码为前端设计:主启动代码//app.jsApp({onLaunch(){//展示本地存储能力constlogs=wx.getStorageSync('logs')||[]logs.unshift(Date.now())wx.setStorageSync('logs',logs)//登录wx.login({success:res=>{//发送res.code到后台换取openId,sessionKey,unionId}})},globalData:{userInfo:null}})以下为工具类:constformatTime=date=>{constyear=date.getFullYear()constmonth=date.getMonth()+1constday=date.getDate()consthour=date.getHours()constminute=date.getMinutes()constsecond=date.getSeconds()return`${[year,month,day].map(formatNumber).join('/')}${[hour,minute,second].map(formatNumber).join(':')}`}constformatNumber=n=>{n=n.toString()returnn[1]?n:`0${n}`}module.exports={formatTime}页面主页://主界面Page({/***页面的初始数据*ip:ip为服务器端网络的ip地址,用于向服务端发送请求。*/data:{ip:"",},/***功能栏导航全部类型的点击事件,跳转到/all界面,显示所有的报销类型。**/findAll:function(){varself=this;wx.reLaunch({url:'../all/all',})},//manage:function(){//varself=this;//wx.reLaunch({//url:'../manage/manage',//})//},/***监听搜索框输入内容*将搜索框的内容保存到data对象中。*/listenerSearchInput:function(e){varsearchInput=e.detail.value;this.setData({searchInput:searchInput});},/***搜索框的回车事件*按回车后向后端发送请求。*查询完跳转到查询界面*/search:function(){varself=this;wx.request({method:"POST",url:'http://'+self.data.ip+":3000/process",data:{searchInput:this.data.searchInput},success:function(res){console.log(res);if(res.data.length==0){wx.reLaunch({url:'../process/process?id=0',})}else{wx.reLaunch({url:'../process/process?id='+res.data[0].item_id,})}}})},/***生命周期函数--监听页面加载*/onLoad:function(options){/***发送请求获取所有的报销项目信息items保存到data对象中。*根据所有项目的索引量筛选出前五fire_items,保存到data对象中*/varself=this;wx.request({url:'http://'+self.data.ip+':3000/',method:"GET",success:function(res){self.setData({items:res.data.items});letfire_items=[];for(vari=0;i<res.data.items.length;i++){for(vark=i+1;k<res.data.items.length;k++){if(res.data.items[i].item_index<res.data.items[k].item_index){vartemp=res.data.items[i];res.data.items[i]=res.data.items[k];res.data.items[k]=temp;}}fire_items.push(res.data.items[i]);if(fire_items.length==5){self.setData({fire_items:fire_items});break;}}}})},/***生命周期函数--监听页面初次渲染完成*/onReady:function(){},/***生命周期函数--监听页面显示*/onShow:function(){},/***生命周期函数--监听页面隐藏*/onHide:function(){},/***生命周期函数--监听页面卸载*/onUnload:function(){},/***页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh:function(){},/***页面上拉触底事件的处理函数*/onReachBottom:function(){},/***用户点击右上角分享*/onShareAppMessage:function(){}})数据库设计ER图表结构如下:数据库表结构设计如下:表3-1数据库表统计序号表名功能描述关联功能模块1admin储存管理员表管理员管理2admin_authority储存管理员的权限关联信息权限管理3apply_items储存图文、视频信息信息管理4authority储存权限信息权限管理5news储存发布的站内新闻信息新闻管理6type储存类型信息类型管理7user储存用户账号信息用户管理详细表结构设计表3-2管理员信息表(Admin)字段名数据类型长度是否允许空关键字说明Idint2否主键主编号Namevarchar30否登录用户名passwordvarchar10否登录密码Nicknamevarchar2否昵称Phonevarchar30否手机号Create_timedatetime8否注册时间表3-3管理员权限信息表(Admin_authority)字段名数据类型长度是否允许空关键字说明Idint2否主键主编号Admin_idint2否管理员idAuthority_idint2否权限id表3-4报销流程信息表(apply_items)字段名数据类型长度是否允许空关键字说明Item_idint2否主键主编号Item_typevarchar30否类型Item_describevarchar10否描述Item_remarkvarchar2否备注Item_imagevarchar30否图片Item_indexInt8否索引排序表3-5权限信息表(authority)字段名数据类型长度是否允许空关键字说明idint2否主键主编号Namevarchar30否名称表3-6新闻信息表(news)字段名数据类型长度是否允许空关键字说明Idint2否主键主编号Titlevarchar30否标题Imagevarchar10否LogoContentvarchar2否内容Create_timeDatetime30否创建时间表3-7权限信息表(type)字段名数据类型长度是否允许空关键字说明idint2否主键主编号Namevarchar30否名称表3-8用户信息表(user)字段名数据类型长度是否允许空关键字说明Idint2否主键主编号usernamevarchar30否登录用户名passwordvarchar10否登录密码Nicknamevarchar2否昵称Phonevarchar30否手机号Wx_open_idvarchar100否微信openIdCreate_timedatetime8否注册时间输入输出页面设计可此界面查询不同类型的标准报销流程,可以根据每个人所需要的报销种类,来进行查看。这样一来师生就可以按照图片所给的标准规格和流程,掌握正确的报销方法,之前我们
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建莆田城厢区霞林学校初中部自主招聘编外教师考试备考试题及答案详解
- 2026年8月甘肃平凉静宁县直部门及所属事业单位和城区医疗卫生机构选调补充考试备考试题及答案详解
- 2026平昌县就业服务管理局招聘城镇公益性岗位工作人员37人笔试备考试题及答案详解
- 2027招商银行郑州分行秋季校园招聘考试备考试题及答案详解
- 2026厦门市集美区幸福幼儿园招聘产假顶岗教师2人考试备考题库及答案详解
- 2026年福建厦门大学附属第一医院第三季度辅助岗位招聘32人笔试模拟试题及答案详解
- 2026广西北海市绿源水电有限公司招聘电站运行人员10人笔试备考试题及答案详解
- 2026福建龙岩上杭县明强中学招聘秋季编外教师2人考试备考题库及答案详解
- 2026西安市第四十八中学教育集团总校招聘笔试备考试题及答案详解
- 2026福建永定农信联社劳务派遣员工招聘3人考试备考试题及答案详解
- 十五五原材料工业发展规划
- 诊所医保考试题及答案
- 2024广东佛山市南海农商银行中层副职管理人员社会招聘笔试历年典型考题及考点剖析附带答案详解
- 2024版建筑工程实名制管理手册附表格示范文本
- 航空器电气系统安全-深度研究
- 脓毒血症护理查房要点
- 天津市事业单位聘用合同8篇
- 耳穴疗法完整版本
- 人教版数学八年级上册《全等三角形》单元测试题附答案
- 肘管综合征护理常规
- 2024-2025学年华东师大版数学七年级上册计算题专项训练
评论
0/150
提交评论