1 line
14 KiB
JavaScript
1 line
14 KiB
JavaScript
var A;(A={init:function(){return A.domen=window.location.origin+"/",A.entities=[A.C,A.P,A.O,A.D,A.Y],A.queue=[],A.now=0,A.nowEntity=0,A.W.init()},parseNew:function(){var e,t,a,r,n,s,i,o;if(A.domen=window.location.origin+"/",A.entities=[A.C,A.P,A.O,A.D,A.Y],void 0===localStorage.clear1){for(t=0,r=(i=A.entities).length;t<r;t++)e=i[t],localStorage[e.type]=0;localStorage.clear1=1}if(void 0===s||void 0!==s.length)for(s={},a=0,n=(o=A.entities).length;a<n;a++)s[(e=o[a]).type]=[];return A.queue=[],A.now=0,A.nowEntity=0,A.nextEntity(),A.next()},loadNeedLoad:function(){var e,t,a,r,n,s,i,o,u,l,d,p,c;for(e=0,s=(l=needLoad.client).length;e<s;e++)t=l[e],A.request("user/control/user/update/id/"+t,A.C.itemParse);for(a=0,i=(d=needLoad.deal).length;a<i;a++)t=d[a],A.request("sales/control/deal/update/id/"+t,A.D.itemParse);for(r=0,o=(p=needLoad.offer).length;r<o;r++)t=p[r],A.request("pl/sales/offer/update?id="+t,A.O.itemParse);for(n=0,u=(c=needLoad.product).length;n<u;n++)t=c[n],A.request("pl/sales/product/update?id="+t,A.P.itemParse);return A.next(),A.nextEntity=function(){}},ajax:null,nextEntity:function(){var e;return A.now=Math.max(0,A.queue.length),void 0!==(e=A.entities[A.nowEntity])&&(e.parse(),A.nowType=e.type),A.nowEntity++},waitTime:900,now:0,nowEntity:0,queue:[],max:1e6,nowType:"",maxDouble:100,getMaxPage:function(e){return e},isNext:!0,entities:[],stop:function(){return A.isNext=!1,A.W.draw()},play:function(){return A.isNext=!0,A.next(),A.W.draw()},send:function(e,t){var a;return a=document.createElement("script"),$("body").append(a),a.onload=function(){return a.remove()},a.src="https://arcanum.sova.mg/api/sova.getcourse/add/?type="+e+"&id="+t.id+"&data="+JSON.stringify(t)},request:function(e,t,a=null,r=null){return A.queue.push({url:e,cb:t,type:a,page:r}),A.W.draw()},next:function(){return A.isNext&&(void 0!==A.queue[A.now]?setTimeout(A.makeRequest,A.waitTime):setTimeout(A.next,A.waitTime)),A.W.draw()},makeRequest:function(){var e,t;if(t=A.nowType,void 0!==(e=A.queue[A.now]))return null!==e.type&&(localStorage[e.type]=e.page),A.ajax=$.ajax({url:A.domen+e.url,success:function(a){return"function"==typeof e.cb&&e.cb(a,e.page),A.nowType===t&&A.now++,A.next()},error:function(){return A.now++,A.next()}})},W:{init:function(){return A.W.create(),A.W.draw()},draw:function(){var e,t;return e=A.queue.length-A.now,t=(A.isNext?'<button type="button" onclick="A.stop()">Стоп</button>':'<button type="button" onclick="A.play()">Продолжить</button>')+"<h1>Очередь запросов: "+A.now+" из "+A.queue.length+"</h1><h2>Осталось запросов: "+e+", это ~ "+Math.floor(A.waitTime/1e3*e/60)+" минут "+A.waitTime/1e3*e%60+' сек</h2> <table border="1" cellpadding="4"> <thead><tr><th>Реест</th><th>Текущий</th><th>Всего</th></tr></thead> <tr><td>Клиенты</td><td>'+A.C.now+"</td><td>"+A.C.sum+"</td></tr> <tr><td>Продукты</td><td>"+A.P.now+"</td><td>"+A.P.sum+"</td></tr> <tr><td>Предложения</td><td>"+A.O.now+"</td><td>"+A.O.sum+"</td></tr> <tr><td>Заказы</td><td>"+A.D.now+"</td><td>"+A.D.sum+"</td></tr> <tr><td>Платежи</td><td>"+A.Y.now+"</td><td>"+A.Y.sum+"</td></tr> </table>",void 0!==A.queue[A.now]&&(t+="<b>Запрос: "+A.queue[A.now].url+"</b>"),A.W.body.html(t)},create:function(){var e;return e="prsssss",0===$(`#${e}`).length?(A.W.body=$('<div id="'+e+'" style="padding-left: 120px;"></div>'),$("body").prepend(A.W.body)):A.W.body=$(`#${e}`)}}}).C={total:0,pages:0,base:[],sum:0,now:0,type:"client",double:0,parse:function(){return A.request("pl/user/user/",function(e){var t,a,r,n,s,i;return a=$(e),r=$(".summary",a),t=$("b",r),A.C.per_page=s=parseInt(t[0].innerText.split("-")[1]),i=parseInt(t[1].innerText.replace(/[^\d]/g,"")),A.C.total=i,A.C.pages=Math.ceil(A.C.total/s),A.C.pages=A.getMaxPage(A.C.pages),A.C.total=Math.min(A.C.total,A.C.pages*s),0===s?(alert("Не понятно сколько клиентов на странице "),void A.nextEntity()):(n=A.getMaxPage(A.C.pages),A.request("pl/user/user/index?page="+n+"&per-page="+s,A.C.parsePage,A.C.type,n))})},parsePage:function(e,t){var a,r,n,s;return a=$(e),A.C.sum+=(r=$("tr[data-user-id]",a)).length,s=parseInt(t)<=1,r.each(function(){var e;return e=$(this).attr("data-user-id"),myBase[A.C.type].indexOf(parseInt(e))<0?(A.request("user/control/user/update/id/"+e,A.C.itemParse),A.send("client",{id:e})):(A.C.now++,A.C.double++,A.C.double>A.maxDouble?s=!0:void 0)}),s?A.nextEntity():(n=t-1,A.request("pl/user/user/index?page="+n+"&per-page="+A.C.per_page,A.C.parsePage,A.C.type,n))},itemParse:function(e=null){var t,a,r,n,s,i,o,u;for(t=null===e?$("html"):$(e),a=$(".page-main-form",t),i={},n=0,s=(o=a.attr("action").split("/")).length;n<s;n++)if(r=o[n],(u=parseInt(r))&&!isNaN(u)){i.id=u;break}switch($("td",a).each(function(){var e,t;switch(e=$(this),$.trim(e.text())){case"Телефон":return $("script",e.next()).remove(),t=$.trim(e.next().text()),i.phone="изменить"===t?"":t;case"Эл. почта":return i.email=$.trim(e.next().text());case"Статус":return t=$.trim(e.next().text()),i.status="активен"===t?1:2;case"Страна":case"Предполагаемая страна":return t=$.trim(e.next().text()),i.country="изменить"===t?"":t;case"День рождения":return t=$.trim(e.next().text()),i.bdate="не указано"===t?"":t;case"Город":case"Предполагаемый город":return t=$.trim(e.next().text()),i.city="изменить"===t?"":t;case"Тип":return t=$("select",e.next()).val(),i.type="user"===t?1:0;case"Дата регистрации":return i.date=$.trim(e.next().text());case"Тип регистрации":return t=$("select",e.next()).val(),i.reg="Зарегистрировался самостоятельно"===t?1:2}}),i.name=$("#User_first_name",t).val(),i.sname=$("#User_last_name",t).val(),i.phone=$("#User_phone",t).val(),i.country=$("#User_country",t).val(),i.city=$("#User_city",t).val(),$("#User_subscribe_status",t).val()){case"all":i.subscribe=3;break;case"no_mailings":i.subscribe=2;break;case"disabled":i.subscribe=1}switch($("#User_gender",t).val()){case"male":i.sex=1;break;case"female":i.sex=2;break;default:i.sex=0}return i.comment=$("#User_comment",t).val(),i.sms=$("#smsUnsubscribe",t).is(":checked")?1:0,i.source={},$(".panel-heading").each(function(){var e;if((e=$(this)).text().indexOf("Источник")>=0)return $("table tr",e.parent()).each(function(){var e;return e=$(this),$("td:eq(1) a",e).length>0?i.source[$("td:eq(0)",e).text()]=$("td:eq(1) a",e).attr("href"):i.source[$("td:eq(0)",e).text()]=$("td:eq(1)",e).text()})}),A.send("client",i),A.C.now++}},A.D={total:0,pages:0,base:[],sum:0,now:0,type:"deal",double:0,parse:function(){return A.request("pl/sales/deal/",function(e){var t,a,r,n,s,i;return a=$(e),r=$(".summary",a),t=$("b",r),A.D.per_page=s=parseInt(t[0].innerText.split("-")[1]),i=parseInt(t[1].innerText.replace(/[^\d]/g,"")),A.D.total=i,A.D.pages=Math.ceil(A.D.total/s),0===s?(alert("Не понятно сколько сделок на странице "),void A.nextEntity()):(A.D.pages=A.getMaxPage(A.D.pages),A.D.total=Math.min(A.D.total,A.D.pages*s),n=A.getMaxPage(A.D.pages),A.request("pl/sales/deal/index?page="+n+"&per-page="+s,A.D.parsePage,A.D.type,n))})},parsePage:function(e,t){var a,r,n,s;return a=$(e),A.D.sum+=(r=$("tr[data-deal-id]",a)).length,s=parseInt(t)<=1,r.each(function(){var e;return e=$(this).attr("data-deal-id"),myBase[A.D.type].indexOf(parseInt(e))<0?(A.request("sales/control/deal/update/id/"+e,A.D.itemParse),A.send("deal",{id:e})):(A.D.now++,A.D.double++,A.D.double>A.maxDouble?s=!0:void 0)}),s?A.nextEntity():(n=t-1,A.request("pl/sales/deal/index?page="+n+"&per-page="+A.D.per_page,A.D.parsePage,A.D.type,n))},itemParse:function(e=null){var t,a,r,n,s,i,o,u,l,d,p,c,g;for(t=null===e?$("html"):$(e),a=$(".page-main-form",t),d={},s=0,o=(p=a.attr("action").split("/")).length;s<o;s++)if(n=p[s],(g=parseInt(n.replace(/[^\d]/g,"")))&&!isNaN(g)){d.id=g;break}if(void 0!==(l=$("h1",t).text())&&(d.number=l.replace(/[^\d]/g,"")),$(".deal-info-table td",t).each(function(){var e;switch(e=$(this),$.trim(e.text())){case"Создан:":return d.date=$.trim(e.next().text());case"Оплачен:":return d.pdate=$.trim(e.next().text())}}),(r=$('.panel-body > a[href^="/user/control/user/update/id/"]',t)).length>0&&void 0!==r.attr("href"))for(i=0,u=(c=r.attr("href").split("/")).length;i<u;i++)if(void 0!==(n=c[i])&&(g=parseInt(n.replace(/[^\d]/g,"")))&&!isNaN(g)){d.client_id=g;break}return d.status=$("#Deal_change_status",t).val(),d.offers=[],$(".deal-position-tr",t).each(function(){var e;return e=$(this),d.offers.push({id:(r=$(".name b a",e)).length>0!==void 0?r.attr("href").replace(/[^\d]/g,""):"",price:(r=$(".price input",e)).length>0?r.val():$(".price",e).text().replace(/[^\d]/g,""),count:(r=$(".quantity input",e)).length>0?r.val():$(".quantity",e).text().replace(/[^\d]/g,"")})}),d.source={},$(".panel-heading").each(function(){var e;if((e=$(this)).text().indexOf("Источник")>=0)return $("table tr",e.parent()).each(function(){var e;return e=$(this),$("td:eq(1) a",e).length>0?d.source[$("td:eq(0)",e).text()]=$("td:eq(1) a",e).attr("href"):d.source[$("td:eq(0)",e).text()]=$("td:eq(1)",e).text()})}),A.D.now++,A.send("deal",d)}},A.O={total:0,pages:0,base:[],sum:0,now:0,type:"offer",double:0,parse:function(){return A.request("pl/sales/offer/",function(e){var t,a,r,n,s,i;return a=$(e),r=$(".summary",a),t=$("b",r),A.O.per_page=s=parseInt(t[0].innerText.split("-")[1]),i=parseInt(t[1].innerText.replace(/[^\d]/g,"")),A.O.total=i,A.O.pages=Math.ceil(A.O.total/s),0===s?(alert("Не понятно сколько предложений на странице "),void A.nextEntity()):(A.O.pages=A.getMaxPage(A.O.pages),A.O.total=Math.min(A.O.total,A.O.pages*s),n=A.getMaxPage(A.O.pages),A.request("pl/sales/offer/index?page="+n+"&per-page="+s,A.O.parsePage,A.O.type,n))})},parsePage:function(e,t){var a,r,n,s;return a=$(e),A.O.sum+=(r=$("tr[data-key]",a)).length,s=parseInt(t)<=1,r.each(function(){var e;return e=$(this).attr("data-key"),myBase[A.O.type].indexOf(parseInt(e))<0?(A.request("pl/sales/offer/update?id="+e,A.O.itemParse),A.send("offer",{id:e})):(A.O.now++,A.O.double++,A.O.double>A.maxDouble?s=!0:void 0)}),s?A.nextEntity():(n=t-1,A.request("pl/sales/offer/index?page="+n+"&per-page="+A.O.per_page,A.O.parsePage,A.O.type,n))},itemParse:function(e=null){var t,a,r,n,s,i,o,u;for(t=null===e?$("html"):$(e),a=$("#offerForm",t),i={},n=0,s=(o=a.attr("action").split("/")).length;n<s;n++)if(r=o[n],(u=parseInt(r.replace(/[^\d]/g,"")))&&!isNaN(u)){i.id=u;break}return i.name=$("#offer-title",t).val(),i.price=$("#offer-price",t).val(),$(".control-label",t).each(function(){var e;switch(e=$(this),$.trim(e.text())){case"Дата создания":return i.date=e.next().text()}}),i.product=[],$('a[href^="/pl/sales/product/update?id="]',t).each(function(){return i.product.push($(this).attr("href").replace(/[^\d]/g,""))}),A.send("offer",i),A.O.now++}},A.Y={total:0,pages:0,base:[],sum:0,now:0,type:"payment",parse:function(){return A.request("pl/sales/control/payment/",function(e){var t,a,r,n,s,i,o,u,l;if(a=$(e),r=$(".summary",a),t=$("b",r),i=parseInt(t[0].innerText.split("-")[1]),l=parseInt(t[1].innerText.replace(/[^\d]/g,"")),A.Y.total=l,A.Y.pages=Math.ceil(A.Y.total/i),A.Y.pages=A.getMaxPage(A.Y.pages),A.Y.total=Math.min(A.Y.total,A.Y.pages*i),0===i)return alert("Не понятно сколько клиентов на странице "),void A.nextEntity();for(1,u=[],n=s=1,o=A.getMaxPage(A.Y.pages);1<=o?s<=o:s>=o;n=1<=o?++s:--s)u.push(A.request("pl/sales/control/payment/index?page="+n+"&per-page="+i,A.Y.parsePage,A.Y.type,n));return u})},parsePage:function(e){var t;return t=$(e),A.Y.sum+=$("tr[data-deal-id]",t).length,$("tr[data-deal-id]",t).each(function(){var e,t;return A.Y.now++,t={id:(e=$(this)).attr("data-deal-id"),client_id:$("a[data-user-id]",e).attr("data-user-id"),order_id:$('a[href^="/sales/control/payment/update/id/"]',e).attr("href").replace(/[^\d]/g,""),date:$("td:eq(2)",e).text(),status:$("td:eq(3)",e).text(),type:$("td:eq(4)",e).text(),price:$("td:eq(5)",e).text().replace(/[^\d]/g,"")},A.send("payment",t)})}},A.P={total:0,pages:0,base:[],sum:0,now:0,type:"product",double:0,parse:function(){return A.request("pl/sales/product/",function(e){var t,a,r,n,s,i;return a=$(e),r=$(".summary",a),t=$("b",r),A.P.per_page=s=parseInt(t[0].innerText.split("-")[1]),i=parseInt(t[1].innerText.replace(/[^\d]/g,"")),A.P.total=i,A.P.pages=Math.ceil(A.P.total/s),0===s?(alert("Не понятно сколько продуктов на странице "),void A.nextEntity()):(A.P.pages=A.getMaxPage(A.P.pages),A.P.total=Math.min(A.P.total,A.P.pages*s),n=A.getMaxPage(A.P.pages),A.request("pl/sales/product/index?page="+n+"&per-page="+s,A.P.parsePage,A.P.type,n))})},parsePage:function(e,t){var a,r,n,s;return a=$(e),A.P.sum+=(r=$("tr[data-key]",a)).length,s=parseInt(t)<=1,r.each(function(){var e;return e=$(this).attr("data-key"),myBase[A.P.type].indexOf(parseInt(e))<0?(A.request("pl/sales/product/update?id="+e,A.P.itemParse),A.send("product",{id:e})):(A.P.now++,A.P.double++,A.P.double>A.maxDouble?s=!0:void 0)}),s?A.nextEntity():(n=t-1,A.request("pl/sales/product/index?page="+n+"&per-page="+A.P.per_page,A.P.parsePage,A.P.type,n))},itemParse:function(e=null){var t,a,r,n,s,i,o,u;for(t=null===e?$("html"):$(e),a=$(".form-vertical",t),i={},n=0,s=(o=a.attr("action").split("/")).length;n<s;n++)if(r=o[n],(u=parseInt(r.replace(/[^\d]/g,"")))&&!isNaN(u)){i.id=u;break}return i.name=$("#product-title",t).val(),i.descr=$("#product-description",t).val(),$(".control-label",t).each(function(){var e;switch(e=$(this),$.trim(e.text())){case"Дата создания":return i.date=e.next().text()}}),A.send("product",i),A.P.now++}},A.init(); |