您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a button to service autopilot to automatically generate renewal URLs
// ==UserScript== // @name Renewal URL Generator Beta // @namespace http://tampermonkey.net/ // @version 3.5 // @description Adds a button to service autopilot to automatically generate renewal URLs // @author Tyler // @match https://my.serviceautopilot.com/ClientView.aspx?* // @require http://code.jquery.com/jquery-latest.js // @require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js // ==/UserScript== (function() { var $ = window.jQuery; 'use strict'; $(document).arrive("#edSaveBtn", function() { function dateConvert(inputdate) { if (inputdate) { var dateParts = inputdate.toDateString().split(" "); if (dateParts[2] == "15") { dateParts[2] = "Late "; } else { dateParts[2] = ""; } return dateParts[2] + dateParts[1] + " " + dateParts[3] } else { return "" } } function addMonths(date, months) { var d = date.getDate(); date.setMonth(date.getMonth() + +months); if (date.getDate() != d) { date.setDate(0); } return date; } $("#editorOverlayDomId").append("Enter New Price: <input id='priceInput' type='text' width='5' /><br><button id='URLGeneration' type='button'>Generate Renewal URL</button><br><button id='genericGeneration' type='button'>Generate Quarterly Generic URL</button>"); $("#priceInput").click(function(){$("#priceInput").focus()}) $('#URLGeneration').click(function() { $("#edSaveBtn").remove(); var input = $("#priceInput").val(); var URL = []; var dates = []; var i=0 while ($("#edDetailDate"+i).text()) { dates.push(new Date($("#edDetailDate"+i).text())) i++ } dates.sort((a, b) => a - b) var urlString; var Wadd1 = encodeURIComponent($("#lblPropertyAddress").text()); var Wcity = encodeURIComponent($("#lblPropertyCityStateZip").text().split(',')[0]); var Wstate = encodeURIComponent($("#lblPropertyCityStateZip").text().split(',')[1].substring(0,3)); var Wzip = encodeURIComponent($("#lblPropertyCityStateZip").text().split(',')[1].substring(3)); var Badd1 = encodeURIComponent($("#lblBillingAddress").text()); var Bcity, Bstate, Bzip if ($("#lblBillingCityStateZip").text()) { Bcity = encodeURIComponent($("#lblBillingCityStateZip").text().split(',')[0]); Bstate = encodeURIComponent($("#lblBillingCityStateZip").text().split(',')[1].substring(0,3)); Bzip = encodeURIComponent($("#lblBillingCityStateZip").text().split(',')[1].substring(3)); } else { Bcity = encodeURIComponent($("#lblBillingAddress2").text().split(',')[0]); Bstate = encodeURIComponent($("#lblBillingAddress2").text().split(',')[1].substring(0,3)); Bzip = encodeURIComponent($("#lblBillingAddress2").text().split(',')[1].substring(3)); } var Pphone = encodeURIComponent($("#lblPhone1").text().slice(0, -3)); var Pcell = encodeURIComponent($("#lblPhone2").text().slice(0, -3)); var Phome = encodeURIComponent($("#lblPhone3").text().slice(0, -3)); var Pother = encodeURIComponent($("#lblPhone4").text().slice(0, -3)); var Pemail = encodeURIComponent($("#contactEmailLink").text()); var cd1 = dateConvert(dates[0]); var cd2 = dateConvert(dates[1]); var cd3 = dateConvert(dates[2]); var cd4 = dateConvert(dates[3]); var cd5 = dateConvert(dates[4]); var cd6 = dateConvert(dates[5]); var cd7 = dateConvert(dates[6]); var cd8 = dateConvert(dates[7]); var cd9 = dateConvert(dates[8]); var cd10 = dateConvert(dates[9]); var cd11 = dateConvert(dates[10]); var cd12 = dateConvert(dates[11]); var freq = $("[id^=edDetailDate]").length-2; var pptcp = parseFloat((input-10)*freq).toFixed(2); var ppsave = parseFloat(10*freq).toFixed(2); var nppfpr = parseFloat(input-5).toFixed(2); var nppmip = parseFloat(input).toFixed(2); if ($("#lblCompany").text() == "AEROTECH ST. LOUIS") { urlString = "https://thegutterexperts.com/renewal/stl/?" } else if ($("#lblCompany").text() == "AEROTECH METRO DC") { urlString = "https://thegutterexperts.com/renewal/mdc/?" } else alert("error, unable to determine area") URL.push( urlString, "Wadd1=",Wadd1,"&", "Wcity=",Wcity,"&", "Wstate=",Wstate,"&", "Wzip=",Wzip,"&", "BAdd1=",Badd1,"&", "Bcity=",Bcity,"&", "Bstate=",Bstate,"&", "Bzip=",Bzip,"&", "Pphone=",Pphone,"&", "Pcell=",Pcell,"&", "Phome=",Phome,"&", "Pother=",Pother,"&", "Pemail=",Pemail,"&", "cd1=",cd1,"&", "cd2=",cd2,"&", "cd3=",cd3,"&", "cd4=",cd4,"&", "cd5=",cd5,"&", "cd6=",cd6,"&", "cd7=",cd7,"&", "cd8=",cd8,"&", "cd9=",cd9,"&", "cd10=",cd10,"&", "cd12=",cd12,"&", "pptcp=",pptcp,"&", "ppsave=",ppsave,"&", "nppfpr=",nppfpr,"&", "nppmip=",nppmip,"&", ); navigator.clipboard.writeText(URL.join("")) alert("Renewal URL Copied to Clipboard MAKE SURE YOU HAVE SELECTED CORRECT DATES!"); }); $('#genericGeneration').click(function() { var input = $("#priceInput").val(); var Bcity, Bstate, Bzip if ($("#lblBillingCityStateZip").text()) { Bcity = encodeURIComponent($("#lblBillingCityStateZip").text().split(',')[0]); Bstate = encodeURIComponent($("#lblBillingCityStateZip").text().split(',')[1].substring(0,3)); Bzip = encodeURIComponent($("#lblBillingCityStateZip").text().split(',')[1].substring(3)); } else { Bcity = encodeURIComponent($("#lblBillingAddress2").text().split(',')[0]); Bstate = encodeURIComponent($("#lblBillingAddress2").text().split(',')[1].substring(0,3)); Bzip = encodeURIComponent($("#lblBillingAddress2").text().split(',')[1].substring(3)); } var today = new Date(); var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth()+1, 0); var cd1 = addMonths(new Date(), 0) var cd2 = addMonths(new Date(), 3) var cd3 = addMonths(new Date(), 6) var cd4 = addMonths(new Date(), 9) var freq = 4 var pptcp = parseFloat((input-10)*4).toFixed(2); var ppsave = parseFloat(10*4).toFixed(2); var nppfpr = parseFloat(input-5).toFixed(2); var nppmip = parseFloat(input).toFixed(2); var urlString //if five days from today is past the end of the month, add 1 to each month if (today.getDate()+5 > lastDayOfMonth.getDate()) { cd1 = addMonths(cd1, 1) cd2 = addMonths(cd2, 1) cd3 = addMonths(cd3, 1) cd4 = addMonths(cd4, 1) } if ($("#lblCompany").text() == "AEROTECH ST. LOUIS") { urlString = "https://thegutterexperts.com/renewal/stl/?" } else if ($("#lblCompany").text() == "AEROTECH METRO DC") { urlString = "https://thegutterexperts.com/renewal/mdc/?" } else alert("error, unable to determine area") var URL = []; URL.push( urlString, "Wadd1=",encodeURIComponent($("#lblPropertyAddress").text()),"&", "Wcity=",encodeURIComponent($("#lblPropertyCityStateZip").text().split(',')[0]),"&", "Wstate=",encodeURIComponent($("#lblPropertyCityStateZip").text().split(',')[1].substring(0,3)),"&", "Wzip=",encodeURIComponent($("#lblPropertyCityStateZip").text().split(',')[1].substring(3)),"&", "BAdd1=",encodeURIComponent($("#lblBillingAddress").text()),"&", "Bcity=",Bcity,"&", "Bstate=",Bstate,"&", "Bzip=",Bzip,"&", "Pphone=",encodeURIComponent($("#lblPhone1").text().slice(0, -3)),"&", "Pcell=",encodeURIComponent($("#lblPhone2").text().slice(0, -3)),"&", "Phome=",encodeURIComponent($("#lblPhone3").text().slice(0, -3)),"&", "Pother=",encodeURIComponent($("#lblPhone4").text().slice(0, -3)),"&", "Pemail=",encodeURIComponent($("#contactEmailLink").text()),"&", "cd1=",cd1.toLocaleString('en-US', { year: 'numeric', month: 'long'}),"&", "cd2=",cd2.toLocaleString('en-US', { year: 'numeric', month: 'long'}),"&", "cd3=",cd3.toLocaleString('en-US', { year: 'numeric', month: 'long'}),"&", "cd4=",cd4.toLocaleString('en-US', { year: 'numeric', month: 'long'}),"&", "pptcp=",pptcp,"&", "ppsave=",ppsave,"&", "nppfpr=",nppfpr,"&", "nppmip=",nppmip,"&", ); navigator.clipboard.writeText(URL.join("")) alert("Renewal URL Copied to Clipboard."); }) $('#MailJetInfo').click(function() { var i=1 while ($('#lblCustomField'+i).text().length) { switch($('#lblCustomField'+i).text().trim()) { case "MailJet Renewal Information": var mjRI = $('#lblCustomData'+i).text(); break; case "MailJet Renewal Date Changes": var mjDC = $('#lblCustomData'+i).text(); break; case "MailJet Renewal Prepayment Amount": var mjPP = $('#lblCustomData'+i).text(); break; case "MailJet Renewal Autocharge Amount": var mjAC = $('#lblCustomData'+i).text(); break; case "MailJet Renewal Payment Method": var mjPM = $('#lblCustomData'+i).text(); break; case "MailJet Renewal Extra Information": var mjEI = $('#lblCustomData'+i).text(); break; } i++ } $('#editorOverlayDomId').append("<div id='MJInfoDiv' style='margin-top: 10%;'></div>") $('#MJInfoDiv').append("<p>"+mjRI.substring(mjRI.lastIndexOf("Recommended Service Months"),mjRI.lastIndexOf("PREPAY")).replace(/undefined/g,"")+"</p>") $('#MJInfoDiv').append("<p>"+mjRI.substring(mjRI.lastIndexOf("PREPAY"),mjRI.lastIndexOf("AUTOCHARGE"))+"<br>"+mjRI.substring(mjRI.lastIndexOf("AUTOCHARGE"),mjRI.lastIndexOf("INVOICE"))+"<br>"+mjRI.substring(mjRI.lastIndexOf("INVOICE"),mjRI.length)+"</p>") $('#MJInfoDiv').append("<p>Requested Date Changes: "+mjDC+"</p>"); $('#MJInfoDiv').append("<p>Selected Payment Method: "+mjPM.split(" ")[0]+"</p>"); if (mjPM.split(" ")[0] == "PREPAY") { $('#MJInfoDiv').append("<p>Prepay Amount: "+mjPP+"</p>"); } else if (mjPM.split(" ")[0]=="AUTOCHARGE") { $('#MJInfoDiv').append("<p>Autocharge Amount: "+mjAC+"</p>"); } $('#MJInfoDiv').append("<p>Other Information: "+mjEI+"</p>"); }) }); } ) ()