张洋 4 лет назад
Родитель
Сommit
b98edeb91e
38 измененных файлов с 2153 добавлено и 482 удалено
  1. BIN
      bin/Win32/Debug/zhipuzi_pos_windows/DuiLib.dll
  2. 36 12
      bin/Win32/Debug/zhipuzi_pos_windows/skin/canpai_input_dlg.xml
  3. 39 15
      bin/Win32/Debug/zhipuzi_pos_windows/skin/chengzhong_wnd.xml
  4. 5 6
      bin/Win32/Debug/zhipuzi_pos_windows/skin/diandan_cart_item.xml
  5. 34 33
      bin/Win32/Debug/zhipuzi_pos_windows/skin/diandan_page.xml
  6. 47 26
      bin/Win32/Debug/zhipuzi_pos_windows/skin/fulika_shoukuan_wnd.xml
  7. 45 25
      bin/Win32/Debug/zhipuzi_pos_windows/skin/huiyuan_shoukuan_wnd.xml
  8. 40 12
      bin/Win32/Debug/zhipuzi_pos_windows/skin/jiajia_input_dlg.xml
  9. 2 2
      bin/Win32/Debug/zhipuzi_pos_windows/skin/member_login_dlg.xml
  10. 23 12
      bin/Win32/Debug/zhipuzi_pos_windows/skin/memo_edit_dlg.xml
  11. 41 13
      bin/Win32/Debug/zhipuzi_pos_windows/skin/rengongyouhui_input_dlg.xml
  12. 57 37
      bin/Win32/Debug/zhipuzi_pos_windows/skin/xianjin_shoukuan_wnd.xml
  13. 40 12
      bin/Win32/Debug/zhipuzi_pos_windows/skin/zhekou_input_dlg.xml
  14. BIN
      dll/debug/DuiLib.dll
  15. BIN
      lib/debug/DuiLib.lib
  16. 0 3
      zhipuzi_pos_windows.sln
  17. 1 1
      zhipuzi_pos_windows/page/CDiandanPageUI.cpp
  18. 140 5
      zhipuzi_pos_windows/wnd/CCanpaiWnd.cpp
  19. 4 0
      zhipuzi_pos_windows/wnd/CCanpaiWnd.h
  20. 139 1
      zhipuzi_pos_windows/wnd/CChengzhongWnd.cpp
  21. 2 0
      zhipuzi_pos_windows/wnd/CChengzhongWnd.h
  22. 370 63
      zhipuzi_pos_windows/wnd/CFulikaShoukuanWnd.cpp
  23. 5 4
      zhipuzi_pos_windows/wnd/CFulikaShoukuanWnd.h
  24. 370 63
      zhipuzi_pos_windows/wnd/CHuiyuanShoukuanWnd.cpp
  25. 5 4
      zhipuzi_pos_windows/wnd/CHuiyuanShoukuanWnd.h
  26. 147 11
      zhipuzi_pos_windows/wnd/CJiajiaWnd.cpp
  27. 4 0
      zhipuzi_pos_windows/wnd/CJiajiaWnd.h
  28. 28 13
      zhipuzi_pos_windows/wnd/CMemberLoginWnd.cpp
  29. 3 0
      zhipuzi_pos_windows/wnd/CMemberLoginWnd.h
  30. 31 9
      zhipuzi_pos_windows/wnd/CMemoWnd.cpp
  31. 7 10
      zhipuzi_pos_windows/wnd/CMemoWnd.h
  32. 147 11
      zhipuzi_pos_windows/wnd/CRengongYouhuiWnd.cpp
  33. 4 0
      zhipuzi_pos_windows/wnd/CRengongYouhuiWnd.h
  34. 1 1
      zhipuzi_pos_windows/wnd/CToastWnd.cpp
  35. 184 65
      zhipuzi_pos_windows/wnd/CXianjinShoukuanWnd.cpp
  36. 1 1
      zhipuzi_pos_windows/wnd/CXianjinShoukuanWnd.h
  37. 147 12
      zhipuzi_pos_windows/wnd/CZhekouWnd.cpp
  38. 4 0
      zhipuzi_pos_windows/wnd/CZhekouWnd.h

BIN
bin/Win32/Debug/zhipuzi_pos_windows/DuiLib.dll


+ 36 - 12
bin/Win32/Debug/zhipuzi_pos_windows/skin/canpai_input_dlg.xml

@@ -1,22 +1,46 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<Window size="700,369" caption="0,0,0,36" roundcorner="4,4" >
+<Window size="700,434" caption="0,0,0,44" roundcorner="4,4" >
 	<Font id="0" name="微软雅黑" size="26" />
 	<Font id="1" name="微软雅黑" size="32" />
+	<Font id="2" name="微软雅黑" size="22" />
 	
-	<VerticalLayout bkcolor="#FFFFFFFF">
-		<HorizontalLayout height="50" inset="10,2,10,0">
-			<Label name="memo_dlg_title" text="" align="center" valign="center" padding="0,20,0,0" font="0"/>
+	<VerticalLayout bkimage="shoukuan_bkg.png" >
+		<HorizontalLayout name="shoukuan_title_bkg" height="44" bkcolor="0xFF3CB371">
+			<Label name="memo_dlg_title" text="" height="44" align="center" valign="center" padding="0,0,0,0" textcolor="#FFFFFFFF" font="2"/>
+			<Button name="closebtn" keyboard="false" padding="0,13,15,0" width="16" height="16" normalimage="file='close_normal.png'" hotimage="file='close_hover.png'" pushedimage="file='close_normal.png'"/>
 		</HorizontalLayout>
 		
-		<Label name="name" text="请输入餐牌号"  height="30" width="300" padding="30,50,0,0" align="left"/>
+		<HorizontalLayout>
+			<VerticalLayout width="370">
+				<Label name="name" text="请输入餐牌号" height="30" width="250" padding="30,50,0,0" align="left"/>
 	
-		<Edit name="content" width="250" height="50" tipvalue="1111" padding="30,20,0,0" textcolor="0xFF3CB371" bkcolor="#FFF2F2F2" nativebkcolor="#FFF2F2F2" font="1"/>
-		
-		<Label name="errinfo" text=""  height="60" width="250" float="true" pos="30,230,280,290" align="left" textcolor="#FFFF0000" visible="false"/>
-		
-		<HorizontalLayout height="56" valign="center" padding="30,80,0,20">
-			<Button name="quit" align="center" width="100" height="45" padding="0,20,0,0" text="取消" normalimage="file='Btn_White.png' corner='5,5,5,5'" hotimage="file='Btn_White_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_White_Click.png' corner='5,5,5,5'" />
-			<Button name="save" align="center" width="100" height="45" padding="20,20,90,0" text="确认" normalimage="file='Btn_White.png' corner='5,5,5,5'" hotimage="file='Btn_White_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_White_Click.png' corner='5,5,5,5'" />
+				<Edit name="content" width="250" height="50" padding="30,30,0,0" textcolor="0xFF3CB371" bkcolor="#FFF2F2F2" nativebkcolor="#FFF2F2F2" font="1"/>
+				
+				<Label name="errinfo" text=""  height="60" width="250" float="true" pos="30,150,280,290" align="left" textcolor="#FFFF0000" visible="false"/>
+				
+				<HorizontalLayout height="56" valign="center" padding="30,100,0,20">
+					<Button name="save" align="center" text="确认" textcolor="#FFFFFFFF" height="50" width="250" padding="0,0,0,0" normalimage="file='Btn_Green.png' corner='5,5,5,5'" hotimage="file='Btn_Green_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_Green_Click.png' corner='5,5,5,5'" />
+				</HorizontalLayout>
+			</VerticalLayout>
+			
+			<HorizontalLayout width="330" height="406" bkcolor="#FFF3F3F3">
+				<Button name="jianpan_1" text="1" font="0" heiht="60" width="60" float="true" pos="10,0,110,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_2" text="2" font="0" heiht="60" width="60" float="true" pos="120,0,220,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_3" text="3" font="0" heiht="60" width="60" float="true" pos="230,0,330,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_4" text="4" font="0" heiht="60" width="60" float="true" pos="10,100,110,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_5" text="5" font="0" heiht="60" width="60" float="true" pos="120,100,220,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_6" text="6" font="0" heiht="60" width="60" float="true" pos="230,100,330,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_7" text="7" font="0" heiht="60" width="60" float="true" pos="10,200,110,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_8" text="8" font="0" heiht="60" width="60" float="true" pos="120,200,220,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_9" text="9" font="0" heiht="60" width="60" float="true" pos="230,200,330,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_qingkong" text="清空" font="0" heiht="60" width="60" float="true" pos="10,300,110,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_0" text="0" font="0" heiht="60" width="60" float="true" pos="120,300,220,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_x" text="X" font="0" heiht="60" width="60" float="true" pos="230,300,330,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+			</HorizontalLayout>
 		</HorizontalLayout>
+		
 	</VerticalLayout>
 </Window>

+ 39 - 15
bin/Win32/Debug/zhipuzi_pos_windows/skin/chengzhong_wnd.xml

@@ -1,26 +1,50 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<Window size="700,369" caption="0,0,0,36" roundcorner="4,4" >
+<Window size="700,434" caption="0,0,0,44" roundcorner="4,4" >
 	<Font id="0" name="微软雅黑" size="26" />
 	<Font id="1" name="微软雅黑" size="32" />
+	<Font id="2" name="微软雅黑" size="22" />
 	
-	<VerticalLayout bkcolor="#FFFFFFFF">
-		<HorizontalLayout height="50" inset="10,2,10,0">
-			<Label name="memo_dlg_title" text="" align="center" valign="center" padding="0,20,0,0" font="0"/>
+	<VerticalLayout bkimage="shoukuan_bkg.png" >
+		<HorizontalLayout name="shoukuan_title_bkg" height="44" bkcolor="0xFF3CB371">
+			<Label name="memo_dlg_title" text="" height="44" align="center" valign="center" padding="0,0,0,0" textcolor="#FFFFFFFF" font="2"/>
+			<Button name="closebtn" keyboard="false" padding="0,13,15,0" width="16" height="16" normalimage="file='close_normal.png'" hotimage="file='close_hover.png'" pushedimage="file='close_normal.png'"/>
 		</HorizontalLayout>
 		
-		<Label name="price" text=""  height="30" width="250" padding="30,50,0,0" align="left"/>
+		<HorizontalLayout>
+			<VerticalLayout width="370">
+				<Label name="name" text="商品重量" height="30" width="300" padding="30,50,0,0" align="left"/>
 	
-		<HorizontalLayout padding="0,30,0,0">
-			<Label text="重量:"  height="30" width="60" padding="30,0,0,0" align="left"/>
-			<Edit name="content" enabled="false" text="" width="250" height="50" padding="30,0,0,0" textcolor="0xFF3CB371" bkcolor="#FFF2F2F2" nativebkcolor="#FFF2F2F2" font="1"/>
-			<Label text="公斤"  height="30" width="60" padding="30,10,0,0" align="left"/>
+				<HorizontalLayout height="50" padding="0,30,0,0">
+					<Edit name="content" width="250" height="50" padding="30,0,0,0" textcolor="0xFF3CB371" bkcolor="#FFF2F2F2" nativebkcolor="#FFF2F2F2" font="1"/>
+					<Label name="name" text="公斤" height="50" width="50" padding="30,0,0,0" align="left"/>
+				</HorizontalLayout>
+				
+				
+				<Label name="errinfo" text=""  height="60" width="250" float="true" pos="30,150,280,290" align="left" textcolor="#FFFF0000" visible="false"/>
+				
+				<HorizontalLayout height="56" valign="center" padding="30,100,0,20">
+					<Button name="save" align="center" text="确认" textcolor="#FFFFFFFF" height="50" width="250" padding="0,0,0,0" normalimage="file='Btn_Green.png' corner='5,5,5,5'" hotimage="file='Btn_Green_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_Green_Click.png' corner='5,5,5,5'" />
+				</HorizontalLayout>
+			</VerticalLayout>
+			
+			<HorizontalLayout width="330" height="406" bkcolor="#FFF3F3F3">
+				<Button name="jianpan_1" text="1" font="0" heiht="60" width="60" float="true" pos="10,0,110,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_2" text="2" font="0" heiht="60" width="60" float="true" pos="120,0,220,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_3" text="3" font="0" heiht="60" width="60" float="true" pos="230,0,330,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_4" text="4" font="0" heiht="60" width="60" float="true" pos="10,100,110,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_5" text="5" font="0" heiht="60" width="60" float="true" pos="120,100,220,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_6" text="6" font="0" heiht="60" width="60" float="true" pos="230,100,330,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_7" text="7" font="0" heiht="60" width="60" float="true" pos="10,200,110,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_8" text="8" font="0" heiht="60" width="60" float="true" pos="120,200,220,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_9" text="9" font="0" heiht="60" width="60" float="true" pos="230,200,330,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_dian" text="." font="0" heiht="60" width="60" float="true" pos="10,300,110,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_0" text="0" font="0" heiht="60" width="60" float="true" pos="120,300,220,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_x" text="X" font="0" heiht="60" width="60" float="true" pos="230,300,330,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+			</HorizontalLayout>
 		</HorizontalLayout>
 		
-		<Label name="errinfo" text=""  height="60" width="250" float="true" pos="30,230,280,290" align="left" textcolor="#FFFF0000" visible="false"/>
-		
-		<HorizontalLayout height="56" valign="center" padding="30,80,0,20">
-			<Button name="quit" align="center" width="100" height="45" padding="0,20,0,0" text="取消" normalimage="file='Btn_White.png' corner='5,5,5,5'" hotimage="file='Btn_White_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_White_Click.png' corner='5,5,5,5'" />
-			<Button name="save" align="center" width="100" height="45" padding="20,20,90,0" text="确认" normalimage="file='Btn_White.png' corner='5,5,5,5'" hotimage="file='Btn_White_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_White_Click.png' corner='5,5,5,5'" />
-		</HorizontalLayout>
 	</VerticalLayout>
 </Window>

+ 5 - 6
bin/Win32/Debug/zhipuzi_pos_windows/skin/diandan_cart_item.xml

@@ -1,15 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <Window> 
-	<ListContainerElement name="diandan_cart_item" width="430" height="42">
+	<ListContainerElement name="diandan_cart_item" width="400" height="42">
 		<VerticalLayout>
 			<HorizontalLayout height="42"> 
