在下周公子

  • 首页
  • 域名收藏
  • SEM搜索引擎营销
  • 操作系统
    • 服务器应用
  • 特色专题
    • 跑步运动
  • VPS主机推荐
  • 搜索
在下周公子
三十而立,学以致用
  1. 首页
  2. 我的记事本
  3. 正文

扩展思维,每周Get一个小技能,基于Bootstrap5和jQuery生成财务入款单与只需要操作三步,将错误率降低到0,将时效性提高一个量级

2023年8月27日 1520点热度 1人点赞 0条评论

作为一个半路出家的开发,我是一个连jQuery怎么拼写的都不会,但是我依然可以自由高效的解决各类开发问题。目前已经能熟练php+Bootstrap5+jQuery+python+Sql server的结合运用。我花了大概3个月,行云流水。限制我的是时间,仅此而已!

回到本次要分享的内容。一个简单的表单是如何变革的。

这个是原先系统的界面基于foxtable编写的界面,类VB.NET语言;默认是两层架构,使用三层架构基本无法使用,出了局域网就是举步维艰。

录入一个单据,我需要先登录到ERP,然后打开财务收款单,1新建单据,2检索客户名称,3输入收款金额,4保存,5推送完成审核。

现在我写了一个基于基于Bootstrap5和jQuery的php表单,快到复制短信内容直接提取客户名称和金额一步到位,最后,点击提交完事。快如闪电。

本思路基于发快递界面的地址提取,当然他那个更复杂,但是我这个是只需要根据不同银行去判断就行。会简单很多!

[html]

<button type="button" class="btn btn-warning" data-bs-toggle="modal" data-bs-target="#exampleModal">
提取短信填充
</button>
<!--模态框架2-->
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">文本提取</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<textarea class="form-control" id="inputText"></textarea>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" id="extractBtn">提取</button>
</div>
</div>
</div>
</div>
<!--模态框架2end-->
<script src="main_cs.js"></script>
<script type="text/javascript">
$('#extractBtn').click(function(){
var text2 = $('#inputText').val();
// 判断关键字
var key = "";
if(text2.indexOf("温州银行") > -1) {
key = "温州银行";
// 如果是温州银行,填充企业信息
$('#gs').val("可瑞");
$('#fl1').val("1012.11");
} else if(text2.indexOf("中国银行") > -1) {
key = "中国银行";
// 如果是温州银行,填充企业信息
$('#gs').val("柯特");
$('#fl1').val("1002.02");
} else {
// 如果都没找到,提示错误
alert("无法找到短信关键字");
return;
}
// 金额正则
var amountReg = /人民币(\d+\.\d+)/;
// //对于数据验证,提取金额验证
var amountMatch = text2.match(amountReg);

// 检查匹配结果是否存在
if(!amountMatch) {
alert("金额提取失败");
return;
}

// 对方户名正则
var nameReg = "";
if(key==="温州银行") {
nameReg = /对方户名:([\u4e00-\u9fa5]+)\。/;
} else if(key==="中国银行") {
nameReg = /对方为([\u4e00-\u9fa5]+)\(/;
}

// 提取名称
var nameMatch = text2.match(nameReg);

// 检查匹配结果是否存在
if(!nameMatch) {
alert("名称提取失败");
return;
}
// 提取数据
var amountMatch = text2.match(amountReg);
var amount = amountMatch[1];
var nameMatch = text2.match(nameReg);
var name = nameMatch[1];

$('#jehj').val(amount);
$('#wldwmc').val(name);
//引入后端查询
$.ajax({
url: 'get_customer_info.php',
type: 'post',
data: { wldwmc: name },
success: function(response) {
// 将响应转成字符串
var data = JSON.stringify(response);
// 解析为JSON
var json = JSON.parse(data);
// 取第一条记录
var customer = json[0];
// 填充表单
$('#wldwbm').val(customer.wldwbm);
$('#sjr').val(customer.ywy);
}
});
$('#exampleModal').modal('hide');
})
</script>

[/html]

页面是上个月写的,这里就不贴了。另外还集成了,最近收款单内容的查看。
这个短信提取功能,前面想了比较久,后面认为格式固定,就用正则式来提取。结果非常成功。
从撰写到测试,耗时3个小时有余,则考虑到各种操作的行为,比如我内容就是错的,诱发代码报错。最后啥都执行不了,增加了验证判定。防止投机取巧的行为。

应收款的系统逻辑也写好了,现在还在解决api同步写入销帮帮的代码。本地化已经完全解决,下次分享。实时到款,实时平账,业务人人可查。
标签: 暂无
最后更新:2023年8月27日

zhou

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2021 zhoubin.net. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

浙ICP备09065757号-10