您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
fast switch account cookies
// ==UserScript== // @name MEST SCD Overlay // @namespace joyings.com.cn // @version 0.6.2 // @description fast switch account cookies // @author zmz125000 // @match http://*/mest/* // @icon http://www.google.com/s2/favicons?domain=openwrt.org // @grant none // @license MIT // @run-at document-end // @require https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js // ==/UserScript== (function () { 'use strict'; // Your code here... function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } async function insertDiv() { var ul = document.createElement('ul'); ul.setAttribute('style', 'vertical-align: middle'); ul.className = 'overlay is-link'; var panelDiv = document.createElement('li'); panelDiv.className = 'parent'; panelDiv.id = 'helper_overlay'; panelDiv.setAttribute("style", "z-index: 100000; margin-right: 10px;"); let a = document.createElement('span'); a.innerHTML = "选择报工产品"; panelDiv.appendChild(a); ul.appendChild(panelDiv); while (!$('[class="user"]')[0]) { await sleep(200); } $('[class="user"]')[0].prepend(ul); var data = loadData(); if (data['record'] && data['record']['customers']) { updateOverlay(data); } getLatestSCD(); } function getLatestSCD() { fetch('https://api.jsonbin.io/v3/b/636b64a10e6a79321e444fe8/latest') .then((response) => response.json() ) .then((data) => { updateOverlay(data); saveData(data); return data; }) .catch(console.error); } function updateOverlay(data) { if ($('ul', $('#helper_overlay')[0])[0]) { $('#helper_overlay')[0].removeChild($('ul', $('#helper_overlay')[0])[0]); } var topUL = document.createElement('ul'); topUL.className = "child"; $('#helper_overlay')[0].appendChild(topUL); var customersArray = data['record']['customers']; for (let customer of customersArray) { let cElm = document.createElement('li'); cElm.className = "parent"; cElm.innerText = customer['name']; // osElm customer 下的 orders let osElm = document.createElement('ul'); osElm.className = "child orderList"; cElm.appendChild(osElm); topUL.appendChild(cElm); for (let order of customer['orders']) { let oElm = document.createElement('li'); oElm.className = "parent"; oElm.innerText = order['order']; oElm.onclick = function () { if (document.querySelector('[placeholder*="订单号"]')) { document.querySelector('[placeholder*="订单号"]').value = order['order']; document.querySelector('[placeholder*="订单号"]').dispatchEvent(new Event('input', { bubbles: true })); } if (document.querySelector('[placeholder*="生产单号"]')) { document.querySelector('[placeholder*="生产单号"]').value = ''; document.querySelector('[placeholder*="生产单号"]').dispatchEvent(new Event('input', { bubbles: true })); } else if (document.querySelector('[placeholder*="商品名称、编码、别名"]')) { document.querySelector('[placeholder*="商品名称、编码、别名"]').value = ''; document.querySelector('[placeholder*="商品名称、编码、别名"]').dispatchEvent(new Event('input', { bubbles: true })); } let sbtn = null; if ($('button:contains("查询")')[0]) { sbtn = $('button:contains("查询")')[0]; } else if ($('button:contains("搜索")')[0]) { sbtn = $('button:contains("搜索")')[0]; } else if ($('button:contains("搜 索")')[0]) { sbtn = $('button:contains("搜 索")')[0]; } if (sbtn) { sbtn.click(); } } // scdsElm order 下的 scds let scdsElm = document.createElement('div'); scdsElm.className = "grid-container"; oElm.appendChild(scdsElm); osElm.appendChild(oElm); for (let scd of order['SCDs']) { let sElm = document.createElement('div'); sElm.setAttribute("data-scd", scd['SCD']); sElm.onclick = function () { event.stopPropagation(); if (document.querySelector('[placeholder*="订单号"]')) { document.querySelector('[placeholder*="订单号"]').value = order['order']; document.querySelector('[placeholder*="订单号"]').dispatchEvent(new Event('input', { bubbles: true })); } if (document.querySelector('[placeholder*="生产单号"]')) { document.querySelector('[placeholder*="生产单号"]').value = scd['SCD']; document.querySelector('[placeholder*="生产单号"]').dispatchEvent(new Event('input', { bubbles: true })); } else if (document.querySelector('[placeholder*="商品名称、编码、别名"]')) { document.querySelector('[placeholder*="商品名称、编码、别名"]').value = scd['productCode']; document.querySelector('[placeholder*="商品名称、编码、别名"]').dispatchEvent(new Event('input', { bubbles: true })); } let sbtn = null; if ($('button:contains("查询")')[0]) { sbtn = $('button:contains("查询")')[0]; } else if ($('button:contains("搜索")')[0]) { sbtn = $('button:contains("搜索")')[0]; } else if ($('button:contains("搜 索")')[0]) { sbtn = $('button:contains("搜 索")')[0]; } if (sbtn) { sbtn.click(); } } sElm.innerText = scd['productName'].includes(scd['productAlias']) ? scd['productName'] : scd['productAlias'] + ' ' + scd['productName'];; scdsElm.appendChild(sElm); } } } } // 保存 读取 导入 切换 删除cookie // cookieData={ name:cookie,...} function loadData() { try { return JSON.parse(localStorage["scdjson"]); } catch (e) { localStorage["scdjson"] = null; return {}; } } function saveData(data) { localStorage["scdjson"] = JSON.stringify(data); } function addGlobalStyle(css) { var head, style; head = document.getElementsByTagName('head')[0]; if (!head) { return; } style = document.createElement('style'); // style.type = 'text/css'; style.innerHTML = css; head.appendChild(style); } // init insertDiv(); addGlobalStyle(` .parent { padding: 10px; display: block; position: relative; float: right; background-color: #4FA0D8; border-left: #CCC 1px solid; border-radius: 5px; } .parent span { color: #FFFFFF; text-decoration: none; } .parent:hover>ul { display: block; position: absolute; } .child { display: none; } .child li { padding: 10px; background-color: #E4EFF7; border: #CCC 1px solid; width: 100%; break-inside: avoid; border-radius: 5px; color: #000000; font-size: medium; break-inside: avoid; } .orderList { overflow-y: auto; max-height:80vh; } .overlay::-webkit-scrollbar { display: none; } .overlay ul { float: right; list-style: none; margin: 0; padding: 0px; min-width: 10em; width: fit-content; break-inside: avoid; } .overlay .grid-container { margin-top: 5px; display: grid; grid-template-columns: auto auto auto auto; grid-gap: 10px; background-color: #2196F3; padding: 8px; border-radius: 5px; } .overlay .grid-container>div { background-color: rgba(255, 255, 255, 0.8); text-align: center; padding: 5px; width: 8em; height: auto; min-height: 2em; border-radius: 5px; cursor: pointer; overflow: hidden; color: #000000; box-shadow: 0 3px #999; } .overlay .grid-container>div:hover { background-color: #72b374 } .overlay .grid-container>div:active { background-color: #3b693d; box-shadow: 0 1px #666; transform: translateY(4px); } ul ul ul { right: 100%; top: 0; } .overlay li:hover { background-color: #95B4CA; break-inside: avoid; } .parent li:hover { background-color: #F0F0F0; } `); })();