-				<Label name="diandan_cart_item_name" width="300" height="42" align="left" padding="10,0,0,0" endellipsis="true" />
-				<Control width="10"></Control>
-				<Label name="diandan_cart_item_num" width="60" align="left"/> 
-				<Label name="diandan_cart_item_price" width="60" align="left"/>
+				<Label name="diandan_cart_item_name" width="240" height="42" align="left" padding="10,0,0,0" endellipsis="true" />
+				<Label name="diandan_cart_item_num" width="80" align="center"/> 
+				<Label name="diandan_cart_item_price" width="80" align="center"/>
 			</HorizontalLayout>
-			<Label name="diandan_cart_item_nature" width="310" height="42" align="left" padding="10,0,10,0" textcolor="#FF808080" visible="false" multiline="true" endellipsis="true" />
+			<Label name="diandan_cart_item_nature" width="240" height="42" align="left" padding="10,0,10,0" textcolor="#FF808080" visible="false" multiline="true" endellipsis="true" />
 		</VerticalLayout>
 	</ListContainerElement> 
 </Window>

Разница между файлами не показана из-за своего большого размера
+ 34 - 33
bin/Win32/Debug/zhipuzi_pos_windows/skin/diandan_page.xml


+ 47 - 26
bin/Win32/Debug/zhipuzi_pos_windows/skin/fulika_shoukuan_wnd.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<Window size="580,550" caption="0,0,0,44" roundcorner="4,4" >
+<Window size="800,740" caption="0,0,0,44" roundcorner="4,4" >
 	<Font id="0" name="微软雅黑" size="24" />
 	<Font id="1" name="微软雅黑" size="40" />
 	<Font id="2" name="微软雅黑" size="18" />
@@ -10,25 +10,25 @@
 			<Button name="closebtn" keyboard="false" padding="0,13,15,0" width="16" height="16" tooltip="关闭" normalimage="file='close_normal.png'" hotimage="file='close_hover.png'" pushedimage="file='close_normal.png'"/>
 		</HorizontalLayout>
 		
-		<VerticalLayout visible="true" name="shoukuan_before_pay_layout" height="500" padding="0,20,0,0">			
+		<VerticalLayout visible="true" name="shoukuan_before_pay_layout" padding="0,20,0,0">			
 			<HorizontalLayout name="shoukuan_money_show_layout" height="50" padding="0,15,0,15">
-				<Label text="¥" font="0" textcolor="0xFF3CB371" float="true" pos="220,24,235,50"/>
-				<Label name="shoukuan_money_show_money" font="1" textcolor="0xFF3CB371" float="true" pos="245,12,520,48"/>
+				<Label text="¥" font="0" textcolor="0xFF3CB371" float="true" pos="320,24,335,50"/>
+				<Label name="shoukuan_money_show_money" font="1" textcolor="0xFF3CB371" float="true" pos="345,12,620,48"/>
 			</HorizontalLayout>
 			
 			<HorizontalLayout height="40" padding="0,20,0,0">
 				<VerticalLayout>
 					<Button name="shoukuan_btn_saomazhifu" text="扫码支付" textcolor="#FF43A947" font="2" heiht="38" width="200" padding="50,0,10,0" normalimage="" hotimage="" pushedimage="" bordersize="0" bkcolor="#00FFFFFF"></Button>
-					<Control name="shoukuan_btn_saomazhifu_line" height="2" bkcolor="#FF43A947" padding="70,0,70,0"></Control>
+					<Control name="shoukuan_btn_saomazhifu_line" height="3" bkcolor="#FF43A947" padding="70,0,150,0"></Control>
 				</VerticalLayout>
 				
 				<VerticalLayout>
 					<Button name="shoukuan_btn_shoujihao" text="手机号+密码支付" font="2" heiht="38" width="200" padding="50,0,10,0" normalimage="" hotimage="" pushedimage="" bordersize="0" bkcolor="#00FFFFFF"></Button>
-					<Control name="shoukuan_btn_shoujihao_line" visible="false" height="2" bkcolor="#FF43A947" padding="70,0,70,0"></Control>
+					<Control name="shoukuan_btn_shoujihao_line" visible="false" height="3" bkcolor="#FF43A947" padding="30,0,150,0"></Control>
 				</VerticalLayout>
 			</HorizontalLayout>
 			
-			<VerticalLayout name="fukuan_input_fukuanma_layout" height="220" padding="0,30,0,0">
+			<VerticalLayout name="fukuan_input_fukuanma_layout" height="220" padding="0,80,0,100">
 				<HorizontalLayout padding="0,20,0,0" height="129">
 					<Control></Control>
 					<Control bkimage="qrcode_attention.png" width="129" height="127"></Control>
@@ -38,23 +38,43 @@
 				<Label text="请扫描顾客福利卡付款二维码" align="center" padding="0,30,0,0" height="40" font="0"></Label>
 			</VerticalLayout>
 			
-			<VerticalLayout visible="false" name="fukuan_input_shoujihao_layout" height="230" padding="0,30,0,0">
-				<HorizontalLayout height="60">
-					<Label text="手机号:" font="2" float="true" pos="100,15,200,40"/>
-					<Edit name="shoujihao_edit" float="true" pos="203,12,420,48" normalimage="file='Chat_InputBox_BG.png' corner='4,4,4,4'" hotimage="file='Chat_InputBox_BG_Hover.png' corner='4,4,4,4'" />
-				</HorizontalLayout>
+			<HorizontalLayout visible="false" name="fukuan_input_shoujihao_layout" padding="0,30,0,0">
+				<VerticalLayout height="230" padding="0,30,0,0">
+					<HorizontalLayout height="60">
+						<Label text="手机号:" font="2" float="true" pos="50,15,200,40"/>
+						<Edit name="shoujihao_edit" float="true" pos="153,12,370,48" normalimage="file='Chat_InputBox_BG.png' corner='4,4,4,4'" hotimage="file='Chat_InputBox_BG_Hover.png' corner='4,4,4,4'" />
+					</HorizontalLayout>
+				
+					<HorizontalLayout height="60">
+						<Label text="密码:" font="2" float="true" pos="50,15,200,40"/>
+						<Edit name="password_edit" password="true" float="true" pos="153,12,370,48" normalimage="file='Chat_InputBox_BG.png' corner='4,4,4,4'" hotimage="file='Chat_InputBox_BG_Hover.png' corner='4,4,4,4'" />
+					</HorizontalLayout>
+					
+					<HorizontalLayout height="80" padding="0,30,0,0">
+						<Control></Control>
+						<Button name="shoukuanBtn" text="确认" font="2" textcolor="#FFFFFFFF" height="50" width="350" padding="0,0,0,0" tooltip="点击这里确认收款" normalimage="file='Btn_Green.png' corner='5,5,5,5'" hotimage="file='Btn_Green_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_Green_Click.png' corner='5,5,5,5'" />
+						<Control></Control>
+					</HorizontalLayout>	
+				</VerticalLayout>
 			
-				<HorizontalLayout height="60">
-					<Label text="密码:" font="2" float="true" pos="100,15,200,40"/>
-					<Edit name="password_edit" password="true" float="true" pos="203,12,420,48" normalimage="file='Chat_InputBox_BG.png' corner='4,4,4,4'" hotimage="file='Chat_InputBox_BG_Hover.png' corner='4,4,4,4'" />
+				<HorizontalLayout width="340" height="416" bkcolor="#FFF3F3F3" padding="0,0,20,0">
+					<Button name="jianpan_1" text="1" font="0" heiht="60" width="60" float="true" pos="10,10,110,100" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_2" text="2" font="0" heiht="60" width="60" float="true" pos="120,10,220,100" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_3" text="3" font="0" heiht="60" width="60" float="true" pos="230,10,330,100" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					
+					<Button name="jianpan_4" text="4" font="0" heiht="60" width="60" float="true" pos="10,110,110,200" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_5" text="5" font="0" heiht="60" width="60" float="true" pos="120,110,220,200" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_6" text="6" font="0" heiht="60" width="60" float="true" pos="230,110,330,200" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					
+					<Button name="jianpan_7" text="7" font="0" heiht="60" width="60" float="true" pos="10,210,110,300" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_8" text="8" font="0" heiht="60" width="60" float="true" pos="120,210,220,300" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_9" text="9" font="0" heiht="60" width="60" float="true" pos="230,210,330,300" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					
+					<Button name="jianpan_qingkong" text="清空" font="0" heiht="60" width="60" float="true" pos="10,310,110,400" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_0" text="0" font="0" heiht="60" width="60" float="true" pos="120,310,220,400" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_x" text="X" font="0" heiht="60" width="60" float="true" pos="230,310,330,400" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
 				</HorizontalLayout>
-				
-				<HorizontalLayout height="80" padding="0,30,0,0">
-					<Control></Control>
-					<Button name="shoukuanBtn" text="确认" font="2" textcolor="#FFFFFFFF" height="50" width="400" padding="0,0,0,0" tooltip="点击这里确认收款" normalimage="file='Btn_Green.png' corner='5,5,5,5'" hotimage="file='Btn_Green_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_Green_Click.png' corner='5,5,5,5'" />
-					<Control></Control>
-				</HorizontalLayout>	
-			</VerticalLayout>
+			</HorizontalLayout>			
 
 			<HorizontalLayout height="50" padding="0,20,0,0">
 				<Control></Control>
@@ -64,7 +84,7 @@
 		</VerticalLayout>
 		
 		<VerticalLayout name="shoukuan_paying_layout" visible="false">
-			<HorizontalLayout name="shoukuan_paying_loading" height="24" padding="0, 20, 0, 20">
+			<HorizontalLayout name="shoukuan_paying_loading" height="24" padding="0, 120, 0, 20">
 				<Control></Control>
 				<VerticalLayout width="24">
 					<Control></Control>
@@ -83,8 +103,9 @@
 			<Label height="60" padding="20,30,20,0" name="shouyin_paying_attention" text="如果用户没有支付成功,则请确认客户不再进行支付时再关闭此窗口,按【Esc】取消本次支付" font="2" textcolor="0xFF808080" multiline="true" align="center" />
 		</VerticalLayout>
 		
-		<VerticalLayout name="shoukuan_pay_success_layout" visible="false">			
-			<Label height="40" padding="0,80,0,20" name="shoukuan_pay_success_money" text="成功收款:" font="3" textcolor="0xFF3CB371" align="center"></Label>
+		<VerticalLayout name="shoukuan_pay_success_layout" visible="false">
+			
+			<Label height="40" padding="0,180,0,20" name="shoukuan_pay_success_money" text="成功收款:" font="3" textcolor="0xFF3CB371" align="center"></Label>
 			
 			<Label height="60" padding="20,30,20,0" name="shouyin_pay_success_attention" text="按任意键关闭窗口" font="2" textcolor="0xFF808080" multiline="true" align="center" />
 		</VerticalLayout>
@@ -96,7 +117,7 @@
 				<Control></Control>
 			</HorizontalLayout>
 			
-			<Label height="40" padding="0,20,0,20" name="shoukuan_pay_fail_money" text="订单支付失败" font="3" textcolor="0xFFD33E3A" align="center"></Label>
+			<Label height="40" padding="0,120,0,20" name="shoukuan_pay_fail_money" text="订单支付失败" font="3" textcolor="0xFFD33E3A" align="center"></Label>
 			
 			<Label height="60" padding="20,30,20,0" name="shouyin_pay_fail_attention" text="" font="2" textcolor="0xFF808080" multiline="true" align="center" />
 		</VerticalLayout>

+ 45 - 25
bin/Win32/Debug/zhipuzi_pos_windows/skin/huiyuan_shoukuan_wnd.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<Window size="580,550" caption="0,0,0,44" roundcorner="4,4" >
+<Window size="800,740" caption="0,0,0,44" roundcorner="4,4" >
 	<Font id="0" name="微软雅黑" size="24" />
 	<Font id="1" name="微软雅黑" size="40" />
 	<Font id="2" name="微软雅黑" size="18" />
@@ -10,25 +10,25 @@
 			<Button name="closebtn" keyboard="false" padding="0,13,15,0" width="16" height="16" tooltip="关闭" normalimage="file='close_normal.png'" hotimage="file='close_hover.png'" pushedimage="file='close_normal.png'"/>
 		</HorizontalLayout>
 		
-		<VerticalLayout visible="true" name="shoukuan_before_pay_layout" height="500" padding="0,20,0,0">			
+		<VerticalLayout visible="true" name="shoukuan_before_pay_layout" padding="0,20,0,0">			
 			<HorizontalLayout name="shoukuan_money_show_layout" height="50" padding="0,15,0,15">
-				<Label text="¥" font="0" textcolor="0xFF3CB371" float="true" pos="220,24,235,50"/>
-				<Label name="shoukuan_money_show_money" font="1" textcolor="0xFF3CB371" float="true" pos="245,12,520,48"/>
+				<Label text="¥" font="0" textcolor="0xFF3CB371" float="true" pos="320,24,335,50"/>
+				<Label name="shoukuan_money_show_money" font="1" textcolor="0xFF3CB371" float="true" pos="345,12,620,48"/>
 			</HorizontalLayout>
 			
 			<HorizontalLayout height="40" padding="0,20,0,0">
 				<VerticalLayout>
 					<Button name="shoukuan_btn_saomazhifu" text="扫码支付" textcolor="#FF43A947" font="2" heiht="38" width="200" padding="50,0,10,0" normalimage="" hotimage="" pushedimage="" bordersize="0" bkcolor="#00FFFFFF"></Button>
-					<Control name="shoukuan_btn_saomazhifu_line" height="2" bkcolor="#FF43A947" padding="70,0,70,0"></Control>
+					<Control name="shoukuan_btn_saomazhifu_line" height="3" bkcolor="#FF43A947" padding="70,0,150,0"></Control>
 				</VerticalLayout>
 				
 				<VerticalLayout>
 					<Button name="shoukuan_btn_shoujihao" text="手机号+密码支付" font="2" heiht="38" width="200" padding="50,0,10,0" normalimage="" hotimage="" pushedimage="" bordersize="0" bkcolor="#00FFFFFF"></Button>
-					<Control name="shoukuan_btn_shoujihao_line" visible="false" height="2" bkcolor="#FF43A947" padding="70,0,70,0"></Control>
+					<Control name="shoukuan_btn_shoujihao_line" visible="false" height="3" bkcolor="#FF43A947" padding="30,0,150,0"></Control>
 				</VerticalLayout>
 			</HorizontalLayout>
 			
-			<VerticalLayout name="fukuan_input_fukuanma_layout" height="220" padding="0,30,0,0">
+			<VerticalLayout name="fukuan_input_fukuanma_layout" height="220" padding="0,80,0,100">
 				<HorizontalLayout padding="0,20,0,0" height="129">
 					<Control></Control>
 					<Control bkimage="qrcode_attention.png" width="129" height="127"></Control>
