吴彦祖 6 months ago
parent
commit
5343df5852
45 changed files with 1290 additions and 140 deletions
  1. 48 4
      ADHTuanCan.xcodeproj/project.pbxproj
  2. BIN
      ADHTuanCan.xcworkspace/xcuserdata/aodeheng.xcuserdatad/UserInterfaceState.xcuserstate
  3. 16 0
      ADHTuanCan.xcworkspace/xcuserdata/aodeheng.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. 1 0
      ADHTuanCan/AppDelegate.swift
  5. 22 0
      ADHTuanCan/Assets.xcassets/通用图标/关闭.imageset/Contents.json
  6. BIN
      ADHTuanCan/Assets.xcassets/通用图标/关闭.imageset/关闭上传凭证@2x.png
  7. BIN
      ADHTuanCan/Assets.xcassets/通用图标/关闭.imageset/关闭上传凭证@3x.png
  8. BIN
      ADHTuanCan/Assets.xcassets/首页/漂浮图片.imageset/57461709288121_.pic.jpg
  9. 21 0
      ADHTuanCan/Assets.xcassets/首页/漂浮图片.imageset/Contents.json
  10. 81 0
      ADHTuanCan/Class/Category/HTTP/Http+UploadImage.swift
  11. 2 2
      ADHTuanCan/Class/Category/VC/TabBar/BaseTabbarController.swift
  12. 14 0
      ADHTuanCan/Class/我的/Base.lproj/MyViewController.xib
  13. 14 1
      ADHTuanCan/Class/我的/MyViewController.swift
  14. 15 0
      ADHTuanCan/Class/我的/model/MyRequestModel.swift
  15. 27 0
      ADHTuanCan/Class/我的/viewModel/MyViewModel.swift
  16. 14 0
      ADHTuanCan/Class/我的/余额/RechargeAmountViewController.swift
  17. 28 2
      ADHTuanCan/Class/我的/成员/TeamMembersViewController.swift
  18. 62 0
      ADHTuanCan/Class/我的/成员/view/AddMembersCheckView.swift
  19. 136 0
      ADHTuanCan/Class/我的/成员/view/Base.lproj/AddMembersCheckView.xib
  20. 18 0
      ADHTuanCan/Class/我的/成员/view/TeamMembersCell.swift
  21. 18 2
      ADHTuanCan/Class/我的/成员/view/TeamMembersCell.xib
  22. 9 0
      ADHTuanCan/Class/我的/成员/view/en.lproj/AddMembersCheckView.strings
  23. 3 0
      ADHTuanCan/Class/我的/成员/view/en.lproj/TeamMembersCell.strings
  24. 9 0
      ADHTuanCan/Class/我的/成员/view/zh-Hans.lproj/AddMembersCheckView.strings
  25. 109 15
      ADHTuanCan/Class/我的/白团权限申请/ApplyWhiteManagerController.swift
  26. 79 91
      ADHTuanCan/Class/我的/白团权限申请/Base.lproj/ApplyWhiteManagerController.xib
  27. 7 1
      ADHTuanCan/Class/我的/白团权限申请/en.lproj/ApplyWhiteManagerController.strings
  28. 8 2
      ADHTuanCan/Class/我的/白团权限申请/zh-Hans.lproj/ApplyWhiteManagerController.strings
  29. 21 4
      ADHTuanCan/Class/订单/OrderManagerVC.swift
  30. 14 0
      ADHTuanCan/Class/订单/订单详情/OrderDetailViewController.swift
  31. 4 0
      ADHTuanCan/Class/购物车/model/ShopCarModel.swift
  32. 15 0
      ADHTuanCan/Class/购物车/确认订单/CheckOrderViewController.swift
  33. 21 0
      ADHTuanCan/Class/餐品详情/SetMealDetailVC.swift
  34. 19 0
      ADHTuanCan/Class/餐品详情/SingleMealDetailController.swift
  35. 7 0
      ADHTuanCan/Class/餐品详情/model/SetMealModel.swift
  36. 122 0
      ADHTuanCan/Class/餐品详情/view/Base.lproj/TwoSeparateMealsView.xib
  37. 61 0
      ADHTuanCan/Class/餐品详情/view/TwoSeparateMealsView.swift
  38. 9 0
      ADHTuanCan/Class/餐品详情/view/en.lproj/TwoSeparateMealsView.strings
  39. 9 0
      ADHTuanCan/Class/餐品详情/view/zh-Hans.lproj/TwoSeparateMealsView.strings
  40. 22 2
      ADHTuanCan/Class/首页/HomeViewController.swift
  41. 191 0
      ADHTuanCan/Class/首页/view/WMFloatButton.swift
  42. 4 4
      ADHTuanCan/Class/首页/业务员信息/Base.lproj/SalesmanFirstShowView.xib
  43. 4 4
      ADHTuanCan/Class/首页/业务员信息/SalesmanFirstShowView.swift
  44. 3 3
      ADHTuanCan/Class/首页/业务员信息/en.lproj/SalesmanFirstShowView.strings
  45. 3 3
      ADHTuanCan/Class/首页/业务员信息/zh-Hans.lproj/SalesmanFirstShowView.strings

+ 48 - 4
ADHTuanCan.xcodeproj/project.pbxproj

@@ -19,6 +19,11 @@
 		C40691582B08BEB7002688FD /* CodeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C406915A2B08BEB7002688FD /* CodeViewController.xib */; };
 		C406915F2B08BEF6002688FD /* PhoneLoginViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C40691612B08BEF6002688FD /* PhoneLoginViewController.xib */; };
 		C40691662B08BFE9002688FD /* EditLoginPSWViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C40691682B08BFE9002688FD /* EditLoginPSWViewController.xib */; };
+		C406A07E2B9191D6005A6423 /* TwoSeparateMealsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C406A0802B9191D6005A6423 /* TwoSeparateMealsView.xib */; };
+		C406A0862B91D3E9005A6423 /* WMFloatButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C406A0852B91D3E9005A6423 /* WMFloatButton.swift */; };
+		C406A0882B91F4C5005A6423 /* AddMembersCheckView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C406A0872B91F4C5005A6423 /* AddMembersCheckView.swift */; };
+		C406A0902B91FBBD005A6423 /* TeamMembersCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = C406A0912B91FBBD005A6423 /* TeamMembersCell.xib */; };
+		C406A0922B91FBC5005A6423 /* AddMembersCheckView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C406A0942B91FBC5005A6423 /* AddMembersCheckView.xib */; };
 		C4110B482B47F9FC00B23195 /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C4110B472B47F9FC00B23195 /* Launch Screen.storyboard */; };
 		C4144CD52AF91DCB00B5F73C /* OrderDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4144CD32AF91DCB00B5F73C /* OrderDetailViewController.swift */; };
 		C4144CD62AF91DCB00B5F73C /* OrderDetailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C4144CD42AF91DCB00B5F73C /* OrderDetailViewController.xib */; };
@@ -130,7 +135,6 @@
 		C45654462B0A628800F3E628 /* WriteOffResonCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = C45654442B0A628800F3E628 /* WriteOffResonCell.xib */; };
 		C456544A2B0B834200F3E628 /* TeamMembersViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45654482B0B834200F3E628 /* TeamMembersViewController.swift */; };
 		C456544F2B0B845F00F3E628 /* TeamMembersCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C456544D2B0B845F00F3E628 /* TeamMembersCell.swift */; };
-		C45654502B0B845F00F3E628 /* TeamMembersCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = C456544E2B0B845F00F3E628 /* TeamMembersCell.xib */; };
 		C45654522B0BA4DD00F3E628 /* TeamMembersAddView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45654512B0BA4DD00F3E628 /* TeamMembersAddView.swift */; };
 		C45654572B0C9BB900F3E628 /* EditPersonSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C45654562B0C9BB900F3E628 /* EditPersonSheetView.swift */; };
 		C456545A2B0CA94E00F3E628 /* EditPersonSheetView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C456545C2B0CA94E00F3E628 /* EditPersonSheetView.xib */; };
@@ -273,6 +277,7 @@
 		C4CF5F5D2ACD632600B6B2D9 /* TableViewUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4CF5F5C2ACD632600B6B2D9 /* TableViewUtil.swift */; };
 		C4CF5F5F2ACD640000B6B2D9 /* MenuHeadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4CF5F5E2ACD640000B6B2D9 /* MenuHeadView.swift */; };
 		C4CF5F612ACD640E00B6B2D9 /* MenuHeadView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C4CF5F602ACD640E00B6B2D9 /* MenuHeadView.xib */; };
+		C4E333142B91891C004DD994 /* TwoSeparateMealsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4E333132B91891C004DD994 /* TwoSeparateMealsView.swift */; };
 		C4EDD90D2AF2618A00BE8EFF /* ADHBaseNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4EDD90C2AF2618A00BE8EFF /* ADHBaseNavigationController.swift */; };
 		C4EDD9152AF27C4800BE8EFF /* MCNavBarSegmentValue1View.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4EDD90F2AF27C4800BE8EFF /* MCNavBarSegmentValue1View.swift */; };
 		C4EDD9162AF27C4800BE8EFF /* MCNavBarDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4EDD9102AF27C4800BE8EFF /* MCNavBarDelegate.swift */; };
@@ -401,6 +406,15 @@
 		C40691672B08BFE9002688FD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/EditLoginPSWViewController.xib; sourceTree = "<group>"; };
 		C406916A2B08BFEB002688FD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/EditLoginPSWViewController.strings; sourceTree = "<group>"; };
 		C406916C2B08BFED002688FD /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/EditLoginPSWViewController.strings"; sourceTree = "<group>"; };
+		C406A07F2B9191D6005A6423 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/TwoSeparateMealsView.xib; sourceTree = "<group>"; };
+		C406A0822B9191D8005A6423 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/TwoSeparateMealsView.strings; sourceTree = "<group>"; };
+		C406A0842B9191D9005A6423 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/TwoSeparateMealsView.strings"; sourceTree = "<group>"; };
+		C406A0852B91D3E9005A6423 /* WMFloatButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WMFloatButton.swift; sourceTree = "<group>"; };
+		C406A0872B91F4C5005A6423 /* AddMembersCheckView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddMembersCheckView.swift; sourceTree = "<group>"; };
+		C406A0912B91FBBD005A6423 /* TeamMembersCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TeamMembersCell.xib; sourceTree = "<group>"; };
+		C406A0932B91FBC5005A6423 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AddMembersCheckView.xib; sourceTree = "<group>"; };
+		C406A0962B91FBC9005A6423 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/AddMembersCheckView.strings; sourceTree = "<group>"; };
+		C406A0982B91FBCD005A6423 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/AddMembersCheckView.strings"; sourceTree = "<group>"; };
 		C4110B012B47F53B00B23195 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Main.strings; sourceTree = "<group>"; };
 		C4110B472B47F9FC00B23195 /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "Launch Screen.storyboard"; sourceTree = "<group>"; };
 		C4144CD32AF91DCB00B5F73C /* OrderDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderDetailViewController.swift; sourceTree = "<group>"; };
@@ -575,7 +589,6 @@
 		C45654442B0A628800F3E628 /* WriteOffResonCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = WriteOffResonCell.xib; sourceTree = "<group>"; };
 		C45654482B0B834200F3E628 /* TeamMembersViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TeamMembersViewController.swift; sourceTree = "<group>"; };
 		C456544D2B0B845F00F3E628 /* TeamMembersCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TeamMembersCell.swift; sourceTree = "<group>"; };
-		C456544E2B0B845F00F3E628 /* TeamMembersCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TeamMembersCell.xib; sourceTree = "<group>"; };
 		C45654512B0BA4DD00F3E628 /* TeamMembersAddView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TeamMembersAddView.swift; sourceTree = "<group>"; };
 		C45654562B0C9BB900F3E628 /* EditPersonSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditPersonSheetView.swift; sourceTree = "<group>"; };
 		C456545B2B0CA94E00F3E628 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/EditPersonSheetView.xib; sourceTree = "<group>"; };
@@ -786,6 +799,7 @@
 		C4CF5F5C2ACD632600B6B2D9 /* TableViewUtil.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableViewUtil.swift; sourceTree = "<group>"; };
 		C4CF5F5E2ACD640000B6B2D9 /* MenuHeadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuHeadView.swift; sourceTree = "<group>"; };
 		C4CF5F602ACD640E00B6B2D9 /* MenuHeadView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MenuHeadView.xib; sourceTree = "<group>"; };
+		C4E333132B91891C004DD994 /* TwoSeparateMealsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TwoSeparateMealsView.swift; sourceTree = "<group>"; };
 		C4EDD90C2AF2618A00BE8EFF /* ADHBaseNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ADHBaseNavigationController.swift; sourceTree = "<group>"; };
 		C4EDD90F2AF27C4800BE8EFF /* MCNavBarSegmentValue1View.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MCNavBarSegmentValue1View.swift; sourceTree = "<group>"; };
 		C4EDD9102AF27C4800BE8EFF /* MCNavBarDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MCNavBarDelegate.swift; sourceTree = "<group>"; };
@@ -1246,9 +1260,11 @@
 			isa = PBXGroup;
 			children = (
 				C456544D2B0B845F00F3E628 /* TeamMembersCell.swift */,
-				C456544E2B0B845F00F3E628 /* TeamMembersCell.xib */,
+				C406A0912B91FBBD005A6423 /* TeamMembersCell.xib */,
 				C45654512B0BA4DD00F3E628 /* TeamMembersAddView.swift */,
 				C45B67DC2B19DC1A00EA1725 /* TeamMembersAddView.xib */,
+				C406A0872B91F4C5005A6423 /* AddMembersCheckView.swift */,
+				C406A0942B91FBC5005A6423 /* AddMembersCheckView.xib */,
 			);
 			path = view;
 			sourceTree = "<group>";
@@ -1314,6 +1330,8 @@
 				C4577CC92AEABA09004D9439 /* DeliveryTimeItem.xib */,
 				C470B5742AEFBACB009046B4 /* AddRemarkView.swift */,
 				C470B57A2AEFBD07009046B4 /* AddRemarkView.xib */,
+				C4E333132B91891C004DD994 /* TwoSeparateMealsView.swift */,
+				C406A0802B9191D6005A6423 /* TwoSeparateMealsView.xib */,
 			);
 			path = view;
 			sourceTree = "<group>";
