一种实现POS收银时销售药品数量快速倍增的方法与流程

文档序号:15696421发布日期:2018-10-19 19:07阅读:259来源:国知局
本发明涉及web药店系统平台领域,特别涉及一种实现pos收银时销售药品数量快速倍增的方法。
背景技术
::在收银平台进行药品销售时,经常会遇到顾客购买药品成倍的购买,特别是中药方面的,如果按传统的方式手工计算或者逐条改变销售表格中的数据达到数量倍增的话,速度非常的缓慢,并且容易计算错误;为了解决这些问题,需要实现一种在收银平台能对所有销售药品进行快速地准确地倍增的功能。技术实现要素:本发明解决的技术问题在于提供一种实现pos收银时销售药品数量快速倍增的方法;本发明解决了收银员在销售多倍的药品时,逐条改变药品的数量速度缓慢且容易出错的问题。本发明解决上述技术问题的技术方案是:一、在收银平台添加标题为倍数的数字类型输入框,初始值为1;二、通过扫描条码或输入编码的方式,从库存中获取药品的数据添加到收银页面的表格中;三、如果顾客购买的数量要翻倍,在输入框中输入要翻倍的倍数或单击按钮增加倍数;四、当输入框变化时触发属性改变事件,在事件中计算销售数量与金额等信息;五、当获得新的销售数量与金额后,更新表格中的数据及总的销售数量与金额等信息;六、销售完成后,重置输入框倍数为1。从而本发明解决了收银员在销售多倍的药品时,逐条改变药品的数量速度缓慢且容易出错的问题。所述的方法具体包括如下步骤:步骤一、在收银平台右侧添加标题为倍数的数字类型输入框,默认为1倍,最小值为1倍,当录入的数字小于1时,自动变为1;步骤二、通过扫描药品条码的方式,或者通过输入商品编码的方式,从库存中获取药品信息并添加到收银页面的表格中;步骤三、如果顾客购买的数量要翻倍,在输入框中输入要客户需要的倍数或单击按钮增加客户需要的倍数;步骤四、当输入框变化时触发属性改变事件,在事件中获取所有的销售数据并定义一个变量lastnum,初始值为1,用来存储上次改变倍数时的值;然后对销售数据进行遍历,在循环体内,通过公式:上次的销售数量*当前的倍数/上次的倍数lastnum,可获得当前的销售数量,如果当前的销售数量大于库存数量,提示收银员不能销售;如果没有,则根据销售数量*销售价格获得当前药品的销售金额;步骤五、当获得每条数据的销售数量与金额后,依次更新表格中的每条销售数据,完毕后更新总的销售金额与总的销售数量等信息,同时把当前的倍数赋值给lastnum;步骤六、销售完成后,清空表格数据,并把倍数输入框的数据与lastnum的值都重置为1。本发明的有益效果:通过在收银页面创建一个简单的倍数输入框,当输入框中的倍数改变时,根据一定的算法,使得销售药品的数量也成倍的变化,从而达到了在收银时能快速改变所有表格中的销售药品数量的目的。本发明有效地解决了收银员在销售多倍的药品时,逐条改变药品的数量速度缓慢且容易出错的问题。附图说明下面结合附图对本发明进一步说明:图1为本发明的流程图。具体实施方式如图1所示,本发明采用如下步骤:步骤一、在收银平台右侧添加标题为倍数的数字类型输入框,默认为1倍,最小值为1倍,当录入的数字小于1时,自动变为1;步骤二、通过扫描药品条码的方式,或者通过输入商品编码的方式,从库存中获取药品信息并添加到收银页面的表格中;//添加到销售表格functionappendsaledetail(selrows){vardatas=$table.bootstraptable("getdata");varpreviousdata=null;$.each(datas,function(index,childdata){if(childdata.inventoryid==selrows[0].inventoryid)previousdata=childdata;})if(previousdata!=null){previousdata.salecount=parseint(previousdata.salecount)+1;//如果已经销售,则数量加1//更新这一行$table.bootstraptable('updaterow',{index:previousdata.linenum,row:previousdata});}else{$table.bootstraptable('append',selrows);$table.bootstraptable('uncheckall');}refreshsaleorder();}步骤三、如果顾客购买的数量要翻倍,在输入框中输入要客户需要的倍数或单击按钮增加客户需要的倍数;步骤四、当输入框变化时触发属性改变事件,在事件中获取所有的销售数据并定义一个变量lastnum,初始值为1,用来存储上次改变倍数时的值;然后对销售数据进行遍历,在循环体内,通过公式:上次的销售数量*当前的倍数/上次的倍数lastnum,可获得当前的销售数量,如果当前的销售数量大于库存数量,提示收银员不能销售;如果没有,则根据销售数量*销售价格获得当前药品的销售金额;如:functioninitmultiplie(){varlastnum=1;$("#multiplie").bind("inputpropertychange",function(){if(isnan(parsefloat($(this).val()))||parsefloat($(this).val())<=0)$(this).val(1);vardatas=$table.bootstraptable("getdata");if(datas==null||datas.length==0){resetmultiplienum();errormsg("没有销售数据");return;}varval=math.round($(this).val());//判断其中数量是否大于库存varismorethanstock=false;//表示超过库存$.each(datas,function(i,obj){varsalecount=parsefloat(obj.salecount)*val/lastnum;if(salecount>obj.stockcount){errormsg("("+obj.productcode+")大于库存数量");$multiplie.val(lastnum);//把倍数恢复为上次值ismorethanstock=true;return;}});if(!ismorethanstock){$.each(datas,function(i,obj){varsalecount=parsefloat(obj.salecount)*val/lastnum;varsellamount=parsefloat(obj.salecount)*parsefloat(obj.sellprice);……});}});}步骤五、当获得每条数据的销售数量与金额后,依次更新表格中的每条销售数据,完毕后更新总的销售金额与总的销售数量等信息,同时把当前的倍数赋值给lastnum;如:$table.bootstraptable('updaterow',{index:i,row:{salecount:salecount,sellamount:sellamount}});lastnum=val;updatesaleorder();//更新销售金额与总的销售数量等functionupdatesaleorder(){vardatas=$table.bootstraptable("getdata");$.each(datas,function(i,data){……)};}步骤六、销售完成后,清空表格数据,并把倍数输入框的数据与lastnum的值都重置为1。如:cleartable();//清除表格数据lastnum=1;$multiplie.val(1);//把倍数恢复为1functioncleartable(){$table.bootstraptable("removeall")……}。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1