@@ -38,23 +38,43 @@
 				<Label text="请扫描顾客会员付款二维码" align="center" padding="0,30,0,0" height="40" font="0"></Label>
 			</VerticalLayout>
 			
-			<VerticalLayout visible="false" name="fukuan_input_shoujihao_layout" height="230" padding="0,30,0,0">
-				<HorizontalLayout height="60">
-					<Label text="手机号:" font="2" float="true" pos="100,15,200,40"/>
-					<Edit name="shoujihao_edit" float="true" pos="203,12,420,48" normalimage="file='Chat_InputBox_BG.png' corner='4,4,4,4'" hotimage="file='Chat_InputBox_BG_Hover.png' corner='4,4,4,4'" />
-				</HorizontalLayout>
+			<HorizontalLayout visible="false" name="fukuan_input_shoujihao_layout" padding="0,30,0,0">
+				<VerticalLayout height="230" padding="0,30,0,0">
+					<HorizontalLayout height="60">
+						<Label text="手机号:" font="2" float="true" pos="50,15,200,40"/>
+						<Edit name="shoujihao_edit" float="true" pos="153,12,370,48" normalimage="file='Chat_InputBox_BG.png' corner='4,4,4,4'" hotimage="file='Chat_InputBox_BG_Hover.png' corner='4,4,4,4'" />
+					</HorizontalLayout>
+				
+					<HorizontalLayout height="60">
+						<Label text="密码:" font="2" float="true" pos="50,15,200,40"/>
+						<Edit name="password_edit" password="true" float="true" pos="153,12,370,48" normalimage="file='Chat_InputBox_BG.png' corner='4,4,4,4'" hotimage="file='Chat_InputBox_BG_Hover.png' corner='4,4,4,4'" />
+					</HorizontalLayout>
+					
+					<HorizontalLayout height="80" padding="0,30,0,0">
+						<Control></Control>
+						<Button name="shoukuanBtn" text="确认" font="2" textcolor="#FFFFFFFF" height="50" width="350" padding="0,0,0,0" tooltip="点击这里确认收款" normalimage="file='Btn_Green.png' corner='5,5,5,5'" hotimage="file='Btn_Green_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_Green_Click.png' corner='5,5,5,5'" />
+						<Control></Control>
+					</HorizontalLayout>	
+				</VerticalLayout>
 			
-				<HorizontalLayout height="60">
-					<Label text="密码:" font="2" float="true" pos="100,15,200,40"/>
-					<Edit name="password_edit" password="true" float="true" pos="203,12,420,48" normalimage="file='Chat_InputBox_BG.png' corner='4,4,4,4'" hotimage="file='Chat_InputBox_BG_Hover.png' corner='4,4,4,4'" />
+				<HorizontalLayout width="340" height="416" bkcolor="#FFF3F3F3" padding="0,0,20,0">
+					<Button name="jianpan_1" text="1" font="0" heiht="60" width="60" float="true" pos="10,10,110,100" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_2" text="2" font="0" heiht="60" width="60" float="true" pos="120,10,220,100" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_3" text="3" font="0" heiht="60" width="60" float="true" pos="230,10,330,100" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					
+					<Button name="jianpan_4" text="4" font="0" heiht="60" width="60" float="true" pos="10,110,110,200" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_5" text="5" font="0" heiht="60" width="60" float="true" pos="120,110,220,200" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_6" text="6" font="0" heiht="60" width="60" float="true" pos="230,110,330,200" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					
+					<Button name="jianpan_7" text="7" font="0" heiht="60" width="60" float="true" pos="10,210,110,300" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_8" text="8" font="0" heiht="60" width="60" float="true" pos="120,210,220,300" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_9" text="9" font="0" heiht="60" width="60" float="true" pos="230,210,330,300" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					
+					<Button name="jianpan_qingkong" text="清空" font="0" heiht="60" width="60" float="true" pos="10,310,110,400" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_0" text="0" font="0" heiht="60" width="60" float="true" pos="120,310,220,400" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+					<Button name="jianpan_x" text="X" font="0" heiht="60" width="60" float="true" pos="230,310,330,400" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
 				</HorizontalLayout>
-				
-				<HorizontalLayout height="80" padding="0,30,0,0">
-					<Control></Control>
-					<Button name="shoukuanBtn" text="确认" font="2" textcolor="#FFFFFFFF" height="50" width="400" padding="0,0,0,0" tooltip="点击这里确认收款" normalimage="file='Btn_Green.png' corner='5,5,5,5'" hotimage="file='Btn_Green_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_Green_Click.png' corner='5,5,5,5'" />
-					<Control></Control>
-				</HorizontalLayout>	
-			</VerticalLayout>
+			</HorizontalLayout>			
 
 			<HorizontalLayout height="50" padding="0,20,0,0">
 				<Control></Control>
@@ -64,7 +84,7 @@
 		</VerticalLayout>
 		
 		<VerticalLayout name="shoukuan_paying_layout" visible="false">
-			<HorizontalLayout name="shoukuan_paying_loading" height="24" padding="0, 20, 0, 20">
+			<HorizontalLayout name="shoukuan_paying_loading" height="24" padding="0, 120, 0, 20">
 				<Control></Control>
 				<VerticalLayout width="24">
 					<Control></Control>
@@ -85,7 +105,7 @@
 		
 		<VerticalLayout name="shoukuan_pay_success_layout" visible="false">
 			
-			<Label height="40" padding="0,80,0,20" name="shoukuan_pay_success_money" text="成功收款:" font="3" textcolor="0xFF3CB371" align="center"></Label>
+			<Label height="40" padding="0,180,0,20" name="shoukuan_pay_success_money" text="成功收款:" font="3" textcolor="0xFF3CB371" align="center"></Label>
 			
 			<Label height="60" padding="20,30,20,0" name="shouyin_pay_success_attention" text="按任意键关闭窗口" font="2" textcolor="0xFF808080" multiline="true" align="center" />
 		</VerticalLayout>
@@ -97,7 +117,7 @@
 				<Control></Control>
 			</HorizontalLayout>
 			
-			<Label height="40" padding="0,20,0,20" name="shoukuan_pay_fail_money" text="订单支付失败" font="3" textcolor="0xFFD33E3A" align="center"></Label>
+			<Label height="40" padding="0,120,0,20" name="shoukuan_pay_fail_money" text="订单支付失败" font="3" textcolor="0xFFD33E3A" align="center"></Label>
 			
 			<Label height="60" padding="20,30,20,0" name="shouyin_pay_fail_attention" text="" font="2" textcolor="0xFF808080" multiline="true" align="center" />
 		</VerticalLayout>

+ 40 - 12
bin/Win32/Debug/zhipuzi_pos_windows/skin/jiajia_input_dlg.xml

@@ -1,22 +1,50 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<Window size="700,369" caption="0,0,0,36" roundcorner="4,4" >
+<Window size="700,434" caption="0,0,0,44" roundcorner="4,4" >
 	<Font id="0" name="微软雅黑" size="26" />
 	<Font id="1" name="微软雅黑" size="32" />
+	<Font id="2" name="微软雅黑" size="22" />
 	
-	<VerticalLayout bkcolor="#FFFFFFFF">
-		<HorizontalLayout height="50" inset="10,2,10,0">
-			<Label name="memo_dlg_title" text="" align="center" valign="center" padding="0,20,0,0" font="0"/>
+	<VerticalLayout bkimage="shoukuan_bkg.png" >
+		<HorizontalLayout name="shoukuan_title_bkg" height="44" bkcolor="0xFF3CB371">
+			<Label name="memo_dlg_title" text="" height="44" align="center" valign="center" padding="0,0,0,0" textcolor="#FFFFFFFF" font="2"/>
+			<Button name="closebtn" keyboard="false" padding="0,13,15,0" width="16" height="16" normalimage="file='close_normal.png'" hotimage="file='close_hover.png'" pushedimage="file='close_normal.png'"/>
 		</HorizontalLayout>
 		
-		<Label name="name" text="请输入加价金额(0到100之间的整数)"  height="30" width="300" padding="30,50,0,0" align="left"/>
+		<HorizontalLayout>
+			<VerticalLayout width="370">
+				<Label name="name" text="请输入加价金额(0到1000之间的整数)" height="30" width="300" padding="30,50,0,0" align="left"/>
 	
-		<Edit name="content" width="250" height="50" tipvalue="1111" padding="30,20,0,0" textcolor="0xFF3CB371" bkcolor="#FFF2F2F2" nativebkcolor="#FFF2F2F2" font="1"/>
-		
-		<Label name="errinfo" text=""  height="60" width="250" float="true" pos="30,230,280,290" align="left" textcolor="#FFFF0000" visible="false"/>
-		
-		<HorizontalLayout height="56" valign="center" padding="30,80,0,20">
-			<Button name="quit" align="center" width="100" height="45" padding="0,20,0,0" text="取消" normalimage="file='Btn_White.png' corner='5,5,5,5'" hotimage="file='Btn_White_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_White_Click.png' corner='5,5,5,5'" />
-			<Button name="save" align="center" width="100" height="45" padding="20,20,90,0" text="确认" normalimage="file='Btn_White.png' corner='5,5,5,5'" hotimage="file='Btn_White_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_White_Click.png' corner='5,5,5,5'" />
+				<HorizontalLayout height="50" padding="0,30,0,0">
+					<Edit name="content" width="250" height="50" padding="30,0,0,0" textcolor="0xFF3CB371" bkcolor="#FFF2F2F2" nativebkcolor="#FFF2F2F2" font="1"/>
+					<Label name="name" text="元" height="50" width="50" padding="30,0,0,0" align="left"/>
+				</HorizontalLayout>
+				
+				
+				<Label name="errinfo" text=""  height="60" width="250" float="true" pos="30,150,280,290" align="left" textcolor="#FFFF0000" visible="false"/>
+				
+				<HorizontalLayout height="56" valign="center" padding="30,100,0,20">
+					<Button name="save" align="center" text="确认" textcolor="#FFFFFFFF" height="50" width="250" padding="0,0,0,0" normalimage="file='Btn_Green.png' corner='5,5,5,5'" hotimage="file='Btn_Green_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_Green_Click.png' corner='5,5,5,5'" />
+				</HorizontalLayout>
+			</VerticalLayout>
+			
+			<HorizontalLayout width="330" height="406" bkcolor="#FFF3F3F3">
+				<Button name="jianpan_1" text="1" font="0" heiht="60" width="60" float="true" pos="10,0,110,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_2" text="2" font="0" heiht="60" width="60" float="true" pos="120,0,220,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_3" text="3" font="0" heiht="60" width="60" float="true" pos="230,0,330,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_4" text="4" font="0" heiht="60" width="60" float="true" pos="10,100,110,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_5" text="5" font="0" heiht="60" width="60" float="true" pos="120,100,220,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_6" text="6" font="0" heiht="60" width="60" float="true" pos="230,100,330,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_7" text="7" font="0" heiht="60" width="60" float="true" pos="10,200,110,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_8" text="8" font="0" heiht="60" width="60" float="true" pos="120,200,220,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_9" text="9" font="0" heiht="60" width="60" float="true" pos="230,200,330,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_qingkong" text="清空" font="0" heiht="60" width="60" float="true" pos="10,300,110,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_0" text="0" font="0" heiht="60" width="60" float="true" pos="120,300,220,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_x" text="X" font="0" heiht="60" width="60" float="true" pos="230,300,330,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+			</HorizontalLayout>
 		</HorizontalLayout>
+		
 	</VerticalLayout>
 </Window>

+ 2 - 2
bin/Win32/Debug/zhipuzi_pos_windows/skin/member_login_dlg.xml

@@ -12,9 +12,9 @@
 		
 		<HorizontalLayout>
 			<VerticalLayout width="370">
-				<Label name="name" text="请输入会员手机号" font="0" height="30" width="250" padding="30,50,0,0" align="left"/>
+				<Label name="name" text="请输入会员手机号" height="30" width="250" padding="30,50,0,0" align="left"/>
 	
-				<Edit name="content" width="250" height="50" tipvalue="1111" padding="30,30,0,0" textcolor="0xFF3CB371" bkcolor="#FFF2F2F2" nativebkcolor="#FFF2F2F2" font="1"/>
+				<Edit name="content" width="250" height="50" padding="30,30,0,0" textcolor="0xFF3CB371" bkcolor="#FFF2F2F2" nativebkcolor="#FFF2F2F2" font="1"/>
 				
 				<Label name="errinfo" text=""  height="60" width="250" float="true" pos="30,150,280,290" align="left" textcolor="#FFFF0000" visible="false"/>
 				

+ 23 - 12
bin/Win32/Debug/zhipuzi_pos_windows/skin/memo_edit_dlg.xml

@@ -1,19 +1,30 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<Window size="700,369" caption="0,0,0,36" roundcorner="4,4" >
-	<Font id="0" name="微软雅黑" size="22" />
+<Window size="700,434" caption="0,0,0,44" roundcorner="4,4" >
+	<Font id="0" name="微软雅黑" size="26" />
+	<Font id="1" name="微软雅黑" size="32" />
+	<Font id="2" name="微软雅黑" size="22" />
 	
-	<VerticalLayout bkcolor="#FFFFFFFF">
-		<HorizontalLayout height="50" inset="10,2,10,0">
-			<Label name="memo_dlg_title" text="" align="center" valign="center" padding="0,20,0,0" font="0"/>
+	<VerticalLayout bkimage="shoukuan_bkg.png" >
+		<HorizontalLayout name="shoukuan_title_bkg" height="44" bkcolor="0xFF3CB371">
+			<Label name="memo_dlg_title" text="" height="44" align="center" valign="center" padding="0,0,0,0" textcolor="#FFFFFFFF" font="2"/>
+			<Button name="closebtn" keyboard="false" padding="0,13,15,0" width="16" height="16" normalimage="file='close_normal.png'" hotimage="file='close_hover.png'" pushedimage="file='close_normal.png'"/>
 		</HorizontalLayout>
 		
