template_usercpshopcategory.js
上传用户:wenllgg125
上传日期:2020-04-09
资源大小:7277k
文件大小:8k
源码类别:

SCSI/ASPI

开发平台:

Others

  1. var treeID = null;
  2. function tree(treeID,treeNodes,funName){
  3. var treeType = 0;
  4. var layer = 0;
  5. var parentidlist = '';
  6. var title = '';
  7. var lastDiv = null;
  8. this.id = treeID;
  9. this.drag = false;
  10. this.dragObj = null;
  11. this.oldClass = '';
  12. this.treeType = 0;
  13. this.layer = 0;
  14. this.parentidlist = '';
  15. this.title = '';
  16. this.lastDiv = null
  17. this.getPos=function(el,sProp){
  18. var iPos = 0;
  19. while (el!=null) {
  20. iPos+=el['offset' + sProp];
  21. el = el.offsetParent;
  22. }
  23. return iPos;
  24. }
  25. this.getETarget = function(e) {
  26. if (!e){
  27.     return null;
  28. }
  29. if (!e.srcElement && !e.target){
  30.     return null;
  31. }
  32. obj = e.srcElement ? e.srcElement : e.target;
  33. if (obj == null){
  34.     return null
  35. };
  36. while (obj.getAttribute('treetype') == null && obj.tagName != 'BODY' && obj.tagName != 'HTML'){
  37. obj = obj.parentNode;
  38. if(obj == null){
  39.     break;
  40. }
  41. }
  42. return obj;
  43. }
  44. //鼠标按下
  45. this.onmousedown = function(e){
  46. if (!e){return false;}
  47. if (this.dragObj){
  48. this.dragObj.className = 'treenode_noselected';
  49. }
  50. this.dragObj = this.getETarget(e);
  51. if (!this.dragObj){return;}
  52. if (!this.dragObj.getAttribute('treetype')){return;}
  53. var mX = e.x ? e.x : e.pageX;
  54. var mY = e.y ? e.y : e.pageY;
  55. this.drag = true;
  56. this.dragObj.className = 'treenode_selected';
  57. this.oldClass = 'treenode_selected';
  58. var innerHTML = this.dragObj.innerHTML;
  59. innerHTML = innerHTML.substring(0, innerHTML.toLowerCase().indexOf('maxlength') +50);
  60.        
  61. this.ShowMove(mX, mY, innerHTML);
  62. treeID = this;
  63. //document.onmousedown = function(){return false};
  64. document.onmousemove = function(e){
  65. if (tree==null){
  66. return;
  67. }
  68. treeID.document_onmousemove(e);
  69. }
  70. };
  71. this.onmouseup = function(e){this.document_onmouseup(e)};
  72. this.onmouseover = function(e){
  73. if (this.drag){
  74. this.oldClass = this.getETarget(e).className;
  75. if (this.getETarget(e).getAttribute('treeType')==1){
  76. this.getETarget(e).className = 'treenode_over';
  77. }
  78. else{
  79. this.getETarget(e).className = 'treenode_0_over';
  80. }
  81. }
  82. var mX = e.x ? e.x : e.pageX;
  83. var mY = e.y ? e.y : e.pageY;
  84. };
  85. this.onmouseout = function(e){
  86. if (this.drag){
  87. this.getETarget(e).className = this.oldClass;
  88. if (this.dragObj.id == this.getETarget(e).id){
  89. this.findObj(this.id + '_treenode_move').style.display = 'block';
  90. }
  91. }
  92. };
  93. this.init = function(){
  94. var outputhtml = 'n<div id="' + this.id + '_control" class="contral">';
  95. outputhtml += 'n<div id = "' + this.id + '_treenode_move" class="treenode_move"></div>';
  96. outputhtml += 'n<div id = "' + this.id + '_line"></div>';
  97. outputhtml += 'n<div class="treenode_0" style="display:none;" id = "' + this.id + '_treenode_0" onmouseup="' + this.id + '.onmouseup(event);" onmouseover="' + this.id + '.onmouseover(event)" onmouseout="' + this.id + '.onmouseout(event)"></div>';
  98. outputhtml += 'n<div class="treenode_1" style="display:none;" id = "' + this.id + '_treenode" onmousedown="' + this.id + '.onmousedown(event);" onmouseup="' + this.id + '.onmouseup(event);" onmouseover="' + this.id + '.onmouseover(event)" onmouseout="' + this.id + '.onmouseout(event)"></div>';
  99. for(i=0;i<treeNodes.length;i++){
  100. outputhtml += 'n<div class="treenode_0_noselected" id = "' + this.id + '_treenode' + i + '_0" index="' + i + '" treetype="0" ';
  101. outputhtml += 'onmouseup="' + this.id + '.onmouseup(event);" onmouseover="' + this.id + '.onmouseover(event)" onmouseout="' + this.id + '.onmouseout(event)">';
  102.      outputhtml += '</div>';
  103. outputhtml += 'n<div class="treenode_noselected" id = "' + this.id + '_treenode' + i + '" index="' + i + '" treetype="1" onmousedown="' + this.id + '.onmousedown(event);" onmouseup="' + this.id + '.onmouseup(event);" onmouseover="' + this.id + '.onmouseover(event)" onmouseout="' + this.id + '.onmouseout(event)">';
  104. if(treeNodes[i].parentid ==0) {
  105.      outputhtml += '<img src="admin/images/exp.gif">'; 
  106. }
  107. else {
  108.      for(j = 0; j < parseInt(treeNodes[i].layer); j++) {
  109.         outputhtml += '&nbsp;&nbsp;&nbsp;&nbsp;';
  110.      }
  111.      outputhtml += '<img src="admin/images/cal_nextMonth.gif"> ';
  112. }
  113. outputhtml += '<input type="text" value="'+treeNodes[i].name+'" size="20" id="categoryname_'+ treeNodes[i].categoryid +'" onChange="$('editcategoryname').value=this.value;" onfocus="$('editcategoryname').value=this.value;" maxlength="50">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#" class="TopicButton" type="button" onclick="javascript:$('operation').value='edit';$('categoryid').value='+ treeNodes[i].categoryid +';$('shopcategorysubmit').click();"><img src="admin/images/submit.gif"/>确定修改</a><a href="#" class="TopicButton" type="button" onclick="javascript:if(confirm('您要删除该项吗?')){$('operation').value='delete';$('categoryid').value='+ treeNodes[i].categoryid +';$('shopcategorysubmit').click();}"><img src="admin/images/del.gif" />删除</a>';
  114. if(treeNodes[i].childcount == 0) {
  115.     outputhtml +='<a href="#" class="TopicButton" type="button" onclick="javascript:window.location='usercpshopgoodsmanage.aspx?item=shopcategory&shopgoodscategoryid='+treeNodes[i].categoryid+'';">商品列表<img src="admin/images/selector.gif" /></a></div>';
  116. }
  117. else {
  118.     outputhtml +='</div>';
  119. }
  120. }
  121. outputhtml += 'n</div>';
  122.     $('treecategory').innerHTML = outputhtml;
  123. }
  124. this.findObj = function(objname){
  125. if (document.getElementById(objname)){
  126. return document.getElementById(objname);
  127. }
  128. else if(document.getElementsByName(objname)){
  129. return document.getElementsByName(objname)
  130. }
  131. else{
  132. return null;
  133. }
  134. }
  135. this.HideMove = function(){
  136. if (this.findObj(this.id + '_treenode_move').style.display!='none'){
  137. this.findObj(this.id + '_treenode_move').style.display='none';
  138. }
  139. }
  140. this.ShowMove = function(mX ,mY,innerHTML){
  141.     
  142. this.findObj(this.id + '_treenode_move').innerHTML = innerHTML;
  143. this.findObj(this.id + '_treenode_move').style.left =(mX + 10) + 'px';
  144. this.findObj(this.id + '_treenode_move').style.top = (mY) + 'px';
  145. }
  146. this.SetMove = function(e,mX,mY){
  147. this.findObj(this.id + '_treenode_move').style.left =(mX + 10) + 'px';
  148. this.findObj(this.id + '_treenode_move').style.top = (mY) + 'px';
  149. }
  150. this.document_onmouseup = function(e){
  151. if (this.drag){
  152. this.drag = false;
  153. try{
  154. this.getETarget(e).className = this.oldClass;
  155. index = this.getETarget(e).getAttribute('index');
  156. eval(funName+ '(treeNodes[index],treeNodes[this.dragObj.getAttribute("index")],this.getETarget(e).getAttribute("treetype"))');
  157. }
  158. catch(e){}
  159. this.HideMove();
  160. treeID = null;
  161. document.onmousedown = function(){return true};
  162. document.onmousemove = function(){null;};
  163. }
  164. }
  165. document.onmouseup = new Function(this.id + '.document_onmouseup();');
  166. this.document_onmousemove = function(e){
  167. e= e ? e : window.event;
  168. var mX = e.x ? e.x : e.pageX;
  169. var mY = e.y ? e.y : e.pageY;
  170. this.SetMove(e,mX,mY);
  171. }
  172.     this.document_onselectstart = function(){
  173.     return !this.drag;
  174. }
  175.     document.onselectstart = new Function('return ' + this.id + '.document_onselectstart ();');
  176.     
  177. this.init();
  178. }
  179.  
  180. function reSetTree(targetnode,sourcenode,treetype){
  181.     if(targetnode.categoryid!=sourcenode.categoryid) { 
  182.        var message='您是否要将分类"'+sourcenode.name+'"称动到分类"'+targetnode.name+'"';
  183.        if(treetype==1) {
  184.            message+='下吗 ?';
  185.        }
  186.        else {
  187.        message+='之前吗 ?';
  188.        }
  189.   
  190.        if(confirm(message)) {
  191.           var objnparentidlist=','+targetnode.parentidlist+',';
  192.           if(objnparentidlist.indexOf(','+sourcenode.categoryid+',')<0) {
  193.                $('targetcategoryid').value = targetnode.categoryid;
  194.                $('categoryid').value = sourcenode.categoryid;
  195.                $('isaschildnode').value = treetype;
  196.                $('operation').value = "move";
  197.                $('shopcategorysubmit').click();
  198.           }
  199.           else {
  200.              alert('不能将当前分类移动到其子分类');
  201.           }
  202.        }
  203.     }
  204. }
  205. //function initcategory() {
  206. //    $('selectcategoryid').options.length = cats.length; 
  207. //    for(var i in cats) {
  208. //        spacechar = '';
  209. //        for(j = 0; j < cats[i].layer; j++) {
  210. //            spacechar = spacechar + ' ';
  211. //        }
  212. //        $("selectcategoryid").options[i] = new Option(spacechar + cats[i].name, cats[i].categoryid);
  213. //    }
  214. //}