Virtonomica:Групповое качество

Позволяет массово устанавливать на складе минимальный уровень качеста у определённой группы закупаемых товаров.

当前为 2017-10-24 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name Virtonomica:Групповое качество
// @namespace      virtonomica
// @author         Незнайка Незнаев
// @version        1.0
// @description    Позволяет массово устанавливать на складе минимальный уровень качеста у определённой группы закупаемых товаров.
// @include        http*://*virtonomic*.*/*/main/unit/view/*/supply
// @grant none
// ==/UserScript==

var run = function() {
  var win = (typeof(unsafeWindow) != 'undefined' ? unsafeWindow : top.window);
  $ = win.$;
  
//=============================================================================================================  
///////////////////////////////////////////////////////////////////////////
		//function getType()
		//возвращает тип в виде строки  (по изображению)
		/////////////////////////////////////////////////////////////////////////////
		function get_Type_Podrazd(){
			
      var Type_Podrazd =  $('.tabu li:eq(1)').text();
      
			if(Type_Podrazd=='') return 'unknown';
			
			Type_Podrazd = Type_Podrazd.match(/[А-я]*[а-я]/);
      
      return Type_Podrazd;
		}//end getType()
		///////////////////////////////////////////////////////////////////////////  
//=============================================================================================================
/////////////////////////////////////////////////////////////////////////////
//вывод окна установки общего качества
  function show_quality_form_all(item, obrazec)
  {
  	var quality_fild = $(item).parent().children('input');
	  var coords = $(item).position();
	  var bbb;
	  var NumTmpVal;
	  var TmpVal;
    var form = $('.ord_constraint_quality');

	  var inputs = $(form.children('input'));

	  $(inputs[0]).attr("value", $(quality_fild).attr("value"));

	  $(inputs[1]).unbind();
	  $(inputs[1]).click(function(){
      
		  var val = parseFloat($(inputs[0]).attr("value"));
		  val = isNaN(val) ? 0 : (val < 1 ? 0 : val);// если значение цифровое и больше 1, то присваиваем его переменной
		  $(quality_fild).attr("value", val);
		  $(item).text(val ? val : '=');// если значение больше 1, то отображаем его, в противном случае выводим '='
		  $(this).parent().css({display:"none"});
		  
		  $('table.list tr:gt(0)').each(function () {

	      var Tip_Classa = $(this);	      
			  var flag = 0;
			  
			  if (Tip_Classa.hasClass("p_title")){
			  
				  TmpVal = $('td', this).slice(-3,-2).text();
				  NumTmpVal = parseFloat($('td', this).slice(-3,-2).text());

			  }//end if (aaa.hasClass("p_title"))

			  if (Tip_Classa.hasClass(obrazec)){	
				  var znachenie = $('td', this).slice(-3,-2).text();				

				  if (znachenie != TmpVal){ 					

				    var tag_a = $('td', this).slice(-3,-2).find('a');

				    tag_a.text(TmpVal);

				    var inp = $("input[name^='supplyContractData']:eq(5)", this);

				    inp.val(NumTmpVal);
					
          }
        }
		  });//end $('table.list tr:gt(0):has(.p_title)').each
		
	  });//end $(inputs[1]).click
    
    $(inputs[2]).unbind();
	  $(inputs[2]).click(function(){
      
		  $(this).parent().css({display:"none"});
	  });

	  form.css({left:coords.left+15, top:coords.top+15, display:"block"});		

	  return false;	   
    
  }
//=============================================================================================================
/////////////////////////////////////////////////////////////////////////////  
// Проверим, что это склад
// 
  var Type_Podrazd =  get_Type_Podrazd();
  //alert(Type_Podrazd);
  
  if ( Type_Podrazd == 'Склад') {
	  // кнопка
	   var input_all = $('<button id=b2>Склад</button>').click(function(){});		
	  
	  var Tip_Produkta;	  
	  var container = $('#topblock');
	  container.append( $('<table><tr>').append('<td>').append(input_all).append('<td>').append('<td><span id=allquality style="color:yellow"></span>')  );
    	
    $('table.list tr:gt(0)').each(function () {
	
	    var Tip_Classa = $(this);	    
	    if (Tip_Classa.hasClass("p_title")){
		   
		    Tip_Produkta = $('strong', this).slice(0,1).text();
		    $('strong', this).slice(0,1).addClass("tip");
		    //alert(Tip_Produkta);		
    
		    $('td:gt(0)', this).slice(-3,-2).addClass("num");		   
	      $('td:gt(0)', this).slice(-3,-2).append($('<br><a href="#" onclick="show_quality_form_all(this); return false;">=</a>').click(function () {
         
			    Tip_Produkta = $(this).parent().parent().find(".tip").text();			   
	        show_quality_form_all(this, Tip_Produkta); return false;
        }));		
				
	    }//end if (aaa.hasClass("p_title"))
	
	    if (Tip_Classa.hasClass("odd") || Tip_Classa.hasClass("even")){
			  Tip_Classa.addClass(Tip_Produkta);	
			  
	    }//end 	if ((aaa.hasClass("odd")
	
    });//end $('table.list tr:gt(0):has(.p_title)').each

  }//это склад


};

    var script = document.createElement("script");
    script.textContent = '(' + run.toString() + ')();';
    document.documentElement.appendChild(script);