-		<RichEdit name="content" width="520" height="180" padding="90,20,90,0" bkcolor="#FFF2F2F2" />
-		
-		<HorizontalLayout height="56" valign="center" padding="0,30,0,20">
-			<Control />
-			<Button name="quit" align="center" width="100" height="45" padding="0,20,0,0" text="取消" normalimage="file='Btn_White.png' corner='5,5,5,5'" hotimage="file='Btn_White_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_White_Click.png' corner='5,5,5,5'" />
-			<Button name="save" align="center" width="100" height="45" padding="20,20,90,0" text="确认" normalimage="file='Btn_White.png' corner='5,5,5,5'" hotimage="file='Btn_White_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_White_Click.png' corner='5,5,5,5'" />
-			<Control />
+		<HorizontalLayout>
+			<VerticalLayout>
+				<Label name="name" text="请输入整单备注" height="30" width="250" padding="30,50,0,0" align="left"/>
+	
+				<Edit name="content" width="600" height="50" padding="30,30,0,0" bkcolor="#FFF2F2F2" nativebkcolor="#FFF2F2F2" font="2"/>
+				
+				<Label name="errinfo" text=""  height="60" width="250" float="true" pos="30,150,280,290" align="left" textcolor="#FFFF0000" visible="false"/>
+				
+				<HorizontalLayout height="56" valign="center" padding="30,100,0,20">
+					<Control></Control>
+					<Button name="save" align="center" text="确认" textcolor="#FFFFFFFF" height="50" width="250" padding="0,0,0,0" normalimage="file='Btn_Green.png' corner='5,5,5,5'" hotimage="file='Btn_Green_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_Green_Click.png' corner='5,5,5,5'" />
+					<Control></Control>
+				</HorizontalLayout>
+			</VerticalLayout>
 		</HorizontalLayout>
+		
 	</VerticalLayout>
 </Window>

+ 41 - 13
bin/Win32/Debug/zhipuzi_pos_windows/skin/rengongyouhui_input_dlg.xml

@@ -1,22 +1,50 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<Window size="700,369" caption="0,0,0,36" roundcorner="4,4" >
+<Window size="700,434" caption="0,0,0,44" roundcorner="4,4" >
 	<Font id="0" name="微软雅黑" size="26" />
 	<Font id="1" name="微软雅黑" size="32" />
+	<Font id="2" name="微软雅黑" size="22" />
 	
-	<VerticalLayout bkcolor="#FFFFFFFF">
-		<HorizontalLayout height="50" inset="10,2,10,0">
-			<Label name="memo_dlg_title" text="" align="center" valign="center" padding="0,20,0,0" font="0"/>
+	<VerticalLayout bkimage="shoukuan_bkg.png" >
+		<HorizontalLayout name="shoukuan_title_bkg" height="44" bkcolor="0xFF3CB371">
+			<Label name="memo_dlg_title" text="" height="44" align="center" valign="center" padding="0,0,0,0" textcolor="#FFFFFFFF" font="2"/>
+			<Button name="closebtn" keyboard="false" padding="0,13,15,0" width="16" height="16" normalimage="file='close_normal.png'" hotimage="file='close_hover.png'" pushedimage="file='close_normal.png'"/>
 		</HorizontalLayout>
 		
-		<Label name="name" text="请输入优惠金额(0到100之间的整数)"  height="30" width="300" padding="30,50,0,0" align="left"/>
+		<HorizontalLayout>
+			<VerticalLayout width="370">
+				<Label name="name" text="请输入优惠金额(0到1000之间的整数)" height="30" width="300" padding="30,50,0,0" align="left"/>
 	
-		<Edit name="content" width="250" height="50" tipvalue="1111" padding="30,20,0,0" textcolor="0xFF3CB371" bkcolor="#FFF2F2F2" nativebkcolor="#FFF2F2F2" font="1"/>
-		
-		<Label name="errinfo" text=""  height="60" width="250" float="true" pos="30,230,280,290" align="left" textcolor="#FFFF0000" visible="false"/>
-		
-		<HorizontalLayout height="56" valign="center" padding="30,80,0,20">
-			<Button name="quit" align="center" width="100" height="45" padding="0,20,0,0" text="取消" normalimage="file='Btn_White.png' corner='5,5,5,5'" hotimage="file='Btn_White_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_White_Click.png' corner='5,5,5,5'" />
-			<Button name="save" align="center" width="100" height="45" padding="20,20,90,0" text="确认" normalimage="file='Btn_White.png' corner='5,5,5,5'" hotimage="file='Btn_White_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_White_Click.png' corner='5,5,5,5'" />
+				<HorizontalLayout height="50" padding="0,30,0,0">
+					<Edit name="content" width="250" height="50" padding="30,0,0,0" textcolor="0xFF3CB371" bkcolor="#FFF2F2F2" nativebkcolor="#FFF2F2F2" font="1"/>
+					<Label name="name" text="元" height="50" width="50" padding="30,0,0,0" align="left"/>
+				</HorizontalLayout>
+				
+				
+				<Label name="errinfo" text=""  height="60" width="250" float="true" pos="30,150,280,290" align="left" textcolor="#FFFF0000" visible="false"/>
+				
+				<HorizontalLayout height="56" valign="center" padding="30,100,0,20">
+					<Button name="save" align="center" text="确认" textcolor="#FFFFFFFF" height="50" width="250" padding="0,0,0,0" normalimage="file='Btn_Green.png' corner='5,5,5,5'" hotimage="file='Btn_Green_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_Green_Click.png' corner='5,5,5,5'" />
+				</HorizontalLayout>
+			</VerticalLayout>
+			
+			<HorizontalLayout width="330" height="406" bkcolor="#FFF3F3F3">
+				<Button name="jianpan_1" text="1" font="0" heiht="60" width="60" float="true" pos="10,0,110,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_2" text="2" font="0" heiht="60" width="60" float="true" pos="120,0,220,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_3" text="3" font="0" heiht="60" width="60" float="true" pos="230,0,330,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_4" text="4" font="0" heiht="60" width="60" float="true" pos="10,100,110,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_5" text="5" font="0" heiht="60" width="60" float="true" pos="120,100,220,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_6" text="6" font="0" heiht="60" width="60" float="true" pos="230,100,330,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_7" text="7" font="0" heiht="60" width="60" float="true" pos="10,200,110,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_8" text="8" font="0" heiht="60" width="60" float="true" pos="120,200,220,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_9" text="9" font="0" heiht="60" width="60" float="true" pos="230,200,330,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_qingkong" text="清空" font="0" heiht="60" width="60" float="true" pos="10,300,110,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_0" text="0" font="0" heiht="60" width="60" float="true" pos="120,300,220,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_x" text="X" font="0" heiht="60" width="60" float="true" pos="230,300,330,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+			</HorizontalLayout>
 		</HorizontalLayout>
+		
 	</VerticalLayout>
-</Window>
+</Window>

+ 57 - 37
bin/Win32/Debug/zhipuzi_pos_windows/skin/xianjin_shoukuan_wnd.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<Window size="580,520" caption="0,0,0,44" roundcorner="4,4" >
+<Window size="800,434" caption="0,0,0,44" roundcorner="4,4" >
 	<Font id="0" name="微软雅黑" size="24" />
 	<Font id="1" name="微软雅黑" size="40" />
 	<Font id="2" name="微软雅黑" size="18" />
@@ -11,44 +11,64 @@
 			<Button name="closebtn" keyboard="false" padding="0,13,15,0" width="16" height="16" tooltip="关闭" normalimage="file='close_normal.png'" hotimage="file='close_hover.png'" pushedimage="file='close_normal.png'"/>
 		</HorizontalLayout>
 		
-		<VerticalLayout visible="true" name="shoukuan_before_pay_layout" height="520" padding="0,20,0,0">			
-			<HorizontalLayout name="shoukuan_money_show_layout" height="50" padding="0,15,0,15">
-				<Label text="¥" font="0" textcolor="0xFF3CB371" float="true" pos="230,24,245,50"/>
-				<Label name="shoukuan_money_show_money" font="1" textcolor="0xFF3CB371" float="true" pos="255,12,530,48"/>
-			</HorizontalLayout>
-			
-			<HorizontalLayout height="50" padding="0,15,0,0">
-				<Label text="实收金额:" font="2" float="true" pos="100,12,180,40"/>
-				<Edit name="shishou_edit" float="true" pos="188,12,405,48" normalimage="file='Chat_InputBox_BG.png' corner='4,4,4,4'" hotimage="file='Chat_InputBox_BG_Hover.png' corner='4,4,4,4'" />
-				<Label text="元" font="2" float="true" pos="412,15,520,40"/>
-			</HorizontalLayout>
-			
-			<HorizontalLayout height="50" padding="0,15,0,0">
-				<Label text="快捷选择" font="2" float="true" pos="100,12,180,40"/>
-				<Button name="xianjin_kuaijie_10" font="4" text="10元" heiht="36" width="55" padding="190,10,0,0" textcolor="#FFFFFFFF" normalimage="" hotimage="" pushedimage="" bordersize="0" bordercolor="#FFC1C1C1" bkcolor="#FF3CB371"></Button>
-				<Button name="xianjin_kuaijie_20" font="4" text="20元" heiht="36" width="55" padding="14,10,0,0" textcolor="#FFFFFFFF" normalimage="" hotimage="" pushedimage="" bordersize="0" bordercolor="#FFC1C1C1" bkcolor="#FF3CB371"></Button>
-				<Button name="xianjin_kuaijie_50" font="4" text="50元" heiht="36" width="55" padding="14,10,0,0" textcolor="#FFFFFFFF" normalimage="" hotimage="" pushedimage="" bordersize="0" bordercolor="#FFC1C1C1" bkcolor="#FF3CB371"></Button>
-				<Button name="xianjin_kuaijie_100" font="4" text="100元" heiht="36" width="55" padding="14,10,0,0" textcolor="#FFFFFFFF" normalimage="" hotimage="" pushedimage="" bordersize="0" bordercolor="#FFC1C1C1" bkcolor="#FF3CB371"></Button>
-				<Button name="xianjin_kuaijie_200" font="4" text="200元" heiht="36" width="55" padding="14,10,0,0" textcolor="#FFFFFFFF" normalimage="" hotimage="" pushedimage="" bordersize="0" bordercolor="#FFC1C1C1" bkcolor="#FF3CB371"></Button>
-			</HorizontalLayout>
+		<HorizontalLayout visible="true" name="shoukuan_before_pay_layout">
+			<VerticalLayout height="520" padding="0,20,0,0">			
+				<HorizontalLayout name="shoukuan_money_show_layout" height="50" padding="0,0,0,15">
+					<Label text="¥" font="0" textcolor="0xFF3CB371" float="true" pos="170,24,245,50"/>
+					<Label name="shoukuan_money_show_money" font="1" textcolor="0xFF3CB371" float="true" pos="195,12,530,48"/>
+				</HorizontalLayout>
+				
+				<HorizontalLayout height="50" padding="0,0,0,0">
+					<Label text="实收:" font="2" float="true" pos="30,12,180,40"/>
+					<Edit name="shishou_edit" float="true" pos="98,12,355,48" normalimage="file='Chat_InputBox_BG.png' corner='4,4,4,4'" hotimage="file='Chat_InputBox_BG_Hover.png' corner='4,4,4,4'" />
+					<Label text="元" font="2" float="true" pos="362,15,470,40"/>
+				</HorizontalLayout>
+				
+				<HorizontalLayout height="50" padding="0,15,0,0">
+					<Label text="快选:" font="2" float="true" pos="30,12,180,40"/>
+					<Button name="xianjin_kuaijie_10" font="4" text="10元" heiht="36" width="55" padding="100,10,0,0" textcolor="#FFFFFFFF" normalimage="" hotimage="" pushedimage="" bordersize="0" bordercolor="#FFC1C1C1" bkcolor="#FF3CB371"></Button>
+					<Button name="xianjin_kuaijie_20" font="4" text="20元" heiht="36" width="55" padding="14,10,0,0" textcolor="#FFFFFFFF" normalimage="" hotimage="" pushedimage="" bordersize="0" bordercolor="#FFC1C1C1" bkcolor="#FF3CB371"></Button>
+					<Button name="xianjin_kuaijie_50" font="4" text="50元" heiht="36" width="55" padding="14,10,0,0" textcolor="#FFFFFFFF" normalimage="" hotimage="" pushedimage="" bordersize="0" bordercolor="#FFC1C1C1" bkcolor="#FF3CB371"></Button>
+					<Button name="xianjin_kuaijie_100" font="4" text="100元" heiht="36" width="55" padding="14,10,0,0" textcolor="#FFFFFFFF" normalimage="" hotimage="" pushedimage="" bordersize="0" bordercolor="#FFC1C1C1" bkcolor="#FF3CB371"></Button>
+					<Button name="xianjin_kuaijie_200" font="4" text="200元" heiht="36" width="55" padding="14,10,0,0" textcolor="#FFFFFFFF" normalimage="" hotimage="" pushedimage="" bordersize="0" bordercolor="#FFC1C1C1" bkcolor="#FF3CB371"></Button>
+				</HorizontalLayout>
+				
+				<HorizontalLayout height="50" padding="0,15,0,0">
+					<Label text="找零:" font="2" float="true" pos="30,12,180,40"/>
+					<Label name="xianjin_zhaoling_label" text="0元" font="2" float="true" pos="95,12,300,40"/>
+				</HorizontalLayout>
+				
+				<HorizontalLayout height="60" padding="0,20,0,0">
+					<Control></Control>
+					<Button name="shoukuanBtn" text="确认" font="2" textcolor="#FFFFFFFF" height="50" width="400" padding="0,0,0,0" tooltip="点击这里确认收款" normalimage="file='Btn_Green.png' corner='5,5,5,5'" hotimage="file='Btn_Green_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_Green_Click.png' corner='5,5,5,5'" />
+					<Control></Control>
+				</HorizontalLayout>	
+
+				<HorizontalLayout height="50" padding="0,10,0,0">
+					<Control></Control>
+					<Label name="shoukuanresult" font="2" width="400" height="50" multiline="true" text="" visible="false" textcolor="#FF0000" align="center" />
+					<Control></Control>
+				</HorizontalLayout>			
+			</VerticalLayout>
 			
-			<HorizontalLayout height="50" padding="0,15,0,0">
-				<Label text="找零:" font="2" float="true" pos="100,12,180,40"/>
-				<Label name="xianjin_zhaoling_label" text="0元" font="2" float="true" pos="185,12,300,40"/>
+			<HorizontalLayout width="330" height="406" bkcolor="#FFF3F3F3">
+				<Button name="jianpan_1" text="1" font="0" heiht="60" width="60" float="true" pos="10,0,110,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_2" text="2" font="0" heiht="60" width="60" float="true" pos="120,0,220,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_3" text="3" font="0" heiht="60" width="60" float="true" pos="230,0,330,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_4" text="4" font="0" heiht="60" width="60" float="true" pos="10,100,110,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_5" text="5" font="0" heiht="60" width="60" float="true" pos="120,100,220,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_6" text="6" font="0" heiht="60" width="60" float="true" pos="230,100,330,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_7" text="7" font="0" heiht="60" width="60" float="true" pos="10,200,110,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_8" text="8" font="0" heiht="60" width="60" float="true" pos="120,200,220,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_9" text="9" font="0" heiht="60" width="60" float="true" pos="230,200,330,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_dian" text="." font="0" heiht="60" width="60" float="true" pos="10,300,110,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_0" text="0" font="0" heiht="60" width="60" float="true" pos="120,300,220,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_x" text="X" font="0" heiht="60" width="60" float="true" pos="230,300,330,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
 			</HorizontalLayout>
