概要说明:本系统基于C/S架构,采用MVC设计模式实现,技术选型为java8GUI(图形化界面)中的Swing轻量级控件,为了提升系统的数据交互性能,数据持久层方面基于JDBC封装了一套基础工具。
需求说明:(1)能够根据登陆身份的不同,实现不同的功能。
若登陆身份为管理员级别,则可以查阅所有业务员的销售定货单和出货单信息;
若登陆身份为普通业务员,只能查看自己的销售定货单和出货单信息。
(2)用户管理模块主要实现用户登陆、修改用户和修改用户密码功能。
(3)销售信息管理模块主要实现定货单的录入和修改、销售单的录入和修改、有关销售信息的查询。
(4)在对销售信息查询的过程中,要求实现多种查询方式。
可以按照客户、出货仓库和业务员进行分类查询。
(5)在销售定货单信息窗体中必须首先进行输入内容的验证,若符合要求,再添加记录到数据库中。
(6)在销售单信息窗体中必须同时更新库存信息和出货单信息。
2024/10/3 11:34:33 5.54MB Swing MySQL
1
在电子(Electron)+Vue项目中实现打印小票功能,主要涉及到Electron的API使用和Vue组件的配合。
以下是对实现这一功能的详细解释:1.**需求分析**:-公司项目中可能需要通过Electron应用程序调用用户的系统打印机,以便能够无声无息地打印出小票,即所谓的“静默打印”。
2.**技术选型**:-在Electron中,有两种主要的打印方法:-第一种方法是通过`window.webContents`对象,这需要创建一个新的打印窗口,即使可以将其隐藏,但通信和调用过程相对复杂。
-第二种方法是利用`webview`元素进行打印,它可以被隐藏在调用页面中,通信过程更为简单。
本文采用的就是这种方法。
3.**实现步骤**:-**获取打印机列表**:-渲染线程(通常是Vue组件,如`print.vue`)通过`ipcRenderer`发送`getPrinterList`事件到主线程。
-主线程中的`electron.ipcMain`监听这个事件,调用`window.webContents.getPrinters()`获取打印机列表,并将结果通过`webContents.send`回传给渲染线程。
-**构建小票排版**:-重点在于使用``标签,它可以理解为一个内嵌的浏览器,用于显示待打印的内容。
-创建一个`print.html`文件,将小票内容在这个HTML文件中展示出来。
如果内容是通过canvas绘制的,可以将canvas转换为base64编码的图片,然后在``中显示。
-使用`@page`CSS规则设置打印样式,例如设置小票的边距等,确保打印效果符合需求。
4.**实际代码示例**:-在`print.vue`组件中,可以有以下代码片段来处理打印机列表和触发打印:```javascript```-在`print.html`文件中,可能包含如下代码以展示打印内容:```html-_-将base64图片插入此处-_-```5.**调用打印**:-一旦``准备好显示内容,可以通过`webview`对象的`print`方法调用打印。
这通常在Vue组件的方法中触发,比如`printTicket`方法。
-例如:```javascriptfunctionprintTicket(){constwebview=document.querySelector('webview');webview.print({silent:true,printBackground:true,deviceName:this.selectedPrinter});}```以上就是使用Electron+Vue实现打印小票功能的主要步骤和技术细节。
这个过程中,关键在于利用Electron提供的`ipcMain`和`ipcRenderer`进行主线程与渲染线程之间的通信,以及``标签实现内容的显示和打印。
通过这些技术,可以创建一个用户友好的桌面应用,无缝集成打印功能,满足业务需求。
2024/9/5 16:49:39 59KB electron electron vue
1
随着无线端的快速普及,前后端分离技术走上前台,而Node由于它的一些特性被工程师快速接受尤其是前端工程师,所以产生了很多Node是否会引起新的技术变革的讨论。
我本人是淘系的一个Web开发人员,基本上经历了淘系关于Node和Java技术选型讨论的过程,所以今天我给大家推演一下在像淘系这个环境下Node能否会成为主流的Web开发技术,当然后面也给出了我认为比较适合的场景。
在百度中搜索Node可以得到105w个结果,图书出版方面13年3月到15年6月2年时间有近20种相关的Node书出版,实践方面国外公司PayPal、LinkedIn、groupon也都在使用,国内大公司阿里、腾讯、百度也都有实践项
2024/3/1 6:33:47 282KB 我为什么反对用Node!
1
首先本文不讨论为什么要服务化,包括服务化的优点缺点。
其次本文也不讨论什么是微服务,也不讨论微服务和SOA的区别。
最后本文也不讨论哪个技术最优。
基本的服务化框架包括如下模块:统一的RPC框架,服务注册中心,管理平台。
有了这三个模块,就能实现基本的服务化。
下面对三个模块进行具体分析。
为什么一定要是统一的RPC框架,而不是随便啥框架,这里主要是为了技术对齐,减少开发人员的学习成本,减少团队间沟通成本。
好,那么选择一个RPC框架,我们都需要考量什么东西呢?这里我总结下:代码规范:例如是对已有代码透明,还是代码生成。
通讯协议:例如是TCP还是HTTP序列化协议:例如是二进制还是文本,是否需要跨语言,性能
2024/2/22 20:41:23 293KB 服务化框架技术选型实践
1
本文来自于个人图书馆,本文通过多端的B2B系统,简单介绍了系统的架构设计演进。
之前开发了一个包括多端(PC端,移动端,微信端,API)的B2B系统,分享一下系统的架构设计演进。
技术选型playframework无状态全栈(Hibernate,Netty,Groovy,Cache)Python运维支持,开发热加载AngularJS对象操作双向绑定模版这样的技术选型是基于低成本/小规模团队快速上线应用的需要。
选择playframework是它让我们从开发到运维都能省去很多成本,对于开发人员只要掌握一定的语法就可以直接关注业务逻辑,不用所有的人都特别深入的学习框架。
自动编译和重载:当编辑Java文件
2023/12/22 19:49:40 161KB 一个业务系统的架构设计
1
对于刚接触编程的新人来说,可能并能很清楚的知道架构是怎么来的,都包括什么内容。
如果非得说什么架构,那么可能就是目前在IDEA中打开的工程就是架构。
但实际上,应用场景、业务规模、服务类型、部署结构、开发框架、技术选型,综合在一起才是架构!
2023/11/26 20:54:54 863KB java 架构图
1
1、从10KV供电线路搭接处起至用户电表箱低压出线为止所有电气部分的布置、设计。
(受电工程部分)2、所有电气设备(环网柜、箱式变压器、配电柜、电缆)的技术选型配置设计并提供主要设备材料清册。
3、本设计不包含变电所土建部分,只提供变电所尺寸,请业主委托其他有资质的建筑设计单位进行土建设计。
3、与以上三个方面相关的其他附属设施的设计。
2023/6/12 22:07:17 1.4MB 变配电
1
#银行业务管理系统项目文档>项目简介:满足银行对高风险业务进行登记,风险评估的业务电子化、流程化的需求+项目技术选型(前后端分离开发):+前端:HTML、CSS、JavaScript、LayuiUI组件库+后端:Python、Django+数据库:SQlite3
2023/6/1 17:20:44 1.78MB Django
1
人群管理员语言|项目介绍人群管理是一个后台权限管理系统脚手架,集成了rbac权限管理,消息推送,邮件发送,任务调度,代码生成,elfinder文件管理等常用功能,系统内部各个业务按照模块划分,前台使用H+模板。
一个java新人容易上手,学习之后能够快速整合企业开发的指导项目主要特性项目按功能分解,提升开发,测试效率支持统一输出异常,避免繁琐的判断支持后台消息推送集成elfinder进行文件管理支持数据字典,系统参数配置支持邮件发送,采用activeMQ异步解耦支持在线用户监控,登出等操作支持redis/ehcache切换使用支持ip2region本地化支持多数据源操作前端支持ajax下载文件,js代码简约,清晰,避免过多封装技术选型初步核心框架:春天控制层框架:SpringMVC权限控制:Shiro消息中间件:activeMQ消息推送:W
2021/10/7 4:36:02 20.19MB redis admin mail spring
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