基于tkwinter制作的exe小工具

前言

最近事没那么多,然后同事基于tkwinter制作了一款exe造单工具,感觉挺好玩的,然后叫同事分享了一下源码,自己去学习了tkwinter各大组件的相关语法及操作,所以写篇博客分享一下

同事款工具

下面是同事写的小工具,实现了不同环境的造单,以及相关cne订单的相关字段获取逻辑,以及从服务器中拿取造单时的sign
基于tkwinter制作的exe小工具_第1张图片

各版本实现功能

mytool.py
更新日志:
1、仅定义了从uat造单,最终自动复制返回响应结果的orderid

刚开始使用,然后先做了一个简单的造单自动去服务器拿sign,替换造单入参的sign,实现造单功能
基于tkwinter制作的exe小工具_第2张图片

mytoo2.0.py
更新日志:
1、2.0版本加入了uat,pre,instore环境的切换,最终自动复制请求入参的orderno,pre因打印sign的服务器不知道是那个展示还不能用

定义了uat造单和调拨单造单的功能
基于tkwinter制作的exe小工具_第3张图片

mytool3.o.py
更新日志:
1、更改请求入参的输入文本框为滚动文本框,方便用户直接在文本框中操作请求入参

因为entry输入框的问题不能实时的去找到相关的字段去修改,所以更改输入框控件为scrolledtext滚动框类型,适合相关的造单数据修改
基于tkwinter制作的exe小工具_第4张图片

mytool4.0.py
更新日志:
1、更新了uat和prd在服务器中拿sign的问题,instore因为通过geisign方法返回不了正确的sign,所以instore仍然从服务器中获取
2、更新了创建订单按钮根据按钮去请求不同的接口,调用不同的方法

这版更新了非调拨单,获取sign直接从方法里生成sign,而非从服务器拿取
基于tkwinter制作的exe小工具_第5张图片

mytool5.0.py
更新日志:
1、更新了消息弹窗从pyautogui更改为tkinter的message.showinfo控件

这版更新了弹窗提醒的控件,因为发现同事用的是pyautotui的控件,但是tkwinter本身自己有控件,更改控件后,exe文件明显变小
基于tkwinter制作的exe小工具_第6张图片

mytool6.0.py
更新日志:
1、解决每次都需要复制订单数据到文本框的烦恼,增加插入数据按钮,根据需要造的不同类型,插入门店单订单数据以及调拨单订单数据
2、修改调拨单单选框文字展示为Instore订单bug
基于tkwinter制作的exe小工具_第7张图片

mytool7.0.py
更新日志:
1、新增是否置顶按钮
基于tkwinter制作的exe小工具_第8张图片

mytool8.0.py
更新日志:
1、解决点击插入数据按钮后造单数据追加的问题
2、解决提取调拨单提取的响应结果为true,但判断为True的bug
3、解决插入数据的排序问题
4、设置窗口不可缩放

多次点击插入数据会变成数据追加,所以为了方便就加了个判断,点击插入数据后如果输入框有值就先清空
基于tkwinter制作的exe小工具_第9张图片

mytool9.0.py
更新日志:
1、修改造单异常情况弹窗为error弹窗
基于tkwinter制作的exe小工具_第10张图片

mytool10.0.py
更新日志:
1、新增类型选择框,根据不同的订单类型插入不同的造单数据到文本框
2、修改插入数据后warehouseid很难查找到的问题,现已经把warehouseid放在插入数据的前几行
3、修改提示语信息

因为有很多订单类型,所以新增了根据订单类型插入不同订单数据的功能
基于tkwinter制作的exe小工具_第11张图片

mytool11.0.py
更新日志:
1、新增门店订单发货及签收按钮
基于tkwinter制作的exe小工具_第12张图片

mytool12.py
更新日志:
1、修改选择订单类型控件由spinbox更改为combobox

因为spinbox的可读性有点差,切换也是只能点击切换,所以更改控件为combobox
基于tkwinter制作的exe小工具_第13张图片

mytool13.py
更新日志:
1、修改E360发货新增子界面,增加快递异常功能

因为订单发货还还含有其他异常情况,所以新增个子界面做相关操作
基于tkwinter制作的exe小工具_第14张图片

mytool14.py
更新日志:
1.更新调拨单造单地址及服务器拿sign地址
2.更改instore下单地址为预上线地址的问题

调拨单造单地址变更
基于tkwinter制作的exe小工具_第15张图片

mytool15.py
1.修改CNC造单数据
2.提取相关公共的造单地址以及服务器地址,方便后续维护

mytool16.py
1.新增CNE订单发货功能

基于tkwinter制作的exe小工具_第16张图片
mytool17.py
1.新增CNE根据环境判断进行uat或pre发货功能
2.修复未查找到ebts发货id时,提示语难理解问题
3.修改CNC造单参数更新后默认不为8939门店的问题

因为订单下单成功后会有推送仓库失败的现象,所以新增一层判断查询数据库中是否有ebts回调的相关数据
基于tkwinter制作的exe小工具_第17张图片

mytool18.py
1.修改了调拨单插入方式
2.新增了调拨单uat和pre造单环境的选择
3.删除调拨单单选框
4.设置打开程序默认窗口居中
5.新增复制订单id按钮

调拨单先前只实现了uat的造单,近期需要做预上线验证,所以新增pre的造单,然后将调拨单的类型放在了combox下供选择,环境处只保留uat和pre
基于tkwinter制作的exe小工具_第18张图片

mytool19.py
1.优化了某些代码以及判断条件
2.新增了复制orderno功能

因为经常需要用到orderno去查服务器日志,所以新增按钮去自动查找左侧插入数据中的orderno字段,通过pyperclip.copy方法自动复制到剪切板
基于tkwinter制作的exe小工具_第19张图片

mytool20.py
1.新增cne订单子窗口
2.加入了订单取消,拣货以及发货功能
3.修改了子窗口弹出位置

新增了一个子界面集成了cne订单的相关操作
基于tkwinter制作的exe小工具_第20张图片

结语

短短一个月更新了20版,这版本更新太快了,想到有啥功能就往上加了,都是平常需要用到的功能,分享给了测试组的同伴,相信效率会有相当大的提升!!

你可能感兴趣的:(python,服务器,windows,python)