-			
-			<HorizontalLayout height="60" padding="0,20,0,0">
-				<Control></Control>
-				<Button name="shoukuanBtn" text="确认" font="2" textcolor="#FFFFFFFF" height="50" width="400" padding="0,0,0,0" tooltip="点击这里确认收款" normalimage="file='Btn_Green.png' corner='5,5,5,5'" hotimage="file='Btn_Green_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_Green_Click.png' corner='5,5,5,5'" />
-				<Control></Control>
-			</HorizontalLayout>	
-
-			<HorizontalLayout height="50" padding="0,20,0,0">
-				<Control></Control>
-				<Label name="shoukuanresult" font="2" width="400" height="50" multiline="true" text="" visible="false" textcolor="#FF0000" align="center" />
-				<Control></Control>
-			</HorizontalLayout>			
-		</VerticalLayout>
+		</HorizontalLayout>
 		
 		<VerticalLayout name="shoukuan_paying_layout" visible="false">
 			<HorizontalLayout name="shoukuan_paying_loading" height="24" padding="0, 20, 0, 20">

+ 40 - 12
bin/Win32/Debug/zhipuzi_pos_windows/skin/zhekou_input_dlg.xml

@@ -1,22 +1,50 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<Window size="700,369" caption="0,0,0,36" roundcorner="4,4" >
+<Window size="700,434" caption="0,0,0,44" roundcorner="4,4" >
 	<Font id="0" name="微软雅黑" size="26" />
 	<Font id="1" name="微软雅黑" size="32" />
+	<Font id="2" name="微软雅黑" size="22" />
 	
-	<VerticalLayout bkcolor="#FFFFFFFF">
-		<HorizontalLayout height="50" inset="10,2,10,0">
-			<Label name="memo_dlg_title" text="" align="center" valign="center" padding="0,20,0,0" font="0"/>
+	<VerticalLayout bkimage="shoukuan_bkg.png" >
+		<HorizontalLayout name="shoukuan_title_bkg" height="44" bkcolor="0xFF3CB371">
+			<Label name="memo_dlg_title" text="" height="44" align="center" valign="center" padding="0,0,0,0" textcolor="#FFFFFFFF" font="2"/>
+			<Button name="closebtn" keyboard="false" padding="0,13,15,0" width="16" height="16" normalimage="file='close_normal.png'" hotimage="file='close_hover.png'" pushedimage="file='close_normal.png'"/>
 		</HorizontalLayout>
 		
-		<Label name="name" text="请输入折扣值(1到100之间的整数)"  height="30" width="250" padding="30,50,0,0" align="left"/>
+		<HorizontalLayout>
+			<VerticalLayout width="370">
+				<Label name="name" text="请输入折扣值(1到100之间的整数)" height="30" width="300" padding="30,50,0,0" align="left"/>
 	
-		<Edit name="content" width="250" height="50" tipvalue="1111" padding="30,20,0,0" textcolor="0xFF3CB371" bkcolor="#FFF2F2F2" nativebkcolor="#FFF2F2F2" font="1"/>
-		
-		<Label name="errinfo" text=""  height="60" width="250" float="true" pos="30,230,280,290" align="left" textcolor="#FFFF0000" visible="false"/>
-		
-		<HorizontalLayout height="56" valign="center" padding="30,80,0,20">
-			<Button name="quit" align="center" width="100" height="45" padding="0,20,0,0" text="取消" normalimage="file='Btn_White.png' corner='5,5,5,5'" hotimage="file='Btn_White_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_White_Click.png' corner='5,5,5,5'" />
-			<Button name="save" align="center" width="100" height="45" padding="20,20,90,0" text="确认" normalimage="file='Btn_White.png' corner='5,5,5,5'" hotimage="file='Btn_White_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_White_Click.png' corner='5,5,5,5'" />
+				<HorizontalLayout height="50" padding="0,30,0,0">
+					<Edit name="content" width="250" height="50" padding="30,0,0,0" textcolor="0xFF3CB371" bkcolor="#FFF2F2F2" nativebkcolor="#FFF2F2F2" font="1"/>
+					<Label name="name" text="%" height="50" width="50" padding="30,0,0,0" align="left"/>
+				</HorizontalLayout>
+				
+				
+				<Label name="errinfo" text=""  height="60" width="250" float="true" pos="30,150,280,290" align="left" textcolor="#FFFF0000" visible="false"/>
+				
+				<HorizontalLayout height="56" valign="center" padding="30,100,0,20">
+					<Button name="save" align="center" text="确认" textcolor="#FFFFFFFF" height="50" width="250" padding="0,0,0,0" normalimage="file='Btn_Green.png' corner='5,5,5,5'" hotimage="file='Btn_Green_Hover.png' corner='5,5,5,5'" pushedimage="file='Btn_Green_Click.png' corner='5,5,5,5'" />
+				</HorizontalLayout>
+			</VerticalLayout>
+			
+			<HorizontalLayout width="330" height="406" bkcolor="#FFF3F3F3">
+				<Button name="jianpan_1" text="1" font="0" heiht="60" width="60" float="true" pos="10,0,110,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_2" text="2" font="0" heiht="60" width="60" float="true" pos="120,0,220,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_3" text="3" font="0" heiht="60" width="60" float="true" pos="230,0,330,90" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_4" text="4" font="0" heiht="60" width="60" float="true" pos="10,100,110,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_5" text="5" font="0" heiht="60" width="60" float="true" pos="120,100,220,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_6" text="6" font="0" heiht="60" width="60" float="true" pos="230,100,330,190" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_7" text="7" font="0" heiht="60" width="60" float="true" pos="10,200,110,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_8" text="8" font="0" heiht="60" width="60" float="true" pos="120,200,220,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_9" text="9" font="0" heiht="60" width="60" float="true" pos="230,200,330,290" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				
+				<Button name="jianpan_qingkong" text="清空" font="0" heiht="60" width="60" float="true" pos="10,300,110,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_0" text="0" font="0" heiht="60" width="60" float="true" pos="120,300,220,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+				<Button name="jianpan_x" text="X" font="0" heiht="60" width="60" float="true" pos="230,300,330,390" normalimage="" hotimage="" pushedimage="" borderround="6,6" bkcolor="#FFFFFFFF"></Button>
+			</HorizontalLayout>
 		</HorizontalLayout>
+		
 	</VerticalLayout>
 </Window>

BIN
dll/debug/DuiLib.dll


BIN
lib/debug/DuiLib.lib


+ 0 - 3
zhipuzi_pos_windows.sln

@@ -4,9 +4,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00
 VisualStudioVersion = 15.0.28010.2016
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zhipuzi_pos_windows", "zhipuzi_pos_windows\zhipuzi_pos_windows.vcxproj", "{1D694BE0-D976-4F29-8997-3308ADFFF413}"
-	ProjectSection(ProjectDependencies) = postProject
-		{E106ACD7-4E53-4AEE-942B-D0DD426DB34E} = {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}
-	EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zhipuzi_pos_windows_server", "zhipuzi_pos_windows_server\zhipuzi_pos_windows_server_windows.vcxproj", "{2FF637C1-9F58-473C-A156-25EFE35C2FD7}"
 EndProject

+ 1 - 1
zhipuzi_pos_windows/page/CDiandanPageUI.cpp

@@ -2049,7 +2049,7 @@ void CDiandanPageUI::ClickZhengdanMemo()
 		if (ret == IDOK)
 		{
 			//保存选择的属性
-			std::string sMemo = pMemoDlg->getMemo();
+			std::string sMemo = pMemoDlg->getContent();
 
 			//渲染整单备注的展示
 			CLabelUI* pLabel = static_cast<CLabelUI*>(this->FindSubControl(_T("diandan_page_label_zhengdanbeizhu")));

+ 140 - 5
zhipuzi_pos_windows/wnd/CCanpaiWnd.cpp

@@ -88,10 +88,14 @@ LRESULT CCanpaiWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool
 	{
 		if (wParam == VK_RETURN)
 		{
+			StartYanzheng();
+
 			return true;
 		}
 		else if (wParam == VK_ESCAPE)
 		{
+			Close(IDCANCEL);
+
 			return true;
 		}
 	}
@@ -132,21 +136,134 @@ void CCanpaiWnd::Notify(TNotifyUI& msg)
 	{
 		DuiLib::CDuiString senderName = msg.pSender->GetName();
 
-		if (senderName == _T("quit"))
+		if (senderName == _T("closebtn"))
 		{
 			Close(IDCANCEL);
 			return;
 		}
 		else if (senderName == _T("save"))
 		{
+			StartYanzheng();
+		}
+		else if (senderName == L"jianpan_1")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"1";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_2")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"2";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_3")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"3";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_4")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"4";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_5")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"5";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_6")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"6";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_7")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"7";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_8")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"8";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_9")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"9";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_0")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"0";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_x")
+		{
 			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
 			wstring wsReason = pContent->GetText();
 
-			m_content = CLewaimaiString::UnicodeToUTF8(wsReason);
+			wsReason = wsReason.substr(0, wsReason.length() - 1);
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_qingkong")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
 
-			int zhekou = atoi(m_content.c_str());
+			wsReason.clear();
 
-			Close(IDOK);
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
 		}
 	}
 	else if (msg.sType == _T("textchanged"))
@@ -174,6 +291,13 @@ void CCanpaiWnd::Notify(TNotifyUI& msg)
 			}
 		}
 	}
+	else if (msg.sType == L"windowinit")
+	{
+		m_pm.SetNextTabControl(false);
+
+		CEditUI* pFukuanEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+		pFukuanEdit->SetFocus();
+	}
 }
 
 void CCanpaiWnd::Init()
@@ -181,7 +305,6 @@ void CCanpaiWnd::Init()
 
 }
 
-
 std::string CCanpaiWnd::getContent()
 {
 	return m_content;
@@ -191,4 +314,16 @@ void CCanpaiWnd::SetTitle(std::wstring title)
 {
 	CLabelUI* pLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("memo_dlg_title")));
 	pLabel->SetText(title.c_str());
+}
+
+void CCanpaiWnd::StartYanzheng()
+{
+	CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+	wstring wsReason = pContent->GetText();
+
+	m_content = CLewaimaiString::UnicodeToUTF8(wsReason);
+
+	int canpai = atoi(m_content.c_str());
+
+	Close(IDOK);
 }

+ 4 - 0
zhipuzi_pos_windows/wnd/CCanpaiWnd.h

@@ -62,6 +62,8 @@ public:
 
 	LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled);
 
+	void StartYanzheng();
+
 	//´¦Àí¼üÅ̲¶×½½á¹û
 	void HandleTextCapture(std::string content)
 	{
@@ -72,5 +74,7 @@ public:
 	CPaintManagerUI m_pm;
 
 	std::string m_content;
+
+	std::wstring m_errorInfo;
 };
 

+ 139 - 1
zhipuzi_pos_windows/wnd/CChengzhongWnd.cpp

@@ -144,7 +144,7 @@ void CChengzhongWnd::Notify(TNotifyUI& msg)
 	{
 		DuiLib::CDuiString senderName = msg.pSender->GetName();
 
-		if (senderName == _T("quit"))
+		if (senderName == _T("closebtn"))
 		{
 			Quit();
 			return;
@@ -153,6 +153,126 @@ void CChengzhongWnd::Notify(TNotifyUI& msg)
 		{
 			this->SaveWeight();
 		}
+		else if (senderName == L"jianpan_1")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"1";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_2")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"2";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_3")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"3";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_4")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"4";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_5")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"5";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_6")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"6";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_7")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"7";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_8")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"8";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_9")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"9";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_0")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"0";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_x")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason = wsReason.substr(0, wsReason.length() - 1);
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_dian")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L".";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
 	}
 	else if (msg.sType == _T("textchanged"))
 	{
@@ -179,6 +299,13 @@ void CChengzhongWnd::Notify(TNotifyUI& msg)
 			}
 		}
 	}
+	else if (msg.sType == L"windowinit")
+	{
+		m_pm.SetNextTabControl(false);
+
+		CEditUI* pFukuanEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+		pFukuanEdit->SetFocus();
+	}
 }
 
 LRESULT CChengzhongWnd::OnChengzhongSuccess(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
@@ -186,6 +313,12 @@ LRESULT CChengzhongWnd::OnChengzhongSuccess(UINT uMsg, WPARAM wParam, LPARAM lPa
 	CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
 	pContent->SetText(CLewaimaiString::UTF8ToUnicode(m_weight).c_str());
 
+	wstring ws_Value = pContent->GetText();
+	string strValue = CLewaimaiString::UnicodeToUTF8(ws_Value);
+
+	pContent->SetSel(strValue.length(), strValue.length());//ÖØÉè¸ø¹â±êÉèÖÃλÖÃ
+	pContent->SetFocus();
+
 	bHandled = TRUE;
 	return 0;
 }
@@ -196,6 +329,11 @@ void CChengzhongWnd::Init()
 	std::thread(&CChengzhongWnd::ReadChuankouValue, this).detach();
 }
 
+std::string CChengzhongWnd::getContent()
+{
+	return m_weight;
+}
+
 void CChengzhongWnd::SetTitle(std::wstring title)
 {
 	CLabelUI* pLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("memo_dlg_title")));

+ 2 - 0
zhipuzi_pos_windows/wnd/CChengzhongWnd.h

@@ -28,6 +28,8 @@ public:
 
 	void Init();
 
+	std::string getContent();
+
 	void SetTitle(std::wstring title);
 
 	void SetPrice(std::string price);

+ 370 - 63
zhipuzi_pos_windows/wnd/CFulikaShoukuanWnd.cpp

