CommonEditorViewController.h 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. //
  2. // CommonEditorViewController.h
  3. // RedAnt ERP Mobile
  4. //
  5. // Created by Ray on 14-7-16.
  6. // Copyright (c) 2014年 United Software Applications, Inc. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. #import "SignatureViewController.h"
  10. #import "EnumSelectViewController.h"
  11. #import "MonthPickerViewController.h"
  12. #import "CommonEditorTableContainerView.h"
  13. #import "CommonEditorAutoCompleteView.h"
  14. #import "RADataProvider.h"
  15. @interface subitem_data : NSObject
  16. @property (strong, nonatomic) NSMutableDictionary *params;
  17. @property (strong,nonatomic) NSMutableArray * missingfields;
  18. @end
  19. @class CommonEditorViewController;
  20. @protocol CommonEditorViewControllerDelegate <NSObject>
  21. -(void) returnValue:(NSMutableDictionary *)value indexPath :(NSIndexPath*) indexPath;
  22. @end
  23. @interface CommonEditorViewController : UIViewController<AutoCompleteDataSource,UITableViewDataSource,UITableViewDelegate,UITextFieldDelegate,MonthPickerViewControllerDelegate/*,SignatureViewControllerDelegate*/,EnumSelectViewControllerDelegate,CommonEditorViewControllerDelegate,UITextViewDelegate/*,UIAlertViewDelegate*/>
  24. @property (strong,nonatomic) NSMutableDictionary* content_data_download;
  25. @property (strong,nonatomic) NSMutableDictionary* changed_data;
  26. @property (strong,nonatomic) CommonEditorAutoCompleteView * autocompleteView;
  27. @property (strong,nonatomic) NSMutableArray* content_data_control;
  28. @property (strong,nonatomic) NSArray* injectMenu;
  29. @property int url_type;
  30. @property (strong,nonatomic) NSString* request_url;
  31. //@property (strong,nonatomic) NSString* data_url;
  32. //@property bool data_separate;
  33. @property (strong,nonatomic) NSMutableDictionary* params;
  34. @property (strong,nonatomic) NSString* item_ids;
  35. @property (strong,nonatomic) NSString* product_ids;
  36. @property (strong, nonatomic) IBOutlet UITableView *editorTable;
  37. @property (nonatomic, weak) id<CommonEditorViewControllerDelegate> delegate;
  38. @property (nonatomic , copy) void (^returnValue)(NSMutableDictionary* value);
  39. @property (strong,nonatomic) UITextField* lastedit;
  40. @property (strong,nonatomic) NSIndexPath* lastedit_from;
  41. @property (strong,nonatomic) UITextView* lasttextview;
  42. @property (strong,nonatomic) NSIndexPath* lasttextview_from;
  43. @property (strong,nonatomic) UITableViewCell* editingcell;
  44. @property bool cancommit;
  45. @property bool local_store;
  46. @property bool resize;
  47. @property int ioffset;
  48. @property int keyboard_h;
  49. @property (strong,nonatomic) UIAlertController* alert;
  50. @property (strong,nonatomic) NSMutableDictionary* requried;
  51. //@property (strong,nonatomic) NSLock *switchlock ;
  52. @property (strong,nonatomic) NSIndexPath* first_miss_pos;
  53. //@property (strong,nonatomic) NSMutableDictionary* data_init;
  54. -(void) commonAction:(NSString *)value index:(NSIndexPath*) indexPath data:(NSMutableDictionary*) item_json;
  55. -(void) prepareReturn:(NSMutableDictionary*) value;
  56. -(NSMutableArray*) translate_json: (NSDictionary*) injson changed:(NSDictionary*) changed_value;
  57. //-(NSMutableDictionary*)create_cusromer_info_from_table;
  58. @property (strong,nonatomic) NSIndexPath* from;
  59. -(subitem_data*) subitem_param:(NSDictionary*) itemjson addto:(NSMutableDictionary*) upparam alert:(bool)alert;
  60. -(NSMutableDictionary*) check_cancommit:(bool) alert;
  61. -(NSString*) getValue:(NSString*)name;
  62. -(void) download_success;
  63. @property bool keyboard_show;
  64. - (void)download_failed;
  65. //禁止下拉刷新
  66. @property bool disable_dropdown_refresh;
  67. @property (strong,nonatomic) NSString* loading_msg;
  68. @property (strong,nonatomic) NSString* loading_title;
  69. //-(NSMutableDictionary*) translate_json: (NSDictionary*) injson;
  70. //control cell event;
  71. - (id)downloadValueForKey:(NSString *)key_name;
  72. @property (nonatomic,assign) BOOL editable;
  73. //URL_LOCAL 表单填充函数
  74. - (void) request_fill;
  75. @property (strong,nonatomic) NSMutableDictionary* data_init;
  76. // Public
  77. //-(NSMutableDictionary*)create_value_map:(NSDictionary*)key_map;
  78. -(NSMutableDictionary*) fill_switch_subitem:(NSMutableDictionary *) switch_item subid:(NSArray*) subid source:(NSMutableDictionary*)source mapping:(NSDictionary*)mapping;
  79. -(NSMutableDictionary*) fill_enum_subitem:(NSMutableDictionary *) enum_item subid:(NSArray*) subid source:(NSMutableDictionary*)source mapping:(NSDictionary*)mapping;
  80. //-(void) refresh1:(NSString*) trigger;
  81. -(void) refresh:(NSString*) trigger discardDirty:(bool) discardDirty;
  82. -(void) handle_action_return:(NSMutableDictionary *)value indexPath :(NSIndexPath*) indexPath action:(int) action_code;
  83. // Urgency
  84. @property (nonatomic,copy) NSString *class_name;
  85. @property (nonatomic,copy) NSString *urgency_timer_name;
  86. @property (nonatomic,assign) int level;///<CommonEditor窗口层级
  87. #pragma mark - Code TableView Constraint
  88. @property (nonatomic,strong) NSLayoutConstraint *tb_top_constraint;
  89. @property (nonatomic,strong) NSLayoutConstraint *tb_left_constraint;
  90. @property (nonatomic,strong) NSLayoutConstraint *tb_bottom_constraint;
  91. @property (nonatomic,strong) NSLayoutConstraint *tb_right_constraint;
  92. #pragma mark - ==========================
  93. @property (nonatomic,strong) IBOutlet CommonEditorTableContainerView *tableContainer;
  94. //#pragma mark - request Editor
  95. //-(void)request_Editor:(NSString*) request_url params:(NSMutableDictionary*)params completionHandler:(resultHandler)result;
  96. // plae order 有调用
  97. -(NSMutableDictionary*) enum_subitem_changed:(NSMutableDictionary *) item subid:(NSArray*) subid value:(NSMutableDictionary*)value step:(int) step;
  98. #pragma mark 为子类暴露的接口
  99. -(void) handle_editor_cell_select:(UITableView *)tableView IndexPath:(NSIndexPath *)indexPath;
  100. @end