ImageSlider.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. /**
  2. * 图片缩略滑动模块
  3. */
  4. function ImageSlider(){}
  5. ImageSlider.prototype = {
  6. construct: ImageSlider,
  7. init: function(){
  8. var self = this;
  9. $('.imageSlider').delegate('.imageSliderItem','click',function(){
  10. var sdzlmxid = $(this).attr('data-key');
  11. eventProxy.emit('收单资料明细选中',{
  12. sdzlmxid: sdzlmxid,
  13. displayType: buttonGroup.getDisplayType()
  14. });
  15. });
  16. $('.imageSlider').delegate('.imageSliderItem','mouseenter',function(){
  17. $(this).addClass('hover');
  18. });
  19. $('.imageSlider').delegate('.imageSliderItem','mouseleave',function(){
  20. $(this).removeClass('hover');
  21. });
  22. eventProxy.on('收单资料明细选中',function(data){
  23. var sdzlmxid = data['sdzlmxid'];
  24. var displayType = data['displayType'];
  25. self.selectById(sdzlmxid,displayType);
  26. });
  27. eventProxy.on('收单资料选中',function(data){
  28. var sdzlid = data['sdzlid'];
  29. dataUtil.querySdzl(sdzlid,function(data){
  30. var sdzlmxList = data['sdzlmxList'];
  31. var itemList = new Array();
  32. var imageFilePath = "/web/imageEntry?sdzlmxid=";
  33. for(var i=0;i<sdzlmxList.length;i++){
  34. var sdzlmx = sdzlmxList[i];
  35. itemList.push({
  36. key: sdzlmx['sdzlmxid'],
  37. value: imageFilePath+sdzlmx['sdzlmxid']
  38. });
  39. }
  40. self.load(itemList);
  41. self.flush();
  42. });
  43. });
  44. eventProxy.on('本地上传完成',function(data){
  45. var sdzlid = menuTree.getSelectedItem()['key'];
  46. dataUtil.querySdzl(sdzlid,function(data){
  47. var sdzlmxList = data['sdzlmxList'];
  48. var itemList = new Array();
  49. var imageFilePath = "/web/imageEntry?sdzlmxid=";
  50. for(var i=0;i<sdzlmxList.length;i++){
  51. var sdzlmx = sdzlmxList[i];
  52. itemList.push({
  53. key: sdzlmx['sdzlmxid'],
  54. value: imageFilePath+sdzlmx['sdzlmxid']
  55. });
  56. }
  57. self.load(itemList);
  58. self.flush();
  59. });
  60. });
  61. },
  62. /**
  63. * 读取图片列表
  64. * @param itemList
  65. */
  66. load: function(itemList){
  67. this._itemList = itemList;
  68. },
  69. /**
  70. * 渲染界面
  71. */
  72. flush: function(){
  73. $('.imageSlider').empty();
  74. var itemList = this._itemList;
  75. for(var i=0;i<itemList.length;i++){
  76. var item = itemList[i];
  77. var key = item['key'];
  78. var value = item['value'];
  79. var element = '<li data-key="'+key+'" class="imageSliderItem"><img class="lazy" style="width:100px;height:100px;" data-original="'+value+'" /><span style="display: block;text-align: center;">'+(i+1)+'</span></li>';
  80. $('.imageSlider').append(element);
  81. }
  82. $(".imageSlider img.lazy").lazyload({
  83. threshold: 200,
  84. container: $('.imageSlider')
  85. });
  86. },
  87. /**
  88. * 选择图片(通过ID)
  89. * @param id
  90. * @param displayStyle
  91. */
  92. selectById: function(id,displayStyle){
  93. var itemList= this._itemList;
  94. for(var i=0;i<itemList.length;i++){
  95. var item = itemList[i];
  96. var key = item['key'];
  97. var value = item['value'];
  98. if(id == key){
  99. $('.imageSliderItem[data-key="'+id+'"]').addClass('selected').siblings().removeClass('selected');
  100. this._curItem = item;
  101. break;
  102. }
  103. }
  104. },
  105. /**
  106. * 选择图片(通过序号)
  107. * @param index
  108. * @param displayStyle
  109. */
  110. selectByIndex: function(index,displayStyle){
  111. },
  112. /**
  113. * 获取当前选中图片
  114. */
  115. getSelectedItem: function(){
  116. return this._curItem;
  117. }
  118. };
  119. var imageSlider = new ImageSlider();