@@ -16,34 +16,13 @@ void CFulikaShoukuanWnd::Init()
 
 void CFulikaShoukuanWnd::Notify(TNotifyUI& msg)
 {
+	DuiLib::CDuiString senderName = msg.pSender->GetName();
+
 	if (msg.sType == _T("click"))
 	{
 		if (msg.pSender->GetName() == _T("closebtn"))
 		{
-			if (m_shoukuan_status == 0)
-			{
-				//还没开始支付,直接退出
-				Close(IDCANCEL);
-			}
-			else if (m_shoukuan_status == 1 || m_shoukuan_status == 5)
-			{
-				//不能做任何处理
-			}
-			else if (m_shoukuan_status == 2)
-			{
-				//查询密码的过程中,取消付款
-				CancelShoukuanPassword();
-			}
-			else if (m_shoukuan_status == 3)
-			{
-				Sleep(100);
-				Close(IDOK);
-			}
-			else if (m_shoukuan_status == 4)
-			{
-				Sleep(100);
-				Close(IDCANCEL);
-			}
+			StartClose();
 		}
 		else if (msg.pSender->GetName() == _T("shoukuanBtn"))
 		{
@@ -92,6 +71,328 @@ void CFulikaShoukuanWnd::Notify(TNotifyUI& msg)
 			pShoujihaoLine->SetVisible(true);
 
 			m_shoukuanModel = 2;
+
+			m_pm.SetNextTabControl(false);
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			pShoujihao->SetFocus();
+		}
+		else if (senderName == L"jianpan_1")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"1";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_2")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"2";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_3")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"3";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_4")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"4";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_5")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"5";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_6")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"6";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_7")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"7";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_8")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"8";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_9")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"9";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_0")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"0";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_x")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason = wsReason.substr(0, wsReason.length() - 1);
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_qingkong")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason.clear();
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+	}
+	else if (msg.sType == _T("textchanged"))
+	{
+		if (senderName == L"shoujihao_edit")
+		{
+			//只能输入数字,其他的全部删除
+			CEditUI* m_pEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			if (!m_pEdit->GetText().IsEmpty())
+			{
+				wstring ws_Value = m_pEdit->GetText();
+				string strValue = CLewaimaiString::UnicodeToUTF8(ws_Value);
+
+				for (size_t nIndex = 0; nIndex < strValue.length(); nIndex++)
+				{
+					unsigned char tmp = strValue.at(nIndex);
+					if (tmp > 57 || tmp < 48)
+					{
+						//ASCII码不是数字的都过滤掉
+						strValue = strValue.substr(0, nIndex);
+
+						m_pEdit->SetText(CLewaimaiString::UTF8ToUnicode(strValue).c_str());
+						m_pEdit->SetSel(strValue.length(), strValue.length());//重设给光标设置位置
+
+						break;
+					}
+				}
+			}
+		}
+
+		if (senderName == L"password_edit")
+		{
+			//只能输入数字,其他的全部删除
+			CEditUI* m_pEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (!m_pEdit->GetText().IsEmpty())
+			{
+				wstring ws_Value = m_pEdit->GetText();
+				string strValue = CLewaimaiString::UnicodeToUTF8(ws_Value);
+
+				for (size_t nIndex = 0; nIndex < strValue.length(); nIndex++)
+				{
+					unsigned char tmp = strValue.at(nIndex);
+					if (tmp > 57 || tmp < 48)
+					{
+						//ASCII码不是数字的都过滤掉
+						strValue = strValue.substr(0, nIndex);
+
+						m_pEdit->SetText(CLewaimaiString::UTF8ToUnicode(strValue).c_str());
+						m_pEdit->SetSel(strValue.length(), strValue.length());//重设给光标设置位置
+
+						break;
+					}
+				}
+			}
+		}
+	}
+	else if (msg.sType == _T("setfocus"))
+	{
+		if (senderName == L"shoujihao_edit")
+		{
+			m_inputType = 1;
+		}
+		else if (senderName == L"password_edit")
+		{
+			m_inputType = 2;
 		}
 	}
 }
@@ -157,8 +458,6 @@ LRESULT CFulikaShoukuanWnd::OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lParam
 
 LRESULT CFulikaShoukuanWnd::OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
 {
-	UpdateFocus();
-
 	return 0;
 }
 
@@ -361,28 +660,7 @@ LRESULT CFulikaShoukuanWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lPar
 		}
 		else if (wParam == VK_ESCAPE)
 		{
-			if (m_shoukuan_status == 0)
-			{
-				//还没开始支付,按Esc直接退出
-				Close(IDCANCEL);
-			}
-			else if (m_shoukuan_status == 1 || m_shoukuan_status == 5)
-			{
-				//不能做任何处理
-			}
-			else if (m_shoukuan_status == 2)
-			{
-				//查询密码的过程中,取消付款
-				CancelShoukuanPassword();
-			}
-			else if (m_shoukuan_status == 3)
-			{
-				Close(IDOK);
-			}
-			else if (m_shoukuan_status == 4)
-			{
-				Close(IDCANCEL);
-			}
+			StartClose();
 
 			return true;
 		}
@@ -427,11 +705,6 @@ void CFulikaShoukuanWnd::SetCommonParams(std::map<string, string> params)
 	m_commonParams = params;
 }
 
-void CFulikaShoukuanWnd::UpdateFocus()
-{
-	
-}
-
 LRESULT CFulikaShoukuanWnd::OnShoukuanNeedPassword(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
 {
 	wstring path = CSystem::GetProgramDir() + L"\\music\\pay_password.wav";
@@ -548,10 +821,26 @@ void CFulikaShoukuanWnd::StartShoukuan()
 	//先判断收款码的格式是否正确
 	CEditUI* pShoujihaoEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
 	std::wstring ws_Shoujihao = pShoujihaoEdit->GetText();
+	if (ws_Shoujihao.length() == 0)
+	{
+		pLabel->SetText(L"手机号不能为空");
+		pLabel->SetVisible(true);
+
+		return;
+	}
+
 	m_shoujihao = CLewaimaiString::UnicodeToUTF8(ws_Shoujihao);
 
 	CEditUI* pPasswordEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
 	std::wstring ws_Password = pPasswordEdit->GetText();
+	if (ws_Password.length() == 0)
+	{
+		pLabel->SetText(L"密码不能为空");
+		pLabel->SetVisible(true);
+
+		return;
+	}
+
 	m_password = CLewaimaiString::UnicodeToUTF8(ws_Password);
 
 	//全部验证通过,就可以开始修改状态了
@@ -575,6 +864,34 @@ void CFulikaShoukuanWnd::StartShoukuan()
 	std::thread(&CFulikaShoukuanWnd::HandleShoukuan, this).detach();
 }
 
+void CFulikaShoukuanWnd::StartClose()
+{
+	if (m_shoukuan_status == 0)
+	{
+		//还没开始支付,直接退出
+		Close(IDCANCEL);
+	}
+	else if (m_shoukuan_status == 1 || m_shoukuan_status == 5)
+	{
+		//不能做任何处理
+	}
+	else if (m_shoukuan_status == 2)
+	{
+		//查询密码的过程中,取消付款
+		CancelShoukuanPassword();
+	}
+	else if (m_shoukuan_status == 3)
+	{
+		Sleep(100);
+		Close(IDOK);
+	}
+	else if (m_shoukuan_status == 4)
+	{
+		Sleep(100);
+		Close(IDCANCEL);
+	}
+}
+
 void CFulikaShoukuanWnd::HandleShoukuan()
 {
 	//生成随机的order_no
@@ -904,16 +1221,6 @@ void CFulikaShoukuanWnd::HandleCancelShoukuan()
 	SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
 }
 
-bool CFulikaShoukuanWnd::IsCanClose()
-{
-	if (m_shoukuan_status == 0 || m_shoukuan_status == 3 || m_shoukuan_status == 4)
-	{
-		return true;
-	}
-
-	return false;
-}
-
 void CFulikaShoukuanWnd::ReadShoukuanValue()
 {
 	CSpeech::SpeakNum(1, CLewaimaiString::UnicodeToUTF8(m_money));

+ 5 - 4
zhipuzi_pos_windows/wnd/CFulikaShoukuanWnd.h

@@ -66,11 +66,12 @@ public:
 
 	void SetCommonParams(std::map<string, string> params);
 
-	void UpdateFocus();
-
 	//点击确认,开始执行收款
 	void StartShoukuan();
 
+	//开始退出
+	void StartClose();
+
 	//处理收款
 	void HandleShoukuan();
 
@@ -83,8 +84,6 @@ public:
 	//处理取消收款
 	void HandleCancelShoukuan();
 
-	bool IsCanClose();
-
 	void ReadShoukuanValue();
 
 	//处理键盘捕捉结果
@@ -111,6 +110,8 @@ public:
 
 	int m_shoukuanModel = 1; //收款模式 1:会员扫码 2:手机号+密码
 
+	int m_inputType = 1; //当前输入框 1:输入手机号 2:输入密码
+
 	//支付成功返回的字段
 	std::string m_kucun_string;
 	std::string m_out_trade_no;

+ 370 - 63
zhipuzi_pos_windows/wnd/CHuiyuanShoukuanWnd.cpp

@@ -16,34 +16,13 @@ void CHuiyuanShoukuanWnd::Init()
 
 void CHuiyuanShoukuanWnd::Notify(TNotifyUI& msg)
 {
+	DuiLib::CDuiString senderName = msg.pSender->GetName();
+
 	if (msg.sType == _T("click"))
 	{
 		if (msg.pSender->GetName() == _T("closebtn"))
 		{
-			if (m_shoukuan_status == 0)
-			{
-				//还没开始支付,直接退出
-				Close(IDCANCEL);
-			}
-			else if (m_shoukuan_status == 1 || m_shoukuan_status == 5)
-			{
-				//不能做任何处理
-			}
-			else if (m_shoukuan_status == 2)
-			{
-				//查询密码的过程中,取消付款
-				CancelShoukuanPassword();
-			}
-			else if (m_shoukuan_status == 3)
-			{
-				Sleep(100);
-				Close(IDOK);
-			}
-			else if (m_shoukuan_status == 4)
-			{
-				Sleep(100);
-				Close(IDCANCEL);
-			}
+			StartClose();
 		}
 		else if (msg.pSender->GetName() == _T("shoukuanBtn"))
 		{
@@ -92,6 +71,328 @@ void CHuiyuanShoukuanWnd::Notify(TNotifyUI& msg)
 			pShoujihaoLine->SetVisible(true);
 
 			m_shoukuanModel = 2;
+
+			m_pm.SetNextTabControl(false);
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			pShoujihao->SetFocus();
+		}
+		else if (senderName == L"jianpan_1")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"1";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_2")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"2";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_3")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"3";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_4")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"4";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_5")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"5";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_6")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"6";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_7")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"7";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_8")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"8";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_9")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"9";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_0")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason += L"0";
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_x")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason = wsReason.substr(0, wsReason.length() - 1);
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+		else if (senderName == L"jianpan_qingkong")
+		{
+			CEditUI* curEdit;
+
+			CEditUI* pShoujihao = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			CEditUI* pPassword = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (m_inputType == 1)
+			{
+				curEdit = pShoujihao;
+			}
+			else
+			{
+				curEdit = pPassword;
+			}
+			wstring wsReason = curEdit->GetText();
+
+			wsReason.clear();
+
+			curEdit->SetText(wsReason.c_str());
+			curEdit->SetFocus();
+		}
+	}
+	else if (msg.sType == _T("textchanged"))
+	{
+		if (senderName == L"shoujihao_edit")
+		{
+			//只能输入数字,其他的全部删除
+			CEditUI* m_pEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
+			if (!m_pEdit->GetText().IsEmpty())
+			{
+				wstring ws_Value = m_pEdit->GetText();
+				string strValue = CLewaimaiString::UnicodeToUTF8(ws_Value);
+
+				for (size_t nIndex = 0; nIndex < strValue.length(); nIndex++)
+				{
+					unsigned char tmp = strValue.at(nIndex);
+					if (tmp > 57 || tmp < 48)
+					{
+						//ASCII码不是数字的都过滤掉
+						strValue = strValue.substr(0, nIndex);
+
+						m_pEdit->SetText(CLewaimaiString::UTF8ToUnicode(strValue).c_str());
+						m_pEdit->SetSel(strValue.length(), strValue.length());//重设给光标设置位置
+
+						break;
+					}
+				}
+			}
+		}
+
+		if (senderName == L"password_edit")
+		{
+			//只能输入数字,其他的全部删除
+			CEditUI* m_pEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
+			if (!m_pEdit->GetText().IsEmpty())
+			{
+				wstring ws_Value = m_pEdit->GetText();
+				string strValue = CLewaimaiString::UnicodeToUTF8(ws_Value);
+
+				for (size_t nIndex = 0; nIndex < strValue.length(); nIndex++)
+				{
+					unsigned char tmp = strValue.at(nIndex);
+					if (tmp > 57 || tmp < 48)
+					{
+						//ASCII码不是数字的都过滤掉
+						strValue = strValue.substr(0, nIndex);
+
+						m_pEdit->SetText(CLewaimaiString::UTF8ToUnicode(strValue).c_str());
+						m_pEdit->SetSel(strValue.length(), strValue.length());//重设给光标设置位置
+
+						break;
+					}
+				}
+			}
+		}
+	}
+	else if (msg.sType == _T("setfocus"))
+	{
+		if (senderName == L"shoujihao_edit")
+		{
+			m_inputType = 1;
+		}
+		else if (senderName == L"password_edit")
+		{
+			m_inputType = 2;
 		}
 	}
 }
@@ -157,8 +458,6 @@ LRESULT CHuiyuanShoukuanWnd::OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lPara
 
 LRESULT CHuiyuanShoukuanWnd::OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
 {
-	UpdateFocus();
-
 	return 0;
 }
 
@@ -360,28 +659,7 @@ LRESULT CHuiyuanShoukuanWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lPa
 		}
 		else if (wParam == VK_ESCAPE)
 		{
-			if (m_shoukuan_status == 0)
-			{
-				//还没开始支付,按Esc直接退出
-				Close(IDCANCEL);
-			}
-			else if (m_shoukuan_status == 1 || m_shoukuan_status == 5)
-			{
-				//不能做任何处理
-			}
-			else if (m_shoukuan_status == 2)
-			{
-				//查询密码的过程中,取消付款
-				CancelShoukuanPassword();
-			}
-			else if (m_shoukuan_status == 3)
-			{
-				Close(IDOK);
-			}
-			else if (m_shoukuan_status == 4)
-			{
-				Close(IDCANCEL);
-			}
+			StartClose();
 
 			return true;
 		}
@@ -426,11 +704,6 @@ void CHuiyuanShoukuanWnd::SetCommonParams(std::map<string, string> params)
 	m_commonParams = params;
 }
 
-void CHuiyuanShoukuanWnd::UpdateFocus()
-{
-	
-}
-
 LRESULT CHuiyuanShoukuanWnd::OnShoukuanNeedPassword(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
 {
 	wstring path = CSystem::GetProgramDir() + L"\\music\\pay_password.wav";
@@ -547,10 +820,26 @@ void CHuiyuanShoukuanWnd::StartShoukuan()
 	//先判断收款码的格式是否正确
 	CEditUI* pShoujihaoEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("shoujihao_edit")));
 	std::wstring ws_Shoujihao = pShoujihaoEdit->GetText();
