申通--百世---停发地址检测工具 传美打印

申通百世快递停发地址检测工具 传美打印

// ==UserScript==
// @name         申通--百世---停发地址检测工具  传美打印
// @namespace    https://greasyfork.org/zh-CN/scripts/426892
// @version      2.1
// @description  申通百世快递停发地址检测工具  传美打印
// @author       [email protected]
// @match        *://*.chuanmeidayin.com/*
// @match        *://*.chuanmeidayin.com/cmdy_erp/operation/Print?method=unPrin*
// @note    2021.05-23-V1.0版本上线
// @note   2022年3月13日18:44:57
// @grant        none
// @license None
// ==/UserScript==

(function() {
    'use strict';
    setTimeout(testChuanMei,1200);//开局1秒2

    //参数:快递公司名称,所有页面的买家地址,停发区域
    function panduanAddress(company,allAddress,stop,selectedCompany,muban_index_change,row_b){
        var stop_num = 0;
        var diqu = "停发地区:";
        var num = 0;
        if(allAddress.length == selectedCompany.length){
            //判断
            for(var i=0; i<allAddress.length; i++) {
                var singsingleAddress_all =allAddress[i];
                var singleAddress = allAddress[i].innerHTML;
                var singleCompany = selectedCompany[i];//获取单个选中的快递公司


                var expressName= singleCompany.options[singleCompany.selectedIndex].text; // 快递公司名称

                if(expressName.indexOf(company) != -1){//如果选中的快递公司有停发区域,根据各快递公司的停发区域判断

                    for(var j=0;j<stop.length;j++){
                        if(singleAddress.indexOf(stop[j])!= -1) {
                            row_b[i].click();//选中此行
                            num++;
                          //
                           // singleCompany.options[muban_index_change].selected = true; //未完成2021.3.5
                            //alert(singleCompany.options[muban_index_change].selected);

                            //买家地址变红
                            singsingleAddress_all.style.color="red";
                            singsingleAddress_all.style.fontWeight = 'bold';
                            singsingleAddress_all.style.fontSize = '20px';

                            //选中的快递公司名称变红
                            singleCompany.style.color="red";
                            singleCompany.style.fontWeight = 'bold';
                            singleCompany.style.fontSize = '20px'

                            //复选框其他颜色默认黑色
                            for(var k=0; k<singleCompany.options.length - 2; k++) { //减2是去掉"空行"和"添加新的快递模板"行
                                singleCompany.options[k].style.color="black";
                                singleCompany.options[k].style.fontWeight = '0';
                                singleCompany.options[k].style.fontSize = '5px';
                            }

                            //复选框的快递公司名称变红
                            singleCompany.options[singleCompany.selectedIndex].style.color="red";
                            singleCompany.options[singleCompany.selectedIndex].style.fontWeight = 'bold';
                            singleCompany.options[singleCompany.selectedIndex].style.fontSize = '10px';



                            stop_num++; //一共几个停发的地址
                            diqu+="--"+stop[j];
                           //弹框---已废弃的功能2021.3.11
                           // alert(company+"停发地区:第"+(i+1)+"行"+ singleAddress+"&nbsp; ------命中----"+stop[j]);

                        }
                    }
                }

            }
        }
        /* 废弃2021年9月2日14:10:18
        else{
            alert("错误数据,请刷新再试");
        }
        */

        return [stop_num,diqu];

    }
    function testChuanMei() {

        var shentong_experss = "申通";
        var baishi_experss = "百世";
        var yunda_experss = "韵达";
        var muban_shentong_index = 0; //申通模板  序号0
        var muban_baishi_index = 3;//百世模板  序号3

        //申通快递 更新于2022年1月4日23:27:45
        var stopShentong=new Array("乌鲁木齐市","水磨沟区","天山区","沙依巴克区","新市区","头屯河区","达坂城区","米东区","乌鲁木齐县","克拉玛依市","克拉玛依区","独山子区","白碱滩区","乌尔禾区","吐鲁番市","高昌区","鄯善县","托克逊县",
                                 "哈密市","伊州区","伊吾县","巴里坤哈萨克自治县","阿克苏地区","阿克苏市","温宿县","库车县","沙雅县","新和县","拜城县","乌什县","阿瓦提县","柯坪县","喀什地区","喀什市","疏附县","疏勒县","英吉沙县",
                                 "泽普县","莎车县","叶城县","麦盖提县","岳普湖县","伽师县","巴楚县","塔什库尔干塔吉克自治县","和田地区","和田市","和田县","墨玉县","皮山县","洛浦县","策勒县","于田县","民丰县","昌吉回族自治州",
                                 "昌吉市","阜康市","呼图壁县","玛纳斯县","奇台县","吉木萨尔县","木垒哈萨克自治县","博尔塔拉蒙古自治州","博乐市","阿拉山口市","精河县","温泉县","巴音郭楞蒙古自治州","库尔勒市","焉耆回族自治县",
                                 "轮台县","尉犁县","若羌县","且末县","和静县","和硕县","博湖县","克孜勒苏柯尔克孜自治州","阿图什市","阿克陶县","阿合奇县","乌恰县","伊犁哈萨克自治州","伊宁市","奎屯市","霍尔果斯市","尼勒克县",
                                 "伊宁县","霍城县","巩留县","新源县","昭苏县","特克斯县","察布查尔锡伯自治县","塔城地区","塔城市","乌苏市","额敏县","沙湾县","托里县","裕民县","和布克赛尔蒙古自治县","阿勒泰地区","阿勒泰市",
                                 "布尔津县","富蕴县","福海县","哈巴河县","青河县","吉木乃县","自治区直辖县级行政单位","石河子市","阿拉尔市","图木舒克市","五家渠市","北屯市","铁门关市","双河市","可克达拉市","昆玉市",
                                  "国际中心","高阳县","新疆","西藏","青海","海南","北京市","吉林省",

                                  "肥西县","江夏区","仁怀市","岳塘区","武清区","西青区","东丽区","河西区","津南区","河东区","南开区","清河县","南宫市","桥西区","沧州市","涿州市","广阳区","廊坊市",
                                   "泽州县","临猗县","陵川县","阳城县","沁水县","高平市","夏县","河津市","芮城县","稷山县","闻喜县","万荣县","垣曲县","新绛县","绛县","永济市","万柏林区","太谷县","榆次区","小店区","忻府区",
                                   "呼和浩特市","满洲里市","乌兰浩特市","突泉县","四子王旗","青山区","大东区","振兴区","绥中县","沙河口区","甘井子区","东港市","绥芬河市","道外区","郊区","南岗区","香坊区","平房区","鸡东县",
                                   "上海市","灌南县","东海县","宿城区","睢宁县","宝应县","新沂市","海州区","扬中市","灌云县","赣榆区","启东市","相城区","滨湖区","邗江区","新北区","栖霞区","梁溪区","锡山区","亭湖区","崇安区",
                                   "园区","姑苏区","吴中区","苏州工业园区","港闸区","常熟市","滨江区","上城区","开化县","东阳市","鹿城区","余杭区","萧山区","定海区","海宁市","","莱西市","环翠区","张店区","周村区","平原县",
                                   "禹城市","荣成市","文登区","牟平区","莱阳市","桓台县","临清市","城阳区","淄川区","即墨区","胶州市","黄岛区","乳山市","卫东区","汝阳县","华龙区","东莞市","福田区","信宜市","南山区","惠阳区",
                                   "惠东县","罗湖区","顺德区","宝安区","源城区","东源县","大亚湾区","中山市","荔湾区","越秀区","惠来县","龙岗区","龙州县","防城区","那坡县","凭祥市","德保县","东兴市","巫山县","云阳县","巫溪县",
                                   "彭水","酉阳","武隆区","丰都县","奉节县","沙坪坝区","壤塘县","得荣县","德格县","木里","石渠县","白玉县","天府新区","耿马","瑞丽市","腾冲市","陇川县","个旧市","河口瑶族","镇康县","略阳县",
                                   "新城区","渭城区","肃州区","金塔县","兰州新区","景泰县","白银区","甘州区","榆中县","红寺堡区");
        //
        //
        //
        //

        //百世快递 更新于 2022年1月4日23:16:42
        var stopBaishi=new Array("乌鲁木齐市","水磨沟区","天山区","沙依巴克区","新市区","头屯河区","达坂城区","米东区","乌鲁木齐县","克拉玛依市","克拉玛依区","独山子区","白碱滩区","乌尔禾区","吐鲁番市","高昌区","鄯善县","托克逊县",
                                 "哈密市","伊州区","伊吾县","巴里坤哈萨克自治县","阿克苏地区","阿克苏市","温宿县","库车县","沙雅县","新和县","拜城县","乌什县","阿瓦提县","柯坪县","喀什地区","喀什市","疏附县","疏勒县","英吉沙县",
                                 "泽普县","莎车县","叶城县","麦盖提县","岳普湖县","伽师县","巴楚县","塔什库尔干塔吉克自治县","和田地区","和田市","和田县","墨玉县","皮山县","洛浦县","策勒县","于田县","民丰县","昌吉回族自治州",
                                 "昌吉市","阜康市","呼图壁县","玛纳斯县","奇台县","吉木萨尔县","木垒哈萨克自治县","博尔塔拉蒙古自治州","博乐市","阿拉山口市","精河县","温泉县","巴音郭楞蒙古自治州","库尔勒市","焉耆回族自治县",
                                 "轮台县","尉犁县","若羌县","且末县","和静县","和硕县","博湖县","克孜勒苏柯尔克孜自治州","阿图什市","阿克陶县","阿合奇县","乌恰县","伊犁哈萨克自治州","伊宁市","奎屯市","霍尔果斯市","尼勒克县",
                                 "伊宁县","霍城县","巩留县","新源县","昭苏县","特克斯县","察布查尔锡伯自治县","塔城地区","塔城市","乌苏市","额敏县","沙湾县","托里县","裕民县","和布克赛尔蒙古自治县","阿勒泰地区","阿勒泰市",
                                 "布尔津县","富蕴县","福海县","哈巴河县","青河县","吉木乃县","自治区直辖县级行政单位","石河子市","阿拉尔市","图木舒克市","五家渠市","北屯市","铁门关市","双河市","可克达拉市","昆玉市",
                                 "国际中心","高阳县",//同行
                                 "新疆","西藏","青海","海南",//贼贵
                                 "内蒙","黑龙江","吉林","辽宁","四川","湖南","湖北","福建",//福建+0.5  黑吉辽蒙川+0.3
                                 "甘肃","宁夏","上海市","重庆","云南","贵州","广西",
                                 "广州市","深圳市","中山市","惠州市","佛山市","东莞市","揭阳市","阳江市","宜宾市","成都市","绵阳市","红原县","衡阳市","武汉市","昆明市","德宏","大理","临沧市",
                                 "合肥市","宿州市","重庆市","濮阳市","郑州市","信阳市","周口市","鹤壁市","扬州市","苏州市","南通市","无锡市","徐州市","烟台市","青岛市","德州市","菏泽市","济南市",
                                 "潍坊市","陕西省","石家庄","唐山市","保定","张家口","南宁市","玉林市","柳州市","崇左市","防城港","晋中市","运城市","宁波市","嘉兴市","杭州市","温州市","绍兴市",
                                 "台州市","九江市","锡林郭勒","阿拉善","呼伦贝尔","遵义市","贵阳市","银川市","西宁市","兰州市","天水市","白银市","庆阳市","平凉市","北京市","上海市","大连市",
                                 "建平县","沈阳市","抚顺市","哈尔滨","齐齐哈尔","黑河市","大兴安岭","天津市","长春市","延吉市","泉州市","厦门市","福州市","宁德市","南平市"
                                );





        //韵达快递 更新于 2022年1月4日23:31:13
        var stopYunda=new Array("乌鲁木齐市","水磨沟区","天山区","沙依巴克区","新市区","头屯河区","达坂城区","米东区","乌鲁木齐县","克拉玛依市","克拉玛依区","独山子区","白碱滩区","乌尔禾区","吐鲁番市","高昌区","鄯善县","托克逊县",
                                 "哈密市","伊州区","伊吾县","巴里坤哈萨克自治县","阿克苏地区","阿克苏市","温宿县","库车县","沙雅县","新和县","拜城县","乌什县","阿瓦提县","柯坪县","喀什地区","喀什市","疏附县","疏勒县","英吉沙县",
                                 "泽普县","莎车县","叶城县","麦盖提县","岳普湖县","伽师县","巴楚县","塔什库尔干塔吉克自治县","和田地区","和田市","和田县","墨玉县","皮山县","洛浦县","策勒县","于田县","民丰县","昌吉回族自治州",
                                 "昌吉市","阜康市","呼图壁县","玛纳斯县","奇台县","吉木萨尔县","木垒哈萨克自治县","博尔塔拉蒙古自治州","博乐市","阿拉山口市","精河县","温泉县","巴音郭楞蒙古自治州","库尔勒市","焉耆回族自治县",
                                 "轮台县","尉犁县","若羌县","且末县","和静县","和硕县","博湖县","克孜勒苏柯尔克孜自治州","阿图什市","阿克陶县","阿合奇县","乌恰县","伊犁哈萨克自治州","伊宁市","奎屯市","霍尔果斯市","尼勒克县",
                                 "伊宁县","霍城县","巩留县","新源县","昭苏县","特克斯县","察布查尔锡伯自治县","塔城地区","塔城市","乌苏市","额敏县","沙湾县","托里县","裕民县","和布克赛尔蒙古自治县","阿勒泰地区","阿勒泰市",
                                 "布尔津县","富蕴县","福海县","哈巴河县","青河县","吉木乃县","自治区直辖县级行政单位","石河子市","阿拉尔市","图木舒克市","五家渠市","北屯市","铁门关市","双河市","可克达拉市","昆玉市",
                                "国际中心","高阳县","新疆","西藏","上海市","内蒙","云南","北京市","吉林省",
                                "包河区","昆山市","江宁区","高港区","姑苏区","余姚市","北仑区","都匀市","仁怀市","贵定县","恩施市","岳麓区","鹿泉区","广阳区","固安县","宁津县","平原县","牟平区","张店区","宜秀区",
                                "灌南县","西青区","武清区","红桥区","惠来县","黄骅市","荣成市","文登区","德清县","余杭区","萧山区","光明区","汉南区","淄川区","龙海市","太仓市","东海县","宝应县","东港市","廊坊市",
                                "蠡县","定州市","任丘市","东光县","肃宁县","新城区","阿拉善左旗","东丽区","河东区","北辰区","津南区","滨海新区","河北区","周村区","桓台县","邹平市","禹城市","海宁市","江干区",
                                "富阳区","福田区","南山区","凭祥市","天心区","长垣市","华龙区","濮阳县","城关区","临猗县","长安区","碑林区","莲湖区","略阳县","渭滨区","未央区","嵩明县","盘龙区","隆阳区",
                                "文山市","万州区","宾县","南岗区","香坊区","涿州市","和林格尔县","赛罕区","包头市","灌云县","吴兴区","宝安区","市辖区","源城区","封丘县","硚口区","金塔县","永登县","皋兰县",
                                "泽州县","成安县","青县","沧县","河间市","启东市","环翠区","龙华区","肃州区","景泰县","武侯区","东宁市","道外区","信都区","裕华区","清苑区","赣榆区","嘉善县","龙岗区",
                                "呈贡区","开化县","罗湖区","盐田区","那坡县","宁乡市","鸡冠区","海州区","滨江区","港口区","莱西市","伊美区","扎赉诺尔区","满洲里市","瑞丽市","清河县","南宫市","玉泉区",
                                "回民区","酉阳","向阳区","土默特左旗","尖草坪区","耿马","绥芬河市","东兴市","忻府区","镇康县","湘潭县","武川县","四子王旗","双流区","铁西区","太谷区","河口瑶族","云阳县",
                                "巫山县","巫溪县","绥中县","爱辉区","呼玛县","丰都县","彭水苗族","开州区","武隆区","藁城区","和平区");


        var allAddress = document.getElementsByClassName('address');//地址栏

        var selectedCompany = document.getElementsByName('expressId2');//右侧对应地址栏的快递公司栏(此处不是4,是所有地址对应的每行快递公司列表)//document.getElementsByClassName('rc-select')

        var row_b = document.getElementsByClassName('row blue');//地址栏

         var name = document.getElementsByClassName('name');//地址栏name

        //console.log(atags);

        //2021.3.3维护
        var tingfa_shentong_num = panduanAddress(shentong_experss,allAddress,stopShentong,selectedCompany,muban_baishi_index,row_b);//最后返向传参,模板互换
        var tingfa_baishi_num = panduanAddress(baishi_experss,allAddress,stopBaishi,selectedCompany,muban_shentong_index,row_b);
        var tingfa_yunda_num = panduanAddress(yunda_experss,allAddress,stopYunda,selectedCompany,9,row_b);


        if(tingfa_shentong_num[0] != 0){
            alert(shentong_experss+" 有" + tingfa_shentong_num[0]+"个停发的地址(已标红),"+ tingfa_shentong_num[1]);
        }

        if(tingfa_baishi_num[0] != 0){
            alert(baishi_experss+" 有" + tingfa_baishi_num[0]+"个停发的地址(已标红),"+ tingfa_baishi_num[1]);
        }

        if(tingfa_yunda_num[0] != 0){
            alert(yunda_experss+" 有" + tingfa_yunda_num[0]+"个停发的地址(已标红),"+ tingfa_yunda_num[1]);
        }

        //高亮姓名--刷单G

        var shuaNum = 0;
         for(var k=1,h=0; k<name.length; k=k+3,h++) {

             var singlenamestyle=name[k];
             var singleName=name[k].innerHTML;

               if(singleName.indexOf("G") == 0){
                  singlenamestyle.style.color="red";
                   singlenamestyle.style.fontWeight = 'bold';
                   singlenamestyle.style.fontSize = '20px';
                    row_b[h].click();//选中此行*/
                   shuaNum++;
                }else{
                   // alert("判断不成功");
                }


         }
        if(shuaNum!=0){
         alert("刷单的有"+shuaNum+"个");
        }
        //刷单结束

/*
2:拿到选中项的索引:var index=myselect.selectedIndex ; // selectedIndex代表的是你所选中项的index

3:拿到选中项options的value: myselect.options[index].value;

4:拿到选中项options的text: myselect.options[index].text;

5:拿到选中项的其他值,比如这里的url: myselect.options[index].getAttribute('url');
*/


        /*   2021.3.3修改为方法function,以下源代码已废弃
        for(var i=0; i<atags.length; i++) {
            var str = atags[i].innerHTML;            for(var j=0;j<tingfaShentong.length;j++){
                if(str.indexOf(tingfaShentong[j])!= -1) {
                    num++;
                    alert("申通停发地区:第"+(i+1)+"行"+ str+tingfaShentong[j]);
                }
            }
        }

        */


        /*    旧代码2019.11.6   只判断新疆   已废弃
        for(var i=0; i<atags.length; i++) {
            var str = atags[i].innerHTML;
            if((str.indexOf("新疆")!= -1)||str.indexOf("西藏")!= -1) {
                alert("恶意地址:第"+(i+1)+"行"+ str);
            }
        }
        */

    }
    // Your code here...
})();