DFDJLAdjfldjg

you can use it for your report

目前為 2024-04-25 提交的版本,檢視 最新版本

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.gf.qytechs.cn/scripts/493430/1366030/DFDJLAdjfldjg.js

// ==UserScript==
// @name         DFDJLAdjfldjg
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  you can use it for your report
// @author       You
// @match        http://111.51.123.233:8088/stj-web/index/inspect/report/toReportInput.do*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=123.233
// @grant        none
// ==/UserScript==


(function () {
  "use strict";
  if (1) {
    var origSend = XMLHttpRequest.prototype.send;


    XMLHttpRequest.prototype.send = function (body) {
      if (
        this._url.includes(
          "http://111.51.123.233:8088/intf/report/itemJson/save"
        )
      ) {

        try {
          const parsedData = parseCustomUrlEncodedData(body);

        } catch (error) {
          console.error("解析数据时发生错误:", error);
        }


      }

      origSend.call(this, body);
    };var origOpen = XMLHttpRequest.prototype.open;
    XMLHttpRequest.prototype.open = function (method, url) {
      this._url = url;
      origOpen.apply(this, arguments);
    };var button = document.createElement("button");
    button.innerText = "审核系统";
    button.title = "点击进行审核";
    button.style.position = "fixed";
    button.style.right = window.innerWidth / 15 + "px";
    button.style.bottom = window.innerHeight / 15 + "px";
    button.style.cursor = "grab";button.style.fontSize = "16px";
    button.style.color = "#ffffff";
    button.style.backgroundColor = "#add8e6";
    button.style.border = "none";
    button.style.borderRadius = "5px";
    button.style.padding = "10px 20px";
    button.style.transition = "background-color 0.3s ease";button.onmouseover = function () {
      this.style.backgroundColor = "#87CEEB";
    };
    button.onmouseout = function () {
      this.style.backgroundColor = "#add8e6";
    };var initialX, initialY;
    var isDragging = false;

    button.onmousedown = function (e) {
      initialX = e.clientX - button.getBoundingClientRect().right;
      initialY = e.clientY - button.getBoundingClientRect().bottom;
      isDragging = true;

      document.onmousemove = function (e) {
        if (!isDragging) return;
        var newX = e.clientX - initialX;
        var newY = e.clientY - initialY;
        button.style.right = window.innerWidth - newX + "px";
        button.style.bottom = window.innerHeight - newY + "px";
      };

      document.onmouseup = function () {
        isDragging = false;
        document.onmousemove = null;
        document.onmouseup = null;
      };

      e.preventDefault();
      return false;
    };


    function drag(e) {
      if (!isDragging) return;

      var newX = e.clientX - initialX;
      var newY = e.clientY - initialY;


      button.style.left = newX + "px";
      button.style.top = newY + "px";


      e.preventDefault();
      return false;
    }


    function stopDragging() {

      document.onmousemove = null;
      document.onmouseup = null;

      isDragging = false;
    }


    Object.assign(button.style, {
      fontSize: "16px",
      zIndex: 1000,
      borderRadius: "50%",
      backgroundColor: "#FF8C00",
      boxShadow: "0 4px 8px 0 rgba(0, 0, 0, 0.2)",
      padding: "15px 32px",
      cursor: "grab",
      transition: "all 0.3s ease",
      outline: "none",
      border: "none",
      color: "white",
      textTransform: "uppercase",
      fontWeight: "bold",
    });


    document.body.appendChild(button);
    button.onclick = function (e) {
      main();
    };

    if (1) {

      if (1) {
        /* var input = document.createElement("TEXTAREA");

    input.id = "information";
    inp

    input.style.width = "320px";
    input.style.height = "400px";
    input.style.resize = "none";


    Object.assign(input.style, {
      position: "fixed",
      right: "20px",
      bott
      backgro
    });

    document.body.appendChild(input); */
      }


      if (1) {
        /* var input = document.createElement("TEXTAREA");

    input.id = "information";
    input.name = "information";

    // 设置基本样式
    input.style.width = "320px";
    input.style.height = "400px";
    input.
    var initialX1, initialY1;

    input.onmetLeft;
      initialYove = drag1;
      document.onmouseup = stopDrag1;
    };

    function drag1(e) {
      i
      if (newX > window.innerWidth - input.offsetWidth)
        newX = window.innerWidth - input.offsetWidth;
      if (newY > window.innerHeight - input.offsetHeight)
        new
      isDra

    });  */
      }


      if (1) {
        /* var input = document.createElement("TEXTAREA");

    input.id = "information";
    input.name = "information";

    var initialX1, initialY1;

    /
        isDragging1 = true;


    function drag1(e) {
      if (!isDragging1) return;

      //
        Math.min(newY, window.innerHeight - input.offsetHeight)
      );

      //";
      input.style.top = newY + "px";
    }

    //
      document.onmousemove = null;
      document.onmouseup = null;
    }

    //
      borderRadi
    }); */
      }

      if (1) {
        var input = document.createElement("TEXTAREA");

        input.id = "information";
        input.name = "information";


        input.style.width = "320px";
        input.style.height = "400px";
        input.style.resize = "none";
        input.style.position = "absolute";
        input.style.left = window.innerWidth / 15 + "px";
        input.style.top = window.innerWidth / 4 + "px";
        input.style.zIndex = 100;
        input.style.backgroundColor = "#add8e6";

        input.onmouseover = function () {
          this.style.backgroundColor = "#87CEEB";
        };
        input.onmouseout = function () {
          this.style.backgroundColor = "#add8e6";
        };


        var isDragging1 = false;
        var initialX1, initialY1;
        var offsetX1, offsetY1;


        input.onmousedown = function (e) {
          if (e.button === 2) {

            e.preventDefault();


            initialX1 = e.clientX - parseInt(input.style.left, 10);
            initialY1 = e.clientY - parseInt(input.style.top, 10);


            offsetX1 = e.clientX - input.offsetLeft;
            offsetY1 = e.clientY - input.offsetTop;


            isDragging1 = true;


            document.onmousemove = drag1;
            document.onmouseup = stopDrag1;
          }
        };


        function drag1(e) {
          if (!isDragging1) return;


          var newX = e.clientX - offsetX1;
          var newY = e.clientY - offsetY1;


          newX = Math.max(
            0,
            Math.min(newX, window.innerWidth - input.offsetWidth)
          );
          newY = Math.max(
            0,
            Math.min(newY, window.innerHeight - input.offsetHeight)
          );


          input.style.left = newX + "px";
          input.style.top = newY + "px";
        }


        function stopDrag1() {

          isDragging1 = false;


          document.onmousemove = null;
          document.onmouseup = null;
        }


        document.body.appendChild(input);


        Object.assign(input.style, {
          border: "2px solid #ccc",
          borderRadius: "10px",
          backgroundColor: "white",
          padding: "10px",
          boxShadow: "0 0 5px rgba(0, 0, 0, 0.1)",
          fontSize: "16px",
          overflow: "auto",
        });
      }
    }

    function parseCustomUrlEncodedData(dataString) {
      const parts = dataString.split("&");
      const objects = [];

      parts.forEach((part) => {
        const [key, encodedValue] = part.split("=");
        const decodedValue = decodeURIComponent(encodedValue);
        const parsedValue = JSON.parse(decodedValue);
        objects.push(parsedValue);
      });
      let mergedObject = {};

      objects.forEach((obj) => {
        Object.assign(mergedObject, obj);
      });
      return mergedObject;
    }
  }
  var strtip = "";
  var tipnum = 0;
  var enable = true;
  var strinput = "";
  var strreport = "报告模板:\n";
  const keyname = [
    "JYJG1_JYJL1",
    "DTBZ1",
    "JYJG2_JYJL1",
    "DTBZ2",
    "JYJG3_JYJL1",
    "DTBZ3",
    "JYJG4_JYJL2",
    "DTBZ4",
    "JYJG5_JYJL2",
    "DTBZ5",
    "JYJG6_JYJL3",
    "DTBZ6",
    "JYJG7_JYJL4",
    "DTBZ7",
    "JYJG8_JYJL4",
    "DTBZ8",
    "JYJG9_JYJL4",
    "DTBZ9",
    "JYJG10_JYJL4",
    "DTBZ10",
    "JYJG11_JYJL5",
    "DTBZ11",
    "JYJG12_JYJL6",
    "DTBZ12",
    "JYJG13_JYJL6",
    "DTBZ13",
    "JYJG14_JYJL6",
    "DTBZ14",
    "JYJG15_JYJL6",
    "DTBZ15",
    "JYJG16_JYJL7",
    "DTBZ16",
    "JYJG17_JYJL8",
    "DTBZ17",
    "JYJG18_JYJL8",
    "DTBZ18",
    "JYJG19_JYJL9",
    "DTBZ19",
    "JYJG20_JYJL10",
    "DTBZ20",
    "JYJG21_JYJL11",
    "DTBZ21",
    "JYJG22_JYJL12",
    "DTBZ22",
    "JYJG23_JYJL12",
    "DTBZ23",
    "JYJG24_JYJL12",
    "DTBZ24",
    "JYJG25_JYJL13",
    "DTBZ25",
    "JYJG26_JYJL13",
    "DTBZ26",
    "JYJG27_JYJL13",
    "DTBZ27",
    "JYJG28_JYJL13",
    "DTBZ28",
    "JYJG29_JYJL13",
    "DTBZ29",
    "JYJG30_JYJL14",
    "DTBZ30",
    "JYJG31_JYJL14",
    "DTBZ31",
    "JYJG32_JYJL15",
    "DTBZ32",
    "JYJG33_JYJL15",
    "DTBZ33",
    "JYJG34_JYJL15",
    "DTBZ34",
    "JYJG35_JYJL16",
    "DTBZ35",
    "JYJG36_JYJL17",
    "DTBZ36",
    "JYJG37_JYJL18",
    "DTBZ37",
    "JYJG38_JYJL18",
    "DTBZ38",
    "JYJG39_JYJL18",
    "DTBZ39",
    "JYJG40_JYJL18",
    "DTBZ40",
    "JYJG41_JYJL19",
    "DTBZ41",
    "JYJG42_JYJL20",
    "DTBZ42",
    "JYJG43_JYJL21",
    "DTBZ43",
    "JYJG44_JYJL21",
    "DTBZ44",
    "JYJG45_JYJL21",
    "DTBZ45",
    "JYJG46_JYJL21",
    "DTBZ46",
    "JYJG47_JYJL22",
    "DTBZ47",
    "JYJG48_JYJL22",
    "DTBZ48",
    "JYJG49_JYJL23",
    "DTBZ49",
    "DTSJ503",
    "JYJG50_JYJL24",
    "DTBZ50",
    "DTSJ504",
    "JYJG51_JYJL24",
    "DTBZ51",
    "JYJG52_JYJL25",
    "DTBZ52",
    "JYJG53_JYJL26",
    "DTBZ53",
    "JYJG54_JYJL26",
    "DTBZ54",
    "JYJG55_JYJL26",
    "DTBZ55",
    "JYJG56_JYJL27",
    "DTBZ56",
    "JYJG57_JYJL27",
    "DTBZ57",
    "JYJG58_JYJL28",
    "DTBZ58",
    "JYJG59_JYJL28",
    "DTBZ59",
    "JYJG60_JYJL29",
    "DTBZ60",
    "DTSJ700",
    "JYJG61_JYJL29",
    "DTBZ61",
    "JYJG62_JYJL29",
    "DTBZ62",
    "JYJG63_JYJL29",
    "DTBZ63",
    "JYJG64_JYJL30",
    "DTBZ64",
    "JYJG65_JYJL30",
    "DTBZ65",
    "JYJG66_JYJL30",
    "DTBZ66",
    "DTSJ702",
    "JYJG67_JYJL31",
    "DTBZ67",
    "DTSJ74",
    "JYJG68_JYJL31",
    "DTBZ68",
    "JYJG69_JYJL32",
    "DTBZ69",
    "JYJG70_JYJL33",
    "DTBZ70",
    "JYJG71_JYJL33",
    "DTBZ71",
    "JYJG72_JYJL34",
    "DTBZ72",
    "JYJG73_JYJL34",
    "DTBZ73",
    "JYJG74_JYJL34",
    "DTBZ74",
    "JYJG75_JYJL34",
    "DTBZ75",
    "JYJG76_JYJL35",
    "DTBZ76",
    "JYJG77_JYJL36",
    "DTBZ77",
    "JYJG78_JYJL36",
    "DTBZ78",
    "JYJG79_JYJL38",
    "DTBZ79",
    "JYJG80_JYJL39",
    "DTBZ80",
    "JYJG81_JYJL39",
    "DTBZ81",
    "JYJG82_JYJL39",
    "DTBZ82",
    "JYJG83_JYJL39",
    "DTBZ83",
    "JYJG84_JYJL40",
    "DTBZ84",
    "JYJG85_JYJL40",
    "DTBZ85",
    "JYJG86_JYJL40",
    "DTBZ86",
    "JYJG87_JYJL40",
    "DTBZ87",
    "JYJG88_JYJL41",
    "DTBZ88",
    "JYJG89_JYJL41",
    "DTBZ89",
    "JYJG90_JYJL42",
    "DTBZ90",
    "JYJG91_JYJL43",
    "DTBZ91",
  ];
  var keyvalarr1 = null,
    keyvalarr2 = null,
    keyvalarr3 = null,
    keyvalarr4 = null;
  function main() {
    XiaoHe();
  }
  function XiaoHe() {
    //alert(gett("DTSJ700"))
    if (1) {
      keyvalarr1 = {
        REPORTNO: "NTD11202405871",
        使用单位名称: "宁夏永建建筑工程有限公司",
        设备代码: "311010339201203353",
        SHEBEILEIBIE: "曳引与强制驱动电梯",
        "内部(全面)检验日期(电类定检)": "2024年04月17日",
      };

      keyvalarr2 = {
        使用单位名称: "宁夏永建建筑工程有限公司",
        使用单位组织机构代码: "916401212279302618",
        "设备使用(所在)地点": "永宁县团结社区日间照料中心",
        设备分类代码: "曳引驱动乘客电梯",
        设备型号: "DPN35",
        "产品编号(出厂编号)": "202209146",
        使用证编号: "56",
        安全管理人员: "张飞",
        安全管理人员联系电话: "09514100765",
        制造单位: "苏州德奥电梯有限公司",
        制造日期: "2006年09月26日",
        GZDWMC: "-",
        改造监督检验日期: "-",
        维保单位名称: "宁夏通宇电梯制造发展股份有限公司",
        ZDSYRQ: "2023年04月",
        安装监督检验日期: "2016年06月",
        是否加装电梯: "否",
        是否住宅电梯: "否",
        "内部(全面)下次检验日期(电类定检)": "2025年04月",
        电梯额定载荷: "800",
        电梯运行速度: "1.5",
        电梯层站: "6",
        电梯站数: "6",
        电梯门数: "6",
        控制方式: "单台集选控制",
        DTJYYJ: "《电梯监督检验和定期检验规则》(TSG T7001-2023)",
        JYYQSB: "详见(2)号工具箱",
        DTBZCS3: "-",
        DTBZCS4: "-",
        XCJYTJ: "符合",
        XCAQTJ: "符合",
        "内部(全面)检验结论(电类定检)": "合格",
        JYRY: "",
        "内部(全面)检验日期(电类定检)": "2024年04月17日",
        JHRY: "",
        JHRQ: "",
      };

      keyvalarr3 = {
        JYJG1_JYJL1: "",
        DTBZ1: "-",
        JYJG2_JYJL1: "×",
        DTBZ2: "-",
        JYJG3_JYJL1: "×",
        DTBZ3: "-",
        JYJG4_JYJL2: "×",
        DTBZ4: "-",
        JYJG5_JYJL2: "√",
        DTBZ5: "-",
        JYJG6_JYJL3: "√",
        DTBZ6: "-",
        JYJG7_JYJL4: "√",
        DTBZ7: "-",
        JYJG8_JYJL4: "-",
        DTBZ8: "-",
        JYJG9_JYJL4: "√",
        DTBZ9: "-",
        JYJG10_JYJL4: "√",
        DTBZ10: "-",
        JYJG11_JYJL5: "√",
        DTBZ11: "-",
        JYJG12_JYJL6: "-",
        DTBZ12: "-",
        JYJG13_JYJL6: "-",
        DTBZ13: "-",
        JYJG14_JYJL6: "-",
        DTBZ14: "-",
        JYJG15_JYJL6: "-",
        DTBZ15: "-",
        JYJG16_JYJL7: "√",
        DTBZ16: "-",
        JYJG17_JYJL8: "-",
        DTBZ17: "-",
        JYJG18_JYJL8: "-",
        DTBZ18: "-",
        JYJG19_JYJL9: "-",
        DTBZ19: "-",
        JYJG20_JYJL10: "√",
        DTBZ20: "-",
        JYJG21_JYJL11: "√",
        DTBZ21: "-",
        JYJG22_JYJL12: "√",
        DTBZ22: "-",
        JYJG23_JYJL12: "√",
        DTBZ23: "-",
        JYJG24_JYJL12: "-",
        DTBZ24: "-",
        JYJG25_JYJL13: "√",
        DTBZ25: "-",
        JYJG26_JYJL13: "√",
        DTBZ26: "-",
        JYJG27_JYJL13: "√",
        DTBZ27: "-",
        JYJG28_JYJL13: "-",
        DTBZ28: "-",
        JYJG29_JYJL13: "√",
        DTBZ29: "-",
        JYJG30_JYJL14: "-",
        DTBZ30: "-",
        JYJG31_JYJL14: "√",
        DTBZ31: "-",
        JYJG32_JYJL15: "√",
        DTBZ32: "-",
        JYJG33_JYJL15: "-",
        DTBZ33: "-",
        JYJG34_JYJL15: "-",
        DTBZ34: "-",
        JYJG35_JYJL16: "√",
        DTBZ35: "-",
        JYJG36_JYJL17: "-",
        DTBZ36: "-",
        JYJG37_JYJL18: "√",
        DTBZ37: "-",
        JYJG38_JYJL18: "√",
        DTBZ38: "-",
        JYJG39_JYJL18: "√",
        DTBZ39: "-",
        JYJG40_JYJL18: "√",
        DTBZ40: "-",
        JYJG41_JYJL19: "-",
        DTBZ41: "-",
        JYJG42_JYJL20: "-",
        DTBZ42: "-",
      };

      keyvalarr4 = {
        JYJG43_JYJL21: "√",
        DTBZ43: "-",
        JYJG44_JYJL21: "√",
        DTBZ44: "-",
        JYJG45_JYJL21: "-",
        DTBZ45: "-",
        JYJG46_JYJL21: "√",
        DTBZ46: "-",
        JYJG47_JYJL22: "√",
        DTBZ47: "-",
        JYJG48_JYJL22: "√",
        DTBZ48: "-",
        JYJG49_JYJL23: "×",
        DTBZ49: "-",
        DTSJ503: "≤6",
        JYJG50_JYJL24: "√",
        DTBZ50: "-",
        DTSJ504: "≤45",
        JYJG51_JYJL24: "√",
        DTBZ51: "-",
        JYJG52_JYJL25: "√",
        DTBZ52: "-",
        JYJG53_JYJL26: "√",
        DTBZ53: "-",
        JYJG54_JYJL26: "√",
        DTBZ54: "-",
        JYJG55_JYJL26: "√",
        DTBZ55: "-",
        JYJG56_JYJL27: "√",
        DTBZ56: "-",
        JYJG57_JYJL27: "√",
        DTBZ57: "-",
        JYJG58_JYJL28: "√",
        DTBZ58: "-",
        JYJG59_JYJL28: "√",
        DTBZ59: "-",
        JYJG60_JYJL29: "√",
        DTBZ60: "-",
        DTSJ700: "7",
        JYJG61_JYJL29: "√",
        DTBZ61: "-",
        JYJG62_JYJL29: "√",
        DTBZ62: "-",
        JYJG63_JYJL29: "√",
        DTBZ63: "-",
        JYJG64_JYJL30: "√",
        DTBZ64: "-",
        JYJG65_JYJL30: "√",
        DTBZ65: "-",
        JYJG66_JYJL30: "√",
        DTBZ66: "-",
        DTSJ702: "45",
        JYJG67_JYJL31: "√",
        DTBZ67: "-",
        DTSJ74: "23",
        JYJG68_JYJL31: "-",
        DTBZ68: "-",
        JYJG69_JYJL32: "√",
        DTBZ69: "-",
        JYJG70_JYJL33: "√",
        DTBZ70: "-",
        JYJG71_JYJL33: "√",
        DTBZ71: "-",
        JYJG72_JYJL34: "√",
        DTBZ72: "-",
        JYJG73_JYJL34: "√",
        DTBZ73: "-",
        JYJG74_JYJL34: "√",
        DTBZ74: "-",
        JYJG75_JYJL34: "√",
        DTBZ75: "-",
        JYJG76_JYJL35: "√",
        DTBZ76: "-",
        JYJG77_JYJL36: "-",
        DTBZ77: "-",
        JYJG78_JYJL36: "-",
        DTBZ78: "-",
        JYJG79_JYJL38: "√",
        DTBZ79: "-",
        JYJG80_JYJL39: "-",
        DTBZ80: "-",
        JYJG81_JYJL39: "√",
        DTBZ81: "-",
        JYJG82_JYJL39: "√",
        DTBZ82: "-",
        JYJG83_JYJL39: "√",
        DTBZ83: "-",
        JYJG84_JYJL40: "-",
        DTBZ84: "-",
        JYJG85_JYJL40: "-",
        DTBZ85: "-",
        JYJG86_JYJL40: "-",
        DTBZ86: "-",
        JYJG87_JYJL40: "√",
        DTBZ87: "-",
        JYJG88_JYJL41: "√",
        DTBZ88: "-",
        JYJG89_JYJL41: "√",
        DTBZ89: "-",
        JYJG90_JYJL42: "√",
        DTBZ90: "-",
        JYJG91_JYJL43: "√",
        DTBZ91: "-",
      };
    }
    var keyvalArr = {
      ...keyvalarr1,
      ...keyvalarr2,
      ...keyvalarr3,
      ...keyvalarr4,
    };
    const dat = replaceValuesWithFun(keyvalArr, gett);

    if (1) {

      if (1) {
        if (getdtt("使用单位:") === "") {
          addstrtip("使用单位名称为空!");
          //highlightedFields.push(ddh('使用单位:'))
        }
        if (getdtt("设备代码:") === "") {
          addstrtip("设备代码为空!");
        }
        if (getdtt("设备类别:") === "") {
          addstrtip("设备类别为空!");
        }
        if (getdtt("检验日期:") === "") {
          addstrtip("封面检验日期为空!");
        }
      }
      //概况
      if (1) {
        if (gethtt("使用单位名称") === "") {
          addstrtip("概况使用单位名称为空!");
        }
        if (gethtt("统一社会信用代码") === "") {
          addstrtip("统一社会信用代码为空!");
        }if (gethtt("安装地点") === "") {
          addstrtip("安装地点为空!");
        }
        if (gethtt("设备品种") === "") {
          addstrtip("设备品种为空!");
        }
        if (gethtt("产品型号") === "") {
          addstrtip("产品型号为空!");
        }
        if (gethtt("产品编号") === "") {
          addstrtip("产品编号为空!");
        }
        if (gethtt("单位内编号") === "") {
          addstrtip("单位内编号为空!");
        }
        if (gethtt("使用登记证编号") === "") {
          addstrtip("使用登记证编号为空!");
        }
        if (gethtt("安全管理人员") === "") {
          addstrtip("安全管理人员为空!");
        }if (gethtt("电话") === "") {
          addstrtip("安全管理人员联系电话为空!");
        }
        if (gethtt("制造单位名称") === "") {
          addstrtip("制造单位名称为空!");
        } if (gethtt("制造日期") === "") {
          addstrtip("制造日期为空!");
        }
        if (gethtt("改造单位名称") === "") {
          addstrtip("改造单位名称为空!");
        }
        if (gethtt("改造日期") === "") {
          addstrtip("改造日期为空!");
        }
        if (gethtt("维护保养单位名称") === "") {
          addstrtip("维保单位名称为空!");
        }
        if (gethtt("最近一次制动试验确认日期") === "") {
          addstrtip("最近一次制动试验确认日期为空!");
        }
        if (gethtt("监督检验日期") === "") {
          addstrtip("监督检验日期为空!");
        }
        if (gethtt("是否加装电梯") === "") {
          addstrtip("是否加装电梯信息为空!");
        }
        if (gethtt("是否住宅电梯") === "") {
          addstrtip("是否住宅电梯信息为空!");
        }
        if (gethtt("下次检验日期") === "") {
          addstrtip("下次检验日期为空!");
        }
        if (gethtt("额定载重量") === "") {
          addstrtip("电梯额定载荷为空!");
        }
        if (gethtt("额定速度") === "") {
          addstrtip("电梯运行速度为空!");
        }
        if (dat.电梯层站 === "") {
          addstrtip("电梯层站为空!");
        }
        if (dat.电梯站数 === "") {
          addstrtip("电梯站数为空!");
        }
        if (dat.电梯门数 === "") {
          addstrtip("电梯门数为空!");
        }
        if (gethtt("控制方式") === "") {
          addstrtip("控制方式为空!");
        }
        if (gethtt("检验依据") === "") {
          addstrtip("检验依据为空!");
        }
        if (gethtt("主要检验仪器设备") === "") {
          addstrtip("主要检验仪器设备为空!");
        }
        if (gethtt("备注") === "") {
          addstrtip("概况备注为空!");
        }

        if (getdt("XCJYTJ") === "") {
          addstrtip("现场检验条件为空!");
        }
        if (getdt("XCAQTJ") === "") {
          addstrtip("现场安全条件为空!");
        }
        if (getdt("内部(全面)检验结论(电类定检)") === "") {
          addstrtip("检验结论为空!");
        }
        if (getdt("内部(全面)检验日期(电类定检)") === "") {
          addstrtip("概况检验日期为空!");
        }
      }

      if (1) {
        if (gett("JYJG1_JYJL1") === "") {
          addstrtip("第1项第1个检验结果为空!");
        }
        if (gett("JYJG2_JYJL1") === "") {
          addstrtip("第1项第2个检验结果为空!");
        }
        if (gett("JYJG3_JYJL1") === "") {
          addstrtip("第1项第3个检验结果空!");
        }

        if (gett("JYJG4_JYJL2") === "") {
          addstrtip("第2项第1个检验结果空!");
        }

        if (gett("JYJG5_JYJL2") === "") {
          addstrtip("第2项第2个检验结果空!");
        }

        if (gett("JYJG6_JYJL3") === "") {
          addstrtip("第3项第1个检验结果空!");
        }

        if (gett("JYJG7_JYJL4") === "") {
          addstrtip("第4项第1个检验结果空!");
        }

        if (gett("JYJG8_JYJL4") === "") {
          addstrtip("第4项第2个检验结果空!");
        }

        if (gett("JYJG9_JYJL4") === "") {
          addstrtip("第4项第3个检验结果空!");
        }

        if (gett("JYJG10_JYJL4") === "") {
          addstrtip("第4项第4个检验结果空!");
        }

        if (gett("JYJG11_JYJL5") === "") {
          addstrtip("第5项第1个检验结果空!");
        }
      }

      if (1) {
        if (gett("JYJG12_JYJL6") === "") {
          addstrtip("第6项第1个检验结果为空!");
        }
        if (gett("JYJG13_JYJL6") === "") {
          addstrtip("第6项第2个检验结果为空!");
        }
        if (gett("JYJG14_JYJL6") === "") {
          addstrtip("第6项第3个检验结果为空!");
        }
        if (gett("JYJG15_JYJL6") === "") {
          addstrtip("第6项第4个检验结果为空!");
        }
        if (gett("JYJG16_JYJL7") === "") {
          addstrtip("第7项第1个检验结果为空!");
        }
        if (gett("JYJG17_JYJL8") === "") {
          addstrtip("第8项第1个检验结果为空!");
        }
        if (gett("JYJG18_JYJL8") === "") {
          addstrtip("第8项第2个检验结果为空!");
        }
        if (gett("JYJG19_JYJL9") === "") {
          addstrtip("第9项第1个检验结果为空!");
        }
        if (gett("JYJG20_JYJL10") === "") {
          addstrtip("第10项第1个检验结果为空!");
        }
      }

      if (1) {
        if (gett("JYJG21_JYJL11") === "") {
          addstrtip("第11项第1个检验结果为空!");
        }
        if (gett("JYJG22_JYJL12") === "") {
          addstrtip("第12项第1个检验结果为空!");
        }
        if (gett("JYJG23_JYJL12") === "") {
          addstrtip("第12项第2个检验结果为空!");
        }
        if (gett("JYJG24_JYJL12") === "") {
          addstrtip("第12项第3个检验结果为空!");
        }
        if (gett("JYJG25_JYJL13") === "") {
          addstrtip("第13项第1个检验结果为空!");
        }
        if (gett("JYJG26_JYJL13") === "") {
          addstrtip("第13项第2个检验结果为空!");
        }
        if (gett("JYJG27_JYJL13") === "") {
          addstrtip("第13项第3个检验结果为空!");
        }
        if (gett("JYJG28_JYJL13") === "") {
          addstrtip("第13项第4个检验结果为空!");
        }
        if (gett("JYJG29_JYJL13") === "") {
          addstrtip("第13项第5个检验结果为空!");
        }
        if (gett("JYJG30_JYJL14") === "") {
          addstrtip("第14项第1个检验结果为空!");
        }
        if (gett("JYJG31_JYJL14") === "") {
          addstrtip("第14项第2个检验结果为空!");
        }
        if (gett("JYJG32_JYJL15") === "") {
          addstrtip("第15项第1个检验结果为空!");
        }
        if (gett("JYJG33_JYJL15") === "") {
          addstrtip("第15项第2个检验结果为空!");
        }
        if (gett("JYJG34_JYJL15") === "") {
          addstrtip("第15项第3个检验结果为空!");
        }
      }

      if (1) {
        if (gett("JYJG35_JYJL16") === "") {
          addstrtip("第16项第1个检验结果为空!");
        }
        if (gett("JYJG36_JYJL17") === "") {
          addstrtip("第17项第1个检验结果为空!");
        }
        if (gett("JYJG37_JYJL18") === "") {
          addstrtip("第18项第1个检验结果为空!");
        }
        if (gett("JYJG38_JYJL18") === "") {
          addstrtip("第18项第2个检验结果为空!");
        }
        if (gett("JYJG39_JYJL18") === "") {
          addstrtip("第18项第3个检验结果为空!");
        }
        if (gett("JYJG40_JYJL18") === "") {
          addstrtip("第18项第4个检验结果为空!");
        }
        if (gett("JYJG41_JYJL19") === "") {
          addstrtip("第19项第1个检验结果为空!");
        }
        if (gett("JYJG42_JYJL20") === "") {
          addstrtip("第20项第1个检验结果为空!");
        }
      }

      if (1) {
        if (gett("JYJG43_JYJL21") === "") {
          addstrtip("第21项第1个检验结果为空!");
        }
        if (gett("JYJG44_JYJL21") === "") {
          addstrtip("第21项第2个检验结果为空!");
        }
        if (gett("JYJG45_JYJL21") === "") {
          addstrtip("第21项第3个检验结果为空!");
        }
        if (gett("JYJG46_JYJL21") === "") {
          addstrtip("第21项第4个检验结果为空!");
        }
        if (gett("JYJG47_JYJL22") === "") {
          addstrtip("第22项第1个检验结果为空!");
        }
        if (gett("JYJG48_JYJL22") === "") {
          addstrtip("第22项第2个检验结果为空!");
        }
        if (gett("JYJG49_JYJL23") === "") {
          addstrtip("第23项第1个检验结果为空!");
        }
        if (gett("JYJG50_JYJL24") === "") {
          addstrtip("第24项第1个检验结果为空!");
        }
        if (gett("JYJG51_JYJL24") === "") {
          addstrtip("第24项第2个检验结果为空!");
        }
        if (gett("JYJG52_JYJL25") === "") {
          addstrtip("第25项第1个检验结果为空!");
        }
      }

      if (1) {
        if (gett("JYJG53_JYJL26") === "") {
          addstrtip("第26项第1个检验结果为空!");
        }
        if (gett("JYJG54_JYJL26") === "") {
          addstrtip("第26项第2个检验结果为空!");
        }
        if (gett("JYJG55_JYJL26") === "") {
          addstrtip("第26项第3个检验结果为空!");
        }
        if (gett("JYJG56_JYJL27") === "") {
          addstrtip("第27项第1个检验结果为空!");
        }
        if (gett("JYJG57_JYJL27") === "") {
          addstrtip("第27项第2个检验结果为空!");
        }
        if (gett("JYJG58_JYJL28") === "") {
          addstrtip("第28项第1个检验结果为空!");
        }
        if (gett("JYJG59_JYJL28") === "") {
          addstrtip("第28项第2个检验结果为空!");
        }
        if (gett("JYJG60_JYJL29") === "") {
          addstrtip("第29项第1个检验结果为空!");
        }
        if (gett("JYJG61_JYJL29") === "") {
          addstrtip("第29项第2个检验结果为空!");
        }
        if (gett("JYJG62_JYJL29") === "") {
          addstrtip("第29项第3个检验结果为空!");
        }
        if (gett("JYJG63_JYJL29") === "") {
          addstrtip("第29项第4个检验结果为空!");
        }
        if (gett("JYJG64_JYJL30") === "") {
          addstrtip("第30项第1个检验结果为空!");
        }
        if (gett("JYJG65_JYJL30") === "") {
          addstrtip("第30项第2个检验结果为空!");
        }
        if (gett("JYJG66_JYJL30") === "") {
          addstrtip("第30项第3个检验结果为空!");
        }
      }

      if (1) {
        if (gett("JYJG67_JYJL31") === "") {
          addstrtip("第31项第1个检验结果为空!");
        }
        if (gett("JYJG68_JYJL31") === "") {
          addstrtip("第31项第2个检验结果为空!");
        }
        if (gett("JYJG69_JYJL32") === "") {
          addstrtip("第32项第1个检验结果为空!");
        }
        if (gett("JYJG70_JYJL33") === "") {
          addstrtip("第33项第1个检验结果为空!");
        }
        if (gett("JYJG71_JYJL33") === "") {
          addstrtip("第33项第2个检验结果为空!");
        }
        if (gett("JYJG72_JYJL34") === "") {
          addstrtip("第34项第1个检验结果为空!");
        }
        if (gett("JYJG73_JYJL34") === "") {
          addstrtip("第34项第2个检验结果为空!");
        }
        if (gett("JYJG74_JYJL34") === "") {
          addstrtip("第34项第3个检验结果为空!");
        }
        if (gett("JYJG75_JYJL34") === "") {
          addstrtip("第34项第4个检验结果为空!");
        }
        if (gett("JYJG76_JYJL35") === "") {
          addstrtip("第35项第1个检验结果为空!");
        }
      }

      if (1) {
        if (gett("JYJG77_JYJL36") === "") {
          addstrtip("第36项第1个检验结果为空!");
        }
        if (gett("JYJG78_JYJL36") === "") {
          addstrtip("第37项第1个检验结果为空!");
        }
        if (gett("JYJG79_JYJL38") === "") {
          addstrtip("第38项第1个检验结果为空!");
        }
        if (gett("JYJG80_JYJL39") === "") {
          addstrtip("第39项第1个检验结果为空!");
        }
        if (gett("JYJG81_JYJL39") === "") {
          addstrtip("第39项第2个检验结果为空!");
        }
        if (gett("JYJG82_JYJL39") === "") {
          addstrtip("第39项第3个检验结果为空!");
        }
        if (gett("JYJG83_JYJL39") === "") {
          addstrtip("第39项第4个检验结果为空!");
        }
        if (gett("JYJG84_JYJL40") === "") {
          addstrtip("第40项第1个检验结果为空!");
        }
        if (gett("JYJG85_JYJL40") === "") {
          addstrtip("第40项第2个检验结果为空!");
        }
        if (gett("JYJG86_JYJL40") === "") {
          addstrtip("第40项第3个检验结果为空!");
        }
        if (gett("JYJG87_JYJL40") === "") {
          addstrtip("第40项第4个检验结果为空!");
        }
      }

      if (1) {
        if (gett("JYJG88_JYJL41") === "") {
          addstrtip("第41项第1个检验结果为空!");
        }
        if (gett("JYJG89_JYJL41") === "") {
          addstrtip("第41项第2个检验结果为空!");
        }
        if (gett("JYJG90_JYJL42") === "") {
          addstrtip("第42项第1个检验结果为空!");
        }
        if (gett("JYJG91_JYJL43") === "") {
          addstrtip("第43项第1个检验结果为空!");
        }
      }

      if (1) {

       if (
          dat.DTSJ503 === ""
        ) {
          addstrtip("第24项(1)测量值为空!");
        }
        /* if (gett(DTSJ504) === "") {
          addstrtip("第24项(2)测量值为空!");
        } */
        if (
          dat.DTSJ504 === ""
        ) {
          addstrtip("第24项(2)测量值为空!");
        }
        /* if (gett(DTSJ700) === "") {
          addstrtip("第29项(2)测量值为空!");
        } */
        if (
          dat.DTSJ700 === ""
        ) {
          addstrtip("第29项(2)测量值为空!");
        }
        /* if (gett(DTSJ702) === "") {
          addstrtip("第31项(1)测量值为空!");
        } */
        if (
          dat.DTSJ702 === ""
        ) {
          addstrtip("第31项(1)测量值为空!");
        }
        /* if (gett(DTSJ74) === "") {
          addstrtip("第31项(2)测量值为空!");
        } */
        if (
          dat.DTSJ74 === ""
        ) {
          addstrtip("第31项(2)测量值为空!");
        }
      }
    }

    if (1) {
      var username = document
        .getElementById("1581261202417784a")
        .innerText.trim();
      if (!/^[\u4e00-\u9fa5\(\)\(\)]{1,39}$/g.test(username)) {
        addstrtip("注意封面使用单位名称!");
      }
      var usernameGK = document
        .getElementById("1555396405619039a")
        .innerText.trim();
      if (username != usernameGK) {
        addstrtip("封面与概况使用单位名称不一致!");
      }

      if (1) {
        if (gett("设备代码") != "-") {
          const regex = /^(3110|3120)\d{5,6}(\d{4})\d{5,6}$/;
          if (regex.test(gett("设备代码"))) {
            const sbdmfm = gett("设备代码").match(/^(\d{4})(\d{14}|\d{16})$/);
            if (
              /^3110$/.test(sbdmfm[1]) &&
              !/^曳引驱动乘客电梯$/.test(gett("设备分类代码"))
            ) {
              addstrtip('封面设备代码3110表示"曳引驱动乘客电梯"!');
            }
            if (
              /^3120$/.test(sbdmfm[1]) &&
              !/^曳引驱动载货电梯$/.test(gett("设备分类代码"))
            ) {
              addstrtip('封面设备代码3120表示"曳引驱动载货电梯"!');
            }
          } else {
            addstrtip("封面设备代码格式错误!");
          }
        }
      }
      if (!/^曳引与强制驱动电梯$/.test(gett("SHEBEILEIBIE"))) {
        addstrtip("封面设备类别错误!");
      }
      var jyrq = document
        .getElementById("1710387041337455d")
        .innerText.trim()
        .replace(/年|月|日/g, "-")
        .slice(0, -1); //封面检验日期
      jyrq = YearMonthToYearMonthDay(jyrq);
      if (
        /^\d{4}年\d{1,2}月\d{1,2}日$/.test(
          document.getElementById("1710387041337455d").innerText.trim()
        )
      ) {
      } else {
        addstrtip("封面检验日期格式为xxxx年xx月xx日");
      }
      if (!ZifuchuanIsDate(jyrq)) {
        addstrtip("封面检验日期格式错误!");
      }
    }


    if (1) {
      if (!/^-$/.test(gett("使用单位组织机构代码"))) {
        if (!/^[^IOZSV]{18}$/.test(gett("使用单位组织机构代码"))) {
          addstrtip("统一社会信用代码错误!");
        }
        // 检查特定位置的字符是否为"640"
        const slice = gett("使用单位组织机构代码").substring(2, 5); // 提取第3、4、5位字符
        if (slice != "640") {
          addstrtip("统一社会信用代码" + slice + "显示注册(不可用)地不在宁夏!");
        }
      }
      if (!/^(曳引驱动乘客电梯|曳引驱动载货电梯)$/.test(gett("设备分类代码"))) {
        addstrtip("设备品种错误!");
      }
      if (gett("设备型号") != "不明") {
        if (!/^[a-zA-Z0-9\s-]+$/gi.test(gett("设备型号"))) {
          addstrtip("注意型号!");
        }
      }
      if (gett("设备型号") === "-") {
        addstrtip("产品型号找不到的填“不明”");
      }
      if (gett("产品编号(出厂编号)") != "不明") {
        if (!/^[a-z0-9\s\-]+$/gi.test(gett("产品编号(出厂编号)"))) {
          addstrtip("注意产品编号!");
        }
      }
      if (gett("产品编号(出厂编号)") === "-") {
        addstrtip("产品编号找不到的填“不明”");
      }


      if (1) {
        if (gett("使用证编号") != "-") {
          if (isValidSYDJFormat(gett("使用证编号"))) {
            const sbdmfm = gett("使用证编号").match(/^(\d{4})*$/);
            if (
              /^3110$/.test(sbdmfm[1]) &&
              !/^曳引驱动乘客电梯$/.test(gett("设备分类代码"))
            ) {
              addstrtip('使用登记证编号3110表示"曳引驱动乘客电梯"!');
            }
            if (
              /^3120$/.test(sbdmfm[1]) &&
              !/^曳引驱动载货电梯$/.test(gett("设备分类代码"))
            ) {
              addstrtip('使用登记证编号3120表示"曳引驱动载货电梯"!');
            }
          } else {
            const regex = /^梯(11|12)[宁](A|B|C|D|E)\d{5}[\(\(]\d{2}[\)\)]$/;

            if (regex.test(gett("使用证编号"))) {
              const match = gett("使用证编号").match(regex);
              if (match) {
                if (
                  /^11$/.test(match[1]) &&
                  !/^曳引驱动乘客电梯$/.test(gett("设备分类代码"))
                ) {
                  addstrtip('使用登记证编号11表示"曳引驱动乘客电梯"!');
                }
                if (
                  /^12$/.test(match[1]) &&
                  !/^曳引驱动载货电梯$/.test(gett("设备分类代码"))
                ) {
                  addstrtip('使用登记证编号12表示"曳引驱动载货电梯"!');
                }
                if (!/^A$/.test(match[2])) {
                  addstrtip('使用登记证注册(不可用)地不在银川"!');
                }
              }
            } else {
              addstrtip('使用登记证编号格式错误"!');
            }
          }
        }
      }
      if (!/^[\u4e00-\u9fa5]{2,4}$/g.test(gett("安全管理人员"))) {
        addstrtip("注意安全管理人员!");
      }
      if (!/^(1[3-9]\d{9}|\d{4}-?\d{7})$/g.test(gett("安全管理人员联系电话"))) {
        addstrtip("安全管理人员电话不正确!");
      }

      if (1) {
        if (!/^[\u4e00-\u9fa5]{1,39}$/g.test(gett("制造单位"))) {
          addstrtip("注意制造单位名称!");
        }
        if (gett("制造日期") === "-") {
          addstrtip("制造日期查不到填“不明”!");
        } else {
          if (gett("制造日期") != "不明") {
            var zhizaorq = document
              .getElementById("1555396405618f688")
              .innerText.trim()
              .replace(/年|月|日/g, "-")
              .slice(0, -1); // 封面检验日期
            jyrq = YearMonthToYearMonthDay(jyrq);
            if (!ZifuchuanIsDate(jyrq)) {
              addstrtip("制造日期格式错误!");
            }
          }
        }
        if (!/^(-|[\u4e00-\u9fa5]{1,39})$/g.test(gett("GZDWMC"))) {
          addstrtip("注意改造单位名称!");
        }
        if (gett("改造监督检验日期") === "不明") {
          addstrtip("未进行改造或查不出改造日期填“-”!");
        }
        if (
          /^-$/g.test(gett("GZDWMC")) &&
          !/^-$/g.test(gett("改造监督检验日期"))
        ) {
          addstrtip("注意改造单位名称与改造日期的关系!");
        }
        if (
          !/^-$/g.test(gett("GZDWMC")) &&
          /^-$/g.test(gett("改造监督检验日期"))
        ) {
          addstrtip("注意改造单位名称与改造日期的关系!");
        }
        if (!/^-$/g.test(gett("改造监督检验日期"))) {
          var gaizaorq = document
            .getElementById("1710388733083adc5")
            .innerText.trim()
            .replace(/年|月|日/g, "-")
            .slice(0, -1); //封面检验日期
          gaizaorq = YearMonthToYearMonthDay(gaizaorq);
          if (!ZifuchuanIsDate(gaizaorq)) {
            addstrtip("改造日期格式错误!");
          }
        }
      }

      if (!/^[\u4e00-\u9fa5\(\)\(\)]{1,39}$/g.test(gett("维保单位名称"))) {
        addstrtip("注意维保单位名称!");
      }
      var zhidongrq = document
        .getElementById("1710148356446ba4c")
        .innerText.trim()
        .replace(/年|月|日/g, "-")
        .slice(0, -1); //封面检验日期
      zhidongrq = YearMonthToYearMonthDay(zhidongrq);
      if (!ZifuchuanIsDate(zhidongrq)) {
        addstrtip("最近一次制动试验确认日期格式错误!");
      }
      var jiandurq = document
        .getElementById("17101483999266548")
        .innerText.trim()
        .replace(/年|月|日/g, "-")
        .slice(0, -1); //封面检验日期
      jiandurq = YearMonthToYearMonthDay(jiandurq);
      if (!ZifuchuanIsDate(jiandurq)) {
        addstrtip("监督日期格式错误!");
      }
      if (!/^(是|否)$/.test(gett("是否加装电梯"))) {
        addstrtip("是否加装错误!");
      }
      if (!/^(是|否)$/.test(gett("是否住宅电梯"))) {
        addstrtip("是否住宅错误!");
      }
      var gkxiacijianyanriqi = document
        .getElementById("171038882039234f4")
        .innerText.trim()
        .replace(/年|月|日/g, "-")
        .slice(0, -1); //下次检验日期
      if (
        !/^\d{4}年\d{2}月$/.test(gett("内部(全面)下次检验日期(电类定检)"))
      ) {
        addstrtip("下次检验日期精确到月!");
      }
      gkxiacijianyanriqi = YearMonthToYearMonthDay(gkxiacijianyanriqi);
      if (!ZifuchuanIsDate(gkxiacijianyanriqi)) {
        addstrtip("下次检验日期格式错误!");
      }

      if (1) {
        if (!/^([1-9]\d*(\.\d+)?|0\.\d+)$/.test(gett("电梯额定载荷"))) {
          addstrtip("额定载荷错误!");
        }
        if (!/^([1-9]\d*(\.\d+)?|0\.\d+)$/.test(gett("电梯运行速度"))) {
          addstrtip("额定速度错误!");
        }
        if (/^曳引驱动乘客电梯$/.test(gett("设备分类代码"))) {
          const standardLoads = [450, 630, 800, 1000, 1050, 1250, 1600];
          if (!standardLoads.includes(parseFloat(gett("电梯额定载荷")))) {
            addstrtip("额定载荷不是常见量450, 630, 800, 1000, 1250, 1600!");
          }
          const standardSpeeds = [1, 1.5, 1.75, 2, 2.5];
          if (!standardSpeeds.includes(parseFloat(gett("电梯运行速度")))) {
            addstrtip("额定速度不是常见量1, 1.5, 1.75, 2, 2.5!");
          }
        }
        if (/^曳引驱动载货电梯$/.test(gett("设备分类代码"))) {
          const standardLoads = [1000, 1250, 1600, 2000, 3000];
          if (!standardLoads.includes(parseFloat(gett("电梯额定载荷")))) {
            addstrtip("额定载荷不是常见量1000, 1250, 1600, 2000, 3000!");
          }
          const standardSpeeds = [0.5];
          if (!standardSpeeds.includes(parseFloat(gett("电梯运行速度")))) {
            addstrtip("额定速度不是常见量0.5!");
          }
        }
      }


      if (1) {
        const dtcz = document
          .getElementById("1591338788552be31")
          .innerText.trim();
        const dtzs = document
          .getElementById("15554041568959913")
          .innerText.trim();
        const dtms = document
          .getElementById("1555404248649fa78")
          .innerText.trim();
        if (
          !(
            isNormalInteger(dtcz) &&
            isNormalInteger(dtzs) &&
            isNormalInteger(dtms)
          )
        ) {
          addstrtip("层站门数不是正整数!");
        }
        if (
          parseInt(dtcz) < parseInt(dtzs) ||
          parseInt(dtzs) * 2 < parseInt(dtms)
        ) {
          addstrtip("注意层站门数是否合理!");
        }
      }

      if (1) {
        const validControlTypes = [
          "集选控制",
          "信号控制",
          "单台集选控制",
          "两台并联控制",
          "多台群组控制",
        ];
        if (!validControlTypes.includes(gett("控制方式"))) {
          addstrtip(
            "控制方式不是常见控制:集选控制,信号控制,单台集选控制,两台并联控制,多台群组控制!"
          );
        }
      }

      if (1) {
        const gjxjh = validateAndExplainCode(gett("JYYQSB"));
        const tip = gjxjh.message;
        let bjtip = "工具箱" + tip;
        addstrtip(bjtip);
      }

      if (1) {
        if (!/^符合$/.test(gett("XCJYTJ"))) {
          addstrtip("检验现场条件确认不是“符合”!");
        }
        if (!/^符合$/.test(gett("XCAQTJ"))) {
          addstrtip("检验现场安全确认不是“符合”!");
        }
        if (!/^合格$/.test(gett("内部(全面)检验结论(电类定检)"))) {
          addstrtip("检验结论不是“合格”!");
        }
        if (
          /^不符合$/.test(gett("XCJYTJ")) &&
          /^合格$/.test(gett("内部(全面)检验结论(电类定检)"))
        ) {
          addstrtip("检验结论与检验现场条件确认矛盾!");
        }
        if (
          /^不符合$/.test(gett("XCAQTJ")) &&
          /^合格$/.test(gett("内部(全面)检验结论(电类定检)"))
        ) {
          addstrtip("检验结论与检验现场安全确认矛盾!");
        }
      }

      if (1) {
        if (
          /^[合格,整改后合格]$/.test(gett("内部(全面)检验结论(电类定检)"))
        ) {
          if (
            document.getElementById("1710387041337455d").innerText.trim() ===
            "-"
          ) {
            addstrtip("报告结论合格应该有下次检验日期!");
          }
        }
        if (/^不合格$/.test(gett("内部(全面)检验结论(电类定检)"))) {
          if (
            document.getElementById("1710387041337455d").innerText.trim() !==
            "-"
          ) {
            addstrtip("报告结论不合格下次检验日期为“-”!");
          }
        }
      }


      if (1) {
        var jyrqgk = document
          .getElementById("1710387111107bbd2")
          .innerText.trim()
          .replace(/年|月|日/g, "-")
          .slice(0, -1);
        jyrqgk = YearMonthToYearMonthDay(jyrqgk);
        if (!ZifuchuanIsDate(jyrqgk)) {
          addstrtip("概况检验日期格式错误!");
        }
      }

      const manufactureStr = gett("制造日期");
      const supervisionStr = gett("安装监督检验日期");
      const renovationStr = gett("改造监督检验日期");

      const coverInspectionStr = document
        .getElementById("1710387041337455d")
        .innerText.trim();

      const nextInspectionStr = gett("内部(全面)下次检验日期(电类定检)");

      const lastBrakingStr = gett("ZDSYRQ");

      const generalInspectionStr = document
        .getElementById("1710387111107bbd2")
        .innerText.trim();

      if (coverInspectionStr !== generalInspectionStr) {
        addstrtip("封面检验日期和概况检验日期不一致!");
      }

      const manufactureDate = parseDate(manufactureStr);
      const supervisionDate = parseDate(supervisionStr);
      const renovationDate = parseDate(renovationStr);
      const coverInspectionDate = parseDate(coverInspectionStr);
      const nextInspectionDate = parseDate(nextInspectionStr);
      const lastBrakingDate = parseDate(lastBrakingStr);
      if (1) {

        if (1) {
          const now = new Date();
          const oneMonthInMillis = 30 * 24 * 60 * 60 * 1000;
          const diff = now - coverInspectionDate;
          if (!(diff >= 0 && diff < oneMonthInMillis)) {
            addstrtip("封面检验日期超出当前日期前一个月范围!");
          }
          if (manufactureDate != null && manufactureDate >= now) {
            addstrtip("制造日期大于当前日期!");
          }
          if (supervisionDate != null && supervisionDate >= now) {
            addstrtip("监督日期大于当前日期!");
          }
          if (renovationDate != null && renovationDate >= now) {
            addstrtip("改造日期大于当前日期!");
          }
          if (coverInspectionDate != null && coverInspectionDate > now) {
            addstrtip("检验日期大于当前日期!");
          }
          if (lastBrakingDate != null && lastBrakingDate > now) {
            addstrtip("制动日期大于当前日期!");
          }
        }

        if (1) {
          if (manufactureDate != null && supervisionDate != null) {
            if (!(manufactureDate <= supervisionDate)) {
              addstrtip("制造日期在监督日期之后!");
            }
          }
          if (supervisionDate != null && renovationDate != null) {
            if (!(supervisionDate <= renovationDate)) {
              addstrtip("监督日期在改造日期之后!");
            }
          }
          if (renovationDate != null && coverInspectionDate != null) {
            if (!(renovationDate <= coverInspectionDate)) {
              addstrtip("改造日期在检验日期之后!");
            }
          }
          if (coverInspectionDate != null && nextInspectionDate != null) {
            if (!(coverInspectionDate <= nextInspectionDate)) {
              addstrtip("检验日期在下次检验日期之后!");
            }
          }
          if (supervisionDate != null && lastBrakingDate != null) {
            if (!(supervisionDate <= lastBrakingDate)) {
              addstrtip("监督检验日期在最近制动日期之后!");
            }
          }
          if (lastBrakingDate != null && coverInspectionDate != null) {
            if (!(lastBrakingDate <= coverInspectionDate)) {
              addstrtip("最近制动日期在检验日期之后!");
            }
          }
        }

        if (1) {
          const serialRegex = /^(3110|3120)\d{5}(\d{4})\d{5}$/;
          const matchSerial = gett("设备代码").match(serialRegex);
          if (matchSerial) {

            const yearFromSerial = parseInt(matchSerial[2], 10);
            if (manufactureDate != null) {

              if (yearFromSerial > manufactureDate.getFullYear()) {
                addstrtip(
                  "封面设备代码中的年份" + matchSerial[2] + "不应在制造日期之后"
                );
              }
            }
            if (supervisionDate != null && manufactureDate === null) {

              if (yearFromSerial > supervisionDate.getFullYear()) {
                addstrtip(
                  "封面设备代码中的年份" + matchSerial[2] + "不应在监督日期之后"
                );
              }
            }
          }
        }

        if (1) {
          const regexsy =
            /^梯(11|12)[宁](A|B|C|D|E)\d{5}[\(\(](\d{2})[\)\)]$/;
          const matchsy = gett("使用证编号").match(regexsy);
          if (matchsy) {

            const yearShort = parseInt(matchsy[3], 10);
            const yearFull =
              yearShort >= 0 && yearShort <= 99 ? 2000 + yearShort : yearShort;

            const yearDate = new Date(yearFull, 0);
            if (supervisionDate != null) {

              if (yearDate < supervisionDate) {
                addstrtip(
                  "使用登记证编号中的年份" + matchsy[3] + "在监督检验日期之前"
                );
              }
            }
            if (manufactureDate != null && supervisionDate === null) {

              if (yearDate < manufactureDate) {
                addstrtip(
                  "使用登记证编号中的年份" + matchsy[3] + "在制造检验日期之前"
                );
              }
            }
          }
        }

        if (1) {
          const regexsy = /^(3110|3120)\d{6}(\d{4})\d{6}$/;
          const matchsy = gett("使用证编号").match(regexsy);
          if (matchsy) {

            const year = parseInt(matchsy[2], 10);
            const yearDate = new Date(year, 0); // 0 是一月份
            if (supervisionDate != null) {

              if (yearDate < supervisionDate) {
                addstrtip(
                  "使用登记证编号中的年份" + matchsy[2] + "在监督检验日期之前"
                );
              }
            }
            if (manufactureDate != null && supervisionDate === null) {

              if (yearDate < manufactureDate) {
                addstrtip(
                  "使用登记证编号中的年份" + matchsy[2] + "在制造检验日期之前"
                );
              }
            }
          }
        }

        if (1) {
          if (supervisionDate != null && coverInspectionDate != null) {
            let lastBrakingDateCal = calculateBrakeDate(
              supervisionDate,
              new Date(
                coverInspectionDate.getFullYear(),
                supervisionDate.getMonth(),
                supervisionDate.getDate()
              )
            );
            if (lastBrakingDate != null && lastBrakingDateCal != null) {
              if (
                lastBrakingDateCal.getFullYear() !=
                  lastBrakingDate.getFullYear() ||
                lastBrakingDateCal.getMonth() != lastBrakingDate.getMonth()
              ) {
                const zjzdjc = elevatorInspection(
                  supervisionDate,
                  lastBrakingDateCal
                );
                let jyztstr = "";
                if (lastBrakingDateCal < new Date(2024, 3, 1)) {
                  jyztstr = "检验";
                } else {
                  jyztstr = zjzdjc.result;
                }
                addstrtip(
                  "注意最近一次制动日期是否应为:" +
                    lastBrakingDateCal.getFullYear() +
                    "年" +
                    (lastBrakingDateCal.getMonth() + 1).toString() +
                    "月,该日期属于" +
                    jyztstr +
                    "年份"
                );
              }
            }
          }
        }

        if (supervisionDate != null && coverInspectionDate != null) {
          const yanzhengre = elevatorInspection(
            supervisionDate,
            coverInspectionDate
          );
          if (yanzhengre.result != "错误") {
            if (
              !(
                yanzhengre.date.getFullYear() ===
                  nextInspectionDate.getFullYear() &&
                yanzhengre.date.getMonth() === nextInspectionDate.getMonth()
              )
            ) {
              addstrtip(
                "注意下次检验日期是否应该是" +
                  yanzhengre.date.getFullYear() +
                  "年" +
                  (yanzhengre.date.getMonth() + 1).toString() +
                  "月"
              );
            }
            if (yanzhengre.result === "检测") {
              addstrtip(
                coverInspectionDate.getFullYear() +
                  "年" +
                  (supervisionDate.getMonth() + 1).toString() +
                  "月应该进行检测,下次检验日期是:" +
                  yanzhengre.date.getFullYear() +
                  "年" +
                  (yanzhengre.date.getMonth() + 1).toString() +
                  "月"
              );
            }
            if (yanzhengre.result === "检验") {
              addstrtip(
                "下次检验日期是:" +
                  yanzhengre.date.getFullYear() +
                  "年" +
                  (yanzhengre.date.getMonth() + 1).toString() +
                  "月"
              );
            }
          }
        }
      }


      if (1) {

        if (1) {

          const specificNumbers = new Set([
            4, 7, 9, 10, 12, 13, 18, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35,
            36, 37, 38, 39, 40, 41, 42,
          ]);
          const normalNumbers = new Set([
            1, 2, 3, 5, 6, 8, 11, 14, 15, 16, 17, 19, 20, 21, 22, 23, 32, 43,
          ]);
          const symbolToCheckBHG = "×";
          const symbolToCheckWCX = "-";
          const symbolToCheckFJHG = "△";

          const GJbuhegeJson = getXMKeyValues(
            dat,
            specificNumbers,
            symbolToCheckBHG
          );

          const YBbuhegeJson = getXMKeyValues(
            dat,
            normalNumbers,
            symbolToCheckBHG
          );

          const GJFJHGJson = getXMKeyValues(
            dat,
            specificNumbers,
            symbolToCheckFJHG
          );

          const YBFJHGJson = getXMKeyValues(
            dat,
            normalNumbers,
            symbolToCheckFJHG
          );

          if (Object.keys(GJbuhegeJson).length === 0) {
            if (Object.keys(YBbuhegeJson).length === 0) {
              if (gett("内部(全面)检验结论(电类定检)") != "合格") {
                addstrtip("检验项目全部符合,检验结论应该为“合格”!");
              }
            } else if (
              Object.keys(YBbuhegeJson).length +
                Object.keys(YBFJHGJson).length <=
              3
            ) {

              const extractedNumbers = [];

              for (const key in YBbuhegeJson) {

                const match = key.match(/JYJL(\d+)/);
                if (match) {

                  extractedNumbers.push(parseInt(match[1], 10));
                }
              }

              const uniqueNumbers = [...new Set(extractedNumbers)];
              if (!validateString1(dat.DTBZCS3, uniqueNumbers)) {
                addstrtip(
                  "关键项目全部符合,一般项目不符合监护使用项及整改后符合项共不超过3项,备注有误!备注模板“本记录第1、2、3项的检验结果为不符合,使用单位已经承诺采取安全措施,对电梯实行监护使用(见编号为TZS-DT-2401804的《电梯检验意见通知书》)”,考虑格式、不符合项序号、意见通知书年份等是否有误!"
                );
              }
              if (gett("内部(全面)检验结论(电类定检)") != "整改后合格") {
                addstrtip(
                  "关键项目全部符合,一般项目不符合监护使用及整改后符合项共不超过3项,检验结论应该为“整改后合格”!"
                );
              }
            } else if (
              Object.keys(YBbuhegeJson).length +
                Object.keys(YBFJHGJson).length >
              3
            ) {
              addstrtip(
                "关键项目全部符合,一般项目不符合监护使用项及整改后符合项共超过3项,一般项目都应打“×””!"
              );
            } else if (Object.keys(YBbuhegeJson).length > 3) {
              if (gett("内部(全面)检验结论(电类定检)") != "不合格") {
                addstrtip(
                  "关键项目全部符合,一般项目不符合共超过3项,检验结论应该为“不合格”!"
                );
              }
            }
          } else {
            if (gett("内部(全面)检验结论(电类定检)") != "不合格") {
              addstrtip("关键项目有不符合,检验结论应该为“不合格”!");
            }
          }
          const xiangmuBeizuJson = checkDTBZValues(dat);
          if (dat.DTBZ44 != "") {
            if (Object.keys(xiangmuBeizuJson).length > 1) {

              addstrtip("除对重块备注外仍有检验项目备注不是空!");
            }
          } else if (Object.keys(xiangmuBeizuJson).length > 0) {

            addstrtip("除对重块备注外仍有检验项目备注不是空!");
          }
        }


        if (1) {

          if (dat.JYJG1_JYJL1 === "×") {
            addstrtip(
              "备注应说明“未注册(不可用),请持不合格报告到市民大厅办理注册(不可用)后重新报检!”"
            );
          }

          if (dat.JYJG8_JYJL4 === "-") {
            if (parseFloat(dat.电梯运行速度) > 1) {
              addstrtip("电梯速度与缓冲器类型不匹配!");
            }
          }

          if (supervisionDate != null) {
            const curdate = new Date();
            if (curdate.getFullYear() - supervisionDate.getFullYear() > 14) {
              if (dat.JYJG11_JYJL5 === "-") {
                addstrtip("超过15年的电梯应检验第5项接地故障保护!");
              }
            }
            if (curdate.getFullYear() - supervisionDate.getFullYear() < 15) {
              if (dat.JYJG11_JYJL5 != "-") {
                addstrtip("不超过15年的第5项电梯接地故障保护不需要检验!");
              }
            }
          }

          if (supervisionDate != null) {
            if (supervisionDate < new Date(2017, 10, 1)) {
              if (
                dat.JYJG12_JYJL6 != "-" ||
                dat.JYJG13_JYJL6 != "-" ||
                dat.JYJG14_JYJL6 != "-" ||
                dat.JYJG15_JYJL6 != "-"
              ) {
                addstrtip("注意2017.10.1以前的电梯没有第6项旁路装置!");
              }
            }
            if (supervisionDate >= new Date(2017, 10, 1)) {
              if (
                dat.JYJG12_JYJL6 === "-" ||
                dat.JYJG13_JYJL6 === "-" ||
                dat.JYJG14_JYJL6 === "-" ||
                dat.JYJG15_JYJL6 === "-"
              ) {
                addstrtip("注意2017.10.1以后的电梯有第6项旁路装置!");
              }
            }
          }

          if (supervisionDate != null) {
            if (supervisionDate < new Date(2017, 10, 1)) {
              if (dat.JYJG16_JYJL7 != "-") {
                addstrtip(
                  "注意2017.10.1以前的电梯不检验第7项制动器状态监测功能!"
                );
              }
            }
            if (supervisionDate >= new Date(2017, 10, 1)) {
              if (dat.JYJG16_JYJL7 === "-") {
                addstrtip(
                  "注意2017.10.1以后的电梯应检验第7项制动器状态监测功能!"
                );
              }
            }
          }
        }

        if (1) {

          if (1) {
            if (parseInt(dat.电梯层站) > 7) {
              if (dat.JYJG20_JYJL10 === "-") {
                addstrtip("注意提升高度大于30m需要设置第10项紧急报警装置!");
              }
            } else if (parseInt(dat.电梯层站) <= 7) {
              if (dat.JYJG20_JYJL10 != "-") {
                addstrtip(
                  "注意提升高度小于30m可能不需要设置第10项紧急报警装置!"
                );
              }
            }
          }

          if (supervisionDate != null) {
            if (supervisionDate < new Date(2023, 4, 2)) {
              if (dat.JYJG22_JYJL12 != "-") {
                addstrtip("未按照TSG T7001-2023监督检验的电梯,12-1不检验!");
              }
            }
            if (supervisionDate >= new Date(2023, 4, 2)) {
              if (dat.JYJG22_JYJL12 === "-") {
                addstrtip("按照TSG T7001-2023监督检验的电梯,12-1需要检验!");
              }
            }
          }

          if (manufactureDate != null) {
            if (manufactureDate < new Date(2004, 1, 1)) {
              if (dat.JYJG28_JYJL13 != "-") {
                addstrtip(
                  "按照GB7588-1995及更早标准生产的电梯,如果未依据TSG T7001、2023检验,第13(4)是否不检验!"
                );
              }
            }
            if (manufactureDate >= new Date(2004, 1, 1)) {
              if (dat.JYJG28_JYJL13 === "-") {
                addstrtip(
                  "按照GB7588-2003及之后新标准生产的电梯,第13(4)是否应检验!"
                );
              }
            }
          }

          if (1) {
            if (dat.JYJG30_JYJL14 != "-" || dat.JYJG31_JYJL14 != "-") {
              if (
                dat.JYJG32_JYJL15 != "-" ||
                dat.JYJG33_JYJL15 != "-" ||
                dat.JYJG34_JYJL15 != "-"
              ) {
                addstrtip("14、15钢丝绳和包覆带有同时勾选!");
              }
            }
            if (supervisionDate != null) {
              const curdate = new Date();
              if (curdate.getFullYear() - supervisionDate.getFullYear() < 15) {
                if (dat.JYJG30_JYJL14 != "-" || dat.JYJG31_JYJL14 != "-") {
                  addstrtip("不超过15年的电梯14项钢丝绳不需要检验!");
                }
              }
            }
            if (supervisionDate != null) {
              const curdate = new Date();
              if (curdate.getFullYear() - supervisionDate.getFullYear() < 15) {
                if (
                  dat.JYJG32_JYJL15 != "-" ||
                  dat.JYJG33_JYJL15 != "-" ||
                  dat.JYJG34_JYJL15 != "-"
                ) {
                  addstrtip("不超过15年的电梯15项包覆带不需要检验!");
                }
              }
            }
            if (supervisionDate != null) {
              const curdate = new Date();
              if (curdate.getFullYear() - supervisionDate.getFullYear() > 14) {
                if (dat.JYJG30_JYJL14 === "-" && dat.JYJG31_JYJL14 === "-") {
                  if (
                    dat.JYJG32_JYJL15 === "-" ||
                    dat.JYJG33_JYJL15 === "-" ||
                    dat.JYJG34_JYJL15 === "-"
                  ) {
                    addstrtip("14、15钢丝绳和包覆带至少选一类!");
                  }
                }
              }
            }
            if (supervisionDate != null) {
              if (supervisionDate < new Date(2023, 4, 2)) {
                if (dat.JYJG33_JYJL15 != "-" || dat.JYJG34_JYJL15 != "-") {
                  addstrtip(
                    "未按照TSG T7001-2023监督检验的电梯,15-2、3不检验!"
                  );
                }
              }
              if (supervisionDate >= new Date(2023, 4, 2)) {
                if (dat.JYJG33_JYJL15 === "-" || dat.JYJG34_JYJL15 === "-") {
                  addstrtip(
                    "按照TSG T7001-2023监督检验的电梯,15-2、3需要检验!"
                  );
                }
              }
            }
          }

          if (supervisionDate != null) {
            const curdate = new Date();
            if (curdate.getFullYear() - supervisionDate.getFullYear() > 14) {
              if (dat.JYJG35_JYJL16 === "-") {
                addstrtip("超过15年的电梯应检验第16项悬挂装置端部固定!");
              }
            }
            if (curdate.getFullYear() - supervisionDate.getFullYear() < 15) {
              if (dat.JYJG35_JYJL16 != "-") {
                addstrtip("不超过15年的第16项悬挂装置端部固定不需要检验!");
              }
            }
          }

          if (1) {
            if (
              !(
                (dat.JYJG37_JYJL18 === "-" &&
                  dat.JYJG38_JYJL18 === "-" &&
                  dat.JYJG39_JYJL18 === "-" &&
                  dat.JYJG40_JYJL18 === "-") ||
                (dat.JYJG37_JYJL18 != "-" &&
                  dat.JYJG38_JYJL18 != "-" &&
                  dat.JYJG39_JYJL18 != "-" &&
                  dat.JYJG40_JYJL18 != "-")
              )
            ) {
              addstrtip("第18项全部有或者无!");
            }
            if (
              dat.JYJG37_JYJL18 != "-" &&
              dat.JYJG38_JYJL18 != "-" &&
              dat.JYJG39_JYJL18 != "-" &&
              dat.JYJG40_JYJL18 != "-"
            ) {
              if (dat.JYJG37_JYJL18 === "√" || dat.JYJG37_JYJL18 === "△") {
                if (parseFloat(dat.电梯运行速度) > 1.75) {
                  addstrtip("速度大于1.75,18项(1)勾选错误!");
                }
              }
              if (dat.JYJG37_JYJL18 === "×") {
                if (parseFloat(dat.电梯运行速度) <= 1.75) {
                  addstrtip("速度小于1.75,18项(1)勾选错误!");
                }
              }
            }
          }
        }

        if (1) {

          if (dat.JYJG44_JYJL21 === "√") {
            if (
              !/^\d+(\.\d+)?\s*(块|厘米|cm|毫米|mm|米|m)$/i.test(dat.DTBZ44)
            ) {
              addstrtip("第21(2)对重块备注信息填写错误!");
            }
          }

          if (supervisionDate != null) {
            if (supervisionDate < new Date(2023, 4, 2)) {
              if (dat.JYJG49_JYJL23 != "-") {
                addstrtip("未按照TSG T7001-2023监督检验的电梯,第23项不检验!");
              }
            }
            if (supervisionDate >= new Date(2023, 4, 2)) {
              if (dat.JYJG49_JYJL23 === "-") {
                addstrtip("按照TSG T7001-2023监督检验的电梯,第23项需要检验!");
              }
            }
          }

          if (
            (dat.JYJG50_JYJL24 === "-" && dat.DTSJ503 != "-") ||
            (dat.JYJG50_JYJL24 != "-" && dat.DTSJ503 === "-")
          ) {
            addstrtip("第24项门间隙(1)测量数据与结果矛盾!");
          }
          if (
            (dat.JYJG51_JYJL24 === "-" && dat.DTSJ504 != "-") ||
            (dat.JYJG51_JYJL24 != "-" && dat.DTSJ504 === "-")
          ) {
            addstrtip("第24项门间隙(2)测量数据与结果矛盾!");
          }
          if (supervisionDate != null) {
            const curdate = new Date();
            if (curdate.getFullYear() - supervisionDate.getFullYear() > 14) {
              if (
                dat.JYJG50_JYJL24 === "-" ||
                dat.JYJG51_JYJL24 === "-" ||
                dat.DTSJ503 === "-" ||
                dat.DTSJ504 === "-"
              ) {
                addstrtip("超过15年的电梯应检验第24项门间隙!");
              } else {
                if (dat.设备分类代码 === "曳引驱动乘客电梯") {
                  if (/^([1-9]\d*(\.\d+)?|0\.\d+)$/.test(dat.DTSJ503)) {
                    if (
                      parseFloat(dat.DTSJ503) <= 6 &&
                      parseFloat(dat.DTSJ503) >= 0
                    ) {
                      if (dat.JYJG50_JYJL24 === "×") {
                        addstrtip(
                          "第24项门间隙(1)实测值:" + dat.DTSJ503 + "应为符合!"
                        );
                      }
                    } else if (parseFloat(dat.DTSJ503) > 6) {
                      if (dat.JYJG50_JYJL24 != "×") {
                        addstrtip(
                          "第24项门间隙(1)实测值:" +
                            dat.DTSJ503 +
                            "应为不符合!"
                        );
                      }
                    }
                  } else if (/^≤6$/.test(dat.DTSJ503)) {
                    if (dat.JYJG50_JYJL24 === "×") {
                      addstrtip(
                        "第24项门间隙(1)目测值:" + dat.DTSJ503 + "应为符合!"
                      );
                    }
                  } else {
                    addstrtip("第24项门间隙(1)测量值格式错误!");
                  }
                } else if (dat.设备分类代码 === "曳引驱动载货电梯") {
                  if (/^([1-9]\d*(\.\d+)?|0\.\d+)$/.test(dat.DTSJ503)) {
                    if (
                      parseFloat(dat.DTSJ503) <= 10 &&
                      parseFloat(dat.DTSJ503) >= 0
                    ) {
                      if (dat.JYJG50_JYJL24 === "×") {
                        addstrtip(
                          "第24项门间隙(1)实测值:" + dat.DTSJ503 + "应为符合!"
                        );
                      }
                    } else if (parseFloat(dat.DTSJ503) > 10) {
                      if (dat.JYJG50_JYJL24 != "×") {
                        addstrtip(
                          "第24项门间隙(1)实测值:" +
                            dat.DTSJ503 +
                            "应为不符合!"
                        );
                      }
                    }
                  } else if (/^≤10$/.test(dat.DTSJ503)) {
                    if (dat.JYJG50_JYJL24 === "×") {
                      addstrtip(
                        "第24项门间隙(1)目测值:" + dat.DTSJ503 + "应为符合!"
                      );
                    } else {
                      addstrtip("第24项门间隙(1)测量值格式错误!");
                    }
                  }
                }
                if (/^([1-9]\d*(\.\d+)?|0\.\d+)$/.test(dat.DTSJ504)) {
                  if (parseFloat(dat.DTSJ504) <= 30) {
                    if (dat.JYJG51_JYJL24 === "×") {
                      addstrtip(
                        "第24项门间隙(2)实测值:" + dat.DTSJ504 + "应为符合!"
                      );
                    }
                  } else if (
                    parseFloat(dat.DTSJ504) > 30 &&
                    parseFloat(dat.DTSJ504) <= 45
                  ) {
                    if (dat.JYJG51_JYJL24 === "×") {
                      addstrtip(
                        "若为中分门,第24项门间隙(2)实测值:" +
                          dat.DTSJ504 +
                          "应为符合!"
                      );
                    } else if (dat.JYJG51_JYJL24 != "×") {
                      addstrtip(
                        "若为旁开门,第24项门间隙(2)实测值:" +
                          dat.DTSJ504 +
                          "应为不符合!"
                      );
                    }
                  } else {
                    if (dat.JYJG51_JYJL24 != "×") {
                      addstrtip(
                        "第24项门间隙(2)实测值:" + dat.DTSJ504 + "应为不符合!"
                      );
                    }
                  }
                } else if (dat.DTSJ504 === "≤45") {
                  if (dat.JYJG51_JYJL24 === "×") {
                    addstrtip(
                      "第24项门间隙(2)实测值:" + dat.DTSJ504 + "应为符合!"
                    );
                  }
                } else {
                  addstrtip("第24项门间隙(2)实测值格式错误!");
                }
              }
            }
            if (curdate.getFullYear() - supervisionDate.getFullYear() < 15) {
              if (
                dat.JYJG50_JYJL24 != "-" ||
                dat.JYJG51_JYJL24 != "-" ||
                dat.DTSJ503 != "-" ||
                dat.DTSJ504 != "-"
              ) {
                addstrtip("不超过15年的第24项门间隙不需要检验!");
              }
            }
          }

          if (supervisionDate != null) {
            if (supervisionDate < new Date(2017, 10, 1)) {
              if (dat.JYJG55_JYJL26 != "-") {
                addstrtip(
                  "注意2017.10.1以前的电梯不检验第26项(3)层门啮合标记!"
                );
              }
            }
            if (supervisionDate >= new Date(2017, 10, 1)) {
              if (dat.JYJG55_JYJL26 === "-") {
                addstrtip(
                  "注意2017.10.1以后的电梯应检验第26项(3)层门啮合标记!"
                );
              }
            }
          }

          if (supervisionDate != null) {
            if (supervisionDate < new Date(2017, 10, 1)) {
              if (dat.JYJG59_JYJL28 != "-") {
                addstrtip("注意2017.10.1以前的电梯不检验第28项(2)紧急开锁!");
              }
            }
            if (supervisionDate >= new Date(2017, 10, 1)) {
              if (dat.JYJG59_JYJL28 === "-") {
                addstrtip("注意2017.10.1以后的电梯应检验第28项(2)紧急开锁!");
              }
            }
          }

          if (
            (dat.JYJG61_JYJL29 === "-" && dat.DTSJ700 != "-") ||
            (dat.JYJG61_JYJL29 != "-" && dat.DTSJ700 === "-")
          ) {
            addstrtip("第29项门锁紧(2)测量数据与结果矛盾!");
          }
          if (/^([1-9]\d*(\.\d+)?|0\.\d+)$/.test(dat.DTSJ700)) {
            if (dat.JYJG61_JYJL29 === "√" || dat.JYJG61_JYJL29 === "△") {
              if (parseFloat(dat.DTSJ700) > 7) {
                addstrtip("第29项锁紧啮合深度测量数据显示结果应为不符合!");
              }
            }
            if (dat.JYJG61_JYJL29 === "×") {
              if (parseFloat(dat.DTSJ700) <= 7) {
                addstrtip("第29项锁紧啮合深度测量数据显示结果应为符合!");
              }
            }
          } else {
            addstrtip("第29项锁紧啮合深度测量数值格式错误!");
          }
        }

        if (1) {

          if (1) {
            if (
              (dat.JYJG67_JYJL31 === "-" && dat.DTSJ702 != "-") ||
              (dat.JYJG67_JYJL31 != "-" && dat.DTSJ702 === "-")
            ) {
              addstrtip("第31项平衡系数(1)测量数据与结果矛盾!");
            }
            if (
              (dat.JYJG68_JYJL31 === "-" && dat.DTSJ74 != "-") ||
              (dat.JYJG68_JYJL31 != "-" && dat.DTSJ74 === "-")
            ) {
              addstrtip("第31项平衡系数(2)测量数据与结果矛盾!");
            }
            if (dat.JYJG90_JYJL42 != "-") {
              if (/^([1-9]\d*(\.\d+)?|0\.\d+)$/.test(dat.DTSJ702)) {
                if (dat.JYJG67_JYJL31 === "√" || dat.JYJG67_JYJL31 === "△") {
                  if (
                    parseFloat(dat.DTSJ702) < 40 ||
                    parseFloat(dat.DTSJ702) > 50
                  ) {
                    addstrtip("第31项平衡系数(1)测量数据显示结果应为不符合!");
                  }
                }
                if (dat.JYJG67_JYJL31 === "×") {
                  if (
                    parseFloat(dat.DTSJ702) >= 40 &&
                    parseFloat(dat.DTSJ702) <= 50
                  ) {
                    addstrtip("第31项平衡系数(1)测量数据显示结果应为符合!");
                  }
                }
                if (dat.JYJG67_JYJL31 === "-") {
                  addstrtip("第31项平衡系数(1)测量数据与结果矛盾!");
                }
                if (dat.JYJG67_JYJL31 === "×") {
                  const rs32_34 =
                    dat.JYJG69_JYJL32 !== "-" ||
                    dat.JYJG70_JYJL33 !== "-" ||
                    dat.JYJG71_JYJL33 !== "-" ||
                    dat.JYJG72_JYJL34 !== "-" ||
                    dat.JYJG73_JYJL34 !== "-" ||
                    dat.JYJG74_JYJL34 !== "-" ||
                    dat.JYJG75_JYJL34 !== "-";
                  const rs35_39 =
                    dat.JYJG76_JYJL35 !== "-" ||
                    dat.JYJG77_JYJL36 !== "-" ||
                    dat.JYJG78_JYJL36 !== "-" ||
                    dat.JYJG79_JYJL38 !== "-" ||
                    dat.JYJG80_JYJL39 !== "-" ||
                    dat.JYJG81_JYJL39 !== "-" ||
                    dat.JYJG82_JYJL39 !== "-" ||
                    dat.JYJG83_JYJL39 !== "-";
                  const rs40_43 =
                    dat.JYJG84_JYJL40 !== "-" ||
                    dat.JYJG85_JYJL40 !== "-" ||
                    dat.JYJG86_JYJL40 !== "-" ||
                    dat.JYJG87_JYJL40 !== "-" ||
                    dat.JYJG88_JYJL41 !== "-" ||
                    dat.JYJG89_JYJL41 !== "-" ||
                    dat.JYJG90_JYJL42 !== "-" ||
                    dat.JYJG91_JYJL43 !== "-";
                  if (rs32_34 || rs35_39 || rs40_43) {
                    addstrtip("平衡系数不合格,第32-43项应为“-”!");
                  }
                }
              } else {
                addstrtip("第31项平衡系数(1)测量数值格式错误!");
              }
              const phxs2 = document
                .getElementById("1701504018295d212")
                .innerText.trim();
              if (phxs2 != "-" || dat.JYJG68_JYJL31 != "-") {
                addstrtip("制动试验时只进行第31项(1)的检验!");
              }
            } else {
              if (dat.DTSJ702 != "-" || dat.JYJG67_JYJL31 != "-") {
                addstrtip("没有制动试验时只进行第31项(2)的检验!");
              }
              const phxs22 = document
                .getElementById("1701504018295d212")
                .innerText.trim();
              if (/^([1-9]\d*(\.\d+)?|0\.\d+)$/.test(phxs22)) {
                if (dat.JYJG68_JYJL31 === "√" || dat.JYJG68_JYJL31 === "△") {
                  if (parseFloat(phxs22) < 40 || parseFloat(phxs22) > 50) {
                    addstrtip("第31项平衡系数(2)测量数据显示结果应为不符合!");
                  }
                }
                if (dat.JYJG68_JYJL31 === "×") {
                  if (parseFloat(phxs22) >= 40 && parseFloat(phxs22) <= 50) {
                    addstrtip("第31项平衡系数(2)测量数据显示结果应为符合!");
                  }
                }
                if (dat.JYJG68_JYJL31 === "-") {
                  addstrtip("第31项平衡系数(2)测量数据与结果矛盾!");
                }
                if (dat.JYJG68_JYJL31 === "×") {
                  const rs32_34 =
                    dat.JYJG69_JYJL32 !== "-" ||
                    dat.JYJG70_JYJL33 !== "-" ||
                    dat.JYJG71_JYJL33 !== "-" ||
                    dat.JYJG72_JYJL34 !== "-" ||
                    dat.JYJG73_JYJL34 !== "-" ||
                    dat.JYJG74_JYJL34 !== "-" ||
                    dat.JYJG75_JYJL34 !== "-";
                  const rs35_39 =
                    dat.JYJG76_JYJL35 !== "-" ||
                    dat.JYJG77_JYJL36 !== "-" ||
                    dat.JYJG78_JYJL36 !== "-" ||
                    dat.JYJG79_JYJL38 !== "-" ||
                    dat.JYJG80_JYJL39 !== "-" ||
                    dat.JYJG81_JYJL39 !== "-" ||
                    dat.JYJG82_JYJL39 !== "-" ||
                    dat.JYJG83_JYJL39 !== "-";
                  const rs40_43 =
                    dat.JYJG84_JYJL40 !== "-" ||
                    dat.JYJG85_JYJL40 !== "-" ||
                    dat.JYJG86_JYJL40 !== "-" ||
                    dat.JYJG87_JYJL40 !== "-" ||
                    dat.JYJG88_JYJL41 !== "-" ||
                    dat.JYJG89_JYJL41 !== "-" ||
                    dat.JYJG90_JYJL42 !== "-" ||
                    dat.JYJG91_JYJL43 !== "-";
                  if (rs32_34 || rs35_39 || rs40_43) {
                    addstrtip("平衡系数不合格,第32-43项应为“-”!");
                  }
                }
              } else {
                if (/^40-50$/.test(phxs22)) {
                  if (dat.JYJG68_JYJL31 === "×") {
                    addstrtip('第31项平衡系数(2)"40-50"表明结果应为符合!');
                  }
                } else {
                  addstrtip("第31项平衡系数(2)测量数值格式错误!");
                }
              }
            }
          }
        }

        if (manufactureDate != null) {
          if (manufactureDate < new Date(2004, 1, 1)) {
            if (
              dat.JYJG80_JYJL39 != "-" ||
              dat.JYJG81_JYJL39 != "-" ||
              dat.JYJG82_JYJL39 != "-" ||
              dat.JYJG83_JYJL39 != "-"
            ) {
              addstrtip("注意2004.1.1之前生产的电梯,上行超速保护是否不检验!");
            }
          }
          if (manufactureDate >= new Date(2004, 1, 1)) {
            if (
              dat.JYJG80_JYJL39 === "-" ||
              dat.JYJG81_JYJL39 === "-" ||
              dat.JYJG82_JYJL39 === "-" ||
              dat.JYJG83_JYJL39 === "-"
            ) {
              addstrtip(
                "注意2004.1.1之后生产的电梯,上行超速保护是否需要检验!"
              );
            }
          }
        }

        if (1) {

          if (manufactureDate != null) {
            if (manufactureDate < new Date(2016, 7, 1)) {
              if (
                dat.JYJG84_JYJL40 != "-" ||
                dat.JYJG85_JYJL40 != "-" ||
                dat.JYJG86_JYJL40 != "-" ||
                dat.JYJG87_JYJL40 != "-"
              ) {
                addstrtip(
                  "注意2016.7.1之前生产的电梯,轿厢意外移动是否不检验!"
                );
              }
            }
            if (manufactureDate >= new Date(2016, 7, 1)) {
              if (
                dat.JYJG84_JYJL40 === "-" ||
                dat.JYJG85_JYJL40 === "-" ||
                dat.JYJG86_JYJL40 === "-" ||
                dat.JYJG87_JYJL40 === "-"
              ) {
                addstrtip(
                  "注意2016.7.1之后生产的电梯,轿厢意外移动是否需要检验!"
                );
              }
            }
          }

          if (lastBrakingDate != null) {
            if (lastBrakingDate.getFullYear() === new Date().getFullYear()) {
              if (dat.JYJG90_JYJL42 === "-") {
                addstrtip("最近制动试验是在今年,第42项应为符合!");
              }
            }
            if (lastBrakingDate.getFullYear() != new Date().getFullYear()) {
              if (dat.JYJG90_JYJL42 != "-") {
                addstrtip("最近制动试验不在今年,第42项应为“-”!");
              }
            }
          }
        }
      }
    }

    if (1) {
      if (strtip.trim() === "") {
        strtip = "未发现问题";
      }

      input.value = strtip + "\n\n" + strinput;
      strtip = "";
      strinput = "";
      tipnum = 0;
    }
  }

  function StringToDate(str) {
    var strDate = str.split(" ");

    var strDatepart = strDate[0].split("-");

    var dtDate = new Date(strDatepart[0], strDatepart[1] - 1, strDatepart[2]);

    return dtDate;
  }
  function YearMonthToYearMonthDay(str) {
    if (str.length === 7) {
      str = str.concat("-01");
    }
    return str.trim();
  }
  function ZifuchuanIsDate(strdate) {

    if (isNaN(strdate) && !isNaN(Date.parse(strdate))) {
      return true;
    } else {
      return false;
    }
  }

  function addstrtip(str) {
    strtip = strtip.concat("\n");
    tipnum = tipnum + 1;
    strtip = strtip.concat(tipnum.toString());
    strtip = strtip.concat("、");
    strtip = strtip.concat(str);
  }
  function isNormalInteger(str) {
    var n = Math.floor(Number(str));

    return n !== Infinity && String(n) === str && n >= 0;
  }
  function isValidSBDMFormat(text) {

    const regex = /^(3110|3120)\d{6}(\d{4})\d{6}$/;

    if (regex.test(text)) {
      const match = text.match(regex);
      if (match) {
        var year = parseInt(match[2], 10);
        if (year >= 2000 && year <= 2100) {
          return true;
        } else {
          return false;
        }
      }
    } else {
      return false;
    }
  }

  function parseDate(dateStr) {
    const dateRegex = /^(\d{4})年(\d{1,2})月(\d{1,2})?日?$/;
    const match = dateStr.match(dateRegex);
    if (!match) {
      return null;
    }
    const year = parseInt(match[1], 10);
    const month = parseInt(match[2], 10) - 1;
    const day = match[3] ? parseInt(match[3], 10) : 1;
    return new Date(year, month, day);
  }

  function elevatorInspectionStr(supervisionDateStr, queryYear) {
    const dateRegex = /^(\d{4})年(\d{1,2})月/;
    const match = supervisionDateStr.match(dateRegex);
    if (match) {
      const supervisionYear = parseInt(match[1], 10);
      const supervisionMonth = parseInt(match[2], 10);
      const inspectionYears = [1, 4, 7, 9, 11, 13, 15];
      let inspectionDates = [];

      inspectionYears.forEach((year) => {
        if (supervisionYear + year <= queryYear) {
          inspectionDates.push(supervisionYear + year);
        }
      });

      if (queryYear - supervisionYear > 15) {
        for (let year = supervisionYear + 16; year <= queryYear; year++) {
          inspectionDates.push(year);
        }
      }

      if (inspectionDates.includes(queryYear)) {
        return { result: "检验", year: queryYear, month: supervisionMonth };
      } else {
        return { result: "检测", year: queryYear, month: supervisionMonth };
      }
    } else {
      return { result: "错误", year: 0, month: 0 };
    }
  }

  function elevatorInspection(supervisionDate, queryDate) {
    if (supervisionDate >= queryDate) {
      return { result: "错误", date: null };
    }
    if (
      new Date(
        queryDate.getFullYear(),
        supervisionDate.getMonth(),
        supervisionDate.getDate()
      ) < new Date(2023, 3, 1)
    ) {

      return {
        result: "检验",
        date: new Date(
          queryDate.getFullYear() + 1,
          supervisionDate.getMonth(),
          supervisionDate.getDate()
        ),
      };
    } else {
      const supervisionYear = supervisionDate.getFullYear();
      const supervisionMonth = supervisionDate.getMonth();
      const queryYear = queryDate.getFullYear();
      const inspectionIntervals = [1, 4, 7, 9, 11, 13, 15];
      let inspectionYears = new Set();

      for (let year = supervisionYear; year <= queryYear + 15; year++) {
        if (
          year - supervisionYear > 15 ||
          inspectionIntervals.includes(year - supervisionYear)
        ) {
          inspectionYears.add(year);
        }
      }

      let inspectionStatus = inspectionYears.has(queryYear) ? "检验" : "检测";

      let nextInspectionYear = [...inspectionYears].find(
        (year) => year > queryYear
      );


      let nextInspectionDate = nextInspectionYear
        ? new Date(nextInspectionYear, supervisionMonth, 1)
        : null;


      return { result: inspectionStatus, date: nextInspectionDate };
    }
  }
  function isValidSYDJFormat(text) {

    const regex = /^(3110|3120)\d{6}(\d{4})\d{6}$/;

    if (regex.test(text)) {
      const match = text.match(regex);
      if (match) {
        var year = parseInt(match[2], 10);
        if (year >= 2000 && year <= 2100) {
          return true;
        } else {
          return false;
        }
      }
    } else {
      return false;
    }
  }
  function calculateBrakeDate(initialDate, queryDate) {
    const brakeIntervalBefore2024 = 5;
    const brakeIntervalAfter2024 = 6;
    let resultDate = new Date(initialDate.getTime());
    let resultDatetemp = null;
    let currentYear = 0;
    while (resultDate <= queryDate) {
      resultDatetemp = new Date(resultDate.getTime());
      currentYear = resultDate.getFullYear();

      if (resultDate < new Date(2013, 0, 1)) {
        resultDate.setFullYear(2018);
      }

      else if (resultDate < new Date(2019, 3, 1)) {
        resultDate.setFullYear(currentYear + brakeIntervalBefore2024);
      }

      else {
        resultDate.setFullYear(currentYear + brakeIntervalAfter2024);
      }
    }
    return resultDatetemp;
  }


  function getXMKeyValues(jsonData, specificNumbers, symbolToCheck) {
    const regex = /^JYJG(\d+)_JYJL(\d+)$/;
    let validKeyValues = {};

    for (let key in jsonData) {
      const match = key.match(regex);
      if (match) {
        const value = jsonData[key];
        const number = parseInt(match[2], 10);
        if (value === symbolToCheck && specificNumbers.has(number)) {
          validKeyValues[key] = value;
        }
      }
    }

    return validKeyValues;
  }

  function checkDTBZValues(jsonData) {
    const regex = /^DTBZ(\d+)$/;
    let results = [];

    for (let key in jsonData) {
      const match = key.match(regex);
      if (match) {
        const number = parseInt(match[1], 10);
        if (number >= 1 && number <= 91) {
          if (jsonData[key] !== "") {
            results.push({ key, value: jsonData[key] });
          }
        }
      }
    }
    return results;
  }

  function getdtt(label) {
    var labelEl = Array.from(document.getElementsByTagName("span")).find(
      (el) => el.textContent === label
    );
    var widgetFieldEl = labelEl.parentElement;
    while (!widgetFieldEl.classList.contains("widget-field")) {
      widgetFieldEl = widgetFieldEl.parentElement;
    }
    return widgetFieldEl.nextElementSibling.innerText.trim();
  }

  function gethtt(label) {
    var labelEl = Array.from(document.getElementsByTagName("td")).find(
      (el) => el.textContent.trim() === label
    );
    return labelEl.nextElementSibling.innerText.trim();
  }

  function getdt(label) {
    var labelEl = Array.from(document.getElementsByTagName("span")).find(
      (el) => el.textContent === label
    );
    var widgetFieldEl = labelEl.parentElement;
    while (!widgetFieldEl.classList.contains("widget-field")) {
      widgetFieldEl = widgetFieldEl.parentElement;
    }
    return widgetFieldEl.innerText.trim();
  }

  function getht(label) {
    var labelEl = Array.from(document.getElementsByTagName("td")).find(
      (el) => el.textContent.trim() === label
    );
    return labelEl.innerText.trim();
  }

  function gett(labelText) {

    var label = document.evaluate(
      "//label[contains(., '" + labelText + "')]",
      document,
      null,
      XPathResult.FIRST_ORDERED_NODE_TYPE,
      null
    ).singleNodeValue;


    if (label) {
      var span = label.nextElementSibling;
      if (span && span.classList.contains("widget-content")) {

        return span.textContent || span.innerText;
      }
    }
    return null;
  }
  function replaceValuesWithFun(jn, fun) {

    for (var key in jn) {
      if (jn.hasOwnProperty(key)) {

        var value = jn[key];

        var funResult = fun(key);

        if (funResult !== null) {
          jn[key] = funResult;
        }
      }
    }

    return jn;
  }
  function validateAndExplainCode(input) {

    const regex =
      /^详见((JD\d{1}\d{2}|SZSJD\d{2}|WZJD\d{2}|ZWJD\d{2}|GYJD\d{2}))号工具箱$/;
    const match = input.match(regex);

    if (!match) {
      return { isValid: false, message: "输入格式不正确。" };
    }


    const code = match[1];
    let department = "";

    let sequence = parseInt(code.slice(-2), 10);


    if (/^JD1\d{2}$/.test(code)) {
      department = "机电一部";
      if (sequence > 10)
        return { isValid: false, message: "机电一部顺序号超出范围。" };
    } else if (/^JD2\d{2}$/.test(code)) {
      department = "机电二部";
      if (sequence < 1 || sequence > 4)
        return { isValid: false, message: "机电二部顺序号超出范围。" };
    } else if (/^JD3\d{2}$/.test(code)) {
      department = "机电三部";
      if (sequence > 8)
        return { isValid: false, message: "机电三部顺序号超出范围。" };
    } else if (/^SZSJD\d{2}$/.test(code)) {
      department = "石嘴山分院";
      if (sequence > 3)
        return { isValid: false, message: "石嘴山分院顺序号超出范围。" };
    } else if (/^WZJD\d{2}$/.test(code)) {
      department = "吴忠分院";
      if (sequence > 3)
        return { isValid: false, message: "吴忠分院顺序号超出范围。" };
    } else if (/^ZWJD\d{2}$/.test(code)) {
      department = "中卫分院";
      if (sequence > 3)
        return { isValid: false, message: "中卫分院顺序号超出范围。" };
    } else if (/^GYJD\d{2}$/.test(code)) {
      department = "固原分院";
      if (sequence > 3)
        return { isValid: false, message: "固原分院顺序号超出范围。" };
    } else {
      return { isValid: false, message: "未知的编码部分。" };
    }

    return {
      isValid: true,
      message: `编码${code}表示${department},序号${sequence}。`,
    };
  }
  function validateString(str) {

    const currentYearSuffix = new Date().getFullYear().toString().slice(-2);


    const regex =
      /^本记录第([\d+、,]+)项的检验结果为不符合使用单位已经承诺采取安全措施,对电梯实行监护使用(见编号为TZS-DT-${currentYearSuffix}\d{5}的《电梯检验意见通知书》)$/;
    const match = str.match(regex);

    if (!match) {

      return false;
    }


    const numbersStr = match[1];
    const numbers = numbersStr
      .split(/[\d+、,]+/)
      .filter((n) => n !== "")
      .map(Number);


    const isValidNumbers = numbers.every((num) => num >= 1 && num <= 43);


    const xx4Match = str.match(/TZS-DT-${currentYearSuffix}(\d{5})/);
    const isValidXX4 = xx4Match && xx4Match[1].length === 5;


    return isValidNumbers && isValidXX4;
  }

  function validateString1(str, ssz) {

    const items = ssz.join("[、,]");

    const itemPattern = `第${items}项`;

    const year = new Date().getFullYear().toString().slice(-2);

    const regex = new RegExp(
      `^本记录${itemPattern}的检验结果为不符合[,,]使用单位已经承诺采取安全措施[,,]对电梯实行监护使用[((]见编号为TZS-DT-${year}\\d{5}的《电梯检验意见通知书》[))]$`
    );

    return regex.test(str);
  }
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址