NewOrderGiftDetailCell.m 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550
  1. //
  2. // NewOrderGoodsDetailCell.m
  3. // IBOSSmini
  4. //
  5. // Created by guan hong hou on 2018/2/5.
  6. // Copyright © 2018年 elongtian. All rights reserved.
  7. //
  8. #import "NewOrderGiftDetailCell.h"
  9. @implementation NewOrderGiftDetailCell
  10. - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
  11. self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
  12. return self;
  13. }
  14. - (void)setInventoryCell:(InventoryListModel *)inventoryDetailModel editStatus:(Boolean)flag{
  15. CGFloat heightLine = 1;
  16. CGFloat lblx = 20;
  17. CGFloat valuey = 10;
  18. CGFloat valueheight = 25;
  19. NSDictionary *orderDict = @{NSFontAttributeName:orderTextFont};
  20. _inventoryModel=inventoryDetailModel;
  21. _editStatus=flag;
  22. _lblGoodsName = [UILabel new];
  23. _lblGoodsName.frame=CGRectMake(lblx, valuey, Screen_Width- lblx - 55, valueheight);
  24. _lblGoodsName.font =orderTextFont;
  25. [self.contentView addSubview:_lblGoodsName];
  26. _lblGoodsName.text = _inventoryModel.goodsName;
  27. _vDelete=[UIView new];
  28. _vDelete.frame=CGRectMake(Screen_Width-80, valuey,70 , valueheight);
  29. UIButton *btnDelete=[UIButton buttonWithType:UIButtonTypeCustom];
  30. btnDelete.frame=CGRectMake(0, 4,15, 15);
  31. UIImageView *deleteImg=[[UIImageView alloc]init];
  32. deleteImg.frame=CGRectMake(0,0,15,15);
  33. [deleteImg setImage:[UIImage imageNamed:@"icon_delete"]];
  34. deleteImg.userInteractionEnabled=NO;
  35. [btnDelete addSubview:deleteImg];
  36. [_vDelete addSubview:btnDelete];
  37. _vDelete.userInteractionEnabled=YES;
  38. UILabel *lblDelete=[UILabel new];
  39. lblDelete.text=@"删除";
  40. lblDelete.frame=CGRectMake(CGRectGetMaxX(btnDelete.frame)+3, 0,30, 25);
  41. lblDelete.font=orderTextFont;
  42. [_vDelete addSubview:lblDelete];
  43. [self.contentView addSubview:_vDelete];
  44. UITapGestureRecognizer *tapRecognizerDelete=[[UITapGestureRecognizer alloc] initWithTarget:self
  45. action:@selector(deleteOrder)];
  46. _vDelete.userInteractionEnabled=YES;
  47. [_vDelete addGestureRecognizer:tapRecognizerDelete];
  48. _topSeparator=[UIView new];
  49. _topSeparator.frame=CGRectMake(0, CGRectGetMaxY(_vDelete.frame)+valuey, Screen_Width, heightLine);
  50. [self.contentView addSubview:_topSeparator];
  51. UIButton *btnLine = [UIButton buttonWithType:UIButtonTypeCustom];
  52. [btnLine setBackgroundImage:[UIImage imageNamed:@"dash"] forState:UIControlStateNormal];
  53. btnLine.frame = CGRectMake(0 ,0 , Screen_Width, heightLine);
  54. [_topSeparator addSubview:btnLine];
  55. UILabel *lblGoodsCodeTitle=[UILabel new];
  56. lblGoodsCodeTitle.frame=CGRectMake(lblx,CGRectGetMaxY(_topSeparator.frame)+valuey,70, valueheight);
  57. lblGoodsCodeTitle.text=@"商品编码:";
  58. lblGoodsCodeTitle.font=orderTextFont;
  59. lblGoodsCodeTitle.textColor=LabelGrayTextColor;
  60. [self.contentView addSubview:lblGoodsCodeTitle];
  61. _lblGoodsCode=[UILabel new];
  62. NSString *goodsCode=_inventoryModel.code;
  63. if(goodsCode!=nil){
  64. _lblGoodsCode.frame=CGRectMake(CGRectGetMaxX(lblGoodsCodeTitle.frame), CGRectGetMaxY(_topSeparator.frame)+valuey,Screen_Width/2-CGRectGetMaxX(lblGoodsCodeTitle.frame)-3, valueheight);
  65. _lblGoodsCode.text=goodsCode;
  66. _lblGoodsCode.font=orderTextFont;
  67. [self.contentView addSubview:_lblGoodsCode];
  68. }
  69. UILabel *lblOnlyCodeTitle=[UILabel new];
  70. lblOnlyCodeTitle.frame=CGRectMake(Screen_Width/2,CGRectGetMaxY(_topSeparator.frame)+valuey,70, valueheight);
  71. lblOnlyCodeTitle.text=@"唯一编码:";
  72. lblOnlyCodeTitle.font=orderTextFont;
  73. lblOnlyCodeTitle.textColor=LabelGrayTextColor;
  74. [self.contentView addSubview:lblOnlyCodeTitle];
  75. NSString *onlyCode=_inventoryModel.onlyCode;
  76. if(onlyCode!=nil){
  77. _lblOnlyCode=[UILabel new];
  78. _lblOnlyCode.frame=CGRectMake(CGRectGetMaxX(lblOnlyCodeTitle.frame),CGRectGetMaxY(_topSeparator.frame)+valuey , Screen_Width/2-lblOnlyCodeTitle.frame.size.width-3, valueheight);
  79. _lblOnlyCode.text=onlyCode;
  80. _lblOnlyCode.font=orderTextFont;
  81. [self.contentView addSubview:_lblOnlyCode];
  82. }
  83. UILabel *lblColorNumberTitle=[UILabel new];
  84. lblColorNumberTitle.frame=CGRectMake(lblx, CGRectGetMaxY(lblGoodsCodeTitle.frame)+valuey,70, valueheight);
  85. lblColorNumberTitle.text=@"色 号:";
  86. lblColorNumberTitle.font=orderTextFont;
  87. lblColorNumberTitle.textColor=LabelGrayTextColor;
  88. [self.contentView addSubview:lblColorNumberTitle];
  89. NSString *colorNumber=[_inventoryModel colorNumber];
  90. if(colorNumber!=nil){
  91. _lblColorNumber=[UILabel new];
  92. _lblColorNumber.frame=CGRectMake(CGRectGetMaxX(lblColorNumberTitle.frame), CGRectGetMaxY(lblGoodsCodeTitle.frame)+valuey,Screen_Width/2-CGRectGetMaxX(lblColorNumberTitle.frame), valueheight);
  93. _lblColorNumber.font=orderTextFont;
  94. _lblColorNumber.text=colorNumber;
  95. [self.contentView addSubview:_lblColorNumber];
  96. }
  97. UILabel *lblSpecificationTitle=[UILabel new];
  98. lblSpecificationTitle.frame=CGRectMake(Screen_Width/2,CGRectGetMaxY(lblGoodsCodeTitle.frame)+valuey,70, valueheight);
  99. lblSpecificationTitle.text=@"规 格:";
  100. lblSpecificationTitle.font=orderTextFont;
  101. lblSpecificationTitle.textColor=LabelGrayTextColor;
  102. [self.contentView addSubview:lblSpecificationTitle];
  103. NSString *specification=_inventoryModel.specification;
  104. if(specification!=nil){
  105. _lblSpecification=[UILabel new];
  106. _lblSpecification.frame=CGRectMake(CGRectGetMaxX(lblSpecificationTitle.frame), CGRectGetMaxY(lblGoodsCodeTitle.frame)+valuey, Screen_Width/2-lblSpecificationTitle.frame.size.width-3, valueheight);
  107. _lblSpecification.text=specification;
  108. _lblSpecification.font=orderTextFont;
  109. [self.contentView addSubview:_lblSpecification];
  110. }
  111. UILabel *lblWarehouseAreaTitle=[UILabel new];
  112. lblWarehouseAreaTitle.frame=CGRectMake(lblx, CGRectGetMaxY(lblColorNumberTitle.frame)+valuey,70, valueheight);
  113. lblWarehouseAreaTitle.text=@"库 区:";
  114. lblWarehouseAreaTitle.font=orderTextFont;
  115. lblWarehouseAreaTitle.textColor=LabelGrayTextColor;
  116. [self.contentView addSubview:lblWarehouseAreaTitle];
  117. NSString *warehouseArea=_inventoryModel.wareHouseName;
  118. if(warehouseArea!=nil){
  119. _lblWarehouseArea=[UILabel new];
  120. _lblWarehouseArea.frame=CGRectMake(CGRectGetMaxX(lblWarehouseAreaTitle.frame),CGRectGetMaxY(lblColorNumberTitle.frame)+valuey, Screen_Width/2-CGRectGetMaxX(lblWarehouseAreaTitle.frame)-3, valueheight);
  121. _lblWarehouseArea.text=warehouseArea;
  122. _lblWarehouseArea.font=orderTextFont;
  123. [self.contentView addSubview:_lblWarehouseArea];
  124. }
  125. UILabel *lblM2Title=[UILabel new];
  126. lblM2Title.frame=CGRectMake(Screen_Width/2, CGRectGetMaxY(lblColorNumberTitle.frame)+valuey,70, valueheight);
  127. lblM2Title.text=@"平 米 数:";
  128. lblM2Title.font=orderTextFont;
  129. lblM2Title.textColor=LabelGrayTextColor;
  130. [self.contentView addSubview:lblM2Title];
  131. NSString *M2=_inventoryModel.M2;
  132. if(M2!=nil&&M2.length>0){
  133. _lblM2=[UILabel new];
  134. _lblM2.frame=CGRectMake(CGRectGetMaxX(lblM2Title.frame),CGRectGetMaxY(lblColorNumberTitle.frame)+valuey, Screen_Width/2-CGRectGetMaxX(lblM2Title.frame)-3, valueheight);
  135. _lblM2.text=M2;
  136. _lblM2.font=orderTextFont;
  137. [self.contentView addSubview:_lblM2];
  138. }
  139. UILabel *lblBoxTitle=[UILabel new];
  140. lblBoxTitle.frame=CGRectMake(lblx, CGRectGetMaxY(lblWarehouseAreaTitle.frame)+valuey,70, valueheight);
  141. lblBoxTitle.text=@"箱:";
  142. lblBoxTitle.font=orderTextFont;
  143. lblBoxTitle.textColor=LabelGrayTextColor;
  144. [self.contentView addSubview:lblBoxTitle];
  145. NSString *box=_inventoryModel.box;
  146. if(box!=nil&&box.length>0){
  147. _lblBox=[UILabel new];
  148. _lblBox.frame=CGRectMake(CGRectGetMaxX(lblBoxTitle.frame),CGRectGetMaxY(lblWarehouseAreaTitle.frame)+valuey, Screen_Width/2-CGRectGetMaxX(lblBoxTitle.frame)-3, valueheight);
  149. _lblBox.text=box;
  150. _lblBox.font=orderTextFont;
  151. [self.contentView addSubview:_lblBox];
  152. }
  153. UILabel *lblPieceTitle=[UILabel new];
  154. lblPieceTitle.frame=CGRectMake(Screen_Width/2, CGRectGetMaxY(lblWarehouseAreaTitle.frame)+valuey,70, valueheight);
  155. lblPieceTitle.text=@"片:";
  156. lblPieceTitle.font=orderTextFont;
  157. lblPieceTitle.textColor=LabelGrayTextColor;
  158. [self.contentView addSubview:lblPieceTitle];
  159. NSString *piece=_inventoryModel.piece;
  160. if(piece!=nil&&piece.length>0){
  161. _lblPiece=[UILabel new];
  162. _lblPiece.frame=CGRectMake(CGRectGetMaxX(lblPieceTitle.frame),CGRectGetMaxY(lblWarehouseAreaTitle.frame)+valuey, Screen_Width/2-CGRectGetMaxX(lblPieceTitle.frame)-3, valueheight);
  163. _lblPiece.text=piece;
  164. _lblPiece.font=orderTextFont;
  165. [self.contentView addSubview:_lblPiece];
  166. }
  167. UILabel *lblRemarksTitle=[UILabel new];
  168. lblRemarksTitle.frame=CGRectMake(lblx, CGRectGetMaxY(lblBoxTitle.frame)+valuey,70, valueheight);
  169. lblRemarksTitle.text=@"备 注:";
  170. lblRemarksTitle.font=orderTextFont;
  171. lblRemarksTitle.textColor=LabelGrayTextColor;
  172. [self.contentView addSubview:lblRemarksTitle];
  173. NSString *remarks=_inventoryModel.remarks;
  174. _txtRemarks=[UITextField new];
  175. _txtRemarks.placeholder=@"请输入备注";
  176. _txtRemarks.tag=1003;
  177. _txtRemarks.delegate=self;
  178. _txtRemarks.enabled=YES;
  179. _txtRemarks.text=remarks;
  180. _txtRemarks.font=orderTextFont;
  181. _txtRemarks.frame=CGRectMake(CGRectGetMaxX(lblRemarksTitle.frame), CGRectGetMaxY(lblBoxTitle.frame)+valuey, Screen_Width-CGRectGetMaxX(lblRemarksTitle.frame)-3, valueheight);
  182. [self.contentView addSubview:_txtRemarks];
  183. UILabel *lblUsePositionTitle=[UILabel new];
  184. lblUsePositionTitle.frame=CGRectMake(lblx, CGRectGetMaxY(lblRemarksTitle.frame)+valuey,70, valueheight);
  185. lblUsePositionTitle.text=@"使用位置";
  186. lblUsePositionTitle.font=orderTextFont;
  187. lblUsePositionTitle.textColor=LabelGrayTextColor;
  188. [self.contentView addSubview:lblUsePositionTitle];
  189. NSString *usePosition=_inventoryModel.usePositionName;
  190. if(usePosition!=nil&&usePosition.length>0){
  191. [_btnUsePosition setTitle:usePosition forState:UIControlStateNormal];
  192. }
  193. _btnUsePosition=[UIButton buttonWithType:UIButtonTypeCustom];
  194. _btnUsePosition.frame=CGRectMake(CGRectGetMaxX(lblUsePositionTitle.frame), CGRectGetMaxY(lblRemarksTitle.frame)+valuey, Screen_Width/2-CGRectGetMaxX(lblUsePositionTitle.frame)-3, valueheight);
  195. [_btnUsePosition setTitleColor:LabelGrayTextColor forState:UIControlStateNormal];
  196. [_btnUsePosition setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];
  197. [_btnUsePosition addTarget:self action:@selector(clickUsePosition) forControlEvents:UIControlEventTouchUpInside];
  198. _btnUsePosition.userInteractionEnabled=YES;
  199. [_btnUsePosition setTitle:usePosition forState:UIControlStateNormal];
  200. _btnUsePosition.titleLabel.font=orderTextFont;
  201. [self.contentView addSubview:_btnUsePosition];
  202. UILabel *lblGradeTitle=[UILabel new];
  203. lblGradeTitle.frame=CGRectMake(Screen_Width/2, CGRectGetMaxY(lblRemarksTitle.frame)+valuey,70, valueheight);
  204. lblGradeTitle.text=@"等 级:";
  205. lblGradeTitle.font=orderTextFont;
  206. lblGradeTitle.textColor=LabelGrayTextColor;
  207. [self.contentView addSubview:lblGradeTitle];
  208. NSString *grade=_inventoryModel.gradeName;
  209. if(grade!=nil){
  210. _lblGrade=[UILabel new];
  211. _lblGrade.frame=CGRectMake(CGRectGetMaxX(lblGradeTitle.frame), CGRectGetMaxY(lblRemarksTitle.frame)+valuey,Screen_Width/2-lblGradeTitle.frame.size.width-3, valueheight);
  212. _lblGrade.text=grade;
  213. _lblGrade.font=orderTextFont;
  214. [self.contentView addSubview:_lblGrade];
  215. }
  216. _middleSeparator=[UIView new];
  217. _middleSeparator.frame=CGRectMake(0, CGRectGetMaxY(lblUsePositionTitle.frame)+valuey, Screen_Width, 1);
  218. _middleSeparator.backgroundColor=LineBackgroundColor;
  219. [self.contentView addSubview:_middleSeparator];
  220. NSString *markedPrice=_inventoryModel.markedPrice;
  221. if(markedPrice!=nil&&markedPrice.length>0){
  222. CGRect markPriceFrame = [markedPrice textRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT) attributes:orderDict];
  223. markPriceFrame.origin.x =Screen_Width-markPriceFrame.size.width-10;
  224. markPriceFrame.origin.y = CGRectGetMaxY(_middleSeparator.frame)+valuey;
  225. _lblMarkedPrice=[UILabel new];
  226. _lblMarkedPrice.frame=markPriceFrame;
  227. _lblMarkedPrice.font=orderTextFont;
  228. _lblMarkedPrice.text=markedPrice;
  229. _lblMarkedPrice.textColor=[UIColor redColor];
  230. [self.contentView addSubview:_lblMarkedPrice];
  231. }
  232. NSString *markedPriceTitle=@"标价:";
  233. CGRect markPriceTitleFrame = [markedPriceTitle textRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT) attributes:orderDict];
  234. markPriceTitleFrame.origin.x =CGRectGetMinX(_lblMarkedPrice.frame)-markPriceTitleFrame.size.width;
  235. markPriceTitleFrame.origin.y = CGRectGetMaxY(_middleSeparator.frame)+valuey;
  236. UILabel *lblMarkedPriceTitle=[UILabel new];
  237. lblMarkedPriceTitle.frame=markPriceTitleFrame;
  238. lblMarkedPriceTitle.text=markedPriceTitle;
  239. lblMarkedPriceTitle.font=orderTextFont;
  240. lblMarkedPriceTitle.textColor=[UIColor redColor];
  241. [self.contentView addSubview:lblMarkedPriceTitle];
  242. UIButton *substractButton=[UIButton buttonWithType:UIButtonTypeCustom];
  243. [substractButton setTitle:@"-" forState:UIControlStateNormal];
  244. [substractButton setTitleColor:[UIColor blackColor]forState:UIControlStateNormal];
  245. substractButton.frame=CGRectMake(Screen_Width-180,CGRectGetMaxY(lblMarkedPriceTitle.frame)+10,25,25);
  246. substractButton.layer.borderColor=LineBackgroundColor.CGColor;
  247. substractButton.layer.borderWidth=1.0;
  248. substractButton.userInteractionEnabled=YES;
  249. [substractButton addTarget:self action:@selector(substractQuantity) forControlEvents:UIControlEventTouchUpInside];
  250. [self.contentView addSubview:substractButton];
  251. _txtSalesQuantity=[UITextField new];
  252. _txtSalesQuantity.frame=CGRectMake(CGRectGetMaxX(substractButton.frame)-1,CGRectGetMaxY(lblMarkedPriceTitle.frame)+10,100,25);;
  253. _txtSalesQuantity.text=_inventoryModel.salesQuantity;
  254. _txtSalesQuantity.delegate=self;
  255. _txtSalesQuantity.enabled=YES;
  256. _txtSalesQuantity.keyboardType=UIKeyboardTypeDecimalPad;
  257. _txtSalesQuantity.layer.borderWidth=1.0f;
  258. _txtSalesQuantity.tag=1002;
  259. _txtSalesQuantity.textAlignment=NSTextAlignmentCenter;
  260. _txtSalesQuantity.layer.borderColor=LineBackgroundColor.CGColor;
  261. _txtSalesQuantity.font=orderTextFont;
  262. [self.contentView addSubview:_txtSalesQuantity];
  263. UIButton *addButton=[UIButton buttonWithType:UIButtonTypeCustom];
  264. [addButton setTitle:@"+" forState:UIControlStateNormal];
  265. [addButton setTitleColor:[UIColor blackColor]forState:UIControlStateNormal];
  266. addButton.frame=CGRectMake(CGRectGetMaxX(_txtSalesQuantity.frame)-1,CGRectGetMaxY(lblMarkedPriceTitle.frame)+10,25,25);;
  267. addButton.layer.borderColor=LineBackgroundColor.CGColor;
  268. addButton.layer.borderWidth=1.0;
  269. addButton.userInteractionEnabled=YES;
  270. [addButton addTarget:self action:@selector(addQuantity) forControlEvents:UIControlEventTouchUpInside];
  271. [self.contentView addSubview:addButton];
  272. UIView *bottomSeparator=[[UIView alloc]init];
  273. bottomSeparator.frame=CGRectMake(0,CGRectGetMaxY(substractButton.frame)+10,Screen_Width, 10);
  274. bottomSeparator.backgroundColor=LineBackgroundColor;
  275. [self.contentView addSubview:bottomSeparator];
  276. // 未完成状态,编辑状态商品,转销售或转采购数量>0,不能修改价格和删除;
  277. if(_editStatus==5){
  278. NSString *flag=_inventoryModel.flag;
  279. if([flag isEqualToString:@"2"]){
  280. if((_inventoryModel.toSalesQuantity!=nil&&[_inventoryModel.toSalesQuantity doubleValue]>0)||_inventoryModel.applyQuantity>0){
  281. _vDelete.userInteractionEnabled=NO;
  282. _txtSalesPrice.enabled=NO;
  283. }
  284. }
  285. }
  286. else if(_editStatus==7){
  287. _txtSalesQuantity.enabled=NO;
  288. substractButton.userInteractionEnabled=NO;
  289. addButton.userInteractionEnabled=NO;
  290. _btnUsePosition.userInteractionEnabled=NO;
  291. _txtSalesPrice.enabled=NO;
  292. _vDelete.userInteractionEnabled=NO;
  293. }
  294. else if(_editStatus==10){
  295. _txtSalesQuantity.enabled=NO;
  296. substractButton.userInteractionEnabled=NO;
  297. addButton.userInteractionEnabled=NO;
  298. _btnUsePosition.userInteractionEnabled=NO;
  299. _txtSalesPrice.enabled=NO;
  300. _txtRemarks.enabled=NO;
  301. _vDelete.userInteractionEnabled=NO;
  302. }
  303. // 确定状态,编辑状态商品,转采购数量>0,不能修改价格和删除;
  304. else if(_editStatus==4){
  305. NSString *flag=_inventoryModel.flag;
  306. if([flag isEqualToString:@"2"]){
  307. if(_inventoryModel.applyQuantity>0){
  308. _vDelete.userInteractionEnabled=NO;
  309. _txtSalesPrice.enabled=NO;
  310. }
  311. }
  312. }
  313. NSString *promotionTypeDetailId=[_inventoryModel promotionTypeDetailId];
  314. if(promotionTypeDetailId!=nil&&promotionTypeDetailId.length>0)
  315. {
  316. if([promotionTypeDetailId intValue]==3)
  317. {
  318. addButton.enabled=NO;
  319. substractButton.enabled=NO;
  320. _txtSalesQuantity.enabled=NO;
  321. _vDelete.userInteractionEnabled=NO;
  322. }
  323. }
  324. }
  325. -(void)deleteOrder{
  326. if([self.orderDelegate respondsToSelector:@selector(deleteOrderDetail:)])
  327. {
  328. [self.orderDelegate deleteOrderDetail:_cellIndex];
  329. }
  330. }
  331. #pragma mark - 委托函数
  332. - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
  333. NSMutableString *futureString = [NSMutableString stringWithString:textField.text];
  334. [futureString insertString:string atIndex:range.location];
  335. if(textField == _txtSalesPrice)
  336. {
  337. NSInteger flag = 0;
  338. const NSInteger limited = 4;
  339. for (NSInteger i = futureString.length - 1; i >= 0; i--) {
  340. if ([futureString characterAtIndex:i] == '.') {
  341. // 如果大于了限制的就提示
  342. if (flag > limited) {
  343. return NO;
  344. }
  345. break;
  346. }
  347. flag++;
  348. }
  349. }
  350. return YES;
  351. }
  352. /**
  353. textField失去焦点回调函数
  354. */
  355. - (void) textFieldDidEndEditing:(UITextField *) field
  356. {
  357. [self endEditing:YES];
  358. if(field.tag==1002){
  359. NSString *salesQuantity=field.text;
  360. if(salesQuantity==nil||[salesQuantity isEqualToString:@""]){
  361. salesQuantity=@"1.0";
  362. }
  363. else{
  364. if([salesQuantity isEqualToString:@"."]){
  365. return;
  366. }
  367. NSInteger circulateType=_inventoryModel.circulateType;
  368. NSString *decimalPlaces=_inventoryModel.decimalPlaces;
  369. double acreage=_inventoryModel.acreage;
  370. OrderQuantity *quantity=[OrderQuantity new];
  371. salesQuantity= [quantity calculateNewOrderDetailQuantity:circulateType decimalPlaces:decimalPlaces quantity:salesQuantity acreage:acreage];
  372. OrderQuantity *orderQuantity=[OrderQuantity new];
  373. [orderQuantity setSalesOrderDetailBoxAndPiece:[_inventoryModel.salesQuantity intValue] inventoryModel:_inventoryModel];
  374. _inventoryModel.salesQuantity=salesQuantity;
  375. _txtSalesQuantity.text=_inventoryModel.salesQuantity;
  376. }
  377. }
  378. else if(field.tag==1003){
  379. NSString *remarks=field.text;
  380. if(remarks==nil){
  381. remarks=@"";
  382. }
  383. _inventoryModel.remarks=remarks;
  384. }
  385. if([self.orderDelegate respondsToSelector:@selector(updateNewOrderGoodsDetail:textField:)])
  386. {
  387. [self.orderDelegate updateNewOrderGiftDetail:self textField:field];
  388. }
  389. }
  390. -(void)addQuantity{
  391. [self endEditing:YES];
  392. NSString *salesQuantity= _txtSalesQuantity.text;
  393. if(salesQuantity!=nil){
  394. if([salesQuantity isEqualToString:@"."]){
  395. return;
  396. }
  397. double quan=[salesQuantity doubleValue];
  398. NSInteger circulateType= _inventoryModel.circulateType;
  399. NSString *decimalPlaces=_inventoryModel.decimalPlaces;
  400. double acreage=_inventoryModel.acreage;
  401. if(circulateType==2){
  402. if([self.orderDelegate respondsToSelector:@selector(showNewOrderDetailError:)])
  403. {
  404. [self.orderDelegate showNewOrderDetailError:@"请手动输入商品数量"];
  405. return;
  406. }
  407. }
  408. ++quan;
  409. salesQuantity=[NSString stringWithFormat:@"%lf",quan];
  410. OrderQuantity *quantity=[OrderQuantity new];
  411. salesQuantity= [quantity calculateNewOrderDetailQuantity:circulateType decimalPlaces:decimalPlaces quantity:salesQuantity acreage:acreage];
  412. int salesQuantityVal=(int)[salesQuantity doubleValue];
  413. salesQuantity=[NSString stringWithFormat:@"%d",salesQuantityVal];
  414. _inventoryModel.salesQuantity=salesQuantity;
  415. _txtSalesQuantity.text= _inventoryModel.salesQuantity;
  416. if([self.orderDelegate respondsToSelector:@selector(updateNewOrderGoodsDetail:textField:)])
  417. {
  418. [self.orderDelegate updateNewOrderGoodsDetail:self textField:_txtSalesQuantity];
  419. }
  420. }
  421. }
  422. -(void)substractQuantity{
  423. [self endEditing:YES];
  424. NSString *salesQuantity= _txtSalesQuantity.text;
  425. if(salesQuantity!=nil){
  426. if([salesQuantity isEqualToString:@"."]){
  427. return;
  428. }
  429. double quan=[salesQuantity doubleValue];
  430. NSInteger circulateType= _inventoryModel.circulateType;
  431. NSString *decimalPlaces=_inventoryModel.decimalPlaces;
  432. double acreage=_inventoryModel.acreage;
  433. if(circulateType==2){
  434. if([self.orderDelegate respondsToSelector:@selector(showNewOrderDetailError:)])
  435. {
  436. [self.orderDelegate showNewOrderDetailError:@"请手动输入商品数量"];
  437. return;
  438. }
  439. }
  440. --quan;
  441. if(quan<0){
  442. quan=0;
  443. }
  444. salesQuantity=[NSString stringWithFormat:@"%lf",quan];
  445. OrderQuantity *quantity=[OrderQuantity new];
  446. salesQuantity= [quantity calculateNewOrderDetailQuantity:circulateType decimalPlaces:decimalPlaces quantity:salesQuantity acreage:acreage];
  447. int salesQuantityVal=(int)[salesQuantity doubleValue];
  448. salesQuantity=[NSString stringWithFormat:@"%d",salesQuantityVal];
  449. _inventoryModel.salesQuantity=salesQuantity;
  450. _txtSalesQuantity.text= _inventoryModel.salesQuantity;
  451. if([self.orderDelegate respondsToSelector:@selector(updateNewOrderGoodsDetail:textField:)])
  452. {
  453. [self.orderDelegate updateNewOrderGoodsDetail:self textField:_txtSalesQuantity];
  454. }
  455. }
  456. }
  457. -(void)clickUsePosition{
  458. if([self.orderDelegate respondsToSelector:@selector(goUsePosition:)])
  459. {
  460. [self.orderDelegate goUsePosition:_cellIndex];
  461. }
  462. }
  463. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  464. [super setSelected:selected animated:animated];
  465. }
  466. @end