iks: virtonomica оптовое строительство

Автоматический запуск постройки нескольких подразделений одного типа, кроме офисов

目前為 2015-04-29 提交的版本,檢視 最新版本

// ==UserScript==
// @name        iks: virtonomica оптовое строительство
// @namespace   virtonomica
// @description Автоматический запуск постройки нескольких подразделений одного типа, кроме офисов
// @include     http://*virtonomica*.*/*/main/unit/create/*
// @include     http://*virtonomica*.*/*/main/unit/view/*
// @include     http://*virtonomica*.*/*/main/company/view/*/*
// @version     1.19
// @grant       none
// ==/UserScript==

var r = function() {
  var cooki = getCookie("createUnit");
  o = {};
  timeUpClik = 1000; // данное значение актуально если ниже по скрипту вы измените время ожидания клика для перехода на следующую страницу
  
  if (cooki) {
    var arr = cooki.split('&');
    for(var i in arr) {
      var ar = arr[i].split('=');
      o[ar[0]] = ar[1];
    }
    var n = parseInt(o["numUnit"]);
    if(n>0) {
      var prov = 1;
      $("input:radio").each( function() {
        if ( o[ $(this).attr('name') ] ) {
          if ( $(this).val() == o[ $(this).attr('name') ] ) {
            prov = 0;
            $.when(this).then(function(id){
              $(id).prop('checked','checked');
            }).then(function(id){
              $('input:submit[value="Продолжить >"]').click();
//              setTimeout( function(){ $('input:submit[value="Продолжить >"]').click(); }, timeUpClik);
            });
          }
        } else if( window.location.href.indexOf('/main/unit/create/') + 1 ) deleteCookie("createUnit");
      });

      $('input:submit[value="Создать подразделение"]').each( function() {
        prov = 0;
        o["numUnit"] = n - 1;
        setCookie("createUnit");
        $("div#mainContent > table > tbody > tr > td > form > table.list").append('<th>Количество подразделений</th><td style="color:blue">&nbsp;<b>' + n + '</b></td>');
        // если вы хотите подтверждать вручную создание подразделений
        // при последней стадии то заблокируйте строку ниже $(this).click();
        // поставив перед ней две косые //
        $(this).click();
//        setTimeout( $(this).click(), timeUpClik);
      });
      
      $('a:contains("Создать")').each(function() {
        prov = 0;
        this.click();
//        setTimeout( this.click(), timeUpClik);
      });
      if ( prov > 0 ) $('a:contains("Предприятия")').each(function() {
        this.click();
//        setTimeout( this.click(), timeUpClik);
      });
      
    } else {
      deleteCookie("createUnit");
      $('a:contains("Строящиеся")').each(function() {
        this.click();
//        setTimeout( this.click(), timeUpClik);
      });
    }
  } else {
    // Запомним параметры создаваемых подразделений
    cooki = getCookie("newUnit");
    if (cooki) {
      var arr = cooki.split('&');
      for(var i in arr) {
        var ar = arr[i].split('=');
        o[ar[0]] = ar[1];
      }
    }
    
    $("td:contains('образованности')").next().each(function() {
      $('div#mainContent > table > tbody > tr > td > form > table.list > tbody > tr').each(function() {
        if( $(this).find('td > input:radio') ) {
          var n = parseFloat( $(this).find('td:nth-child(4)').html() );
          if(n>0){
            var n1 = $(this).find('td:nth-child(5)').html().replace(/\s+/g, '').replace(/\$/g, '');
            n1 = parseFloat( n1 );
            $(this).find('td:nth-child(4)').append('&nbsp;&nbsp;<span title="цена за единицу образованости" style="font-size:x-small; color:blue">(1<span style="color:#000">/$</span>'+(n1/n).toFixed(2)+')</span>');
          }
        }
      });
    });
                                              
    $("input:radio").click( function() {
      if( $(this).attr('name') == "unitCreateData[unit_class]" ) o = {};
    });
  
    // Установим количество создаваемых подразделений
    $("input:submit").each( function() {
      if ($(this).val() == "Создать подразделение" && o["unitCreateData[unit_class]"] != "1815") {
        var n = 1; 
        if (o["numUnit"] ) n = parseInt(o["numUnit"]);
        else o["numUnit"] = n;
        $("div#mainContent > table > tbody > tr > td > form > table.list").append('<th>Количество подразделений</th><td><input type="text" value="' + n + '" id="impNumUnit" style="width: 100%"></input></td>');
      }
    });
	  // Пропускаем только цифры
   	$('#impNumUnit').bind("change keyup input click", function() {
      var num = $(this).val().replace(/[^0-9]/g, '');
	  	$(this).val( num );
      o["numUnit"] = num;
	  });
    
    //
    $("input:submit").click( function() {
      if ($(this).val() == "Продолжить >") {
        $("input:radio:checked").each( function() {
          o[ $(this).attr('name') ] = $(this).val();
        });
        setCookie("newUnit");
      } else
      if ($(this).val() == "Создать подразделение") {
        o["numUnit"] = parseInt(o["numUnit"]) - 1;
        deleteCookie("newUnit");
        setCookie("createUnit");
      }
    });
  
  }
  /*************************************************************************************/
  // Установить куки
  function setCookie(name) {
    var str = "";
    for(var i in o) {
      if (i) str += i + "=" + o[i] + "&";
    }
    var expires = new Date(); // получаем текущую дату
    expires.setTime(expires.getTime() + (60 * 60 * 1000)); // срок - 1 час, но его можно изменить
    document.cookie = name + "=" + str + "; expires=" + expires.toGMTString() +  "; path=/";
  }
  
  // Получить куки
  function getCookie(name) {
    var cookie_name = name + "=";
	  var cookie_length = document.cookie.length;
	  var cookie_begin = 0;

	  while (cookie_begin < cookie_length) {
      value_begin = cookie_begin + cookie_name.length;
		  if (document.cookie.substring(cookie_begin, value_begin) == cookie_name) {
			 var value_end = document.cookie.indexOf (";", value_begin);
			 if (value_end == -1) {
				value_end = cookie_length;
			 }
			 return unescape(document.cookie.substring(value_begin, value_end));
		  }
		  cookie_begin = document.cookie.indexOf(" ", cookie_begin) + 1;
		  if (cookie_begin == 0) {
			 break;
		  }
    }
    return false;
  }
  
  // Удалить куки
  function deleteCookie(name) {
    document.cookie = name + "=" + "; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/";
  }

}

if(window.top == window) {
    var script = document.createElement("script");
    script.textContent = '(' + r.toString() + ')();';
    document.documentElement.appendChild(script);
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址