Virtonomica: Напоминалка FactorNew

Отображение за ход, где надо сменить спецухи; сколько осталось до окончания платных услуг.

当前为 2016-03-31 提交的版本,查看 最新版本

// ==UserScript==
// @name        Virtonomica: Напоминалка FactorNew
// @namespace   Virtonomica напоминалка
// @description    Отображение за ход, где надо сменить спецухи; сколько осталось до окончания платных услуг.
// @version     3.1
// @include        http://virtonomic*.*/*/main/company/view/*/unit_list
// @include       http://virtonomic*.*/*/main/company/view/*/dashboard
// @grant       none
// ==/UserScript==

var run = function() {
    
   function ToStorage(name,  val)
	{
	    try {
	       window.localStorage.setItem( name,  JSON.stringify( val ) );
	    } catch(e) {
	       out = "Ошибка добавления в локальное хранилище";
	   //    console.log(out);
	    }
	}
   
   
    var win = (typeof(unsafeWindow) != 'undefined' ? unsafeWindow : top.window);
    $ = win.$;
//****************************************формирование и запись в лок хр ссылок с плантациями по месяцах     
 var myrealm = readCookie('last_realm');
var prot=window.location.protocol;
var hostserv=window.location.host;
  
 var ttt=document.location.href.slice(-9,-1)

 	if (ttt == "unit_lis"){

   var sbros = $('<input type="button" id=sbros value="Очистить локальное хранилище"/>').click(function(){
      //   Jan Feb Mar Apr May June July Aug Sept Oct Nov Dec   
  
      localStorage.removeItem("Jan");
      localStorage.removeItem("Feb");
      localStorage.removeItem("Mar");
      localStorage.removeItem("Apr");
      localStorage.removeItem("May");
      localStorage.removeItem("June");
      localStorage.removeItem("July");
      localStorage.removeItem("Aug");
      localStorage.removeItem("Sept");
      localStorage.removeItem("Oct");
      localStorage.removeItem("Nov");
      localStorage.removeItem("Dec");
      localStorage.removeItem("myJan");
      localStorage.removeItem("myFeb");
      localStorage.removeItem("myMar");
      localStorage.removeItem("myApr");
      localStorage.removeItem("myMay");
      localStorage.removeItem("myJune");
      localStorage.removeItem("myJuly");
      localStorage.removeItem("myAug");
      localStorage.removeItem("mySept");
      localStorage.removeItem("myOct");
      localStorage.removeItem("myNov");
      localStorage.removeItem("myDec");
   })
   
  /*  var prov = $('<input type="button" id=prov value="Пров"/>').click(function(){
   myJan = JSON.parse( window.localStorage.getItem('myJan') );
   myFeb = JSON.parse( window.localStorage.getItem('myFeb') );
   myMar = JSON.parse( window.localStorage.getItem('myMar') );
   myApr = JSON.parse( window.localStorage.getItem('myApr') );
   myMay = JSON.parse( window.localStorage.getItem('myMay') );
  myJune = JSON.parse( window.localStorage.getItem('myJune') );
   myJuly = JSON.parse( window.localStorage.getItem('myJuly') );
   myAug = JSON.parse( window.localStorage.getItem('myAug') );
   mySept = JSON.parse( window.localStorage.getItem('mySept') );
   myOct = JSON.parse( window.localStorage.getItem('myOct') );
   myNov = JSON.parse( window.localStorage.getItem('myNov') );
     myDec = JSON.parse( window.localStorage.getItem('myDec') );
    console.log(myJan)
    console.log(myFeb)
     console.log(myMar)
      console.log(myApr)
       console.log(myMay)
        console.log(myJune)
         console.log(myJuly)
          console.log(myAug)
           console.log(mySept)
            console.log(myOct)
             console.log(myNov)
              console.log(myDec)
   })*/
     function plantscan(z, Vrin, Murl){
        var kult= $('td:eq(1)', Vrin[z]).text();
        var mes= $("td[title~='уборка']", Vrin[z]).attr('title').replace(/\s/g, "").replace(/\,уборкаурожая/g, "");    
      
     switch (mes) {
  case "Январь": {
      
     Jan = JSON.parse( window.localStorage.getItem('Jan') );
     if (Jan==null)  {
    
 Jan= '<a href='+Murl+'>'+kult;   
        ToStorage('Jan', Jan);
       }
    
   else    { 
     Jan=Jan+' либо '+kult;
   
   ToStorage('Jan', Jan); 
   }
     break;
  }
    
 case "Февраль": {
  
     Feb = JSON.parse( window.localStorage.getItem('Feb') );
     if (Feb==null) {
   Feb= '<a href='+Murl+'>'+kult;   
        ToStorage('Feb', Feb);
      }
   else {   
   Feb=Feb+' либо '+kult;
   ToStorage('Feb', Feb);
  }
     break;
  }   
    
  case "Март": {
    
     Mar = JSON.parse( window.localStorage.getItem('Mar') );
     if (Mar==null) {
   Mar= '<a href='+Murl+'>'+kult;   
        ToStorage('Mar', Mar);
      }
   else {   
   Mar=Mar+' либо '+kult;
   ToStorage('Mar', Mar);
  }
     break;
  }  
    
case "Апрель": {
     
     Apr = JSON.parse( window.localStorage.getItem('Apr') );
     if (Apr==null) {
   Apr= '<a href='+Murl+'>'+kult;   
        ToStorage('Apr', Apr);
      }
   else {   
   Apr=Apr+' либо '+kult;
   ToStorage('Apr', Apr);
  }
     break;
  }    
    
    
 case "Май": {
   
     May = JSON.parse( window.localStorage.getItem('May') );
     if (May==null) {
   May= '<a href='+Murl+'>'+kult;   
        ToStorage('May', May);
      }
   else {   
   May=May+' либо '+kult;
   ToStorage('May', May);
  }
     break;
  }   
    
 case "Июнь": {
    
     June = JSON.parse( window.localStorage.getItem('June') );
     if (June==null) {
   June= '<a href='+Murl+'>'+kult;   
        ToStorage('June', June);
      }
   else {   
   June=June+' либо '+kult;
   ToStorage('June', June);
  }
     break;
  }   
    
case "Июль": {
   
     July = JSON.parse( window.localStorage.getItem('July') );
     if (July==null) {
   July= '<a href='+Murl+'>'+kult;   
        ToStorage('July', July);
      }
   else {   
   July=July+' либо '+kult;
   ToStorage('July', July);
  }
     break;
  }    
    
 case "Август": {
     
     Aug = JSON.parse( window.localStorage.getItem('Aug') );
     if (Aug==null) {
   Aug= '<a href='+Murl+'>'+kult;   
        ToStorage('Aug', Aug);
      }
   else {   
   Aug=Aug+' либо '+kult;
   ToStorage('Aug', Aug);
  }
     break;
  }
    
    
  case "Сентябрь": {
  
     Sept = JSON.parse( window.localStorage.getItem('Sept') );
     if (Sept==null) {
   Sept= '<a href='+Murl+'>'+kult;   
        ToStorage('Sept', Sept);
      }
   else {   
   Sept=Sept+' либо '+kult;
   ToStorage('Sept', Sept);
  }
     break;
  }  
    
  case "Октябрь": {
   
     Oct = JSON.parse( window.localStorage.getItem('Oct') );
     if (Oct==null) {
   Oct= '<a href='+Murl+'>'+kult;   
        ToStorage('Oct', Oct);
      }
   else {   
   Oct=Oct+' либо '+kult;
   ToStorage('Oct', Oct);
  }
     break;
  }  
    
  case "Ноябрь": {
   
     Nov = JSON.parse( window.localStorage.getItem('Nov') );
     if (Nov==null) {
   Nov= '<a href='+Murl+'>'+kult;   
        ToStorage('Nov', Nov);
      }
   else {   
   Nov=Nov+' либо '+kult;
   ToStorage('Nov', Nov);
  }
     break;
  }  
    
    
    case "Декабрь": {
     
     Dec = JSON.parse( window.localStorage.getItem('Dec') );
     if (Dec==null) {
   Dec= '<a href='+Murl+'>'+kult;   
        ToStorage('Dec', Dec);
      }
   else {   
   Dec=Dec+' либо '+kult;
   ToStorage('Dec', Dec);
  }
     break;
  }
    
    
  };
                          
        }
     
  //******************************поиск плантаций
     idplan = "";
   var idplant = $('<input type="button" id=idplant value="Добавить"/>').click(function(){
   var m=0
     $('form[id="js-multisale-form"]> table > tbody>tr:has([title="Земледельческая ферма"]),tr:has([title="Плантация"])').each(function() {
          var el = $("td.unit_id", this);
       for(i=0; i< el.length; i++){
           if ( !el.eq(i).is(':visible') ) continue;
     	   id = el.eq(i).text();
           idplan+= id + ",";
            }
         });
idplan=idplan.slice(0,-1) ;
   idplan =  idplan.split(',');

      k=0;
   while (k< idplan.length){
                
     var Murl=prot+'//'+hostserv+'/'+myrealm+'/window/unit/produce_change/'+idplan[k];
//проверка каждой плантации
     $.ajax({ url:Murl, 
        async: false,
        type: 'post',
        success: function(data){

    
 var   Vrin = $('table.list>tbody>tr.even, tr.odd',data); 
            
      if (Vrin.length >1){
        m=m+1;

    z=0;
   while (z< Vrin.length){
     
          plantscan(z, Vrin, Murl);
          z=z+1;
    }

       //янв
      Jan = JSON.parse( window.localStorage.getItem('Jan') );
      myJan = JSON.parse( window.localStorage.getItem('myJan') );
     
    
    if (Jan!=null && myJan!=null){
         myJan=myJan+'<br/>'+Jan+'</a>';
        }
    if (Jan!=null && myJan==null){
         myJan=Jan+'</a>';
        }      
      
      ToStorage('myJan',  myJan);
    
    //февр
      Feb = JSON.parse( window.localStorage.getItem('Feb') );
      myFeb = JSON.parse( window.localStorage.getItem('myFeb') );
       
       if (Feb!=null && myFeb!=null){
         myFeb=myFeb+'<br/>'+Feb+'</a>';
        }
    if (Feb!=null && myFeb==null){
         myFeb=Feb+'</a>';
        }    
      ToStorage('myFeb',  myFeb);
    
     //март
      Mar = JSON.parse( window.localStorage.getItem('Mar') );
      myMar = JSON.parse( window.localStorage.getItem('myMar') );
       
       if (Mar!=null && myMar!=null){
         myMar=myMar+'<br/>'+Mar+'</a>';
        }
    if (Mar!=null && myMar==null){
         myMar=Mar+'</a>';
        }    
      ToStorage('myMar',  myMar);
        
     //апр
      Apr = JSON.parse( window.localStorage.getItem('Apr') );
      myApr = JSON.parse( window.localStorage.getItem('myApr') );
         
       if (Apr!=null && myApr!=null){
         myApr=myApr+'<br/>'+Apr+'</a>';
        }
     if (Apr!=null && myApr==null){
         myApr=Apr+'</a>';
        }  
      ToStorage('myApr',  myApr);
    
    //май
      May = JSON.parse( window.localStorage.getItem('May') );
      myMay = JSON.parse( window.localStorage.getItem('myMay') );
          
       if (May!=null && myMay!=null){
         myMay=myMay+'<br/>'+May+'</a>';
        }
    if (May!=null && myMay==null){
         myMay=May+'</a>';
        }  
      ToStorage('myMay',  myMay);
    
     //июнь
      June = JSON.parse( window.localStorage.getItem('June') );
      myJune = JSON.parse( window.localStorage.getItem('myJune') );
        
       if (June!=null && myJune!=null){
         myJune=myJune+'<br/>'+June+'</a>';
        }
     if (June!=null && myJune==null){
         myJune=June+'</a>';
        }   
      ToStorage('myJune',  myJune);
     //июль
    July = JSON.parse( window.localStorage.getItem('July') );
      myJuly = JSON.parse( window.localStorage.getItem('myJuly') );
          
       if (July!=null && myJuly!=null){
         myJuly=myJuly+'<br/>'+July+'</a>';
        }
     if (July!=null && myJuly==null){
         myJuly=July+'</a>';
        } 
      ToStorage('myJuly',  myJuly);
    
     //авг
    Aug = JSON.parse( window.localStorage.getItem('Aug') );
      myAug = JSON.parse( window.localStorage.getItem('myAug') );
         
       if (Aug!=null && myAug!=null){
         myAug=myAug+'<br/>'+Aug+'</a>';
        }
    if (Aug!=null && myAug==null){
         myAug=Aug+'</a>';
        }   
      ToStorage('myAug',  myAug);
    
     //сент
    Sept = JSON.parse( window.localStorage.getItem('Sept') );
      mySept = JSON.parse( window.localStorage.getItem('mySept') );
        
       if (Sept!=null && mySept!=null){
         mySept=mySept+'<br/>'+Sept+'</a>';
        }
     if (Sept!=null && mySept==null){
         mySept=Sept+'</a>';
        }   
      ToStorage('mySept',  mySept);
     //окт
    Oct = JSON.parse( window.localStorage.getItem('Oct') );
      myOct = JSON.parse( window.localStorage.getItem('myOct') );
          
       if (Oct!=null && myOct!=null){
         myOct=myOct+'<br/>'+Oct+'</a>';
        }
    if (Oct!=null && myOct==null){
         myOct=Oct+'</a>';
        }  
      ToStorage('myOct',  myOct);
    
     //Nov
   Nov = JSON.parse( window.localStorage.getItem('Nov') );
      myNov = JSON.parse( window.localStorage.getItem('myNov') );
           
       if (Nov!=null && myNov!=null){
         myNov=myNov+'<br/>'+Nov+'</a>';
        }
    if (Nov!=null && myNov==null){
         myNov=Nov+'</a>';
        } 
      ToStorage('myNov',  myNov);
    
    //Dec
   Dec = JSON.parse( window.localStorage.getItem('Dec') );
      myDec = JSON.parse( window.localStorage.getItem('myDec') );
          
       if (Dec!=null && myDec!=null){
         myDec=myDec+'<br/>'+Dec+'</a>';
        }
    if (Dec!=null && myDec==null){
         myDec=Dec+'</a>';
        }  
      ToStorage('myDec',  myDec);
    localStorage.removeItem("Jan");
      localStorage.removeItem("Feb");
      localStorage.removeItem("Mar");
      localStorage.removeItem("Apr");
      localStorage.removeItem("May");
      localStorage.removeItem("June");
      localStorage.removeItem("July");
      localStorage.removeItem("Aug");
      localStorage.removeItem("Sept");
      localStorage.removeItem("Oct");
      localStorage.removeItem("Nov");
      localStorage.removeItem("Dec");
         
    }
        }  
            })
            
  k=k+1;
   }
   
alert('Добавлено '+m+' плант.');
   })
    var panel5 = $('<fieldset><legend>Добавление плантаций для напоминалки</legend></fieldset>');
            panel5.append(idplant).append(sbros);
               $('.unit-list-2014').wrap($('<form id="js-multisale-form" />')).after(panel5);
}
//************************************************************************************************************  
 //******************вывод ссылок по месяцам*****************************************************************
  
 	if (ttt == "dashboar"){


   var chislo= parseInt($('div#server-time').next().html().replace(/\s/g, ""));
  //получаем месяц
  var mes= ($('div#server-time').next().text().replace(/\w/g, "").replace(/\г\./g, "").replace(/\s/g, ""));
 /* chislo=27
  mes="июля";*/
switch (mes) {
  case "января": {
     if (chislo+7 >  31) {
 
   
       myFeb = JSON.parse( window.localStorage.getItem('myFeb') );
          if (myFeb==null) myFeb='Менять не нужно';
       var z= myFeb;
            
    
  }
   else {   
    z= "Менять не нужно";
  }
     break;
  }
    
 case "февраля": {
     if (chislo+7 >  28) {
   
   
       myMar = JSON.parse( window.localStorage.getItem('myMar') );
          if (myMar==null) myMar='Менять не нужно';
       var z= myMar;
            
  }
 
  else {   
    z= "Менять не нужно";
  }
    
    break;
  }   
    
  case "марта": {
     if (chislo+7 >  31) {
    
       myApr = JSON.parse( window.localStorage.getItem('myApr') );
          if (myApr==null) myApr='Менять не нужно';
       var z= myApr;
            
            
  }
 
  else {   
    z= "Менять не нужно";
  }
    
    break;
  }  
    
case "апреля": {
     if (chislo+7 >  30) {
    
       myMay = JSON.parse( window.localStorage.getItem('myMay') );
          if (myMay==null) myMay='Менять не нужно';
       var z= myMay;
            
  
  }
 
  else {   
    z= "Менять не нужно";
  }
    
    break;
  }    
    
    
 case "мая": {
     if (chislo+7 >  31) {
    
       myJune = JSON.parse( window.localStorage.getItem('myJune') );
          if (myJune==null) myJune='Менять не нужно';
       var z= myJune;
            
  
  }
 
  else {   
    z= "Менять не нужно";
  }
    
    break;
  }   
    
 case "июня": {
     if (chislo+7 >  30) {
    
        myJuly = JSON.parse( window.localStorage.getItem('myJuly') );
          if ( myJuly==null) myJuly='Менять не нужно';
       var z=  myJuly;
            
  }
 
  else {   
    z= "Менять не нужно";
  }
    
    break;
  }   
    
case "июля": {
     if (chislo+7 >  31) {
    
    
           myAug = JSON.parse( window.localStorage.getItem('myAug') );
          if ( myAug==null) myAug='Менять не нужно';
       var z=  myAug;
                    
  }
 
  else {   
    z= "Менять не нужно";
  }
    
    break;
  }    
    
 case "августа": {
     if (chislo+7 >  31) {
    
        
         mySept = JSON.parse( window.localStorage.getItem('mySept') );
          if (mySept==null) mySept='Менять не нужно';
       var z=  mySept;
                
  }
 
  else {   
    z= "Менять не нужно";
  }
    
    break;
  }
    
    
  case "сентября": {
     if (chislo+7 >  30) {
    
 
         
         myOct = JSON.parse( window.localStorage.getItem('myOct') );
          if ( myOct==null)  myOct='Менять не нужно';
       var z=   myOct;
               
            
  }
 
  else {   
    z= "Менять не нужно";
  }
    
    break;
  }  
    
  case "октября": {
     if (chislo+7 >  31) {
    
   
         myNov = JSON.parse( window.localStorage.getItem('myNov') );
          if ( myNov==null)  myNov='Менять не нужно';
       var z=   myNov;
            
            
  }
 
  else {   
    z= "Менять не нужно";
  }
    
    break;
  }  
    
  case "ноября": {
     if (chislo+7 >  30) {
    
   
         myDec = JSON.parse( window.localStorage.getItem('myDec') );
          if ( myDec==null)  myDec='Менять не нужно';
       var z=   myDec;
            
            
            
  }
 
  else {   
    z= "Менять не нужно";
  }
    
    break;
  }  
    
    
    case "декабря": {
     if (chislo+7 >  31) {
       myJan = JSON.parse( window.localStorage.getItem('myJan') );  
          if (myJan==null) myJan='Менять не нужно';
       var z= myJan; 
  }
 
  else {   
    z= "Менять не нужно";
  }
    
    break;
  }
   default: 
	   
	    break; 
    
  };

  
   myJan = JSON.parse( window.localStorage.getItem('myJan') );
   myFeb = JSON.parse( window.localStorage.getItem('myFeb') );
   myMar = JSON.parse( window.localStorage.getItem('myMar') );
   myApr = JSON.parse( window.localStorage.getItem('myApr') );
   myMay = JSON.parse( window.localStorage.getItem('myMay') );
  myJune = JSON.parse( window.localStorage.getItem('myJune') );
   myJuly = JSON.parse( window.localStorage.getItem('myJuly') );
   myAug = JSON.parse( window.localStorage.getItem('myAug') );
   mySept = JSON.parse( window.localStorage.getItem('mySept') );
   myOct = JSON.parse( window.localStorage.getItem('myOct') );
   myNov = JSON.parse( window.localStorage.getItem('myNov') );
     myDec = JSON.parse( window.localStorage.getItem('myDec') );
console.log(myMay)
   
 if (myJan==null && myFeb==null && myMar==null && myApr==null && myMay==null && myJune==null && myJuly==null && myAug==null && mySept==null && myOct==null && myNov==null &&  myDec==null) {
             z='Добавте плантации в локальное хранилище';  
 }
   
  
  $(' div#right_side').after('<div id="spec" align="center" style="background:#f4fdf0; float:left;margin-left:20px; width:45%; border: 1px solid black; border-radius:10px; -moz-border-radius:5px;">'+
                  '<div align="center" ><p style="color:green; font-size: 12pt;">Смена специализаций на плантациях</p></div>'    +   
                           '<div style="border: 1px solid black;"></div>'+
      
    //для спецух                        
                            '<div  align="center" style="font-size: 11pt;">'+z+'</div>'   +            
                            
                            
                            ' </div>');  
  
 // для напоминания платных услуг
  
  
  		$(document).ready(function(){
        var myrealm1 = readCookie('last_realm');
       var prot1=window.location.protocol;
       var hostserv1=window.location.host;
       var Murlik1=prot1+'//'+hostserv1+'/'+myrealm1+'/main/user/privat/persondata/pay_service/list';
    $.get( Murlik1, function(data) {
                  var k = $("tr:contains('Корпоративные виллы') > td[class='nowrap payusage']", data).text();
                  var m = $("tr:contains('Отдел кадров') > td[class='nowrap payusage']", data).text();
            
 if ( m <  5) {
    
var   ok= 'color:red;';
            
  }
     
  if ( k <  5) {
    
var   kp= 'color:red;';
            
  }
    
   
      $(' div#spec').after('<div align="center" style="background:#f4fdf0; float:left;margin-left:45px;  width:45%; border: 1px solid black; border-radius:10px; -moz-border-radius:5px;">'+
                  '<div align="center" ><p style="color:green; font-size: 12pt;">Окончание платных услуг</p></div>'    +   
                           '<div style="border: 1px solid black;"></div>'+
      
                         
                           '<div  align="center" style="font-size: 11pt;'+kp+'">"Корпоративные виллы" осталось '+k+' дн.</div>'   +            
                                  '<div  align="center" style="font-size: 11pt;'+ok+'">"Отдел кадров" осталось '  + m + ' дн.</div>'+                
                            ' </div>');      	      
  

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


QingJ © 2025

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