@@ -1820,6 +1838,7 @@
 		C4836B492AC58B8400E3FA1B /* view */ = {
 			isa = PBXGroup;
 			children = (
+				C406A0852B91D3E9005A6423 /* WMFloatButton.swift */,
 				C4836B4A2AC58BE200E3FA1B /* HomeFoodItem.swift */,
 				C42AEDFA2B03731E0045EF66 /* HomeFoodItem.xib */,
 				C4836C2E2AC89C0000E3FA1B /* 搜索 */,
@@ -2450,6 +2469,7 @@
 				C448CD1C2AFE8AAF00B3B068 /* MealHeadView.xib in Resources */,
 				C42AEDFF2B03737D0045EF66 /* EverybodyLoveItem.xib in Resources */,
 				C45411762B00DB740096F60E /* BalanceViewCell.xib in Resources */,
+				C406A0922B91FBC5005A6423 /* AddMembersCheckView.xib in Resources */,
 				C4836B202AC5601900E3FA1B /* ContractView.xib in Resources */,
 				C467315E2AFA13FF00658C58 /* UnsubscribeDetailVC.xib in Resources */,
 				C470B5932AF0B05B009046B4 /* DeliveryTimeSetView.xib in Resources */,
@@ -2538,7 +2558,7 @@
 				C4110B482B47F9FC00B23195 /* Launch Screen.storyboard in Resources */,
 				C4C51C732AF0FF4100F4636E /* AddressManagerVC.xib in Resources */,
 				C40691402B08BC92002688FD /* TCLogingViewController.xib in Resources */,
-				C45654502B0B845F00F3E628 /* TeamMembersCell.xib in Resources */,
+				C406A0902B91FBBD005A6423 /* TeamMembersCell.xib in Resources */,
 				C4836C332AC8A26A00E3FA1B /* SearchView.xib in Resources */,
 				C4EDDA0B2AF28B0D00BE8EFF /* icon_refresh_3@3x.png in Resources */,
 				C4EDDA052AF28B0D00BE8EFF /* DZNEmptyDataView.xib in Resources */,
@@ -2547,6 +2567,7 @@
 				C48363B62AC3D96400E3FA1B /* Main.storyboard in Resources */,
 				C45F2B802B0E7D9A0099D40E /* OderDetailHeadView.xib in Resources */,
 				C4836B7A2AC7308400E3FA1B /* HomeDateView.xib in Resources */,
+				C406A07E2B9191D6005A6423 /* TwoSeparateMealsView.xib in Resources */,
 				C4577CBD2AEA8FFD004D9439 /* SetMealCollectionItem.xib in Resources */,
 				C42AEE222B037BD40045EF66 /* AddEvaluateCell.xib in Resources */,
 				C42AEDE82B03727E0045EF66 /* HomeViewController.xib in Resources */,
@@ -2650,6 +2671,7 @@
 				C41DA49E2AFEF9D500707C5D /* MealEvaluateListVC.swift in Sources */,
 				C42AEDE02B035A9D0045EF66 /* MCDatePikerDelegateImp_HHmm.swift in Sources */,
 				C4836B872AC8039500E3FA1B /* ADHBaseVC.swift in Sources */,
+				C406A0882B91F4C5005A6423 /* AddMembersCheckView.swift in Sources */,
 				C4EDD9602AF27DDC00BE8EFF /* UIView+AnimationProperty.m in Sources */,
 				C41DA4B22AFF1E6500707C5D /* IntegralSectiionView.swift in Sources */,
 				C45654522B0BA4DD00F3E628 /* TeamMembersAddView.swift in Sources */,
@@ -2689,6 +2711,7 @@
 				C4836A8A2AC5180A00E3FA1B /* ArrayUtil.swift in Sources */,
 				C461C4932B272F130010ABC6 /* ApplyWhiteManagerController.swift in Sources */,
 				C45411912B0130C40096F60E /* EWCountryCodeViewController.swift in Sources */,
+				C406A0862B91D3E9005A6423 /* WMFloatButton.swift in Sources */,
 				C4EDD9622AF27DDC00BE8EFF /* UIView+Blur.m in Sources */,
 				C4EDD9742AF27EF400BE8EFF /* QFTSearchContentView.m in Sources */,
 				C4EDD9D52AF2879100BE8EFF /* UIScrollView+MJRefresh.m in Sources */,
@@ -2758,6 +2781,7 @@
 				C44CFA602AFB5CAD000D592D /* MyViewModel.swift in Sources */,
 				C4EDD9DC2AF2879100BE8EFF /* MJRefreshBackStateFooter.m in Sources */,
 				C4836A702AC516FC00E3FA1B /* MCHttpUtil.swift in Sources */,
+				C4E333142B91891C004DD994 /* TwoSeparateMealsView.swift in Sources */,
 				C448CD022AFE3DE200B3B068 /* AddEvaluateCell.swift in Sources */,
 				C4EDD97A2AF2849300BE8EFF /* MCDZNEmptyDelegate.swift in Sources */,
 				C44CFA412AFB1AD1000D592D /* OrderDetailFootView.swift in Sources */,
@@ -2947,6 +2971,26 @@
 			name = EditLoginPSWViewController.xib;
 			sourceTree = "<group>";
 		};
+		C406A0802B9191D6005A6423 /* TwoSeparateMealsView.xib */ = {
+			isa = PBXVariantGroup;
+			children = (
+				C406A07F2B9191D6005A6423 /* Base */,
+				C406A0822B9191D8005A6423 /* en */,
+				C406A0842B9191D9005A6423 /* zh-Hans */,
+			);
+			name = TwoSeparateMealsView.xib;
+			sourceTree = "<group>";
+		};
+		C406A0942B91FBC5005A6423 /* AddMembersCheckView.xib */ = {
+			isa = PBXVariantGroup;
+			children = (
+				C406A0932B91FBC5005A6423 /* Base */,
+				C406A0962B91FBC9005A6423 /* en */,
+				C406A0982B91FBCD005A6423 /* zh-Hans */,
+			);
+			name = AddMembersCheckView.xib;
+			sourceTree = "<group>";
+		};
 		C4194E8A2B566AC300B60D41 /* PaySuccessView.xib */ = {
 			isa = PBXVariantGroup;
 			children = (

BIN
ADHTuanCan.xcworkspace/xcuserdata/aodeheng.xcuserdatad/UserInterfaceState.xcuserstate


+ 16 - 0
ADHTuanCan.xcworkspace/xcuserdata/aodeheng.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -179,5 +179,21 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "7AD50092-98D1-4C8E-900B-12BA21033452"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "ADHTuanCan/Class/&#x8ba2;&#x5355;/&#x8ba2;&#x5355;&#x8be6;&#x60c5;/OrderDetailViewController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "163"
+            endingLineNumber = "163"
+            landmarkName = "setNavBtn()"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

+ 1 - 0
ADHTuanCan/AppDelegate.swift

@@ -32,6 +32,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
         
         //默认域名
 //        Defaults[\.BaseUrl] = "http://47.108.114.127:10888"
+//        Defaults[\.BaseUrl] = "http://47.109.38.72:10887"
 //        Defaults[\.BaseUrl] = "http://www.gzzzyd.com/gm-api"
 //        Defaults[\.BaseUrl] = "http://wine.gzzzyd.com/api"
         Defaults[\.BaseUrl] = "https://kcapp.kiansengculinary.com/api"

+ 22 - 0
ADHTuanCan/Assets.xcassets/通用图标/关闭.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "关闭上传凭证@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "关闭上传凭证@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
ADHTuanCan/Assets.xcassets/通用图标/关闭.imageset/关闭上传凭证@2x.png


BIN
ADHTuanCan/Assets.xcassets/通用图标/关闭.imageset/关闭上传凭证@3x.png


BIN
ADHTuanCan/Assets.xcassets/首页/漂浮图片.imageset/57461709288121_.pic.jpg


+ 21 - 0
ADHTuanCan/Assets.xcassets/首页/漂浮图片.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "filename" : "57461709288121_.pic.jpg",
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 81 - 0
ADHTuanCan/Class/Category/HTTP/Http+UploadImage.swift

@@ -33,6 +33,7 @@ extension MCHttpUtil{
         }
 
     }
+
        
     @discardableResult
     static func upLoadImgOneByOne(imageDate : Data , Url : String,success:((_ model : PhotoUrlModel)->Void)?,error:((_ msg  : String)->Void)?){
@@ -98,5 +99,85 @@ extension MCHttpUtil{
             }
         }
     }
+    
+ 
+
+    static func uploadPDF(PDFDates : Data , url : String ,success:(([PhotoUrlModel])->Void)?,error:((_ msg  : String)->Void)? = nil){
+        
+        var imgUrlList : [PhotoUrlModel]? = []
+        MCHttpUtil.upLoadPdfFiel(PDFdata: PDFDates, Url: url, success: {
+            model in
+            imgUrlList?.append(model)
+            success!(imgUrlList!)
+        }, error: { errorMsg in
+            error!("\(errorMsg)")
+            return
+        })
 
+    }
+    
+    @discardableResult
+    static func upLoadPdfFiel(PDFdata : Data , Url : String,success:((_ model : PhotoUrlModel)->Void)?,error:((_ msg  : String)->Void)?){
+        
+        let requestUrl = Defaults[\.BaseUrl]! + Url
+        
+        var headers : HTTPHeaders = ["Authorization":"Basic c3dvcmQ6c3dvcmRfc2VjcmV0",
+                                     "Tenant-Id":"000000","content-Type":"application/json;charset=utf-8"]
+        if let _ = Defaults[\.UserToken]{
+            headers["Blade-Auth"] = Defaults[\.UserToken]
+        }
+        
+        if LanguagesUtil.isEnLanguage(){
+            headers["ce_identification"] = "en"
+        }else{
+            headers["ce_identification"] = "cn"
+        }
+        
+        AF.upload(multipartFormData: { multipartFormData in
+            let dateFormatter = DateFormatter()
+            dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
+            let date = Date()
+            let dateString = dateFormatter.string(from: date)
+            multipartFormData.append(PDFdata, withName: "file",fileName: "\(dateString).pdf",mimeType: "application/pdf")
+                
+            }, to: requestUrl ,headers: headers) //POST URL
+        .responseString{(res)in
+            switch res.result{
+            case .success(let dTypes):
+                
+                if let jsonData = dTypes.data(using: .utf8) {
+                    do {
+                        let jsonObject = try JSONSerialization.jsonObject(with: jsonData, options: [])
+                        if let d = jsonObject as? Dictionary<String, Any>{
+                            if d.keys.contains("code"){
+                                if Convert.toInt(d["code"]) != 200{
+                                    error!("\(Convert.toString(d["msg"]) ?? "failing")")
+                                }else{
+                                    let dict : [String : String] = d["data"] as! [String : String]
+                                    
+                                    if Convert.toString(dict["link"]).isEmptyStr{
+                                        error!("\(Convert.toString(dict["msg"]) ?? "failing")")
+                                    }else{
+                                        let model = PhotoUrlModel()
+                                        model.attachId = Convert.toString(dict["attachId"])
+                                        model.link = Convert.toString(dict["link"])
+                                        model.url = Convert.toString(dict["url"])
+                                        model.name = Convert.toString(dict["name"])
+                                        success!(model)
+                                    }
+                                    
+                                }
+                            }
+                        }
+                    }catch {
+                        print("解析失败:\(error)")
+                    }
+                }
+            
+            case .failure(let encodingError)://打印连接失败原因
+                print(encodingError)
+                error!("\(encodingError)")
+            }
+        }
+    }
 }

+ 2 - 2
ADHTuanCan/Class/Category/VC/TabBar/BaseTabbarController.swift

