免费注册网址:商户注册(点击进入)
-
一、门店注册
-
二、桌号管理
-
2.1添加桌号
-
2.2打印点餐码(需要在电脑端操作)
-
三、分类管理
-
3.1编辑分类
-
四、菜品管理
-
4.1添加菜品
-
五、订单管理(语音播报)
-
统计管理
-
设置管理
附功能列表:
菜品展示
类似外卖平台,用户可按类别筛选菜品,增加或减少数量添加到购物篮子
在线支付
用户选餐后即可在线支付、下单
桌号、房间管理
支持为每个桌、房间生成各自二维码,用户扫码后即可下单(下单会显示哪个房间、桌号)
订单管理
后台会自动刷新订单,有新的订单来临时会语音播报提醒
配送管理
订单管理中直观显示用户选购的菜品,数量,配送完毕后,点击“完成”即可。
数据统计
提供注册会员统计、定单统计、营业额统计...
排版效果图:
看一下打印内容的代码:
String prcontent = "<CB>打印测试</CB><BR>";
prcontent += "名称 单价 数量 金额<BR>";
prcontent += "--------------------------------<BR>";
prcontent += formStr("产品名","10.00","1","10.00");
prcontent += "备注:***<BR>";
prcontent += "--------------------------------<BR>";
prcontent += "合计:11元<BR>";
prcontent += "联系电话:***<BR>";
prcontent += "订餐时间:***<BR>";
上面是一段标准的打印小票的代码,每一行的内容调用方法formStr来格式化(自动换行,列对齐)排版。
/**
* 格式化内容(58mm的机器,一行打印16个汉字,32个字母;80mm的机器,一行打印24个汉字,48个字母)这里按58mm处理的,如果是80的机器可以参考修改
* @param tit 名称 6字母||12英文
* @param fee 单价 6个英文
* @param n 数量 4个英文
* @param total 总计 6个英文
* @return
*/
public String formStr(String tit,String fee,String n,String total){
String ret="";
if(ret==null){
return "";
}
String title=tit;
int strlen=0;
try{
strlen=title.getBytes("GBK").length;
} catch (UnsupportedEncodingException ex) {
}
int tnum=6;
int titlen= tnum*2;//标题12字母
String otherStr =addSpace(fee,6) + addSpace(n,4)+ addSpace(total,6);
if(strlen<=titlen){//不够12列的补齐
ret=padStr(title,titlen)+otherStr+"<BR>";
}else{//超过12列的要换行
int sizes=(title.length()-1+ tnum)/ tnum;
for(int m=0;m<sizes;m++){
String childStr = substring(title, m * tnum, (m + 1) * tnum);
if(m==0){//第一行
ret=childStr+otherStr+"<BR>";
}else{
ret+=childStr+"<BR>";
}
}
}
return ret;
}
/**
*字符串截取
*/
public static String substring(String str, int f, int t) {
if (f > str.length())
return null;
if (t > str.length()) {
return str.substring(f, str.length());
} else {
return str.substring(f, t);
}
}
/**
*英文字符串的处理方法,不够长度补空格
*/
public static String addSpace(String s, int size) {
String str=s;
int len = str.length();
if (len < size) {
for (int i = 0; i < size - len; i++) {
str += " ";
}
}
return str;
}
/**
*带中、英文字符串的处理方法,中文补两空格,英文补一空格
*/
public String padStr(String s,int n){
String ret="";
String title=s;
int strlen=0;
try{
strlen=title.getBytes("GBK").length;
} catch (UnsupportedEncodingException ex) {
}
if(strlen<=n){//不够列的补齐
int spacenum=n-strlen;
for(int i=1;i<=spacenum;i++){
title+=" ";
}
}
ret=title;
return ret;
}
好了,上面的几个方法可以集成到你的工具类里,使用时直接调用即可。
最后说一下实现原理:
1、定义好每一列的宽度
2、计算每一列字符长度(中文按2倍数)
3、如果不够长,那么调用padStr,addSpace方法,补充空格
4、如果长度超了,那么按指定长度分割成多行,遍历每一行排版
最后看一下点餐小程序:
直接看效果图吧。