Скрипт добавляет полосу в нижнюю часть страницы с информацией о не отвеченных запросах о задолженности и о поступивших обращениях без назначенного исполнителя. Проверка происходит при загрузке страницы и последующие каждые три минуты. Максимально отображаемое количество запросов или обращений не более 10.
// ==UserScript==
// @name Докбар обращений и запросов
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Скрипт добавляет полосу в нижнюю часть страницы с информацией о неотвеченных запросах о задолженности и о поступивших обращениях без назначенного исполнителя. Проверка происходит при загрузке страницы и последующие каждые три минуты. Максимально отображаемое количество запросов или обращений не более 10.
// @author besfamilnij
// @match https://my.dom.gosuslugi.ru/*
// @require https://code.jquery.com/jquery-3.7.1.min.js
// @icon https://www.google.com/s2/favicons?sz=64&domain=gosuslugi.ru
// @grant none
// ==/UserScript==
window.addEventListener('load',() => {
setTimeout(function(){
init();
}, 2000);
});
function init(){
let style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = '#notification-bar{text-align: right;position: fixed;bottom: 0;left: 0;background: #f1f1f1;width: 100%;height: 20px;border-radius: 7px 7px 0px 0px;padding: 0px 10px;z-index: 99999999999;font-size: 13px;display: inline;line-height: 1.7;}';
document.head.appendChild(style);
let div = document.createElement('div');
div.id = 'notification-bar';
div.innerHTML = '<div style="display: inline-block;padding-right: 15px;"><span>Обращений без исполнителя: </span><span id="incoming-requests">...</span></div><div style="display: inline-block;"><span>Запросы о задолженности без ответа: </span><span id="debt-inquiries">...</span></div>';
document.body.append(div);
getDebt();
getAppeals();
setInterval(() => {
getDebt();
getAppeals();
}, 180000);
}
function getDebt(){
let today = new Date();
let lastDay = new Date(today - 15600000000);
today = today.toLocaleDateString('ru-RU');
lastDay = lastDay.toLocaleDateString('ru-RU');
let req = new XMLHttpRequest();
let reqsend = {"statuses":["NOT_SENT"],"sentDatePeriod":{"beginDate":lastDay,"endDate":today},"responseDatePeriod":null,"houseId":null,"region":null,"answerUserIds":["0"],"sortCriteria":{"sortedBy":"LAST_UPDATE_DATE","asceding":false}};
reqsend = JSON.stringify(reqsend);
req.open("POST", "https://my.dom.gosuslugi.ru/debtreq/api/rest/services/debtreq/sub/search;page=1;itemsPerPage=10", true);
req.setRequestHeader('Content-Type', 'application/json;charset=utf-8');
req.setRequestHeader('Accept', 'application/json; charset=utf-8');
req.addEventListener("load", function(i) {
let response = JSON.parse(this.response);
if(response.debtSubReqList.length){
document.getElementById('debt-inquiries').textContent = response.debtSubReqList.length;
}else{
document.getElementById('debt-inquiries').textContent = '0';
}
}, false);
req.send(reqsend);
}
function getAppeals(){
let req = new XMLHttpRequest();
let reqsend = {"topicCodes":[],"statuses":[],"answerAssessments":[],"executionTerms":[],"destinationCompetences":[],"answerRequirements":[],"appealTypes":[],"maximumExecutionTerm":null,"onlyFromMobileDom":false,"house":null,"byAllOrganization":false,"executorUserGuids":[],"executorNotAssigned":null,"executorAssignmentTermsList":[],"sortCriteria":{"sortedBy":"receivedDate","ascending":false}};
reqsend = JSON.stringify(reqsend);
req.open("POST", "https://my.dom.gosuslugi.ru/appeals/api/rest/services/appeal/answerer/search;pageIndex=1;elementsPerPage=10", true);
req.setRequestHeader('Content-Type', 'application/json;charset=utf-8');
req.setRequestHeader('Accept', 'application/json; charset=utf-8');
req.addEventListener("load", function(i) {
let response = JSON.parse(this.response);
let counter = 0;
for(let i = 0; i < response.items.length; i++){
if(response.items[i].status == 'SENT'){
counter += 1;
}
}
document.getElementById('incoming-requests').textContent = counter;
}, false);
req.send(reqsend);
}
2 комментария. Оставить новый
Добрый день! Запросы о задолженности сломались, значения перестали отображаться, просто троеточие
Добрый день. Спасибо, поправил.