@@ -30,11 +30,11 @@ extension BaseTabbarController {
     
     /// 设置所有子控制器
     func setupChildControllers(){
-        var array = [["clsName":"HomeViewController","title":LanguagesUtil.createTextBy(Ctext: "首页", Etext: "Home"),"imageName":"首页"],["clsName":"HomeSecondViewController","title":LanguagesUtil.createTextBy(Ctext: "普团", Etext: "General Home"),"imageName":"普团"],["clsName":"OrderManagerVC","title":LanguagesUtil.createTextBy(Ctext: "订单", Etext: "Order"),"imageName":"订单"],["clsName":"MyViewController","title":LanguagesUtil.createTextBy(Ctext: "我的", Etext: "My"),"imageName":"我的"]
+        var array = [["clsName":"HomeViewController","title":LanguagesUtil.createTextBy(Ctext: "首页", Etext: "Home"),"imageName":"首页"],["clsName":"OrderManagerVC","title":LanguagesUtil.createTextBy(Ctext: "订单", Etext: "Order"),"imageName":"订单"],["clsName":"MyViewController","title":LanguagesUtil.createTextBy(Ctext: "我的", Etext: "My"),"imageName":"我的"]
                     ]
         
         if  Defaults[\.userType] === 1{
-            array = [["clsName":"HomeSecondViewController","title":LanguagesUtil.createTextBy(Ctext: "普团", Etext: "General Home"),"imageName":"普团"],
+            array = [["clsName":"HomeSecondViewController","title":LanguagesUtil.createTextBy(Ctext: "首页", Etext: "Home"),"imageName":"普团"],
                 ["clsName":"OrderManagerVC","title":LanguagesUtil.createTextBy(Ctext: "订单", Etext: "Order"),"imageName":"订单"],
                 ["clsName":"MyViewController","title":LanguagesUtil.createTextBy(Ctext: "我的", Etext: "My"),"imageName":"我的"]
             ]

+ 14 - 0
ADHTuanCan/Class/我的/Base.lproj/MyViewController.xib

@@ -10,6 +10,7 @@
     <objects>
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MyViewController" customModule="ADHTuanCan" customModuleProvider="target">
             <connections>
+                <outlet property="InvitationBtn" destination="b0d-qV-qSV" id="3uP-Sx-nD2"/>
                 <outlet property="applyView" destination="pcB-iD-zbw" id="eZB-gQ-vC0"/>
                 <outlet property="balanceLb" destination="gqQ-FU-cnw" id="3gG-hG-7Bv"/>
                 <outlet property="bottomCons" destination="DIG-V7-qZk" id="JYe-R1-lNC"/>
@@ -394,6 +395,17 @@
                                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="下箭头棕" translatesAutoresizingMaskIntoConstraints="NO" id="c7x-m7-CqX">
                                                     <rect key="frame" x="88" y="144.66666666666669" width="12" height="12"/>
                                                 </imageView>
+                                                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="b0d-qV-qSV">
+                                                    <rect key="frame" x="183.66666666666663" y="32" width="116" height="30"/>
+                                                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                                                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                                    <state key="normal" title="邀请码:678942">
+                                                        <color key="titleColor" red="0.45098039220000002" green="0.2156862745" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                                    </state>
+                                                    <connections>
+                                                        <action selector="InvitationAction:" destination="-1" eventType="touchUpInside" id="oGy-mR-Okj"/>
+                                                    </connections>
+                                                </button>
                                             </subviews>
                                             <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                             <constraints>
@@ -405,9 +417,11 @@
                                                 <constraint firstAttribute="trailing" secondItem="INO-IJ-Bge" secondAttribute="trailing" constant="25" id="Jrk-Yp-04W"/>
                                                 <constraint firstItem="r11-sb-qrb" firstAttribute="leading" secondItem="Kj7-hQ-bBt" secondAttribute="leading" constant="30" id="MYw-Gp-gUu"/>
                                                 <constraint firstItem="c7x-m7-CqX" firstAttribute="centerY" secondItem="r11-sb-qrb" secondAttribute="centerY" id="XPB-en-YMK"/>
+                                                <constraint firstItem="b0d-qV-qSV" firstAttribute="leading" secondItem="DaY-bu-l4b" secondAttribute="trailing" constant="80" id="Yq0-PP-8YC"/>
                                                 <constraint firstItem="69o-oC-6YI" firstAttribute="leading" secondItem="Kj7-hQ-bBt" secondAttribute="leading" constant="30" id="fHa-p9-yGF"/>
                                                 <constraint firstItem="69o-oC-6YI" firstAttribute="top" secondItem="DaY-bu-l4b" secondAttribute="bottom" constant="25" id="g3a-aR-onb"/>
                                                 <constraint firstAttribute="bottom" secondItem="r11-sb-qrb" secondAttribute="bottom" constant="25" id="ouy-Gk-XBI"/>
+                                                <constraint firstItem="b0d-qV-qSV" firstAttribute="centerY" secondItem="DaY-bu-l4b" secondAttribute="centerY" id="sVQ-yF-F1x"/>
                                                 <constraint firstItem="h3M-Am-bRV" firstAttribute="bottom" secondItem="69o-oC-6YI" secondAttribute="bottom" constant="-5" id="vr4-mR-kXj"/>
                                                 <constraint firstAttribute="bottom" secondItem="INO-IJ-Bge" secondAttribute="bottom" constant="10" id="wSW-hX-KV4"/>
                                                 <constraint firstAttribute="width" constant="370" id="yJV-Wz-gGv"/>

+ 14 - 1
ADHTuanCan/Class/我的/MyViewController.swift

@@ -54,6 +54,7 @@ class MyViewController: ADHBaseVC {
     /// 推广
     @IBOutlet weak var promotion: UILabel!
     
+    @IBOutlet weak var InvitationBtn: UIButton!
     
     @IBOutlet weak var applyView: UIView!
     
@@ -236,6 +237,17 @@ class MyViewController: ADHBaseVC {
         
     }
     
+    /// Invitation
+    /// - Parameter sender: <#sender description#>
+    @IBAction func InvitationAction(_ sender: UIButton) {
+        
+        let pastboard = UIPasteboard.general
+        pastboard.string = "\(self.dataModel?.inviteCode ?? "")"
+        if !(pastboard.string.isEmptyStr){
+            print("%@",pastboard.string!)
+            self.hud.showSuccess(LanguagesUtil.createTextBy(Ctext: "复制成功", Etext: "copy success"))
+        }
+    }
     
     
     func getData(){
@@ -302,13 +314,14 @@ class MyViewController: ADHBaseVC {
         self.promotion.text = "\(self.dataModel?.popularize ?? "")"
         
         self.vipTypeLab.text = "\(self.dataModel?.memberLevel ?? "")"
+        self.InvitationBtn.setTitle(LanguagesUtil.createTextBy(Ctext: "邀请码:\(self.dataModel?.inviteCode ?? "")", Etext: "InviteCode:\(self.dataModel?.inviteCode ?? "")"), for: .normal)
         
         if  Defaults[\.userType] === 1{
             self.applyView.isHidden = false
         }else{
             self.applyView.isHidden = true
         }
-        
+        self.applyView.isHidden = false
         self.uiView1.isHidden = false
         self.uiView2.isHidden = false
         self.uiView3.isHidden = false

+ 15 - 0
ADHTuanCan/Class/我的/model/MyRequestModel.swift

@@ -79,6 +79,8 @@ class PersonalDetailModel : MCBaseModel{
     ///公司ID
     var companyId : String?
     
+    ///邀请码
+    var inviteCode : String?
 }
 
 //MARK: - 获取佣金明细列表
@@ -465,6 +467,19 @@ class AddTeamMembersModel : MCBaseRequestModel {
     }
 }
 
+//MARK: -删除团队成员
+class DeleteTeamMembersModel : MCBaseRequestModel {
+    
+    var userId : NSNumber?
+    
+    override func requestMethod() -> MCHttpMethod {
+        .post
+    }
+    override func requestUrl() -> String {
+        "/app/usermsg/delTeamMember"
+    }
+}
+
 
 //MARK: -修改个人信息
 class UpdateUserMsgModel : MCBaseRequestModel {

+ 27 - 0
ADHTuanCan/Class/我的/viewModel/MyViewModel.swift

@@ -430,6 +430,33 @@ class MyViewModel: MCBaseViewModel {
         }
     }
     
+    //MARK: - 删除团队成员
+    /// 删除团队成员Model
+    var  deleteTeamMembersModel : DeleteTeamMembersModel = DeleteTeamMembersModel.init()
+    var  deleteMembersRequest : MCDataRequest?
+    ///   删除团队成员
+    /// - Returns: <#description#>
+    func signalDeleteTeamMembers() -> Observable<Int>? {
+        
+        
+        if let _ = deleteMembersRequest{
+            return nil
+        }
+       
+        return Observable.create {(disposable) -> Disposable in
+            self.deleteMembersRequest = MCHttpUtil.request(self.deleteTeamMembersModel, responseClass: MCBaseModel.self, success: {[unowned self] (data) in
+                
+                self.deleteMembersRequest = nil
+                disposable.onNext(data.responseData?.count ?? 0)
+                disposable.onCompleted()
+            }, error: {[weak self] (error) in
+                self?.deleteMembersRequest = nil
+                disposable.onError(error)
+            })
+            return Disposables.create()
+        }
+    }
+    
     //MARK: - 修改个人信息
     /// 修改个人信息Model
     var  updateUserMsgModel : UpdateUserMsgModel = UpdateUserMsgModel.init()

+ 14 - 0
ADHTuanCan/Class/我的/余额/RechargeAmountViewController.swift

@@ -62,6 +62,20 @@ class RechargeAmountViewController: ADHBaseVC {
         self.viewModel.signalGetPayConfiguration()?.on(success: { dd in
             self.stripePayModel = self.viewModel.payConfiguration
             self.hud.hidden()
+            if self.stripePayModel?.url != nil{
+                if let url = URL(string: self.stripePayModel?.url ?? "") {
+                    //根据iOS系统版本,分别处理
+                    if #available(iOS 10, *) {
+                        UIApplication.shared.open(url, options: [:],
+                                                  completionHandler: {
+                            (success) in
+                        })
+                    } else {
+                        UIApplication.shared.openURL(url)
+                    }
+                }
+                return
+            }
             self.configurationPaymentSheet()
         }, error: { error in
             self.hud.showFailure(error.msg ?? LanguagesUtil.createTextBy(Ctext: "网络错误", Etext: "network error"))

+ 28 - 2
ADHTuanCan/Class/我的/成员/TeamMembersViewController.swift

@@ -24,6 +24,8 @@ class TeamMembersViewController: ADHBaseVC {
     //View
     let teamMembersAddView = Bundle.main.loadNibNamed("TeamMembersAddView", owner: nil, options: nil)?.last as? TeamMembersAddView
     
+    let checkAddView = Bundle.main.loadNibNamed("AddMembersCheckView", owner: nil, options: nil)?.last as? AddMembersCheckView
+    
     override func viewDidLoad() {
         super.viewDidLoad()
         let navStyle = MCNavBarStyle()
@@ -33,8 +35,13 @@ class TeamMembersViewController: ADHBaseVC {
         self.topContent.constant = kNavAndStatuHeight
         self.navBar?.backgroundColor = UIColor.white
         
-        self.teamMembersAddView?.addTeamMembersBlock = {[weak self] model in
-            self?.addTeamMembers(model: model)
+        self.teamMembersAddView?.addTeamMembersBlock = {[unowned self] model in
+//            self?.addTeamMembers(model: model)
+            self.checkAddView?.show(model: model, vc:self)
+        }
+        
+        self.checkAddView?.addTeamMembersBlock = {[unowned self] model in
+            self.addTeamMembers(model: model)
         }
         
         self.setCollectView()
@@ -58,6 +65,22 @@ class TeamMembersViewController: ADHBaseVC {
         })
         
         
+    }
+    
+    func deleteTeamMembers(model : TeamMembersDetail){
+ 
+        
+        self.hud.showLoading()
+        self.viewModel.deleteTeamMembersModel.userId = model.userId
+        self.viewModel.signalDeleteTeamMembers()?.on(success: { dd in
+            self.hud.hidden()
+            self.getData()
+
+        }, error: { error in
+            self.hud.showFailure(error.msg ?? LanguagesUtil.createTextBy(Ctext: "网络错误", Etext: "network error"))
+        })
+        
+        
     }
     
     //MARK: collectionView
@@ -112,6 +135,9 @@ extension TeamMembersViewController : UICollectionViewDelegate,UICollectionViewD
         let cell : TeamMembersCell = collectionView.dequeueReusableCell(withReuseIdentifier: "TeamMembersCell", for: indexPath) as! TeamMembersCell
         let model : TeamMembersDetail = self.dataSource![indexPath.row]
         cell.configModel(model: model)
+        cell.deleteTeamMembersBlock = {[unowned self] model in
+            self.deleteTeamMembers(model: model)
+        }
         return cell;
     }
     

+ 62 - 0
ADHTuanCan/Class/我的/成员/view/AddMembersCheckView.swift

@@ -0,0 +1,62 @@
+//
+//  AddMembersCheckView.swift
+//  ADHTuanCan
+//
+//  Created by 敖德亨 on 2024/3/1.
+//
+
+import UIKit
+
+class AddMembersCheckView: UIView {
+
+    @IBOutlet weak var blackView: UIView!
+    
+    @IBOutlet weak var headImg: UIImageView!
+    
+    @IBOutlet weak var nameLab: UILabel!
+    
+    var addTeamMembersBlock : ((_ model : TeamMembersDetail)->Void)?
+    
+    var model : TeamMembersDetail?
+    
+    @IBAction func cancelActiom(_ sender: UIButton) {
+        self.hidden()
+    }
+    
+    @IBAction func sureAction(_ sender: UIButton) {
+        if self.addTeamMembersBlock != nil{
+            self.addTeamMembersBlock!(self.model!)
+        }
+        self.hidden()
+    }
+    
+    public func show(model : TeamMembersDetail ,vc : ADHBaseVC){
+        self.model = model
+        
+        self.nameLab.text = "\(model.name ?? "")"
+        self.headImg.sd_setImage(url: URL.init(string: model.avatar ?? "") ,placeHolderImage: UIImage.init(named: "默认头像"))
+        
+        vc.view.addSubview(self)
+        self.blackView.alpha = 0
+        self.frame = CGRect.init(x: 0, y: kSCREEN_HEIGHT, width: kSCREEN_WIDTH, height: kSCREEN_HEIGHT)
+        UIView.animate(withDuration: 0.5) {
+            self.frame = CGRect.init(x: 0, y: 0, width: kSCREEN_WIDTH, height: kSCREEN_HEIGHT)
+            self.layoutIfNeeded()
+        }
+        DELAY(0.5) {
+            self.blackView.alpha = 0.3
+        }
+    }
+    
+    public func hidden(){
+        self.blackView.alpha = 0
+        UIView.animate(withDuration: 0.5) {
+            self.frame = CGRect.init(x: 0, y: kSCREEN_HEIGHT, width: kSCREEN_WIDTH, height: kSCREEN_HEIGHT)
+            self.layoutIfNeeded()
+        }
+        DELAY(0.5) {
+            self.removeFromSuperview()
+        }
+       
+    }
+}

+ 136 - 0
ADHTuanCan/Class/我的/成员/view/Base.lproj/AddMembersCheckView.xib

@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="NTC-3o-6o9" customClass="AddMembersCheckView" customModule="ADHTuanCan" customModuleProvider="target">
+            <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+            <subviews>
+                <view alpha="0.29999999999999999" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fdv-hn-N2B">
+                    <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+                    <color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                </view>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Xe4-rJ-VBe">
+                    <rect key="frame" x="20" y="323.66666666666669" width="353" height="205.00000000000006"/>
+                    <subviews>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="1MJ-6i-x2S">
+                            <rect key="frame" x="20" y="70" width="50" height="50"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="50" id="Nhq-IU-2HZ"/>
+                                <constraint firstAttribute="height" constant="50" id="jp2-UY-gmI"/>
+                            </constraints>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="25"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                        </imageView>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qZf-t8-lGx">
+                            <rect key="frame" x="80" y="84.333333333333314" width="263" height="21"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                            <nil key="textColor"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="z3e-6N-QqY">
+                            <rect key="frame" x="20" y="150" width="146.66666666666666" height="40"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="40" id="OQZ-TI-6ST"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <state key="normal" title="取消">
+                                <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            </state>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
+                                    <color key="value" red="0.77647058820000003" green="0.1333333333" blue="0.13725490200000001" alpha="1" colorSpace="calibratedRGB"/>
+                                </userDefinedRuntimeAttribute>
+                                <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
+                                    <real key="value" value="1"/>
+                                </userDefinedRuntimeAttribute>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="4"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="cancelActiom:" destination="NTC-3o-6o9" eventType="touchUpInside" id="Ub5-yN-iAT"/>
+                            </connections>
+                        </button>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="A3i-4v-NMx">
+                            <rect key="frame" x="186.66666666666663" y="150" width="146.33333333333337" height="40"/>
+                            <color key="backgroundColor" red="0.77647058820000003" green="0.1333333333" blue="0.13725490200000001" alpha="1" colorSpace="calibratedRGB"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <state key="normal" title="添加">
+                                <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            </state>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="4"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="sureAction:" destination="NTC-3o-6o9" eventType="touchUpInside" id="pPm-cP-QPj"/>
+                            </connections>
+                        </button>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="添加成员" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NAl-KN-3Iv">
+                            <rect key="frame" x="139.66666666666666" y="30" width="73.666666666666657" height="21"/>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/>
+                            <nil key="textColor"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                    </subviews>
+                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <constraints>
+                        <constraint firstItem="NAl-KN-3Iv" firstAttribute="top" secondItem="Xe4-rJ-VBe" secondAttribute="top" constant="30" id="19l-FF-Sac"/>
+                        <constraint firstItem="A3i-4v-NMx" firstAttribute="leading" secondItem="z3e-6N-QqY" secondAttribute="trailing" constant="20" id="96V-W1-TNO"/>
+                        <constraint firstItem="qZf-t8-lGx" firstAttribute="centerY" secondItem="1MJ-6i-x2S" secondAttribute="centerY" id="LLQ-eQ-5d3"/>
+                        <constraint firstItem="1MJ-6i-x2S" firstAttribute="top" secondItem="Xe4-rJ-VBe" secondAttribute="top" constant="70" id="MEN-0U-1H5"/>
+                        <constraint firstAttribute="bottom" secondItem="z3e-6N-QqY" secondAttribute="bottom" constant="15" id="QPa-Is-Oxc"/>
+                        <constraint firstItem="1MJ-6i-x2S" firstAttribute="leading" secondItem="Xe4-rJ-VBe" secondAttribute="leading" constant="20" id="Sh4-8f-jzI"/>
+                        <constraint firstItem="NAl-KN-3Iv" firstAttribute="centerX" secondItem="Xe4-rJ-VBe" secondAttribute="centerX" id="VXm-4L-SOU"/>
+                        <constraint firstItem="A3i-4v-NMx" firstAttribute="width" secondItem="z3e-6N-QqY" secondAttribute="width" id="W6e-1b-9E7"/>
+                        <constraint firstItem="A3i-4v-NMx" firstAttribute="centerY" secondItem="z3e-6N-QqY" secondAttribute="centerY" id="d0q-vb-MLe"/>
+                        <constraint firstItem="qZf-t8-lGx" firstAttribute="leading" secondItem="1MJ-6i-x2S" secondAttribute="trailing" constant="10" id="dsc-kL-niY"/>
+                        <constraint firstItem="z3e-6N-QqY" firstAttribute="leading" secondItem="Xe4-rJ-VBe" secondAttribute="leading" constant="20" id="ox3-ne-lOx"/>
+                        <constraint firstAttribute="trailing" secondItem="A3i-4v-NMx" secondAttribute="trailing" constant="20" id="sAV-eh-RJ6"/>
+                        <constraint firstItem="A3i-4v-NMx" firstAttribute="height" secondItem="z3e-6N-QqY" secondAttribute="height" id="u6H-16-8NA"/>
+                        <constraint firstItem="z3e-6N-QqY" firstAttribute="top" secondItem="1MJ-6i-x2S" secondAttribute="bottom" constant="30" id="uGj-v3-Qam"/>
+                        <constraint firstAttribute="trailing" secondItem="qZf-t8-lGx" secondAttribute="trailing" constant="10" id="wdY-DI-UDD"/>
+                    </constraints>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                            <real key="value" value="24"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
+                </view>
+            </subviews>
+            <viewLayoutGuide key="safeArea" id="96p-Rk-G8N"/>
+            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <constraints>
+                <constraint firstItem="Xe4-rJ-VBe" firstAttribute="leading" secondItem="96p-Rk-G8N" secondAttribute="leading" constant="20" id="2Ro-Iv-StP"/>
+                <constraint firstItem="Xe4-rJ-VBe" firstAttribute="centerX" secondItem="NTC-3o-6o9" secondAttribute="centerX" id="GGe-Rh-jSh"/>
+                <constraint firstItem="fdv-hn-N2B" firstAttribute="top" secondItem="NTC-3o-6o9" secondAttribute="top" id="SFH-96-RvO"/>
+                <constraint firstItem="96p-Rk-G8N" firstAttribute="trailing" secondItem="fdv-hn-N2B" secondAttribute="trailing" id="TA9-Kc-xC1"/>
+                <constraint firstAttribute="bottom" secondItem="fdv-hn-N2B" secondAttribute="bottom" id="amh-PO-Sk4"/>
+                <constraint firstItem="96p-Rk-G8N" firstAttribute="trailing" secondItem="Xe4-rJ-VBe" secondAttribute="trailing" constant="20" id="gl4-1p-w5E"/>
+                <constraint firstItem="Xe4-rJ-VBe" firstAttribute="centerY" secondItem="NTC-3o-6o9" secondAttribute="centerY" id="o92-jH-8G4"/>
+                <constraint firstItem="fdv-hn-N2B" firstAttribute="leading" secondItem="96p-Rk-G8N" secondAttribute="leading" id="oMR-M1-MzQ"/>
+            </constraints>
+            <connections>
+                <outlet property="blackView" destination="fdv-hn-N2B" id="Pxf-5u-hJ5"/>
+                <outlet property="headImg" destination="1MJ-6i-x2S" id="V4H-V5-8WJ"/>
+                <outlet property="nameLab" destination="qZf-t8-lGx" id="YVv-mE-3Ar"/>
+            </connections>
+            <point key="canvasLocation" x="245" y="77"/>
+        </view>
+    </objects>
+</document>

+ 18 - 0
ADHTuanCan/Class/我的/成员/view/TeamMembersCell.swift

@@ -16,22 +16,40 @@ class TeamMembersCell: UICollectionViewCell {
     @IBOutlet weak var addImg: UIImageView!
     
     
+    @IBOutlet weak var debtn: UIButton!
+    
+    @IBAction func deleteBtn(_ sender: UIButton) {
+        if self.deleteTeamMembersBlock != nil{
+            self.deleteTeamMembersBlock!(model!)
+        }
+        
+    }
+    
+    var model : TeamMembersDetail?
+    
+    var deleteTeamMembersBlock : ((_ model : TeamMembersDetail)->Void)?
+    
     override func awakeFromNib() {
         super.awakeFromNib()
         // Initialization code
     }
 
     func configModel(model : TeamMembersDetail){
+        self.model = model
         if model.isAdd{
             self.headImg.isHidden = true
             self.nameLab.isHidden = true
+            self.debtn.isHidden = true
             self.addImg.isHidden = false
         }else{
             self.headImg.isHidden = false
             self.nameLab.isHidden = false
+            self.debtn.isHidden = false
             self.addImg.isHidden = true
         }
         self.nameLab.text = "\(model.name ?? "")"
         self.headImg.sd_setImage(url: URL.init(string: model.avatar ?? "") ,placeHolderImage: UIImage.init(named: "默认头像"))
     }
+    
+    
 }

+ 18 - 2
ADHTuanCan/Class/我的/成员/view/TeamMembersCell.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -44,12 +44,26 @@
                                     <constraint firstAttribute="height" constant="50" id="kJQ-x5-qay"/>
                                 </constraints>
                             </imageView>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DoI-iR-mEo">
+                                <rect key="frame" x="40" y="0.0" width="20" height="20"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="20" id="Sev-rT-I2R"/>
+                                    <constraint firstAttribute="width" constant="20" id="x3H-QT-fdz"/>
+                                </constraints>
+                                <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                <state key="normal" image="关闭"/>
+                                <connections>
+                                    <action selector="deleteBtn:" destination="gTV-IL-0wX" eventType="touchUpInside" id="2zU-wj-pJc"/>
+                                </connections>
+                            </button>
                         </subviews>
                         <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                         <constraints>
+                            <constraint firstAttribute="trailing" secondItem="DoI-iR-mEo" secondAttribute="trailing" id="1N3-L4-VRs"/>
                             <constraint firstAttribute="trailing" secondItem="rLG-TG-vdc" secondAttribute="trailing" constant="5" id="2aX-tA-yYg"/>
                             <constraint firstItem="9rL-Ar-8rx" firstAttribute="top" secondItem="vb3-FB-Mw0" secondAttribute="bottom" id="2mp-ae-fpo"/>
                             <constraint firstItem="rLG-TG-vdc" firstAttribute="top" secondItem="NsK-Ly-0nC" secondAttribute="top" constant="10" id="8us-mf-xwQ"/>
+                            <constraint firstItem="DoI-iR-mEo" firstAttribute="top" secondItem="NsK-Ly-0nC" secondAttribute="top" id="ATI-DF-Q2s"/>
                             <constraint firstAttribute="trailing" secondItem="vb3-FB-Mw0" secondAttribute="trailing" id="F7C-vg-7BJ"/>
                             <constraint firstItem="vb3-FB-Mw0" firstAttribute="leading" secondItem="NsK-Ly-0nC" secondAttribute="leading" id="QIB-ri-Xrq"/>
                             <constraint firstItem="rLG-TG-vdc" firstAttribute="leading" secondItem="NsK-Ly-0nC" secondAttribute="leading" constant="5" id="Wef-pw-yKB"/>
@@ -71,6 +85,7 @@
             <size key="customSize" width="60" height="85"/>
             <connections>
                 <outlet property="addImg" destination="rLG-TG-vdc" id="9NJ-qd-yJv"/>
+                <outlet property="debtn" destination="DoI-iR-mEo" id="lme-bU-S8L"/>
                 <outlet property="headImg" destination="vb3-FB-Mw0" id="RjW-Re-RSZ"/>
                 <outlet property="nameLab" destination="9rL-Ar-8rx" id="eVn-xn-Nug"/>
             </connections>
@@ -78,6 +93,7 @@
         </collectionViewCell>
     </objects>
     <resources>
+        <image name="关闭" width="16" height="16"/>
         <image name="添加成员" width="170" height="170"/>
         <image name="默认头像" width="80" height="80"/>
     </resources>

+ 9 - 0
ADHTuanCan/Class/我的/成员/view/en.lproj/AddMembersCheckView.strings

@@ -0,0 +1,9 @@
+
+/* Class = "UIButton"; normalTitle = "添加"; ObjectID = "A3i-4v-NMx"; */
+"A3i-4v-NMx.normalTitle" = "Add";
+
+/* Class = "UILabel"; text = "添加成员"; ObjectID = "NAl-KN-3Iv"; */
+"NAl-KN-3Iv.text" = "Add a member";
+
+/* Class = "UIButton"; normalTitle = "取消"; ObjectID = "z3e-6N-QqY"; */
+"z3e-6N-QqY.normalTitle" = "Cancel";

+ 3 - 0
ADHTuanCan/Class/我的/成员/view/en.lproj/TeamMembersCell.strings

@@ -0,0 +1,3 @@
+
+/* Class = "UILabel"; text = "name"; ObjectID = "9rL-Ar-8rx"; */
+"9rL-Ar-8rx.text" = "name";

+ 9 - 0
ADHTuanCan/Class/我的/成员/view/zh-Hans.lproj/AddMembersCheckView.strings

@@ -0,0 +1,9 @@
+
+/* Class = "UIButton"; normalTitle = "添加"; ObjectID = "A3i-4v-NMx"; */
+"A3i-4v-NMx.normalTitle" = "添加";
+
+/* Class = "UILabel"; text = "添加成员"; ObjectID = "NAl-KN-3Iv"; */
+"NAl-KN-3Iv.text" = "添加成员";
+
+/* Class = "UIButton"; normalTitle = "取消"; ObjectID = "z3e-6N-QqY"; */
+"z3e-6N-QqY.normalTitle" = "取消";

+ 109 - 15
ADHTuanCan/Class/我的/白团权限申请/ApplyWhiteManagerController.swift

@@ -22,13 +22,6 @@ class ApplyWhiteManagerController: ADHBaseVC {
     /// 证件编号
     @IBOutlet weak var IDnumTF: UITextField!
     
-    /// 有效期
-    @IBOutlet weak var validityTimeLab: UILabel!
-    
-    /// 有效期选择按钮
-    @IBOutlet weak var chooseTimeBtn: UIButton!
-    
-    
     
     /// 证件图
     @IBOutlet weak var IDImage: UIImageView!
@@ -148,8 +141,40 @@ class ApplyWhiteManagerController: ADHBaseVC {
             self.navigationController?.popViewController(animated: true)
         }
         self.getdata()
+        
+        
+       
+    }
+    
+    @IBAction func PDFcheck(_ sender: UIButton) {
+   
+//        if self.IDLink != nil{
+//            let targets : [String] = [self.IDLink ?? ""]
+//            self.navigationController?.pushViewController(UIImagePreviewController(imageArray: targets,position: 0, bgColor: .black), animated: true)
+//        }
+//        
+        if self.IDLink != nil{
+            if let url = URL(string: self.IDLink ?? "") {
+                //根据iOS系统版本,分别处理
+                if #available(iOS 10, *) {
+                    UIApplication.shared.open(url, options: [:],
+                                              completionHandler: {
+                        (success) in
+                    })
+                } else {
+                    UIApplication.shared.openURL(url)
+                }
+            }
+        }
     }
     
+    @IBAction func logoCheck(_ sender: UIButton) {
+  
+        if self.LOGOLink != nil{
+            let targets : [String] = [self.LOGOLink ?? ""]
+            self.navigationController?.pushViewController(UIImagePreviewController(imageArray: targets,position: 0, bgColor: .black), animated: true)
+        }
+    }
     
     func getdata(){
         self.hud.showLoading()
@@ -172,7 +197,7 @@ class ApplyWhiteManagerController: ADHBaseVC {
             ///审批中
             self.companyTF.isUserInteractionEnabled = false
             self.IDnumTF.isUserInteractionEnabled = false
-            self.chooseTimeBtn.isUserInteractionEnabled = false
+//            self.chooseTimeBtn.isUserInteractionEnabled = false
             self.IDImageBtn.isUserInteractionEnabled = false
             self.upImg1.isHidden = true
             self.uploadLab1.isHidden = true
@@ -197,7 +222,7 @@ class ApplyWhiteManagerController: ADHBaseVC {
         
         self.companyTF.text = "\(self.dataModel?.name ?? "")"
         self.IDnumTF.text = "\(self.dataModel?.proveNo ?? "")"
-        self.validityTimeLab.text = "\(self.dataModel?.validDate ?? "")"
+//        self.validityTimeLab.text = "\(self.dataModel?.validDate ?? "")"
         self.IDImage.sd_setImage(url: URL.init(string: self.dataModel?.proveLink ?? "") ,placeHolderImage: UIImage.init(named: "placeHolderImage"))
         self.nameTF.text = "\(self.dataModel?.contact ?? "")"
         self.phoneTF.text = "\(self.dataModel?.contactPhone ?? "")"
@@ -206,7 +231,7 @@ class ApplyWhiteManagerController: ADHBaseVC {
         
         self.company = self.companyTF.text
         self.IdNum = self.IDnumTF.text
-        self.validityTime = self.validityTimeLab.text
+//        self.validityTime = self.validityTimeLab.text
         self.IDLink = self.dataModel?.proveLink
         self.name = self.dataModel?.contact
         self.phone = self.dataModel?.contactPhone
@@ -218,6 +243,8 @@ class ApplyWhiteManagerController: ADHBaseVC {
     /// - Parameter sender: <#sender description#>
     @IBAction func IDLinkAction(_ sender: UIButton) {
         
+        self.seleteFiel()
+        return
         let imagePickerVC = TZImagePickerController(maxImagesCount: 1, delegate: self)
         imagePickerVC?.allowTakeVideo = false
         imagePickerVC?.allowPickingOriginalPhoto = true
@@ -292,7 +319,7 @@ class ApplyWhiteManagerController: ADHBaseVC {
         MCDatePikerView.init(defaultDateStr: nil, minDateStr: nil, maxDateStr: nil) { selectValue in
 
             self.validityTime = selectValue
-            self.validityTimeLab.text = selectValue
+//            self.validityTimeLab.text = selectValue
 
         }.show()
     }
@@ -312,10 +339,10 @@ class ApplyWhiteManagerController: ADHBaseVC {
             return
         }
         
-        if (self.validityTime ?? "").isEmptyStr{
-            self.hud.showWarning(LanguagesUtil.createTextBy(Ctext: "请选择证件有效期", Etext: "Please select the certificate validity period"))
-            return
-        }
+//        if (self.validityTime ?? "").isEmptyStr{
+//            self.hud.showWarning(LanguagesUtil.createTextBy(Ctext: "请选择证件有效期", Etext: "Please select the certificate validity period"))
+//            return
+//        }
         
         if (self.IDLink ?? "").isEmptyStr{
             self.hud.showWarning(LanguagesUtil.createTextBy(Ctext: "请上传证件图片", Etext: "Please upload your ID photo"))
@@ -363,9 +390,76 @@ class ApplyWhiteManagerController: ADHBaseVC {
             self.hud.showFailure(error.msg ?? LanguagesUtil.createTextBy(Ctext: "网络错误", Etext: "network error"))
         })
     }
+    
+    func seleteFiel()
+    {
+//        let arr = ["com.microsoft.powerpoint.ppt",
+//                   "com.microsoft.word.doc",
+//                   "com.microsoft.excel.xls",
+//                   "com.microsoft.powerpoint.pptx",
+//                   "com.microsoft.word.docx",
+//                   "com.microsoft.excel.xlsx",
+//                   "public.avi",
+//                   "public.3gpp",
+//                   "public.mpeg-4",
+//                   "com.compuserve.gif",
+//                   "public.jpeg",
+//                   "public.png",
+//                   "public.plain-text",
+//                   "com.adobe.pdf"]
+        let arr = ["com.adobe.pdf"]
+        let vc = UIDocumentPickerViewController.init(documentTypes: arr, in: .open)
+        vc.delegate = self
+        vc.modalPresentationStyle = .fullScreen
+        self.navigationController?.present(vc, animated: true, completion: nil)
+        return
+    }
 }
 
 
 extension ApplyWhiteManagerController : TZImagePickerControllerDelegate{
 //    func setdeid
 }
+
+
+extension ApplyWhiteManagerController: UIDocumentPickerDelegate, UINavigationControllerDelegate {
+     // iOS8-10
+    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) {
+        processData(url)
+    }
+     // iOS11
+    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
+        if let url = urls.first {
+            processData(url)
+        }
+    }
+
+    func processData(_ url: URL) {
+        var fileData: Data?
+        //获取文件安全访问权限
+        let authozied = url.startAccessingSecurityScopedResource()
+        if authozied {
+            //通过文件协调器读取文件地址
+            let fileCoordinator = NSFileCoordinator()
+            fileCoordinator.coordinate(readingItemAt: url, options: [.withoutChanges], error: nil) { (newUrl) in
+                let fileName = newUrl.lastPathComponent
+                print("fileName \(fileName)")
+                //读取文件协调器提供的新地址里的数据
+                fileData = try? Data.init(contentsOf: newUrl, options: [.mappedIfSafe])
+             
+                if let data = fileData {
+                    MCHttpUtil.uploadPDF(PDFDates: data, url: "/blade-resource/oss/endpoint/put-file-attach") { models in
+                        self.hud.hidden()
+                        let model : PhotoUrlModel =  models[0]
+                        self.IDLink = model.link
+                        self.IDImage.sd_setImage(url: URL.init(string: self.IDLink ?? "") ,placeHolderImage: UIImage.init(named: "placeHolderImage"))
+                    } error: { errorMsg in
+                        self.hud.showFailure("\(errorMsg)")
+                    }
+                }
+            }
+        }
+        //停止安全访问权限
+        url.stopAccessingSecurityScopedResource()
+    }
+}

+ 79 - 91
ADHTuanCan/Class/我的/白团权限申请/Base.lproj/ApplyWhiteManagerController.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -15,7 +15,6 @@
                 <outlet property="IDImageBtn2" destination="GaI-9M-XYW" id="cPa-9r-75x"/>
                 <outlet property="IDnumTF" destination="Eqg-Jx-FYi" id="tBK-eX-npl"/>
                 <outlet property="LOGOImage" destination="S5u-Wp-Mcl" id="i55-YO-H7f"/>
-                <outlet property="chooseTimeBtn" destination="Ogi-EX-bXD" id="x2c-Vs-mgC"/>
                 <outlet property="commentTF" destination="tsR-sM-fg7" id="hE6-4U-Tdk"/>
                 <outlet property="companyTF" destination="sVa-aL-6ui" id="J9v-gA-Bfd"/>
                 <outlet property="nameTF" destination="Tgo-b5-j8V" id="FWV-zX-eTK"/>
@@ -26,7 +25,6 @@
                 <outlet property="upImg2" destination="tHc-z1-Qug" id="YtR-TY-ybW"/>
                 <outlet property="uploadLab1" destination="9pW-6f-SAD" id="gik-Ia-gAc"/>
                 <outlet property="uploadLab2" destination="Mal-Oi-e01" id="BYq-oh-Qzx"/>
-                <outlet property="validityTimeLab" destination="AmW-m1-qye" id="Q8q-nT-BTr"/>
                 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
             </connections>
         </placeholder>
@@ -116,82 +114,37 @@
                                 </userDefinedRuntimeAttribute>
                             </userDefinedRuntimeAttributes>
                         </view>
-                        <view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EbO-Ct-WgF">
-                            <rect key="frame" x="109.33333333333334" y="129.66666666666666" width="259.66666666666663" height="48"/>
-                            <subviews>
-                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="右箭头" translatesAutoresizingMaskIntoConstraints="NO" id="5eZ-Gt-3yS">
-                                    <rect key="frame" x="238.66666666666669" y="16" width="16" height="16"/>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalCompressionResistancePriority="749" verticalCompressionResistancePriority="749" text="请选择证件有效期" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AmW-m1-qye">
-                                    <rect key="frame" x="10" y="15.666666666666686" width="218.66666666666666" height="17"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="14"/>
-                                    <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Ogi-EX-bXD">
-                                    <rect key="frame" x="0.0" y="0.0" width="259.66666666666669" height="48"/>
-                                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
-                                    <connections>
-                                        <action selector="timeSelectAction:" destination="-1" eventType="touchUpInside" id="RWI-ym-Dya"/>
-                                    </connections>
-                                </button>
-                            </subviews>
-                            <color key="backgroundColor" red="0.92549019610000005" green="0.92549019610000005" blue="0.92549019610000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                            <constraints>
-                                <constraint firstItem="5eZ-Gt-3yS" firstAttribute="leading" secondItem="AmW-m1-qye" secondAttribute="trailing" constant="10" id="K54-t3-Qfg"/>
-                                <constraint firstItem="AmW-m1-qye" firstAttribute="centerY" secondItem="EbO-Ct-WgF" secondAttribute="centerY" id="SQl-1Q-9Qm"/>
-                                <constraint firstItem="Ogi-EX-bXD" firstAttribute="top" secondItem="EbO-Ct-WgF" secondAttribute="top" id="UGg-mB-jYO"/>
-                                <constraint firstItem="Ogi-EX-bXD" firstAttribute="leading" secondItem="EbO-Ct-WgF" secondAttribute="leading" id="VRO-4F-SCZ"/>
-                                <constraint firstAttribute="trailing" secondItem="Ogi-EX-bXD" secondAttribute="trailing" id="WAo-fx-rsz"/>
-                                <constraint firstAttribute="height" constant="48" id="Yw2-7D-odl"/>
-                                <constraint firstAttribute="trailing" secondItem="5eZ-Gt-3yS" secondAttribute="trailing" constant="5" id="Zin-aT-CXq"/>
-                                <constraint firstItem="5eZ-Gt-3yS" firstAttribute="centerY" secondItem="EbO-Ct-WgF" secondAttribute="centerY" id="bxg-BR-Sck"/>
-                                <constraint firstItem="AmW-m1-qye" firstAttribute="leading" secondItem="EbO-Ct-WgF" secondAttribute="leading" constant="10" id="wQw-BY-BDC"/>
-                                <constraint firstAttribute="bottom" secondItem="Ogi-EX-bXD" secondAttribute="bottom" id="zam-AW-3gZ"/>
-                            </constraints>
-                            <userDefinedRuntimeAttributes>
-                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
-                                    <real key="value" value="16"/>
-                                </userDefinedRuntimeAttribute>
-                            </userDefinedRuntimeAttributes>
-                        </view>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="有效期" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ex6-Si-bo1">
-                            <rect key="frame" x="24" y="144" width="49" height="19.333333333333343"/>
-                            <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
-                            <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                            <nil key="highlightedColor"/>
-                        </label>
-                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="cfJ-XH-aHf">
-                            <rect key="frame" x="24" y="197.66666666666669" width="345" height="180"/>
+                        <imageView clipsSubviews="YES" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="cfJ-XH-aHf">
+                            <rect key="frame" x="24" y="129.66666666666666" width="345" height="179.99999999999997"/>
                             <color key="backgroundColor" red="0.92941176469999998" green="0.92941176469999998" blue="0.92941176469999998" alpha="1" colorSpace="calibratedRGB"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="180" id="TPN-8J-tqq"/>
                             </constraints>
                         </imageView>
                         <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="相机" translatesAutoresizingMaskIntoConstraints="NO" id="LLk-er-bdC">
-                            <rect key="frame" x="171.66666666666666" y="262.66666666666669" width="50" height="50"/>
+                            <rect key="frame" x="171.66666666666666" y="194.66666666666669" width="50" height="50"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="50" id="CGS-57-jMg"/>
                                 <constraint firstAttribute="width" constant="50" id="n6i-dQ-5d4"/>
                             </constraints>
                         </imageView>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="点击上传" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9pW-6f-SAD">
-                            <rect key="frame" x="168" y="322.66666666666669" width="57.333333333333343" height="17"/>
+                            <rect key="frame" x="168" y="254.66666666666669" width="57.333333333333343" height="17"/>
                             <fontDescription key="fontDescription" type="system" pointSize="14"/>
                             <color key="textColor" red="0.41568627450000001" green="0.45882352939999999" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalCompressionResistancePriority="749" verticalCompressionResistancePriority="749" text="证件正面图" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0bB-59-HKX">
-                            <rect key="frame" x="160.66666666666666" y="389.66666666666669" width="71.666666666666657" height="17"/>
+                            <rect key="frame" x="160.66666666666666" y="321.66666666666669" width="71.666666666666657" height="17"/>
                             <fontDescription key="fontDescription" type="system" pointSize="14"/>
                             <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
                         <view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nqD-0B-LWz">
-                            <rect key="frame" x="109.33333333333334" y="418.66666666666669" width="259.66666666666663" height="48"/>
+                            <rect key="frame" x="267.33333333333331" y="350.66666666666669" width="101.66666666666669" height="48"/>
                             <subviews>
                                 <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="联系人姓名" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Tgo-b5-j8V">
-                                    <rect key="frame" x="14.999999999999986" y="0.0" width="229.66666666666663" height="48"/>
+                                    <rect key="frame" x="15" y="0.0" width="71.666666666666671" height="48"/>
                                     <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="48" id="5PL-RJ-Ne5"/>
@@ -221,10 +174,10 @@
                             </userDefinedRuntimeAttributes>
                         </view>
                         <view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yoo-eb-Mu3">
-                            <rect key="frame" x="109.33333333333334" y="478.66666666666663" width="259.66666666666663" height="48"/>
+                            <rect key="frame" x="267.33333333333331" y="410.66666666666669" width="101.66666666666669" height="48"/>
                             <subviews>
                                 <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="联系电话" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="aLS-zT-DMH">
-                                    <rect key="frame" x="14.999999999999986" y="0.0" width="229.66666666666663" height="48"/>
+                                    <rect key="frame" x="15" y="0.0" width="71.666666666666671" height="48"/>
                                     <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="48" id="Mb9-iy-2iP"/>
@@ -254,51 +207,53 @@
                             </userDefinedRuntimeAttributes>
                         </view>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="联系人" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2zQ-rB-Flw">
-                            <rect key="frame" x="24" y="433" width="49" height="19.333333333333314"/>
+                            <rect key="frame" x="24" y="365" width="49" height="19.333333333333314"/>
                             <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
                             <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="联系电话" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dkx-kN-Be5">
-                            <rect key="frame" x="24" y="493" width="65.333333333333329" height="19.333333333333371"/>
+                            <rect key="frame" x="24" y="425" width="65.333333333333329" height="19.333333333333314"/>
                             <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
                             <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
-                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9hg-lP-sYg">
-                            <rect key="frame" x="24" y="197.66666666666669" width="345" height="180"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="180" id="RSD-Lc-W3g"/>
-                            </constraints>
-                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
-                            <connections>
-                                <action selector="IDLinkAction:" destination="-1" eventType="touchUpInside" id="1tz-hD-gDY"/>
-                            </connections>
-                        </button>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="团队LOGO" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QzH-T7-I8b">
-                            <rect key="frame" x="24" y="553" width="77.666666666666671" height="19.333333333333371"/>
+                            <rect key="frame" x="24" y="485" width="79.666666666666671" height="19.333333333333314"/>
                             <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
                             <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
-                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="S5u-Wp-Mcl">
-                            <rect key="frame" x="24" y="584.33333333333337" width="345" height="180"/>
+                        <imageView clipsSubviews="YES" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="S5u-Wp-Mcl">
+                            <rect key="frame" x="24" y="516.33333333333337" width="345" height="180"/>
                             <color key="backgroundColor" red="0.92549019610000005" green="0.92549019610000005" blue="0.92549019610000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="180" id="8ho-np-2FR"/>
                             </constraints>
                         </imageView>
                         <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="相机" translatesAutoresizingMaskIntoConstraints="NO" id="tHc-z1-Qug">
-                            <rect key="frame" x="171.66666666666666" y="649.33333333333337" width="50" height="50"/>
+                            <rect key="frame" x="171.66666666666666" y="581.33333333333337" width="50" height="50"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="50" id="HeH-C8-0Ui"/>
                                 <constraint firstAttribute="width" constant="50" id="UQ2-nr-kba"/>
                             </constraints>
                         </imageView>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9hg-lP-sYg">
+                            <rect key="frame" x="171.66666666666666" y="194.66666666666669" width="50" height="50"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="50" id="IPE-Yf-RlG"/>
+                                <constraint firstAttribute="width" constant="50" id="lcp-eu-gsP"/>
+                            </constraints>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <connections>
+                                <action selector="IDLinkAction:" destination="-1" eventType="touchUpInside" id="1tz-hD-gDY"/>
+                            </connections>
+                        </button>
                         <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="GaI-9M-XYW">
-                            <rect key="frame" x="24" y="584.33333333333337" width="345" height="180"/>
+                            <rect key="frame" x="171.66666666666666" y="581.33333333333337" width="50" height="50"/>
                             <constraints>
-                                <constraint firstAttribute="height" constant="180" id="HtV-3y-3hg"/>
+                                <constraint firstAttribute="height" constant="50" id="2oP-lh-QZv"/>
+                                <constraint firstAttribute="width" constant="50" id="pYq-33-fm6"/>
                             </constraints>
                             <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
                             <connections>
@@ -306,19 +261,19 @@
                             </connections>
                         </button>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="点击上传" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Mal-Oi-e01">
-                            <rect key="frame" x="168" y="709.33333333333337" width="57.333333333333343" height="17"/>
+                            <rect key="frame" x="168" y="641.33333333333337" width="57.333333333333343" height="17"/>
                             <fontDescription key="fontDescription" type="system" pointSize="14"/>
                             <color key="textColor" red="0.41568627450000001" green="0.45882352939999999" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="说明" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gQy-7b-Epa">
-                            <rect key="frame" x="23.999999999999996" y="779.33333333333337" width="32.666666666666657" height="19.333333333333371"/>
+                            <rect key="frame" x="23.999999999999996" y="711.33333333333337" width="32.666666666666657" height="19.333333333333371"/>
                             <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
                             <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
                         <view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rfO-iP-kLr">
-                            <rect key="frame" x="109.33333333333334" y="779.33333333333337" width="259.66666666666663" height="120"/>
+                            <rect key="frame" x="109.33333333333334" y="711.33333333333337" width="259.66666666666663" height="120"/>
                             <subviews>
                                 <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="tsR-sM-fg7">
                                     <rect key="frame" x="9.9999999999999858" y="0.0" width="239.66666666666663" height="120"/>
@@ -342,13 +297,52 @@
                                 </userDefinedRuntimeAttribute>
                             </userDefinedRuntimeAttributes>
                         </view>
+                        <button opaque="NO" alpha="0.5" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="plt-NB-R8g">
+                            <rect key="frame" x="308" y="147.66666666666666" width="55" height="30"/>
+                            <color key="backgroundColor" red="0.63137254899999995" green="0.66274509800000003" blue="0.78039215689999997" alpha="1" colorSpace="calibratedRGB"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="55" id="6eB-Dy-1aB"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <state key="normal" title="预览">
+                                <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            </state>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="3"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="PDFcheck:" destination="-1" eventType="touchUpInside" id="Hzy-cA-Fih"/>
+                            </connections>
+                        </button>
+                        <button opaque="NO" alpha="0.5" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="b1J-rY-ck6">
+                            <rect key="frame" x="308" y="529.66666666666663" width="55" height="30"/>
+                            <color key="backgroundColor" red="0.63137254899999995" green="0.66274509800000003" blue="0.78039215689999997" alpha="1" colorSpace="calibratedRGB"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="55" id="sVf-Aa-b87"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <state key="normal" title="预览">
+                                <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            </state>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="3"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="logoCheck:" destination="-1" eventType="touchUpInside" id="xvG-bo-yyh"/>
+                            </connections>
+                        </button>
                     </subviews>
                     <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <constraints>
                         <constraint firstItem="yoo-eb-Mu3" firstAttribute="leading" secondItem="nqD-0B-LWz" secondAttribute="leading" id="0oF-3h-bwJ"/>
                         <constraint firstItem="Mal-Oi-e01" firstAttribute="centerX" secondItem="tHc-z1-Qug" secondAttribute="centerX" id="2VZ-LF-661"/>
                         <constraint firstAttribute="trailing" secondItem="S5u-Wp-Mcl" secondAttribute="trailing" constant="24" id="3dF-ob-jra"/>
-                        <constraint firstItem="EbO-Ct-WgF" firstAttribute="leading" secondItem="FKg-xo-i0X" secondAttribute="leading" id="4xV-fd-SWo"/>
                         <constraint firstAttribute="trailing" secondItem="cfJ-XH-aHf" secondAttribute="trailing" constant="24" id="4yQ-xo-53C"/>
                         <constraint firstItem="QzH-T7-I8b" firstAttribute="top" secondItem="dkx-kN-Be5" secondAttribute="bottom" constant="40.670000000000002" id="5Gk-nh-k4l"/>
                         <constraint firstItem="0bB-59-HKX" firstAttribute="top" secondItem="cfJ-XH-aHf" secondAttribute="bottom" constant="12" id="5bA-ta-yHS"/>
@@ -359,7 +353,8 @@
                         <constraint firstItem="tHc-z1-Qug" firstAttribute="centerY" secondItem="S5u-Wp-Mcl" secondAttribute="centerY" id="B44-o5-uQu"/>
                         <constraint firstItem="hHR-rk-9xc" firstAttribute="leading" secondItem="vGi-j9-l6G" secondAttribute="trailing" constant="20" id="DzE-L2-0y8"/>
                         <constraint firstItem="dkx-kN-Be5" firstAttribute="leading" secondItem="Eww-UH-ptK" secondAttribute="leading" constant="24" id="ED4-Qs-hyW"/>
-                        <constraint firstAttribute="trailing" secondItem="GaI-9M-XYW" secondAttribute="trailing" constant="24" id="FIf-ds-TVE"/>
+                        <constraint firstAttribute="trailing" secondItem="b1J-rY-ck6" secondAttribute="trailing" constant="30" id="GmA-r4-6lD"/>
+                        <constraint firstAttribute="trailing" secondItem="plt-NB-R8g" secondAttribute="trailing" constant="30" id="Gz1-x7-QLX"/>
                         <constraint firstAttribute="trailing" secondItem="hHR-rk-9xc" secondAttribute="trailing" constant="24" id="HF1-7r-yBt"/>
                         <constraint firstItem="cfJ-XH-aHf" firstAttribute="leading" secondItem="Eww-UH-ptK" secondAttribute="leading" constant="24" id="HJD-Sm-Wuv"/>
                         <constraint firstItem="FKg-xo-i0X" firstAttribute="top" secondItem="hHR-rk-9xc" secondAttribute="bottom" constant="12" id="HXc-F8-fA6"/>
@@ -370,38 +365,32 @@
                         <constraint firstItem="LLk-er-bdC" firstAttribute="centerY" secondItem="cfJ-XH-aHf" secondAttribute="centerY" id="OK5-3p-sa3"/>
                         <constraint firstItem="LLk-er-bdC" firstAttribute="centerX" secondItem="Eww-UH-ptK" secondAttribute="centerX" id="Ojf-u0-Tas"/>
                         <constraint firstItem="vGi-j9-l6G" firstAttribute="leading" secondItem="Eww-UH-ptK" secondAttribute="leading" constant="24" id="SYP-A1-8v5"/>
-                        <constraint firstItem="Ex6-Si-bo1" firstAttribute="centerY" secondItem="EbO-Ct-WgF" secondAttribute="centerY" id="Ssn-vS-RO9"/>
                         <constraint firstItem="GaI-9M-XYW" firstAttribute="centerX" secondItem="S5u-Wp-Mcl" secondAttribute="centerX" id="U0u-9Q-nNC"/>
-                        <constraint firstItem="GaI-9M-XYW" firstAttribute="leading" secondItem="Eww-UH-ptK" secondAttribute="leading" constant="24" id="W55-7t-0cj"/>
+                        <constraint firstItem="b1J-rY-ck6" firstAttribute="top" secondItem="yoo-eb-Mu3" secondAttribute="bottom" constant="71" id="WQK-or-P7y"/>
                         <constraint firstItem="rfO-iP-kLr" firstAttribute="top" secondItem="S5u-Wp-Mcl" secondAttribute="bottom" constant="15" id="Xm4-TP-gXB"/>
                         <constraint firstItem="S5u-Wp-Mcl" firstAttribute="top" secondItem="QzH-T7-I8b" secondAttribute="bottom" constant="12" id="YHy-OQ-cJJ"/>
                         <constraint firstItem="9hg-lP-sYg" firstAttribute="centerX" secondItem="Eww-UH-ptK" secondAttribute="centerX" id="ZXq-Si-XMU"/>
+                        <constraint firstItem="plt-NB-R8g" firstAttribute="top" secondItem="FKg-xo-i0X" secondAttribute="bottom" constant="30" id="aIm-HH-00M"/>
                         <constraint firstItem="vGi-j9-l6G" firstAttribute="top" secondItem="Eww-UH-ptK" secondAttribute="top" constant="24" id="bGy-Xz-GgH"/>
-                        <constraint firstItem="nqD-0B-LWz" firstAttribute="leading" secondItem="EbO-Ct-WgF" secondAttribute="leading" id="c7E-iL-FYD"/>
-                        <constraint firstItem="cfJ-XH-aHf" firstAttribute="top" secondItem="EbO-Ct-WgF" secondAttribute="bottom" constant="20" id="cXn-wX-jc4"/>
                         <constraint firstItem="kSR-p4-Hnw" firstAttribute="leading" secondItem="Eww-UH-ptK" secondAttribute="leading" constant="24" id="ceH-Cp-b9Z"/>
                         <constraint firstItem="yoo-eb-Mu3" firstAttribute="top" secondItem="nqD-0B-LWz" secondAttribute="bottom" constant="12" id="d8E-EU-yEk"/>
                         <constraint firstItem="Mal-Oi-e01" firstAttribute="top" secondItem="tHc-z1-Qug" secondAttribute="bottom" constant="10" id="e74-eT-Ywv"/>
                         <constraint firstItem="S5u-Wp-Mcl" firstAttribute="leading" secondItem="Eww-UH-ptK" secondAttribute="leading" constant="24" id="fif-kZ-YP5"/>
-                        <constraint firstItem="Ex6-Si-bo1" firstAttribute="leading" secondItem="Eww-UH-ptK" secondAttribute="leading" constant="24" id="gDF-1z-FcH"/>
                         <constraint firstItem="hHR-rk-9xc" firstAttribute="centerY" secondItem="vGi-j9-l6G" secondAttribute="centerY" id="gil-GC-klv"/>
-                        <constraint firstItem="EbO-Ct-WgF" firstAttribute="top" secondItem="FKg-xo-i0X" secondAttribute="bottom" constant="12" id="iKP-Ln-NYs"/>
                         <constraint firstItem="gQy-7b-Epa" firstAttribute="top" secondItem="S5u-Wp-Mcl" secondAttribute="bottom" constant="15" id="jq9-X0-pa9"/>
                         <constraint firstItem="0bB-59-HKX" firstAttribute="centerX" secondItem="Eww-UH-ptK" secondAttribute="centerX" id="lW7-lb-eey"/>
                         <constraint firstItem="rfO-iP-kLr" firstAttribute="leading" secondItem="hHR-rk-9xc" secondAttribute="leading" id="lcC-sn-cJn"/>
                         <constraint firstItem="9pW-6f-SAD" firstAttribute="top" secondItem="LLk-er-bdC" secondAttribute="bottom" constant="10" id="mfl-Un-Vcj"/>
                         <constraint firstItem="2zQ-rB-Flw" firstAttribute="centerY" secondItem="nqD-0B-LWz" secondAttribute="centerY" id="ocq-F7-opy"/>
                         <constraint firstAttribute="trailing" secondItem="nqD-0B-LWz" secondAttribute="trailing" constant="24" id="q1v-lo-D9m"/>
-                        <constraint firstItem="9hg-lP-sYg" firstAttribute="leading" secondItem="Eww-UH-ptK" secondAttribute="leading" constant="24" id="qdO-Pm-ujh"/>
                         <constraint firstItem="tHc-z1-Qug" firstAttribute="centerX" secondItem="S5u-Wp-Mcl" secondAttribute="centerX" id="qjM-gh-PTt"/>
                         <constraint firstItem="nqD-0B-LWz" firstAttribute="top" secondItem="0bB-59-HKX" secondAttribute="bottom" constant="12" id="stt-aH-bSa"/>
                         <constraint firstItem="2zQ-rB-Flw" firstAttribute="leading" secondItem="Eww-UH-ptK" secondAttribute="leading" constant="24" id="tOG-WA-8lk"/>
                         <constraint firstItem="9pW-6f-SAD" firstAttribute="centerX" secondItem="LLk-er-bdC" secondAttribute="centerX" id="uHm-gF-gDH"/>
                         <constraint firstItem="S5u-Wp-Mcl" firstAttribute="centerX" secondItem="Eww-UH-ptK" secondAttribute="centerX" id="uNT-fT-0og"/>
                         <constraint firstItem="QzH-T7-I8b" firstAttribute="leading" secondItem="Eww-UH-ptK" secondAttribute="leading" constant="24" id="vQh-9B-wVL"/>
+                        <constraint firstItem="cfJ-XH-aHf" firstAttribute="top" secondItem="FKg-xo-i0X" secondAttribute="bottom" constant="12" id="vpE-Xa-7N2"/>
                         <constraint firstItem="kSR-p4-Hnw" firstAttribute="centerY" secondItem="FKg-xo-i0X" secondAttribute="centerY" id="xoe-kJ-jTa"/>
-                        <constraint firstAttribute="trailing" secondItem="EbO-Ct-WgF" secondAttribute="trailing" constant="24" id="z1H-kL-0Ra"/>
-                        <constraint firstAttribute="trailing" secondItem="9hg-lP-sYg" secondAttribute="trailing" constant="24" id="z5Q-xe-8oj"/>
                         <constraint firstItem="dkx-kN-Be5" firstAttribute="centerY" secondItem="yoo-eb-Mu3" secondAttribute="centerY" id="zjx-wF-4w3"/>
                     </constraints>
                 </scrollView>
@@ -440,7 +429,6 @@
         </view>
     </objects>
     <resources>
-        <image name="右箭头" width="16" height="16"/>
         <image name="相机" width="166.66667175292969" height="166.66667175292969"/>
     </resources>
 </document>

+ 7 - 1
ADHTuanCan/Class/我的/白团权限申请/en.lproj/ApplyWhiteManagerController.strings

@@ -1,6 +1,6 @@
 
 /* Class = "UILabel"; text = "证件正面图"; ObjectID = "0bB-59-HKX"; */
-"0bB-59-HKX.text" = "Certificate photo";
+"0bB-59-HKX.text" = "upload ACRC";
 
 /* Class = "UILabel"; text = "联系人"; ObjectID = "2zQ-rB-Flw"; */
 "2zQ-rB-Flw.text" = "Contacts";
@@ -46,3 +46,9 @@
 
 /* Class = "UILabel"; text = "公司名称"; ObjectID = "vGi-j9-l6G"; */
 "vGi-j9-l6G.text" = "Company";
+
+/* Class = "UIButton"; normalTitle = "预览"; ObjectID = "b1J-rY-ck6"; */
+"b1J-rY-ck6.normalTitle" = "preview";
+
+/* Class = "UIButton"; normalTitle = "预览"; ObjectID = "plt-NB-R8g"; */
+"plt-NB-R8g.normalTitle" = "preview";

+ 8 - 2
ADHTuanCan/Class/我的/白团权限申请/zh-Hans.lproj/ApplyWhiteManagerController.strings

@@ -1,6 +1,6 @@
 
 /* Class = "UILabel"; text = "证件正面图"; ObjectID = "0bB-59-HKX"; */
-"0bB-59-HKX.text" = "证件正面图";
+"0bB-59-HKX.text" = "上传ACRC";
 
 /* Class = "UILabel"; text = "联系人"; ObjectID = "2zQ-rB-Flw"; */
 "2zQ-rB-Flw.text" = "联系人";
@@ -12,7 +12,7 @@
 "AmW-m1-qye.text" = "请选择证件有效期";
 
 /* Class = "UITextField"; placeholder = "证件号码"; ObjectID = "Eqg-Jx-FYi"; */
-"Eqg-Jx-FYi.placeholder" = "证件号码";
+"Eqg-Jx-FYi.placeholder" = "UEN号码";
 
 /* Class = "UILabel"; text = "有效期"; ObjectID = "Ex6-Si-bo1"; */
 "Ex6-Si-bo1.text" = "有效期";
@@ -46,3 +46,9 @@
 
 /* Class = "UILabel"; text = "公司名称"; ObjectID = "vGi-j9-l6G"; */
 "vGi-j9-l6G.text" = "公司名称";
+ 
+/* Class = "UIButton"; normalTitle = "预览"; ObjectID = "b1J-rY-ck6"; */
+"b1J-rY-ck6.normalTitle" = "预览";
+
+/* Class = "UIButton"; normalTitle = "预览"; ObjectID = "plt-NB-R8g"; */
+"plt-NB-R8g.normalTitle" = "预览";

+ 21 - 4
ADHTuanCan/Class/订单/OrderManagerVC.swift

@@ -96,15 +96,18 @@ class OrderManagerVC: ADHBaseVC, UIDocumentPickerDelegate {
         super.viewDidLoad()
         
         if  Defaults[\.userType] === 1{
-            self.nav1.isHidden = true
-            self.nav2.isHidden = false
+//            self.nav1.isHidden = true
+//            self.nav2.isHidden = false
             self.shopType = .generalOrder
         }else{
-            self.nav1.isHidden = false
-            self.nav2.isHidden = true
+//            self.nav1.isHidden = false
+//            self.nav2.isHidden = true
             self.shopType = .whiteOrder
         }
         
+        self.nav1.isHidden = true
+        self.nav2.isHidden = false
+        
         self.navHeight.constant = kNavAndStatuHeight
         self.view.backgroundColor = UIColor.color(hex: "#F6F6F8")
         
@@ -304,6 +307,20 @@ class OrderManagerVC: ADHBaseVC, UIDocumentPickerDelegate {
             self.stripePayModel = self.viewModel.payConfiguration
             
             self.hud.hidden()
+            if self.stripePayModel?.url != nil{
+                if let url = URL(string: self.stripePayModel?.url ?? "") {
+                    //根据iOS系统版本,分别处理
+                    if #available(iOS 10, *) {
+                        UIApplication.shared.open(url, options: [:],
+                                                  completionHandler: {
+                            (success) in
+                        })
+                    } else {
+                        UIApplication.shared.openURL(url)
+                    }
+                }
+                return
+            }
             self.configurationPaymentSheet()
         }, error: { error in
             self.hud.showFailure(error.msg ?? LanguagesUtil.createTextBy(Ctext: "网络错误", Etext: "network error"))

+ 14 - 0
ADHTuanCan/Class/订单/订单详情/OrderDetailViewController.swift

@@ -328,6 +328,20 @@ class OrderDetailViewController: ADHBaseVC {
 //            self.merchantDisplayName = self.viewModel.payConfiguration?.merchantDisplayName
             self.stripePayModel = self.viewModel.payConfiguration
             self.hud.hidden()
+            if self.stripePayModel?.url != nil{
+                if let url = URL(string: self.stripePayModel?.url ?? "") {
+                    //根据iOS系统版本,分别处理
+                    if #available(iOS 10, *) {
+                        UIApplication.shared.open(url, options: [:],
+                                                  completionHandler: {
+                            (success) in
+                        })
+                    } else {
+                        UIApplication.shared.openURL(url)
+                    }
+                }
+                return
+            }
             self.configurationPaymentSheet()
         }, error: { error in
             self.hud.showFailure(error.msg ?? LanguagesUtil.createTextBy(Ctext: "网络错误", Etext: "network error"))

+ 4 - 0
ADHTuanCan/Class/购物车/model/ShopCarModel.swift

@@ -320,6 +320,10 @@ class PayConfigurationModel : MCBaseModel{
     var  ephemeralKey : String?
     
     var publicKey : String?
+    
+    ///网页扫码支付
+    var url : String?
+    
 }
 
 

+ 15 - 0
ADHTuanCan/Class/购物车/确认订单/CheckOrderViewController.swift

@@ -356,6 +356,21 @@ class CheckOrderViewController: ADHBaseVC {
 //            self.merchantDisplayName = self.viewModel.payConfiguration?.merchantDisplayName
             self.stripePayModel = self.viewModel.payConfiguration
             self.hud.hidden()
+            
+            if self.stripePayModel?.url != nil{
+                if let url = URL(string: self.stripePayModel?.url ?? "") {
+                    //根据iOS系统版本,分别处理
+                    if #available(iOS 10, *) {
+                        UIApplication.shared.open(url, options: [:],
+                                                  completionHandler: {
+                            (success) in
+                        })
+                    } else {
+                        UIApplication.shared.openURL(url)
+                    }
+                }
+                return
+            }
             self.configurationPaymentSheet()
         }, error: { error in
             self.hud.showFailure(error.msg ?? LanguagesUtil.createTextBy(Ctext: "网络错误", Etext: "network error"))

+ 21 - 0
ADHTuanCan/Class/餐品详情/SetMealDetailVC.swift

@@ -81,6 +81,9 @@ class SetMealDetailVC: ADHBaseVC {
     ///最低用餐人数
     var lowestNum : Int = 1
 
+    ///  提示要分成两份人数标准
+    var splitNum : Int = 80
+    
     @IBOutlet weak var addShopBtn: UIButton!
     
     @IBOutlet weak var priceLab: UILabel!
@@ -172,6 +175,8 @@ class SetMealDetailVC: ADHBaseVC {
             
             self.lowestNum = Int(self.viewModel.SMDetailModel?.lowestNum ?? "1")!
             
+            self.splitNum = Int(self.viewModel.SMDetailModel?.splitNum ?? "80")!
+            
             self.setPriceShow()
             if self.chenkSaveData(){
                 
@@ -294,6 +299,22 @@ class SetMealDetailVC: ADHBaseVC {
             self?.viewModel.addShoppingRequestModel.numPeople = numStr
             self?.viewModel.getMealPrice.numPeople = numStr
             self?.setPriceShow()
+            
+            if numStr > self!.splitNum - 1{
+        
+                let av = Bundle.main.loadNibNamed("TwoSeparateMealsView", owner: nil, options: nil)?.last as? TwoSeparateMealsView
+                
+                av?.showWithString(splitNum: "\(self?.splitNum ?? 0)")
+                
+                av?.callBackBlock = {[weak self] isTwo in
+                    if isTwo{
+                        self?.viewModel.addShoppingRequestModel.isSplit = "1"
+                    }else{
+                        self?.viewModel.addShoppingRequestModel.isSplit = "0"
+                    }
+                }
+            }
+            
             if (self?.chenkSaveData() ?? false){
                 
             }

+ 19 - 0
ADHTuanCan/Class/餐品详情/SingleMealDetailController.swift

@@ -86,6 +86,9 @@ class SingleMealDetailController: ADHBaseVC {
     ///最低用餐人数
     var lowestNum : Int = 1
 
+    ///  提示要分成两份人数标准
+    var splitNum : Int = 80
+    
     var reloadCallBackBlock : (()->Void)?
     
     /// 注意事项View
@@ -164,6 +167,7 @@ class SingleMealDetailController: ADHBaseVC {
             
             self.lowestNum = Int(self.viewModel.SMDetailModel?.lowestNum ?? "1")!
             
+            self.splitNum = Int(self.viewModel.SMDetailModel?.splitNum ?? "80")!
 //            self.priceLab.text = "\(self.viewModel.SMDetailModel?.price ?? "")"
             
             //初始化金额显示
@@ -236,6 +240,21 @@ class SingleMealDetailController: ADHBaseVC {
             self?.viewModel.addShoppingRequestModel.numPeople = numStr
             self?.viewModel.getMealPrice.numPeople = numStr
             self?.reloadPriceDetail()
+            
+            if numStr > self!.splitNum - 1{
+        
+                let av = Bundle.main.loadNibNamed("TwoSeparateMealsView", owner: nil, options: nil)?.last as? TwoSeparateMealsView
+                
+                av?.showWithString(splitNum: "\(self?.splitNum ?? 0)")
+                
+                av?.callBackBlock = {[weak self] isTwo in
+                    if isTwo{
+                        self?.viewModel.addShoppingRequestModel.isSplit = "1"
+                    }else{
+                        self?.viewModel.addShoppingRequestModel.isSplit = "0"
+                    }
+                }
+            }
 //            let price : String = numStr ** "\(self?.viewModel.SMDetailModel?.price ?? "")"
 //            self?.priceLab.text = "\(price ?? "")"
             if (self?.chenkSaveData() ?? false){

+ 7 - 0
ADHTuanCan/Class/餐品详情/model/SetMealModel.swift

@@ -128,6 +128,10 @@ class SetMealDetailModel : MCBaseModel{
     ///   最低用餐人数
     var lowestNum : String?
     
+    ///  提示要分成两份人数标准
+    var splitNum : String?
+    
+    
     ///   需知
     var notice : String?
     
@@ -354,6 +358,9 @@ class AddToshoppingCartModel: MCBaseRequestModel {
     ///
     var deliveryId : NSNumber?
     
+    ///    是否拆分为"份送餐,0不拆,1拆"
+    var isSplit : String?
+    
     override func requestMethod() -> MCHttpMethod {
         .post
     }

+ 122 - 0
ADHTuanCan/Class/餐品详情/view/Base.lproj/TwoSeparateMealsView.xib

@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view tag="1" contentMode="scaleToFill" id="00A-I4-Fgu" customClass="TwoSeparateMealsView" customModule="ADHTuanCan" customModuleProvider="target">
+            <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+            <subviews>
+                <view alpha="0.29999999999999999" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eWv-zq-wW8">
+                    <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+                    <color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                </view>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bcI-aK-vIS">
+                    <rect key="frame" x="20" y="326" width="353" height="200"/>
+                    <subviews>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="系统提示" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="E5p-I0-6V5">
+                            <rect key="frame" x="144" y="20" width="65.333333333333314" height="19.333333333333329"/>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                            <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="是否需要分成两份" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RLf-xn-paR">
+                            <rect key="frame" x="20" y="59.333333333333321" width="313" height="20.333333333333336"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                            <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="lIw-ys-je3">
+                            <rect key="frame" x="20" y="145" width="146.66666666666666" height="40"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="40" id="jkH-6C-fSs"/>
+                            </constraints>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <state key="normal" title="取消">
+                                <color key="titleColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            </state>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="4"/>
+                                </userDefinedRuntimeAttribute>
+                                <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
+                                    <real key="value" value="1"/>
+                                </userDefinedRuntimeAttribute>
+                                <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
+                                    <color key="value" red="0.77647058820000003" green="0.1333333333" blue="0.13725490200000001" alpha="1" colorSpace="calibratedRGB"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="cancelAction:" destination="00A-I4-Fgu" eventType="touchUpInside" id="Ddd-po-AjB"/>
+                            </connections>
+                        </button>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="oP9-R9-5zc">
+                            <rect key="frame" x="186.66666666666663" y="145" width="146.33333333333337" height="40"/>
+                            <color key="backgroundColor" red="0.77647058820000003" green="0.1333333333" blue="0.13725490200000001" alpha="1" colorSpace="calibratedRGB"/>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <state key="normal" title="确认">
+                                <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            </state>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="4"/>
+                                </userDefinedRuntimeAttribute>
+                                <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
+                                    <color key="value" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="sureAction:" destination="00A-I4-Fgu" eventType="touchUpInside" id="1Jo-Z0-Ke2"/>
+                            </connections>
+                        </button>
+                    </subviews>
+                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <constraints>
+                        <constraint firstItem="E5p-I0-6V5" firstAttribute="top" secondItem="bcI-aK-vIS" secondAttribute="top" constant="20" id="2Bf-Ky-JkT"/>
+                        <constraint firstItem="oP9-R9-5zc" firstAttribute="width" secondItem="lIw-ys-je3" secondAttribute="width" id="ClH-Nb-l3v"/>
+                        <constraint firstItem="E5p-I0-6V5" firstAttribute="centerX" secondItem="bcI-aK-vIS" secondAttribute="centerX" id="DJ1-m2-UM7"/>
+                        <constraint firstItem="RLf-xn-paR" firstAttribute="leading" secondItem="bcI-aK-vIS" secondAttribute="leading" constant="20" id="EnL-HE-8yH"/>
+                        <constraint firstItem="oP9-R9-5zc" firstAttribute="leading" secondItem="lIw-ys-je3" secondAttribute="trailing" constant="20" id="GOs-4J-gjz"/>
+                        <constraint firstItem="oP9-R9-5zc" firstAttribute="centerY" secondItem="lIw-ys-je3" secondAttribute="centerY" id="LAH-nX-A3j"/>
+                        <constraint firstAttribute="bottom" secondItem="lIw-ys-je3" secondAttribute="bottom" constant="15" id="XMb-Co-kgR"/>
+                        <constraint firstItem="RLf-xn-paR" firstAttribute="top" secondItem="E5p-I0-6V5" secondAttribute="bottom" constant="20" id="cfh-vd-IZ5"/>
+                        <constraint firstAttribute="trailing" secondItem="RLf-xn-paR" secondAttribute="trailing" constant="20" id="jMI-l0-wwp"/>
+                        <constraint firstAttribute="trailing" secondItem="oP9-R9-5zc" secondAttribute="trailing" constant="20" id="o6i-mn-SzQ"/>
+                        <constraint firstItem="lIw-ys-je3" firstAttribute="leading" secondItem="bcI-aK-vIS" secondAttribute="leading" constant="20" id="uJ7-Ed-v7P"/>
+                        <constraint firstAttribute="height" constant="200" id="xT3-lh-eDj"/>
+                        <constraint firstItem="oP9-R9-5zc" firstAttribute="height" secondItem="lIw-ys-je3" secondAttribute="height" id="yzE-ea-kYk"/>
+                    </constraints>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                            <real key="value" value="24"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
+                </view>
+            </subviews>
+            <viewLayoutGuide key="safeArea" id="YKU-bE-XoE"/>
+            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <constraints>
+                <constraint firstAttribute="bottom" secondItem="eWv-zq-wW8" secondAttribute="bottom" id="B6C-eZ-sUJ"/>
+                <constraint firstItem="eWv-zq-wW8" firstAttribute="leading" secondItem="YKU-bE-XoE" secondAttribute="leading" id="B78-6S-9UP"/>
+                <constraint firstItem="YKU-bE-XoE" firstAttribute="trailing" secondItem="bcI-aK-vIS" secondAttribute="trailing" constant="20" id="EXT-yP-0EH"/>
+                <constraint firstItem="bcI-aK-vIS" firstAttribute="leading" secondItem="YKU-bE-XoE" secondAttribute="leading" constant="20" id="Ldt-vd-7tm"/>
+                <constraint firstItem="bcI-aK-vIS" firstAttribute="centerX" secondItem="00A-I4-Fgu" secondAttribute="centerX" id="T8C-wi-gd6"/>
+                <constraint firstItem="bcI-aK-vIS" firstAttribute="centerY" secondItem="00A-I4-Fgu" secondAttribute="centerY" id="UMK-xZ-d9e"/>
+                <constraint firstItem="YKU-bE-XoE" firstAttribute="trailing" secondItem="eWv-zq-wW8" secondAttribute="trailing" id="eOy-Qs-iff"/>
+                <constraint firstItem="eWv-zq-wW8" firstAttribute="top" secondItem="00A-I4-Fgu" secondAttribute="top" id="ptK-f9-dtU"/>
+            </constraints>
+            <connections>
+                <outlet property="blackView" destination="eWv-zq-wW8" id="M3d-nv-0Wx"/>
+                <outlet property="contentLab" destination="RLf-xn-paR" id="kHj-Zg-r4N"/>
+            </connections>
+            <point key="canvasLocation" x="204" y="19"/>
+        </view>
+    </objects>
+</document>

+ 61 - 0
ADHTuanCan/Class/餐品详情/view/TwoSeparateMealsView.swift

@@ -0,0 +1,61 @@
+//
+//  TwoSeparateMealsView.swift
+//  ADHTuanCan
+//
+//  Created by 敖德亨 on 2024/3/1.
+//
+
+import UIKit
+
+class TwoSeparateMealsView: UIView {
+
+    @IBOutlet weak var blackView: UIView!
+    
+    @IBOutlet weak var contentLab: UILabel!
+    
+    var callBackBlock : ((Bool)->Void)?
+    
+    @IBAction func cancelAction(_ sender: UIButton) {
+        if self.callBackBlock != nil{
+            self.callBackBlock!(false)
+        }
+        self.hidden()
+    }
+    
+    @IBAction func sureAction(_ sender: UIButton) {
+        if self.callBackBlock != nil{
+            self.callBackBlock!(true)
+        }
+        self.hidden()
+    }
+    
+    /// 展示
+    public func showWithString(splitNum : String?){
+      
+        
+        self.contentLab.text = LanguagesUtil.createTextBy(Ctext: "您选择的人数已超过\(splitNum ?? "")人,分两个点进行打餐吗?", Etext: "The number has exceeded\(splitNum ?? ""),Do we have two orders?")
+
+        kAppDelegateWindow.addSubview(self)
+        self.blackView.alpha = 0
+        self.frame = CGRect.init(x: 0, y: kSCREEN_HEIGHT, width: kSCREEN_WIDTH, height: kSCREEN_HEIGHT)
+        UIView.animate(withDuration: 0.5) {
+            self.frame = CGRect.init(x: 0, y: 0, width: kSCREEN_WIDTH, height: kSCREEN_HEIGHT)
+            self.layoutIfNeeded()
+        }
+        DELAY(0.5) {
+            self.blackView.alpha = 0.3
+        }
+    }
+    
+    /// 隐藏
+    public func hidden(){
+        self.blackView.alpha = 0
+        UIView.animate(withDuration: 0.5) {
+            self.frame = CGRect.init(x: 0, y: kSCREEN_HEIGHT, width: kSCREEN_WIDTH, height: kSCREEN_HEIGHT)
+            self.layoutIfNeeded()
+        }
+        DELAY(0.5) {
+            self.removeFromSuperview()
+        }
+    }
+}

+ 9 - 0
ADHTuanCan/Class/餐品详情/view/en.lproj/TwoSeparateMealsView.strings

@@ -0,0 +1,9 @@
+
+/* Class = "UILabel"; text = "系统提示"; ObjectID = "E5p-I0-6V5"; */
+"E5p-I0-6V5.text" = "System prompt";
+
+/* Class = "UIButton"; normalTitle = "取消"; ObjectID = "lIw-ys-je3"; */
+"lIw-ys-je3.normalTitle" = "Cancel";
+
+/* Class = "UIButton"; normalTitle = "确认"; ObjectID = "oP9-R9-5zc"; */
+"oP9-R9-5zc.normalTitle" = "Confirm";

+ 9 - 0
ADHTuanCan/Class/餐品详情/view/zh-Hans.lproj/TwoSeparateMealsView.strings

@@ -0,0 +1,9 @@
+
+/* Class = "UILabel"; text = "系统提示"; ObjectID = "E5p-I0-6V5"; */
+"E5p-I0-6V5.text" = "系统提示";
+
+/* Class = "UIButton"; normalTitle = "取消"; ObjectID = "lIw-ys-je3"; */
+"lIw-ys-je3.normalTitle" = "取消";
+
+/* Class = "UIButton"; normalTitle = "确认"; ObjectID = "oP9-R9-5zc"; */
+"oP9-R9-5zc.normalTitle" = "确认";

+ 22 - 2
ADHTuanCan/Class/首页/HomeViewController.swift

@@ -67,6 +67,7 @@ class HomeViewController: ADHBaseVC {
     let viewModel : HomeViewModel = HomeViewModel.init()
     let diposableBag = DisposeBag()
     
+    let flotageBtn : WMFloatButton = WMFloatButton.init(frame: CGRect(x: kSCREEN_WIDTH - 70, y: kSCREEN_HEIGHT - kNavAndStatuHeight - 50, width: 50, height: 50))
     
     /// 1为普团,2为白团
     let shopType = "2"
@@ -169,6 +170,25 @@ class HomeViewController: ADHBaseVC {
         self.getHomeFoodTypes()
 //        //获取时间段范围
 //        self.getTimeRangDetail()
+        
+        flotageBtn.setTitle("漂浮", for: .normal)
+        flotageBtn.backgroundColor = UIColor.white
+        flotageBtn.typesss = 2;
+        flotageBtn.layer.cornerRadius = 25;
+        flotageBtn.setImage(UIImage.init(named: "漂浮图片"), for: .normal)
+//        flotageBtn.layer.masksToBounds = true
+        flotageBtn.layer.shadowColor = kThemeBlackColor.cgColor;
+        flotageBtn.layer.shadowOpacity = 0.5;//阴影透明度,默认0
+        flotageBtn.layer.shadowRadius = 5;
+        flotageBtn.layer.shadowOffset = CGSizeMake(4, 4);
+        flotageBtn.addTarget(self, action: #selector(reSetOrderDetail), for: .touchUpInside)
+        self.view.addSubview(flotageBtn)
+    }
+    
+    //MARK: 重写业务员订单信息
+    @objc func reSetOrderDetail(){
+        self.SalesmanView?.shopType = self.shopType
+        self.SalesmanView?.showWithShopcartId(shopcartId: self.shopcartId ?? 0, vc: self)
     }
     
     func refreshData(){
@@ -393,8 +413,8 @@ class HomeViewController: ADHBaseVC {
                 
             }else{
                 Defaults[\.userType] = "\(self.shopcartId ?? 0)"
-                self.SalesmanView?.shopType = self.shopType
-                self.SalesmanView?.showWithShopcartId(shopcartId: self.shopcartId ?? 0, vc: self)
+//                self.SalesmanView?.shopType = self.shopType
+//                self.SalesmanView?.showWithShopcartId(shopcartId: self.shopcartId ?? 0, vc: self)
             }
             
             

+ 191 - 0
ADHTuanCan/Class/首页/view/WMFloatButton.swift

@@ -0,0 +1,191 @@
+//
+//  WMFloatButton.swift
+//  HCQuanfangtong
+//
+//  Created by aodeheng on 2022/4/24.
+//  Copyright © 2022 Jyp. All rights reserved.
+//
+
+import UIKit
+
+
+public enum WMAssistiveType : Int {
+    case none = 0
+    case nearLeft
+    case nearRight
+    case auto
+}
+
+@objc(WMFloatButton)
+@objcMembers
+class WMFloatButton: UIButton {
+    
+    fileprivate var blurVisualEffect: UIVisualEffectView!
+    
+    var action:((WMFloatButton)->Void)? = nil
+    
+    var assistiveType:WMAssistiveType = WMAssistiveType.none
+    
+    /// 滑动前位置
+    var beginFream : CGRect = CGRect(x: 0, y: 0, width: 50, height: 50)
+    
+    var lrSize : CGFloat = 20
+    
+    var typesss : Int = 0{
+        didSet{
+            assistiveType = WMAssistiveType.init(rawValue: typesss) ?? .none
+        
+        }
+    }
+    
+    
+//    var assistiveType:WMAssistiveType = WMAssistiveType.none
+
+    /// asjdhjashd
+    /// - Parameter frame: <#frame description#>
+    override init(frame: CGRect) {
+        super.init(frame: frame);
+        
+        initViews()
+    }
+    
+    required init?(coder aDecoder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+
+    
+    //MARK:-
+    func initViews() -> Void {
+        
+        self.isUserInteractionEnabled = true
+//        self.translatesAutoresizingMaskIntoConstraints = true®
+        
+        
+        let longPress = UIPanGestureRecognizer(target: self, action: #selector(WMFloatButton.longPress(_:)))
+        longPress.delegate = self as? UIGestureRecognizerDelegate
+        self.addGestureRecognizer(longPress)
+        
+        
+//        self.addTarget(self, action: #selector(WMFloatButton.buttonTapped(_:)), for: .touchUpInside)
+        
+        self.beginFream =  self.frame
+    }
+        
+    
+    //MARK: - Button Actions Methods
+    @objc func buttonTapped(_ sender: UIControl) {
+        
+        if let unwrappedAction = self.action {
+            unwrappedAction(self)
+        }
+    }
+    
+    
+    var buttonOrigin : CGPoint = CGPoint(x: 0, y: 0)
+    @objc func longPress(_ pan: UIPanGestureRecognizer) {
+//        if typesss != 3 {
+//            return
+//        }
+        
+        if pan.state == .began {
+            print("began")
+            buttonOrigin = pan.location(in: self)
+           
+        }else {
+            print("pan status not began")
+            let location = pan.location(in: self.superview) // get pan location
+            self.frame.origin = CGPoint(x: location.x - buttonOrigin.x, y: location.y - buttonOrigin.y)
+            
+            if(pan.state == .ended){
+
+                self.updateButtonFrame()
+            }
+        }
+        
+    }
+    
+    /// 更新按钮的位置
+    private func updateButtonFrame(){
+
+        
+        let btnY:CGFloat = self.frame.origin.y;
+        let screenW = self.superview?.bounds.size.width ?? 100;
+        let screenH = self.superview?.bounds.size.height ?? 100;
+        let floatBtnW = self.bounds.size.width;
+        let floatBtnH = self.bounds.size.height;
+        
+        if !(btnY > 0){
+            
+            UIView.animate(withDuration: 0.5) {
+                
+                self.frame = self.beginFream
+                
+            }
+            
+            return
+        }
+        
+        if btnY > screenH - 50{
+            
+            UIView.animate(withDuration: 0.5) {
+                
+                self.frame = self.beginFream
+                
+            }
+            
+            return
+        }
+        
+        
+        switch self.assistiveType {
+        case .auto:
+            //自动识别贴边
+            if (self.center.x >= screenW/2) {
+                
+                UIView.animate(withDuration: 0.5) {
+                    //按钮靠右自动吸边
+                    let btnX = screenW - floatBtnW - self.lrSize
+                    self.frame = CGRect(x: btnX, y: btnY, width: floatBtnW, height: floatBtnH);
+                    self.beginFream = self.frame
+                     
+                }
+            }else{
+                UIView.animate(withDuration: 0.5) {
+                    //按钮靠左吸边
+                    let btnX:CGFloat = 0.0 + self.lrSize
+                    self.frame = CGRect(x: btnX, y: btnY, width: floatBtnW, height: floatBtnH)
+                    self.beginFream = self.frame
+                }
+            }
+            
+            
+            break;
+        case .none:
+            break;
+        case .nearLeft:
+            UIView.animate(withDuration: 0.5) {
+                //按钮靠左吸边
+                let btnX:CGFloat = 0.0 + self.lrSize
+                self.frame = CGRect(x: btnX, y: btnY, width: floatBtnW, height: floatBtnH);
+                self.beginFream = self.frame
+            }
+        case .nearRight:
+            UIView.animate(withDuration: 0.5) {
+                //按钮靠右自动吸边
+                let btnX = screenW - floatBtnW - self.lrSize
+                self.frame = CGRect(x: btnX, y: btnY, width: floatBtnW, height: floatBtnH);
+                self.beginFream = self.frame
+            }
+        }
+        
+    }
+
+    /*
+     // Only override draw() if you perform custom drawing.
+     // An empty implementation adversely affects performance during animation.
+     override func draw(_ rect: CGRect) {
+     // Drawing code
+     }
+     */
+    
+}

+ 4 - 4
ADHTuanCan/Class/首页/业务员信息/Base.lproj/SalesmanFirstShowView.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -463,8 +463,8 @@
                                     <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
                                 </label>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="街区号" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZW9-Vz-Jqn">
-                                    <rect key="frame" x="24" y="218.33333333333331" width="49" height="19.333333333333343"/>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="楼宇号码" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZW9-Vz-Jqn">
+                                    <rect key="frame" x="24" y="218.33333333333331" width="65.333333333333329" height="19.333333333333343"/>
                                     <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
                                     <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>

+ 4 - 4
ADHTuanCan/Class/首页/业务员信息/SalesmanFirstShowView.swift

@@ -154,10 +154,10 @@ class SalesmanFirstShowView: UIView {
         }
 
         
-        if buildName.isEmptyStr{
-            self.hud.showWarning(LanguagesUtil.createTextBy(Ctext: "请输入建筑名称", Etext: "Please enter the building name"))
-            return
-        }
+//        if buildName.isEmptyStr{
+//            self.hud.showWarning(LanguagesUtil.createTextBy(Ctext: "请输入建筑名称", Etext: "Please enter the building name"))
+//            return
+//        }
         
         if unitNum.isEmptyStr{
             self.hud.showWarning(LanguagesUtil.createTextBy(Ctext: "请输入楼层门牌号", Etext: "Please enter the unitNum"))

+ 3 - 3
ADHTuanCan/Class/首页/业务员信息/en.lproj/SalesmanFirstShowView.strings

@@ -39,16 +39,16 @@
 "ULc-cQ-t4d.normalTitle" = "Skip";
 
 /* Class = "UILabel"; text = "街区号"; ObjectID = "ZW9-Vz-Jqn"; */
-"ZW9-Vz-Jqn.text" = "Block number";
+"ZW9-Vz-Jqn.text" = "Building number";
 
 /* Class = "UILabel"; text = "开始日期"; ObjectID = "bIK-9L-OII"; */
 "bIK-9L-OII.text" = "Start date";
 
 /* Class = "UITextField"; placeholder = "街区号"; ObjectID = "eoh-VE-03m"; */
-"eoh-VE-03m.placeholder" = "block number";
+"eoh-VE-03m.placeholder" = "building number";
 
 /* Class = "UITextField"; placeholder = "建筑物名称"; ObjectID = "g2j-Xu-aKx"; */
-"g2j-Xu-aKx.placeholder" = "building name";
+"g2j-Xu-aKx.placeholder" = "building name(optional)";
 
 /* Class = "UITextField"; placeholder = "楼层门牌号"; ObjectID = "jhF-b4-suK"; */
 "jhF-b4-suK.placeholder" = "floor number";

+ 3 - 3
ADHTuanCan/Class/首页/业务员信息/zh-Hans.lproj/SalesmanFirstShowView.strings

@@ -39,16 +39,16 @@
 "ULc-cQ-t4d.normalTitle" = "跳过";
 
 /* Class = "UILabel"; text = "街区号"; ObjectID = "ZW9-Vz-Jqn"; */
-"ZW9-Vz-Jqn.text" = "街区号";
+"ZW9-Vz-Jqn.text" = "楼宇号码";
 
 /* Class = "UILabel"; text = "开始日期"; ObjectID = "bIK-9L-OII"; */
 "bIK-9L-OII.text" = "开始日期";
 
 /* Class = "UITextField"; placeholder = "街区号"; ObjectID = "eoh-VE-03m"; */
-"eoh-VE-03m.placeholder" = "街区号";
+"eoh-VE-03m.placeholder" = "楼宇号码";
 
 /* Class = "UITextField"; placeholder = "建筑物名称"; ObjectID = "g2j-Xu-aKx"; */
-"g2j-Xu-aKx.placeholder" = "建筑物名称";
+"g2j-Xu-aKx.placeholder" = "建筑物名称(非必填)";
 
 /* Class = "UITextField"; placeholder = "楼层门牌号"; ObjectID = "jhF-b4-suK"; */
 "jhF-b4-suK.placeholder" = "楼层门牌号";