+	if (ws_Shoujihao.length() == 0)
+	{
+		pLabel->SetText(L"手机号不能为空");
+		pLabel->SetVisible(true);
+
+		return;
+	}
+
 	m_shoujihao = CLewaimaiString::UnicodeToUTF8(ws_Shoujihao);
 
 	CEditUI* pPasswordEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("password_edit")));
 	std::wstring ws_Password = pPasswordEdit->GetText();
+	if (ws_Password.length() == 0)
+	{
+		pLabel->SetText(L"密码不能为空");
+		pLabel->SetVisible(true);
+
+		return;
+	}
+
 	m_password = CLewaimaiString::UnicodeToUTF8(ws_Password);
 
 	//全部验证通过,就可以开始修改状态了
@@ -574,6 +863,34 @@ void CHuiyuanShoukuanWnd::StartShoukuan()
 	std::thread(&CHuiyuanShoukuanWnd::HandleShoukuan, this).detach();
 }
 
+void CHuiyuanShoukuanWnd::StartClose()
+{
+	if (m_shoukuan_status == 0)
+	{
+		//还没开始支付,直接退出
+		Close(IDCANCEL);
+	}
+	else if (m_shoukuan_status == 1 || m_shoukuan_status == 5)
+	{
+		//不能做任何处理
+	}
+	else if (m_shoukuan_status == 2)
+	{
+		//查询密码的过程中,取消付款
+		CancelShoukuanPassword();
+	}
+	else if (m_shoukuan_status == 3)
+	{
+		Sleep(100);
+		Close(IDOK);
+	}
+	else if (m_shoukuan_status == 4)
+	{
+		Sleep(100);
+		Close(IDCANCEL);
+	}
+}
+
 void CHuiyuanShoukuanWnd::HandleShoukuan()
 {
 	//生成随机的order_no
@@ -975,16 +1292,6 @@ void CHuiyuanShoukuanWnd::HandleCancelShoukuan()
 	SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
 }
 
-bool CHuiyuanShoukuanWnd::IsCanClose()
-{
-	if (m_shoukuan_status == 0 || m_shoukuan_status == 3 || m_shoukuan_status == 4)
-	{
-		return true;
-	}
-
-	return false;
-}
-
 void CHuiyuanShoukuanWnd::ReadShoukuanValue()
 {
 	CSpeech::SpeakNum(1, CLewaimaiString::UnicodeToUTF8(m_money));

+ 5 - 4
zhipuzi_pos_windows/wnd/CHuiyuanShoukuanWnd.h

@@ -66,11 +66,12 @@ public:
 
 	void SetCommonParams(std::map<string, string> params);
 
-	void UpdateFocus();
-
 	//点击确认,开始执行收款
 	void StartShoukuan();
 
+	//开始退出
+	void StartClose();
+
 	//处理收款
 	void HandleShoukuan();
 
@@ -83,8 +84,6 @@ public:
 	//处理取消收款
 	void HandleCancelShoukuan();
 
-	bool IsCanClose();
-
 	void ReadShoukuanValue();
 
 	//处理键盘捕捉结果
@@ -111,6 +110,8 @@ public:
 
 	int m_shoukuanModel = 1; //收款模式 1:会员扫码 2:手机号+密码
 
+	int m_inputType = 1; //当前输入框 1:输入手机号 2:输入密码
+
 	//支付成功返回的字段
 	std::string m_kucun_string;
 	std::string m_out_trade_no;

+ 147 - 11
zhipuzi_pos_windows/wnd/CJiajiaWnd.cpp

@@ -88,10 +88,14 @@ LRESULT CjiajiaWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool
 	{
 		if (wParam == VK_RETURN)
 		{
+			StartYanzheng();
+
 			return true;
 		}
 		else if (wParam == VK_ESCAPE)
 		{
+			Close(IDCANCEL);
+
 			return true;
 		}
 	}
@@ -132,29 +136,134 @@ void CjiajiaWnd::Notify(TNotifyUI& msg)
 	{
 		DuiLib::CDuiString senderName = msg.pSender->GetName();
 
-		if (senderName == _T("quit"))
+		if (senderName == _T("closebtn"))
 		{
 			Close(IDCANCEL);
 			return;
 		}
 		else if (senderName == _T("save"))
 		{
+			StartYanzheng();
+		}
+		else if (senderName == L"jianpan_1")
+		{
 			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
 			wstring wsReason = pContent->GetText();
 
-			m_content = CLewaimaiString::UnicodeToUTF8(wsReason);
+			wsReason += L"1";
 
-			int zhekou = atoi(m_content.c_str());
-			if (zhekou > 100 || zhekou < 0)
-			{
-				CLabelUI* pErrorInfo = static_cast<CLabelUI*>(m_pm.FindControl(_T("errinfo")));
-				pErrorInfo->SetText(L"加价金额只能为0到100之间的整数");
-				pErrorInfo->SetVisible(true);
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_2")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
 
-				return;
-			}
+			wsReason += L"2";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_3")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"3";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_4")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"4";
 
-			Close(IDOK);
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_5")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"5";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_6")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"6";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_7")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"7";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_8")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"8";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_9")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"9";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_0")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"0";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_x")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason = wsReason.substr(0, wsReason.length() - 1);
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_qingkong")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason.clear();
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
 		}
 	}
 	else if (msg.sType == _T("textchanged"))
@@ -182,6 +291,13 @@ void CjiajiaWnd::Notify(TNotifyUI& msg)
 			}
 		}
 	}
+	else if (msg.sType == L"windowinit")
+	{
+		m_pm.SetNextTabControl(false);
+
+		CEditUI* pFukuanEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+		pFukuanEdit->SetFocus();
+	}
 }
 
 void CjiajiaWnd::Init()
@@ -199,4 +315,24 @@ void CjiajiaWnd::SetTitle(std::wstring title)
 {
 	CLabelUI* pLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("memo_dlg_title")));
 	pLabel->SetText(title.c_str());
+}
+
+void CjiajiaWnd::StartYanzheng()
+{
+	CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+	wstring wsReason = pContent->GetText();
+
+	m_content = CLewaimaiString::UnicodeToUTF8(wsReason);
+
+	int zhekou = atoi(m_content.c_str());
+	if (zhekou > 100 || zhekou < 0)
+	{
+		CLabelUI* pErrorInfo = static_cast<CLabelUI*>(m_pm.FindControl(_T("errinfo")));
+		pErrorInfo->SetText(L"加价金额只能为0到100之间的整数");
+		pErrorInfo->SetVisible(true);
+
+		return;
+	}
+
+	Close(IDOK);
 }

+ 4 - 0
zhipuzi_pos_windows/wnd/CJiajiaWnd.h

@@ -62,6 +62,8 @@ public:
 
 	LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled);
 
+	void StartYanzheng();
+
 	//´¦Àí¼üÅ̲¶×½½á¹û
 	void HandleTextCapture(std::string content)
 	{
@@ -72,5 +74,7 @@ public:
 	CPaintManagerUI m_pm;
 
 	std::string m_content;
+
+	std::wstring m_errorInfo;
 };
 

+ 28 - 13
zhipuzi_pos_windows/wnd/CMemberLoginWnd.cpp

@@ -94,11 +94,22 @@ LRESULT CMemberLoginWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam,
 		}
 		else if (wParam == VK_ESCAPE)
 		{
+			if (m_is_qingqiu == false)
+			{
+				Close(IDCANCEL);
+			}
+
 			return true;
 		}
 	}
 	else if (uMsg == WM_MEMBER_CHECK_SUCCESS)
 	{
+		m_qingqiu_mutex.lock();
+
+		m_is_qingqiu = false;
+
+		m_qingqiu_mutex.unlock();
+
 		//ÑéÖ¤³É¹¦ÁË
 		Close(IDOK);
 
@@ -118,6 +129,12 @@ LRESULT CMemberLoginWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam,
 		pErrorInfo->SetText(m_errorInfo.c_str());
 		pErrorInfo->SetVisible(true);
 
+		m_qingqiu_mutex.lock();
+
+		m_is_qingqiu = false;
+
+		m_qingqiu_mutex.unlock();
+
 		return true;
 	}
 
@@ -159,7 +176,11 @@ void CMemberLoginWnd::Notify(TNotifyUI& msg)
 
 		if (senderName == _T("closebtn"))
 		{
-			Close(IDCANCEL);
+			if (m_is_qingqiu == false)
+			{
+				Close(IDCANCEL);
+			}
+
 			return;
 		}
 		else if (senderName == _T("save"))
@@ -319,18 +340,6 @@ void CMemberLoginWnd::Notify(TNotifyUI& msg)
 		CEditUI* pFukuanEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
 		pFukuanEdit->SetFocus();
 	}
-	else if (msg.sType == L"killfocus")
-	{
-		std::wstring name = msg.pSender->GetName();
-
-		LOG_INFO("killfocus:" << name.c_str());
-	}
-	else if (msg.sType == L"setfocus")
-	{
-		std::wstring name = msg.pSender->GetName();
-
-		LOG_INFO("setfocus:" << name.c_str());
-	}
 }
 
 void CMemberLoginWnd::Init()
@@ -369,6 +378,12 @@ void CMemberLoginWnd::StartYanzheng()
 	CButtonUI* pSave = static_cast<CButtonUI*>(m_pm.FindControl(_T("save")));
 	pSave->SetEnabled(false);
 
+	m_qingqiu_mutex.lock();
+
+	m_is_qingqiu = true;
+
+	m_qingqiu_mutex.unlock();
+
 	//¿ªÊ¼´¦Àí
 	std::thread(&CMemberLoginWnd::ConfirmMember, this).detach();
 }

+ 3 - 0
zhipuzi_pos_windows/wnd/CMemberLoginWnd.h

@@ -79,6 +79,9 @@ public:
 
 	std::wstring m_errorInfo;
 
+	std::mutex m_qingqiu_mutex;
+	bool m_is_qingqiu = false;
+
 	std::string m_member_name;
 	std::string m_member_level;
 	std::string m_member_level_name;

+ 31 - 9
zhipuzi_pos_windows/wnd/CMemoWnd.cpp

@@ -88,10 +88,14 @@ LRESULT CMemoWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool&
 	{
 		if (wParam == VK_RETURN)
 		{
+			StartYanzheng();
+
 			return true;
 		}
 		else if (wParam == VK_ESCAPE)
 		{
+			Close(IDCANCEL);
+
 			return true;
 		}
 	}
@@ -131,23 +135,23 @@ void CMemoWnd::Notify(TNotifyUI& msg)
 	{
 		DuiLib::CDuiString senderName = msg.pSender->GetName();
 
-		if (senderName == _T("quit"))
+		if (senderName == _T("closebtn"))
 		{
 			Close(IDCANCEL);
 			return;
 		}
 		else if (senderName == _T("save"))
 		{
-			//开始保存厨房打印机的数据
-			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
-			wstring wsReason = pContent->GetText();
-
-			m_memo = CLewaimaiString::UnicodeToUTF8(wsReason);
-
-			Close(IDOK);
-			return;
+			StartYanzheng();
 		}
 	}
+	else if (msg.sType == L"windowinit")
+	{
+		m_pm.SetNextTabControl(false);
+
+		CEditUI* pFukuanEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+		pFukuanEdit->SetFocus();
+	}
 }
 
 void CMemoWnd::Init()
@@ -155,5 +159,23 @@ void CMemoWnd::Init()
 
 }
 
+std::string CMemoWnd::getContent()
+{
+	return m_content;
+}
+
+void CMemoWnd::SetTitle(std::wstring title)
+{
+	CLabelUI* pLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("memo_dlg_title")));
+	pLabel->SetText(title.c_str());
+}
+
+void CMemoWnd::StartYanzheng()
+{
+	CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+	wstring wsReason = pContent->GetText();
 
+	m_content = CLewaimaiString::UnicodeToUTF8(wsReason);
 
+	Close(IDOK);
+}

+ 7 - 10
zhipuzi_pos_windows/wnd/CMemoWnd.h

@@ -27,16 +27,9 @@ public:
 
 	void Init();
 
-	std::string getMemo()
-	{
-		return m_memo;
-	}
+	std::string getContent();
 
-	void SetTitle(std::wstring title)
-	{
-		CLabelUI* pLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("memo_dlg_title")));
-		pLabel->SetText(title.c_str());
-	}
+	void SetTitle(std::wstring title);
 
 	void Notify(TNotifyUI& msg);
 
@@ -69,6 +62,8 @@ public:
 
 	LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled);
 
+	void StartYanzheng();
+
 	//´¦Àí¼üÅ̲¶×½½á¹û
 	void HandleTextCapture(std::string content)
 	{
@@ -78,6 +73,8 @@ public:
 public:
 	CPaintManagerUI m_pm;
 
-	std::string m_memo;
+	std::string m_content;
+
+	std::wstring m_errorInfo;
 };
 

+ 147 - 11
zhipuzi_pos_windows/wnd/CRengongYouhuiWnd.cpp

@@ -88,10 +88,14 @@ LRESULT CRengongYouhuiWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lPara
 	{
 		if (wParam == VK_RETURN)
 		{
+			StartYanzheng();
+
 			return true;
 		}
 		else if (wParam == VK_ESCAPE)
 		{
+			Close(IDCANCEL);
+
 			return true;
 		}
 	}
@@ -132,29 +136,134 @@ void CRengongYouhuiWnd::Notify(TNotifyUI& msg)
 	{
 		DuiLib::CDuiString senderName = msg.pSender->GetName();
 
-		if (senderName == _T("quit"))
+		if (senderName == _T("closebtn"))
 		{
 			Close(IDCANCEL);
 			return;
 		}
 		else if (senderName == _T("save"))
 		{
+			StartYanzheng();
+		}
+		else if (senderName == L"jianpan_1")
+		{
 			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
 			wstring wsReason = pContent->GetText();
 
-			m_content = CLewaimaiString::UnicodeToUTF8(wsReason);
+			wsReason += L"1";
 
-			int zhekou = atoi(m_content.c_str());
-			if (zhekou > 100 || zhekou < 0)
-			{
-				CLabelUI* pErrorInfo = static_cast<CLabelUI*>(m_pm.FindControl(_T("errinfo")));
-				pErrorInfo->SetText(L"优惠金额只能为0到100之间的整数");
-				pErrorInfo->SetVisible(true);
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_2")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
 
-				return;
-			}
+			wsReason += L"2";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_3")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"3";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_4")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"4";
 
-			Close(IDOK);
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_5")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"5";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_6")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"6";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_7")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"7";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_8")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"8";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_9")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"9";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_0")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"0";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_x")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason = wsReason.substr(0, wsReason.length() - 1);
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_qingkong")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason.clear();
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
 		}
 	}
 	else if (msg.sType == _T("textchanged"))
