Procházet zdrojové kódy

增加支持标签打印的80*60mm

张洋 před 3 roky
rodič
revize
b4365d889a

+ 2 - 1
bin/Win32/Debug/zhipuzi_pos_windows/skin/setting_biaoqian_print.xml

@@ -7,13 +7,14 @@
 	</HorizontalLayout>
 	
 	<HorizontalLayout height="44">
-		<Label text="标签纸尺寸规格" width="260"/>
+		<Label text="标签纸尺寸规格【宽度*高度】" width="260"/>
 		<Combo name="setting_biaoqian_printer_guige" padding="0,9,0,0" width="140" height="26" tooltip="请点击这里选择您的标签纸尺寸规格" normalimage="file='Setting_Combox_Normal.png' corner='2,2,24,2'" hotimage="file='Setting_Combox_Hover.png' corner='2,2,24,2'" pushedimage="Setting_Combox_Click.png' corner='2,2,24,2'" textpadding="10,1,1,1" >
 			<ListLabelElement text="40*30mm" selected="true" />
 			<ListLabelElement text="35*25mm" />
 			<ListLabelElement text="30*25mm" />
 			<ListLabelElement text="30*20mm" />
 			<ListLabelElement text="60*80mm" />
+			<ListLabelElement text="80*60mm" />
 		</Combo>
 	</HorizontalLayout>
 	

binární
bin/Win32/Release/setup/zhipuzi_pos_windows_setup_1.0.1.0.exe


+ 1 - 1
bin/Win32/Release/setup/智铺子收银系统安装脚本.nsi

@@ -2,7 +2,7 @@
 
 ; HM NIS Edit Wizard helper defines
 !define PRODUCT_NAME "智铺子收银系统"
-!define PRODUCT_VERSION "1.0.1.0"
+!define PRODUCT_VERSION "1.0.1.1"
 !define PRODUCT_PUBLISHER "深圳市迅享智慧云科技有限公司"
 !define PRODUCT_WEB_SITE "https://www.zhipuzi.com"
 !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\${PRODUCT_NAME}.exe"

+ 10 - 0
zhipuzi_pos_windows/page/CSettingPageUI.cpp

@@ -673,6 +673,12 @@ void CSettingPageUI::InitShow()
 		com->SelectItem(4, false, false);
 		com->SetText(L"60*80mm");
 	}
+	else if (setting_biaoqian_printer_guige == "80*60mm")
+	{
+		com->SetInternVisible(true);
+		com->SelectItem(5, false, false);
+		com->SetText(L"80*60mm");
+	}
 
 	com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_biaoqian_printer_fangxiang")));
 	std::string setting_biaoqian_printer_fangxiang = CSetting::GetInstance()->GetParam("setting_biaoqian_printer_fangxiang");
@@ -1805,6 +1811,10 @@ void CSettingPageUI::HandleItemSelectMsg(TNotifyUI& msg)
 		{
 			CSetting::GetInstance()->SetParam("setting_biaoqian_printer_guige", "60*80mm");
 		}
+		else if (com->GetCurSel() == 5)
+		{
+			CSetting::GetInstance()->SetParam("setting_biaoqian_printer_guige", "80*60mm");
+		}
 	}
 	else if (name == _T("setting_biaoqian_printer_fangxiang"))
 	{

+ 31 - 18
zhipuzi_pos_windows/print/CPosPrinterData.cpp

@@ -521,6 +521,11 @@ std::string CPosPrinterData::PrintWaimaiOrderBiaoqian(CWaimaiOrder& order)
 		biaoqian_width = 60;
 		biaoqian_height = 80;
 	}
+	else  if (printer_guige == "80*60mm")
+	{
+		biaoqian_width = 80;
+		biaoqian_height = 60;
+	}
 	else
 	{
 		biaoqian_width = 40;
@@ -671,9 +676,9 @@ std::string CPosPrinterData::PrintWaimaiOrderBiaoqian(CWaimaiOrder& order)
             std::string order_num = "订单号:" + CLewaimaiString::UTF8ToANSI(order.m_order_num);
             textData += BIAOQIAN_TEXTGet(order_num, 12, nHeightNow + 30, 1, 1);
 
-			if (biaoqian_width >= 60)
+			//这种是比较大的纸,可以打印更多的订单信息
+			if (biaoqian_height >= 60)
 			{
-				//这种是很宽的纸,接着打印姓名、电话、地址等信息
 				nHeightNow = nHeightNow + 30 + 30;
 
 				//先打印一个分割线
@@ -743,29 +748,33 @@ std::string CPosPrinterData::PrintWaimaiOrderBiaoqian(CWaimaiOrder& order)
 					nHeightNow += 30;
 				}
 
-				//预设选项
-				if (order.m_order_field.size() > 1)
+				//高度60的打印完地址就结束了,高度80以上的接着打印
+				if (biaoqian_height >= 80)
 				{
-					for (std::vector<CWaimaiOrderField>::iterator it = order.m_order_field.begin(); it != order.m_order_field.end() - 1; it++)
+					//预设选项
+					if (order.m_order_field.size() > 1)
 					{
-						string order_field = CLewaimaiString::UTF8ToANSI((*it).name) + ":" + CLewaimaiString::UTF8ToANSI((*it).value);
-						textData += BIAOQIAN_TEXTGet(order_field, 12, nHeightNow, 1, 1);
+						for (std::vector<CWaimaiOrderField>::iterator it = order.m_order_field.begin(); it != order.m_order_field.end() - 1; it++)
+						{
+							string order_field = CLewaimaiString::UTF8ToANSI((*it).name) + ":" + CLewaimaiString::UTF8ToANSI((*it).value);
+							textData += BIAOQIAN_TEXTGet(order_field, 12, nHeightNow, 1, 1);
 
-						nHeightNow += 30;
+							nHeightNow += 30;
+						}
 					}
-				}
 
-				//判断是否有备注
-				if (order.m_memo.length() > 0)
-				{
-					//打印分割线
-					textData += BIAOQIAN_TEXTGet(line, 12, nHeightNow, 1, 1);
-					nHeightNow += 30;
+					//判断是否有备注
+					if (order.m_memo.length() > 0)
+					{
+						//打印分割线
+						textData += BIAOQIAN_TEXTGet(line, 12, nHeightNow, 1, 1);
+						nHeightNow += 30;
 
-					string memo = "顾客备注:" + CLewaimaiString::UTF8ToANSI(order.m_memo);
-					textData += BIAOQIAN_TEXTGet(memo, 12, nHeightNow, 1, 1);
+						string memo = "顾客备注:" + CLewaimaiString::UTF8ToANSI(order.m_memo);
+						textData += BIAOQIAN_TEXTGet(memo, 12, nHeightNow, 1, 1);
 
-					nHeightNow += 30;
+						nHeightNow += 30;
+					}
 				}
 			}
 
@@ -3155,6 +3164,10 @@ std::vector<std::string> CPosPrinterData::HandleBiaoqianFoodname(std::string old
 	{
 		maxWidth = 36;
 	}
+	else if (nBiaoqianWidth == 80)
+	{
+		maxWidth = 48;
+	}
 	else
 	{
 		maxWidth = 24;

binární
zhipuzi_pos_windows/resource/skin.zip


binární
zhipuzi_pos_windows/resource/zhipuzi_pos_windows.aps


binární
zhipuzi_pos_windows/resource/zhipuzi_pos_windows.rc