@@ -182,6 +291,13 @@ void CRengongYouhuiWnd::Notify(TNotifyUI& msg)
 			}
 		}
 	}
+	else if (msg.sType == L"windowinit")
+	{
+		m_pm.SetNextTabControl(false);
+
+		CEditUI* pFukuanEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+		pFukuanEdit->SetFocus();
+	}
 }
 
 void CRengongYouhuiWnd::Init()
@@ -199,4 +315,24 @@ void CRengongYouhuiWnd::SetTitle(std::wstring title)
 {
 	CLabelUI* pLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("memo_dlg_title")));
 	pLabel->SetText(title.c_str());
+}
+
+void CRengongYouhuiWnd::StartYanzheng()
+{
+	CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+	wstring wsReason = pContent->GetText();
+
+	m_content = CLewaimaiString::UnicodeToUTF8(wsReason);
+
+	int zhekou = atoi(m_content.c_str());
+	if (zhekou > 100 || zhekou < 0)
+	{
+		CLabelUI* pErrorInfo = static_cast<CLabelUI*>(m_pm.FindControl(_T("errinfo")));
+		pErrorInfo->SetText(L"优惠金额只能为0到100之间的整数");
+		pErrorInfo->SetVisible(true);
+
+		return;
+	}
+
+	Close(IDOK);
 }

+ 4 - 0
zhipuzi_pos_windows/wnd/CRengongYouhuiWnd.h

@@ -62,6 +62,8 @@ public:
 
 	LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled);
 
+	void StartYanzheng();
+
 	//´¦Àí¼üÅ̲¶×½½á¹û
 	void HandleTextCapture(std::string content)
 	{
@@ -72,5 +74,7 @@ public:
 	CPaintManagerUI m_pm;
 
 	std::string m_content;
+
+	std::wstring m_errorInfo;
 };
 

+ 1 - 1
zhipuzi_pos_windows/wnd/CToastWnd.cpp

@@ -161,7 +161,7 @@ void CToastWnd::Notify(TNotifyUI& msg)
 
 void CToastWnd::Init()
 {
-	SetTimer(m_hWnd, WM_TIMER_WND_CLOSE, 2000, NULL);
+	SetTimer(m_hWnd, WM_TIMER_WND_CLOSE, 1500, NULL);
 }
 
 void CToastWnd::SetToast(std::wstring toast)

+ 184 - 65
zhipuzi_pos_windows/wnd/CXianjinShoukuanWnd.cpp

@@ -18,32 +18,11 @@ void CXianjinShoukuanWnd::Notify(TNotifyUI& msg)
 {
 	if (msg.sType == _T("click"))
 	{
+		DuiLib::CDuiString senderName = msg.pSender->GetName();
+
 		if (msg.pSender->GetName() == _T("closebtn"))
 		{
-			if (m_shoukuan_status == 0)
-			{
-				//还没开始支付,直接退出
-				Close(IDCANCEL);
-			}
-			else if (m_shoukuan_status == 1 || m_shoukuan_status == 5)
-			{
-				//不能做任何处理
-			}
-			else if (m_shoukuan_status == 2)
-			{
-				//查询密码的过程中,取消付款
-				CancelShoukuanPassword();
-			}
-			else if (m_shoukuan_status == 3)
-			{
-				Sleep(100);
-				Close(IDOK);
-			}
-			else if (m_shoukuan_status == 4)
-			{
-				Sleep(100);
-				Close(IDCANCEL);
-			}
+			StartClose();
 		}
 		else if (msg.pSender->GetName() == _T("shoukuanBtn"))
 		{
@@ -52,37 +31,174 @@ void CXianjinShoukuanWnd::Notify(TNotifyUI& msg)
 		else if (msg.pSender->GetName() == L"xianjin_kuaijie_10")
 		{
 			//这里直接SetText,不会触发textchange事件
-			CEditUI* pFukuanmaEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
-			pFukuanmaEdit->SetText(L"10");
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			pContent->SetText(L"10");
 
+			pContent->SetFocus();
 			UpdateZhaoling();
 		}
 		else if (msg.pSender->GetName() == L"xianjin_kuaijie_20")
 		{
-			CEditUI* pFukuanmaEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
-			pFukuanmaEdit->SetText(L"20");
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			pContent->SetText(L"20");
 
+			pContent->SetFocus();
 			UpdateZhaoling();
 		}
 		else if (msg.pSender->GetName() == L"xianjin_kuaijie_50")
 		{
-			CEditUI* pFukuanmaEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
-			pFukuanmaEdit->SetText(L"50");
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			pContent->SetText(L"50");
 
+			pContent->SetFocus();
 			UpdateZhaoling();
 		}
 		else if (msg.pSender->GetName() == L"xianjin_kuaijie_100")
 		{
-			CEditUI* pFukuanmaEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
-			pFukuanmaEdit->SetText(L"100");
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			pContent->SetText(L"100");
 
+			pContent->SetFocus();
 			UpdateZhaoling();
 		}
 		else if (msg.pSender->GetName() == L"xianjin_kuaijie_200")
 		{
-			CEditUI* pFukuanmaEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
-			pFukuanmaEdit->SetText(L"200");
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			pContent->SetText(L"200");
+
+			pContent->SetFocus();
+			UpdateZhaoling();
+		}
+		else if (senderName == L"jianpan_1")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"1";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+			UpdateZhaoling();
+		}
+		else if (senderName == L"jianpan_2")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"2";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+			UpdateZhaoling();
+		}
+		else if (senderName == L"jianpan_3")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"3";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+			UpdateZhaoling();
+		}
+		else if (senderName == L"jianpan_4")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"4";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+			UpdateZhaoling();
+		}
+		else if (senderName == L"jianpan_5")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"5";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+			UpdateZhaoling();
+		}
+		else if (senderName == L"jianpan_6")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"6";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+			UpdateZhaoling();
+		}
+		else if (senderName == L"jianpan_7")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"7";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+			UpdateZhaoling();
+		}
+		else if (senderName == L"jianpan_8")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"8";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+			UpdateZhaoling();
+		}
+		else if (senderName == L"jianpan_9")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"9";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+			UpdateZhaoling();
+		}
+		else if (senderName == L"jianpan_0")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			wstring wsReason = pContent->GetText();
 
+			wsReason += L"0";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+			UpdateZhaoling();
+		}
+		else if (senderName == L"jianpan_x")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason = wsReason.substr(0, wsReason.length() - 1);
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+			UpdateZhaoling();
+		}
+		else if (senderName == L"jianpan_dian")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L".";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
 			UpdateZhaoling();
 		}
 	}
@@ -98,7 +214,7 @@ void CXianjinShoukuanWnd::Notify(TNotifyUI& msg)
 			for (size_t nIndex = 0; nIndex < strValue.length(); nIndex++)
 			{
 				unsigned char tmp = strValue.at(nIndex);
-				if (tmp > 57 || tmp < 48)
+				if ((tmp > 57 || tmp < 48) && tmp != 46)
 				{
 					//ASCII码不是数字的都过滤掉
 					strValue = strValue.substr(0, nIndex);
@@ -113,6 +229,13 @@ void CXianjinShoukuanWnd::Notify(TNotifyUI& msg)
 			UpdateZhaoling();
 		}
 	}
+	else if (msg.sType == L"windowinit")
+	{
+		m_pm.SetNextTabControl(false);
+
+		CEditUI* pFukuanEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+		pFukuanEdit->SetFocus();
+	}
 }
 
 LRESULT CXianjinShoukuanWnd::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
@@ -374,28 +497,7 @@ LRESULT CXianjinShoukuanWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lPa
 		}
 		else if (wParam == VK_ESCAPE)
 		{
-			if (m_shoukuan_status == 0)
-			{
-				//还没开始支付,按Esc直接退出
-				Close(IDCANCEL);
-			}
-			else if (m_shoukuan_status == 1 || m_shoukuan_status == 5)
-			{
-				//不能做任何处理
-			}
-			else if (m_shoukuan_status == 2)
-			{
-				//查询密码的过程中,取消付款
-				CancelShoukuanPassword();
-			}
-			else if (m_shoukuan_status == 3)
-			{
-				Close(IDOK);
-			}
-			else if (m_shoukuan_status == 4)
-			{
-				Close(IDCANCEL);
-			}
+			StartClose();
 
 			return true;
 		}
@@ -905,14 +1007,32 @@ void CXianjinShoukuanWnd::HandleCancelShoukuan()
 	SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
 }
 
-bool CXianjinShoukuanWnd::IsCanClose()
+void CXianjinShoukuanWnd::StartClose()
 {
-	if (m_shoukuan_status == 0 || m_shoukuan_status == 3 || m_shoukuan_status == 4)
+	if (m_shoukuan_status == 0)
 	{
-		return true;
+		//还没开始支付,直接退出
+		Close(IDCANCEL);
+	}
+	else if (m_shoukuan_status == 1 || m_shoukuan_status == 5)
+	{
+		//不能做任何处理
+	}
+	else if (m_shoukuan_status == 2)
+	{
+		//查询密码的过程中,取消付款
+		CancelShoukuanPassword();
+	}
+	else if (m_shoukuan_status == 3)
+	{
+		Sleep(100);
+		Close(IDOK);
+	}
+	else if (m_shoukuan_status == 4)
+	{
+		Sleep(100);
+		Close(IDCANCEL);
 	}
-
-	return false;
 }
 
 void CXianjinShoukuanWnd::ReadShoukuanValue()
@@ -920,11 +1040,10 @@ void CXianjinShoukuanWnd::ReadShoukuanValue()
 	CSpeech::SpeakNum(1, CLewaimaiString::UnicodeToUTF8(m_money));
 }
 
-
 void CXianjinShoukuanWnd::UpdateZhaoling()
 {
-	CEditUI* pFukuanmaEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
-	std::wstring ws_shishou = pFukuanmaEdit->GetText();
+	CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("shishou_edit")));
+	std::wstring ws_shishou = pContent->GetText();
 	std::string s_shishou = CLewaimaiString::UnicodeToUTF8(ws_shishou);
 
 	double shishiou = atof(s_shishou.c_str());

+ 1 - 1
zhipuzi_pos_windows/wnd/CXianjinShoukuanWnd.h

@@ -81,7 +81,7 @@ public:
 	//´¦ÀíÈ¡ÏûÊÕ¿î
 	void HandleCancelShoukuan();
 
-	bool IsCanClose();
+	void StartClose();
 
 	void ReadShoukuanValue();
 

+ 147 - 12
zhipuzi_pos_windows/wnd/CZhekouWnd.cpp

@@ -88,10 +88,14 @@ LRESULT CZhekouWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool
 	{
 		if (wParam == VK_RETURN)
 		{
+			StartYanzheng();
+
 			return true;
 		}
 		else if (wParam == VK_ESCAPE)
 		{
+			Close(IDCANCEL);
+
 			return true;
 		}
 	}
@@ -132,29 +136,134 @@ void CZhekouWnd::Notify(TNotifyUI& msg)
 	{
 		DuiLib::CDuiString senderName = msg.pSender->GetName();
 
-		if (senderName == _T("quit"))
+		if (senderName == _T("closebtn"))
 		{
 			Close(IDCANCEL);
 			return;
 		}
 		else if (senderName == _T("save"))
 		{
+			StartYanzheng();
+		}
+		else if (senderName == L"jianpan_1")
+		{
 			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
 			wstring wsReason = pContent->GetText();
 
-			m_content = CLewaimaiString::UnicodeToUTF8(wsReason);
+			wsReason += L"1";
 
-			int zhekou = atoi(m_content.c_str());
-			if (zhekou > 100 || zhekou < 1)
-			{
-				CLabelUI* pErrorInfo = static_cast<CLabelUI*>(m_pm.FindControl(_T("errinfo")));
-				pErrorInfo->SetText(L"折扣值只能为1到100之间的整数");
-				pErrorInfo->SetVisible(true);
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_2")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
 
-				return;
-			}
+			wsReason += L"2";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_3")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"3";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_4")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"4";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_5")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"5";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_6")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"6";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_7")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"7";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_8")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"8";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_9")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"9";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_0")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason += L"0";
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_x")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason = wsReason.substr(0, wsReason.length() - 1);
 
-			Close(IDOK);
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
+		}
+		else if (senderName == L"jianpan_qingkong")
+		{
+			CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+			wstring wsReason = pContent->GetText();
+
+			wsReason.clear();
+
+			pContent->SetText(wsReason.c_str());
+			pContent->SetFocus();
 		}
 	}
 	else if (msg.sType == _T("textchanged"))
@@ -182,6 +291,13 @@ void CZhekouWnd::Notify(TNotifyUI& msg)
 			}
 		}
 	}
+	else if (msg.sType == L"windowinit")
+	{
+		m_pm.SetNextTabControl(false);
+
+		CEditUI* pFukuanEdit = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+		pFukuanEdit->SetFocus();
+	}
 }
 
 void CZhekouWnd::Init()
@@ -189,7 +305,6 @@ void CZhekouWnd::Init()
 
 }
 
-
 std::string CZhekouWnd::getContent()
 {
 	return m_content;
@@ -199,4 +314,24 @@ void CZhekouWnd::SetTitle(std::wstring title)
 {
 	CLabelUI* pLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("memo_dlg_title")));
 	pLabel->SetText(title.c_str());
+}
+
+void CZhekouWnd::StartYanzheng()
+{
+	CEditUI* pContent = static_cast<CEditUI*>(m_pm.FindControl(_T("content")));
+	wstring wsReason = pContent->GetText();
+
+	m_content = CLewaimaiString::UnicodeToUTF8(wsReason);
+
+	int zhekou = atoi(m_content.c_str());
+	if (zhekou > 100 || zhekou < 1)
+	{
+		CLabelUI* pErrorInfo = static_cast<CLabelUI*>(m_pm.FindControl(_T("errinfo")));
+		pErrorInfo->SetText(L"折扣值只能为1到100之间的整数");
+		pErrorInfo->SetVisible(true);
+
+		return;
+	}
+
+	Close(IDOK);
 }

+ 4 - 0
zhipuzi_pos_windows/wnd/CZhekouWnd.h

@@ -62,6 +62,8 @@ public:
 
 	LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled);
 
+	void StartYanzheng();
+
 	//´¦Àí¼üÅ̲¶×½½á¹û
 	void HandleTextCapture(std::string content)
 	{
@@ -72,5 +74,7 @@ public:
 	CPaintManagerUI m_pm;
 
 	std::string m_content;
+
+	std::wstring m_errorInfo;
 };