liusuyi
2024-10-10 38f29e38fcc668171dc05c53d40a36b895c86102
1
{"remainingRequest":"D:\\workspace\\idea\\ruoyi-api\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!D:\\workspace\\idea\\ruoyi-api\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\workspace\\idea\\ruoyi-api\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\workspace\\idea\\ruoyi-api\\ruoyi-ui\\src\\components\\Crontab\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\workspace\\idea\\ruoyi-api\\ruoyi-ui\\src\\components\\Crontab\\index.vue","mtime":1683257483955},{"path":"D:\\workspace\\idea\\ruoyi-api\\ruoyi-ui\\babel.config.js","mtime":1683257214499},{"path":"D:\\workspace\\idea\\ruoyi-api\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1683257226511},{"path":"D:\\workspace\\idea\\ruoyi-api\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1683257224897},{"path":"D:\\workspace\\idea\\ruoyi-api\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1683257226511},{"path":"D:\\workspace\\idea\\ruoyi-api\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1683257451742}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJEOi93b3Jrc3BhY2UvaWRlYS9ydW95aS1hcGkvcnVveWktdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0LmpzIikuZGVmYXVsdDsKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CnZhciBfb2JqZWN0U3ByZWFkMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiRDovd29ya3NwYWNlL2lkZWEvcnVveWktYXBpL3J1b3lpLXVpL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZDIuanMiKSk7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5pbmNsdWRlcy5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLmluY2x1ZGVzLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiKTsKdmFyIF9zZWNvbmQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIi4vc2Vjb25kLnZ1ZSIpKTsKdmFyIF9taW4gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIi4vbWluLnZ1ZSIpKTsKdmFyIF9ob3VyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCIuL2hvdXIudnVlIikpOwp2YXIgX2RheSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiLi9kYXkudnVlIikpOwp2YXIgX21vbnRoID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCIuL21vbnRoLnZ1ZSIpKTsKdmFyIF93ZWVrID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCIuL3dlZWsudnVlIikpOwp2YXIgX3llYXIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIi4veWVhci52dWUiKSk7CnZhciBfcmVzdWx0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCIuL3Jlc3VsdC52dWUiKSk7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCnZhciBfZGVmYXVsdCA9IHsKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgdGFiVGl0bGVzOiBbIuenkiIsICLliIbpkp8iLCAi5bCP5pe2IiwgIuaXpSIsICLmnIgiLCAi5ZGoIiwgIuW5tCJdLAogICAgICB0YWJBY3RpdmU6IDAsCiAgICAgIG15aW5kZXg6IDAsCiAgICAgIGNyb250YWJWYWx1ZU9iajogewogICAgICAgIHNlY29uZDogIioiLAogICAgICAgIG1pbjogIioiLAogICAgICAgIGhvdXI6ICIqIiwKICAgICAgICBkYXk6ICIqIiwKICAgICAgICBtb250aDogIioiLAogICAgICAgIHdlZWs6ICI/IiwKICAgICAgICB5ZWFyOiAiIgogICAgICB9CiAgICB9OwogIH0sCiAgbmFtZTogInZjcm9udGFiIiwKICBwcm9wczogWyJleHByZXNzaW9uIiwgImhpZGVDb21wb25lbnQiXSwKICBtZXRob2RzOiB7CiAgICBzaG91bGRIaWRlOiBmdW5jdGlvbiBzaG91bGRIaWRlKGtleSkgewogICAgICBpZiAodGhpcy5oaWRlQ29tcG9uZW50ICYmIHRoaXMuaGlkZUNvbXBvbmVudC5pbmNsdWRlcyhrZXkpKSByZXR1cm4gZmFsc2U7CiAgICAgIHJldHVybiB0cnVlOwogICAgfSwKICAgIHJlc29sdmVFeHA6IGZ1bmN0aW9uIHJlc29sdmVFeHAoKSB7CiAgICAgIC8vIOWPjeino+aekCDooajovr7lvI8KICAgICAgaWYgKHRoaXMuZXhwcmVzc2lvbikgewogICAgICAgIHZhciBhcnIgPSB0aGlzLmV4cHJlc3Npb24uc3BsaXQoIiAiKTsKICAgICAgICBpZiAoYXJyLmxlbmd0aCA+PSA2KSB7CiAgICAgICAgICAvLzYg5L2N5Lul5LiK5piv5ZCI5rOV6KGo6L6+5byPCiAgICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICBzZWNvbmQ6IGFyclswXSwKICAgICAgICAgICAgbWluOiBhcnJbMV0sCiAgICAgICAgICAgIGhvdXI6IGFyclsyXSwKICAgICAgICAgICAgZGF5OiBhcnJbM10sCiAgICAgICAgICAgIG1vbnRoOiBhcnJbNF0sCiAgICAgICAgICAgIHdlZWs6IGFycls1XSwKICAgICAgICAgICAgeWVhcjogYXJyWzZdID8gYXJyWzZdIDogIiIKICAgICAgICAgIH07CiAgICAgICAgICB0aGlzLmNyb250YWJWYWx1ZU9iaiA9ICgwLCBfb2JqZWN0U3ByZWFkMi5kZWZhdWx0KSh7fSwgb2JqKTsKICAgICAgICAgIGZvciAodmFyIGkgaW4gb2JqKSB7CiAgICAgICAgICAgIGlmIChvYmpbaV0pIHRoaXMuY2hhbmdlUmFkaW8oaSwgb2JqW2ldKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8g5rKh5pyJ5Lyg5YWl55qE6KGo6L6+5byPIOWImei/mOWOnwogICAgICAgIHRoaXMuY2xlYXJDcm9uKCk7CiAgICAgIH0KICAgIH0sCiAgICAvLyB0YWLliIfmjaLlgLwKICAgIHRhYkNoZWNrOiBmdW5jdGlvbiB0YWJDaGVjayhpbmRleCkgewogICAgICB0aGlzLnRhYkFjdGl2ZSA9IGluZGV4OwogICAgfSwKICAgIC8vIOeUseWtkOe7hOS7tuinpuWPke+8jOabtOaUueihqOi+vuW8j+e7hOaIkOeahOWtl+auteWAvAogICAgdXBkYXRlQ3JvbnRhYlZhbHVlOiBmdW5jdGlvbiB1cGRhdGVDcm9udGFiVmFsdWUobmFtZSwgdmFsdWUsIGZyb20pIHsKICAgICAgInVwZGF0ZUNyb250YWJWYWx1ZSIsIG5hbWUsIHZhbHVlLCBmcm9tOwogICAgICB0aGlzLmNyb250YWJWYWx1ZU9ialtuYW1lXSA9IHZhbHVlOwogICAgICBpZiAoZnJvbSAmJiBmcm9tICE9PSBuYW1lKSB7CiAgICAgICAgY29uc29sZS5sb2coIlx1Njc2NVx1ODFFQVx1N0VDNFx1NEVGNiAiLmNvbmNhdChmcm9tLCAiIFx1NjUzOVx1NTNEOFx1NEU4NiAiKS5jb25jYXQobmFtZSwgIiAiKS5jb25jYXQodmFsdWUpKTsKICAgICAgICB0aGlzLmNoYW5nZVJhZGlvKG5hbWUsIHZhbHVlKTsKICAgICAgfQogICAgfSwKICAgIC8vIOi1i+WAvOWIsOe7hOS7tgogICAgY2hhbmdlUmFkaW86IGZ1bmN0aW9uIGNoYW5nZVJhZGlvKG5hbWUsIHZhbHVlKSB7CiAgICAgIHZhciBhcnIgPSBbInNlY29uZCIsICJtaW4iLCAiaG91ciIsICJtb250aCJdLAogICAgICAgIHJlZk5hbWUgPSAiY3JvbiIgKyBuYW1lLAogICAgICAgIGluc1ZhbHVlOwogICAgICBpZiAoIXRoaXMuJHJlZnNbcmVmTmFtZV0pIHJldHVybjsKICAgICAgaWYgKGFyci5pbmNsdWRlcyhuYW1lKSkgewogICAgICAgIGlmICh2YWx1ZSA9PT0gIioiKSB7CiAgICAgICAgICBpbnNWYWx1ZSA9IDE7CiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS5pbmRleE9mKCItIikgPiAtMSkgewogICAgICAgICAgdmFyIGluZGV4QXJyID0gdmFsdWUuc3BsaXQoIi0iKTsKICAgICAgICAgIGlzTmFOKGluZGV4QXJyWzBdKSA/IHRoaXMuJHJlZnNbcmVmTmFtZV0uY3ljbGUwMSA9IDAgOiB0aGlzLiRyZWZzW3JlZk5hbWVdLmN5Y2xlMDEgPSBpbmRleEFyclswXTsKICAgICAgICAgIHRoaXMuJHJlZnNbcmVmTmFtZV0uY3ljbGUwMiA9IGluZGV4QXJyWzFdOwogICAgICAgICAgaW5zVmFsdWUgPSAyOwogICAgICAgIH0gZWxzZSBpZiAodmFsdWUuaW5kZXhPZigiLyIpID4gLTEpIHsKICAgICAgICAgIHZhciBfaW5kZXhBcnIgPSB2YWx1ZS5zcGxpdCgiLyIpOwogICAgICAgICAgaXNOYU4oX2luZGV4QXJyWzBdKSA/IHRoaXMuJHJlZnNbcmVmTmFtZV0uYXZlcmFnZTAxID0gMCA6IHRoaXMuJHJlZnNbcmVmTmFtZV0uYXZlcmFnZTAxID0gX2luZGV4QXJyWzBdOwogICAgICAgICAgdGhpcy4kcmVmc1tyZWZOYW1lXS5hdmVyYWdlMDIgPSBfaW5kZXhBcnJbMV07CiAgICAgICAgICBpbnNWYWx1ZSA9IDM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGluc1ZhbHVlID0gNDsKICAgICAgICAgIHRoaXMuJHJlZnNbcmVmTmFtZV0uY2hlY2tib3hMaXN0ID0gdmFsdWUuc3BsaXQoIiwiKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAobmFtZSA9PSAiZGF5IikgewogICAgICAgIGlmICh2YWx1ZSA9PT0gIioiKSB7CiAgICAgICAgICBpbnNWYWx1ZSA9IDE7CiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PSAiPyIpIHsKICAgICAgICAgIGluc1ZhbHVlID0gMjsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLmluZGV4T2YoIi0iKSA+IC0xKSB7CiAgICAgICAgICB2YXIgX2luZGV4QXJyMiA9IHZhbHVlLnNwbGl0KCItIik7CiAgICAgICAgICBpc05hTihfaW5kZXhBcnIyWzBdKSA/IHRoaXMuJHJlZnNbcmVmTmFtZV0uY3ljbGUwMSA9IDAgOiB0aGlzLiRyZWZzW3JlZk5hbWVdLmN5Y2xlMDEgPSBfaW5kZXhBcnIyWzBdOwogICAgICAgICAgdGhpcy4kcmVmc1tyZWZOYW1lXS5jeWNsZTAyID0gX2luZGV4QXJyMlsxXTsKICAgICAgICAgIGluc1ZhbHVlID0gMzsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLmluZGV4T2YoIi8iKSA+IC0xKSB7CiAgICAgICAgICB2YXIgX2luZGV4QXJyMyA9IHZhbHVlLnNwbGl0KCIvIik7CiAgICAgICAgICBpc05hTihfaW5kZXhBcnIzWzBdKSA/IHRoaXMuJHJlZnNbcmVmTmFtZV0uYXZlcmFnZTAxID0gMCA6IHRoaXMuJHJlZnNbcmVmTmFtZV0uYXZlcmFnZTAxID0gX2luZGV4QXJyM1swXTsKICAgICAgICAgIHRoaXMuJHJlZnNbcmVmTmFtZV0uYXZlcmFnZTAyID0gX2luZGV4QXJyM1sxXTsKICAgICAgICAgIGluc1ZhbHVlID0gNDsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLmluZGV4T2YoIlciKSA+IC0xKSB7CiAgICAgICAgICB2YXIgX2luZGV4QXJyNCA9IHZhbHVlLnNwbGl0KCJXIik7CiAgICAgICAgICBpc05hTihfaW5kZXhBcnI0WzBdKSA/IHRoaXMuJHJlZnNbcmVmTmFtZV0ud29ya2RheSA9IDAgOiB0aGlzLiRyZWZzW3JlZk5hbWVdLndvcmtkYXkgPSBfaW5kZXhBcnI0WzBdOwogICAgICAgICAgaW5zVmFsdWUgPSA1OwogICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09ICJMIikgewogICAgICAgICAgaW5zVmFsdWUgPSA2OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLiRyZWZzW3JlZk5hbWVdLmNoZWNrYm94TGlzdCA9IHZhbHVlLnNwbGl0KCIsIik7CiAgICAgICAgICBpbnNWYWx1ZSA9IDc7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gIndlZWsiKSB7CiAgICAgICAgaWYgKHZhbHVlID09PSAiKiIpIHsKICAgICAgICAgIGluc1ZhbHVlID0gMTsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09ICI/IikgewogICAgICAgICAgaW5zVmFsdWUgPSAyOwogICAgICAgIH0gZWxzZSBpZiAodmFsdWUuaW5kZXhPZigiLSIpID4gLTEpIHsKICAgICAgICAgIHZhciBfaW5kZXhBcnI1ID0gdmFsdWUuc3BsaXQoIi0iKTsKICAgICAgICAgIGlzTmFOKF9pbmRleEFycjVbMF0pID8gdGhpcy4kcmVmc1tyZWZOYW1lXS5jeWNsZTAxID0gMCA6IHRoaXMuJHJlZnNbcmVmTmFtZV0uY3ljbGUwMSA9IF9pbmRleEFycjVbMF07CiAgICAgICAgICB0aGlzLiRyZWZzW3JlZk5hbWVdLmN5Y2xlMDIgPSBfaW5kZXhBcnI1WzFdOwogICAgICAgICAgaW5zVmFsdWUgPSAzOwogICAgICAgIH0gZWxzZSBpZiAodmFsdWUuaW5kZXhPZigiIyIpID4gLTEpIHsKICAgICAgICAgIHZhciBfaW5kZXhBcnI2ID0gdmFsdWUuc3BsaXQoIiMiKTsKICAgICAgICAgIGlzTmFOKF9pbmRleEFycjZbMF0pID8gdGhpcy4kcmVmc1tyZWZOYW1lXS5hdmVyYWdlMDEgPSAxIDogdGhpcy4kcmVmc1tyZWZOYW1lXS5hdmVyYWdlMDEgPSBfaW5kZXhBcnI2WzBdOwogICAgICAgICAgdGhpcy4kcmVmc1tyZWZOYW1lXS5hdmVyYWdlMDIgPSBfaW5kZXhBcnI2WzFdOwogICAgICAgICAgaW5zVmFsdWUgPSA0OwogICAgICAgIH0gZWxzZSBpZiAodmFsdWUuaW5kZXhPZigiTCIpID4gLTEpIHsKICAgICAgICAgIHZhciBfaW5kZXhBcnI3ID0gdmFsdWUuc3BsaXQoIkwiKTsKICAgICAgICAgIGlzTmFOKF9pbmRleEFycjdbMF0pID8gdGhpcy4kcmVmc1tyZWZOYW1lXS53ZWVrZGF5ID0gMSA6IHRoaXMuJHJlZnNbcmVmTmFtZV0ud2Vla2RheSA9IF9pbmRleEFycjdbMF07CiAgICAgICAgICBpbnNWYWx1ZSA9IDU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuJHJlZnNbcmVmTmFtZV0uY2hlY2tib3hMaXN0ID0gdmFsdWUuc3BsaXQoIiwiKTsKICAgICAgICAgIGluc1ZhbHVlID0gNjsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAobmFtZSA9PSAieWVhciIpIHsKICAgICAgICBpZiAodmFsdWUgPT0gIiIpIHsKICAgICAgICAgIGluc1ZhbHVlID0gMTsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09ICIqIikgewogICAgICAgICAgaW5zVmFsdWUgPSAyOwogICAgICAgIH0gZWxzZSBpZiAodmFsdWUuaW5kZXhPZigiLSIpID4gLTEpIHsKICAgICAgICAgIGluc1ZhbHVlID0gMzsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLmluZGV4T2YoIi8iKSA+IC0xKSB7CiAgICAgICAgICBpbnNWYWx1ZSA9IDQ7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuJHJlZnNbcmVmTmFtZV0uY2hlY2tib3hMaXN0ID0gdmFsdWUuc3BsaXQoIiwiKTsKICAgICAgICAgIGluc1ZhbHVlID0gNTsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGhpcy4kcmVmc1tyZWZOYW1lXS5yYWRpb1ZhbHVlID0gaW5zVmFsdWU7CiAgICB9LAogICAgLy8g6KGo5Y2V6YCJ6aG555qE5a2Q57uE5Lu25qCh6aqM5pWw5a2X5qC85byP77yI6YCa6L+HLXByb3Bz5Lyg6YCS77yJCiAgICBjaGVja051bWJlcjogZnVuY3Rpb24gY2hlY2tOdW1iZXIodmFsdWUsIG1pbkxpbWl0LCBtYXhMaW1pdCkgewogICAgICAvLyDmo4Dmn6Xlv4XpobvkuLrmlbTmlbAKICAgICAgdmFsdWUgPSBNYXRoLmZsb29yKHZhbHVlKTsKICAgICAgaWYgKHZhbHVlIDwgbWluTGltaXQpIHsKICAgICAgICB2YWx1ZSA9IG1pbkxpbWl0OwogICAgICB9IGVsc2UgaWYgKHZhbHVlID4gbWF4TGltaXQpIHsKICAgICAgICB2YWx1ZSA9IG1heExpbWl0OwogICAgICB9CiAgICAgIHJldHVybiB2YWx1ZTsKICAgIH0sCiAgICAvLyDpmpDol4/lvLnnqpcKICAgIGhpZGVQb3B1cDogZnVuY3Rpb24gaGlkZVBvcHVwKCkgewogICAgICB0aGlzLiRlbWl0KCJoaWRlIik7CiAgICB9LAogICAgLy8g5aGr5YWF6KGo6L6+5byPCiAgICBzdWJtaXRGaWxsOiBmdW5jdGlvbiBzdWJtaXRGaWxsKCkgewogICAgICB0aGlzLiRlbWl0KCJmaWxsIiwgdGhpcy5jcm9udGFiVmFsdWVTdHJpbmcpOwogICAgICB0aGlzLmhpZGVQb3B1cCgpOwogICAgfSwKICAgIGNsZWFyQ3JvbjogZnVuY3Rpb24gY2xlYXJDcm9uKCkgewogICAgICAvLyDov5jljp/pgInmi6npobkKICAgICAgIuWHhuWkh+i/mOWOnyI7CiAgICAgIHRoaXMuY3JvbnRhYlZhbHVlT2JqID0gewogICAgICAgIHNlY29uZDogIioiLAogICAgICAgIG1pbjogIioiLAogICAgICAgIGhvdXI6ICIqIiwKICAgICAgICBkYXk6ICIqIiwKICAgICAgICBtb250aDogIioiLAogICAgICAgIHdlZWs6ICI/IiwKICAgICAgICB5ZWFyOiAiIgogICAgICB9OwogICAgICBmb3IgKHZhciBqIGluIHRoaXMuY3JvbnRhYlZhbHVlT2JqKSB7CiAgICAgICAgdGhpcy5jaGFuZ2VSYWRpbyhqLCB0aGlzLmNyb250YWJWYWx1ZU9ialtqXSk7CiAgICAgIH0KICAgIH0KICB9LAogIGNvbXB1dGVkOiB7CiAgICBjcm9udGFiVmFsdWVTdHJpbmc6IGZ1bmN0aW9uIGNyb250YWJWYWx1ZVN0cmluZygpIHsKICAgICAgdmFyIG9iaiA9IHRoaXMuY3JvbnRhYlZhbHVlT2JqOwogICAgICB2YXIgc3RyID0gb2JqLnNlY29uZCArICIgIiArIG9iai5taW4gKyAiICIgKyBvYmouaG91ciArICIgIiArIG9iai5kYXkgKyAiICIgKyBvYmoubW9udGggKyAiICIgKyBvYmoud2VlayArIChvYmoueWVhciA9PSAiIiA/ICIiIDogIiAiICsgb2JqLnllYXIpOwogICAgICByZXR1cm4gc3RyOwogICAgfQogIH0sCiAgY29tcG9uZW50czogewogICAgQ3JvbnRhYlNlY29uZDogX3NlY29uZC5kZWZhdWx0LAogICAgQ3JvbnRhYk1pbjogX21pbi5kZWZhdWx0LAogICAgQ3JvbnRhYkhvdXI6IF9ob3VyLmRlZmF1bHQsCiAgICBDcm9udGFiRGF5OiBfZGF5LmRlZmF1bHQsCiAgICBDcm9udGFiTW9udGg6IF9tb250aC5kZWZhdWx0LAogICAgQ3JvbnRhYldlZWs6IF93ZWVrLmRlZmF1bHQsCiAgICBDcm9udGFiWWVhcjogX3llYXIuZGVmYXVsdCwKICAgIENyb250YWJSZXN1bHQ6IF9yZXN1bHQuZGVmYXVsdAogIH0sCiAgd2F0Y2g6IHsKICAgIGV4cHJlc3Npb246ICJyZXNvbHZlRXhwIiwKICAgIGhpZGVDb21wb25lbnQ6IGZ1bmN0aW9uIGhpZGVDb21wb25lbnQodmFsdWUpIHsKICAgICAgLy8g6ZqQ6JeP6YOo5YiG57uE5Lu2CiAgICB9CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdGhpcy5yZXNvbHZlRXhwKCk7CiAgfQp9OwpleHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDs="},{"version":3,"mappings":";;;;;;;;;;;AAmHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAEA;EACAA;IACA;MACAC;MACAC;MACAC;MACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;MACA;IACA;EACA;EACAC;EACAC;EACAC;IACAC;MACA;MACA;IACA;IACAC;MACA;MACA;QACA;QACA;UACA;UACA;YACAX;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;UACA;UACA,uDACAM,IACA;UACA;YACA;UACA;QACA;MACA;QACA;QACA;MACA;IACA;IACA;IACAC;MACA;IACA;IACA;IACAC;MACA;MACA;MACA;QACAC;QACA;MACA;IACA;IACA;IACAC;MACA;QACAC;QACAC;MAEA;MAEA;QACA;UACAA;QACA;UACA;UACAC,qBACA,kCACA;UACA;UACAD;QACA;UACA;UACAC,sBACA,oCACA;UACA;UACAD;QACA;UACAA;UACA;QACA;MACA;QACA;UACAA;QACA;UACAA;QACA;UACA;UACAC,uBACA,kCACA;UACA;UACAD;QACA;UACA;UACAC,uBACA,oCACA;UACA;UACAD;QACA;UACA;UACAC,uBACA,kCACA;UACAD;QACA;UACAA;QACA;UACA;UACAA;QACA;MACA;QACA;UACAA;QACA;UACAA;QACA;UACA;UACAC,uBACA,kCACA;UACA;UACAD;QACA;UACA;UACAC,uBACA,oCACA;UACA;UACAD;QACA;UACA;UACAC,uBACA,kCACA;UACAD;QACA;UACA;UACAA;QACA;MACA;QACA;UACAA;QACA;UACAA;QACA;UACAA;QACA;UACAA;QACA;UACA;UACAA;QACA;MACA;MACA;IACA;IACA;IACAE;MACA;MACAC;MACA;QACAA;MACA;QACAA;MACA;MACA;IACA;IACA;IACAC;MACA;IACA;IACA;IACAC;MACA;MACA;IACA;IACAC;MACA;MACA;MACA;QACAxB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;MACA;MACA;QACA;MACA;IACA;EACA;EACAmB;IACAC;MACA;MACA,UACAd,aACA,MACAA,UACA,MACAA,WACA,MACAA,UACA,MACAA,YACA,MACAA,YACAA;MACA;IACA;EACA;EACAe;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;EACA;EACAC;IACAC;IACAC;MACA;IAAA;EAEA;EACAC;IACA;EACA;AACA;AAAA","names":["data","tabTitles","tabActive","myindex","crontabValueObj","second","min","hour","day","month","week","year","name","props","methods","shouldHide","resolveExp","obj","tabCheck","updateCrontabValue","console","changeRadio","refName","insValue","isNaN","checkNumber","value","hidePopup","submitFill","clearCron","computed","crontabValueString","components","CrontabSecond","CrontabMin","CrontabHour","CrontabDay","CrontabMonth","CrontabWeek","CrontabYear","CrontabResult","watch","expression","hideComponent","mounted"],"sourceRoot":"src/components/Crontab","sources":["index.vue"],"sourcesContent":["<template>\r\n  <div>\r\n    <el-tabs type=\"border-card\">\r\n      <el-tab-pane label=\"秒\" v-if=\"shouldHide('second')\">\r\n        <CrontabSecond\r\n          @update=\"updateCrontabValue\"\r\n          :check=\"checkNumber\"\r\n          :cron=\"crontabValueObj\"\r\n          ref=\"cronsecond\"\r\n        />\r\n      </el-tab-pane>\r\n\r\n      <el-tab-pane label=\"分钟\" v-if=\"shouldHide('min')\">\r\n        <CrontabMin\r\n          @update=\"updateCrontabValue\"\r\n          :check=\"checkNumber\"\r\n          :cron=\"crontabValueObj\"\r\n          ref=\"cronmin\"\r\n        />\r\n      </el-tab-pane>\r\n\r\n      <el-tab-pane label=\"小时\" v-if=\"shouldHide('hour')\">\r\n        <CrontabHour\r\n          @update=\"updateCrontabValue\"\r\n          :check=\"checkNumber\"\r\n          :cron=\"crontabValueObj\"\r\n          ref=\"cronhour\"\r\n        />\r\n      </el-tab-pane>\r\n\r\n      <el-tab-pane label=\"日\" v-if=\"shouldHide('day')\">\r\n        <CrontabDay\r\n          @update=\"updateCrontabValue\"\r\n          :check=\"checkNumber\"\r\n          :cron=\"crontabValueObj\"\r\n          ref=\"cronday\"\r\n        />\r\n      </el-tab-pane>\r\n\r\n      <el-tab-pane label=\"月\" v-if=\"shouldHide('month')\">\r\n        <CrontabMonth\r\n          @update=\"updateCrontabValue\"\r\n          :check=\"checkNumber\"\r\n          :cron=\"crontabValueObj\"\r\n          ref=\"cronmonth\"\r\n        />\r\n      </el-tab-pane>\r\n\r\n      <el-tab-pane label=\"周\" v-if=\"shouldHide('week')\">\r\n        <CrontabWeek\r\n          @update=\"updateCrontabValue\"\r\n          :check=\"checkNumber\"\r\n          :cron=\"crontabValueObj\"\r\n          ref=\"cronweek\"\r\n        />\r\n      </el-tab-pane>\r\n\r\n      <el-tab-pane label=\"年\" v-if=\"shouldHide('year')\">\r\n        <CrontabYear\r\n          @update=\"updateCrontabValue\"\r\n          :check=\"checkNumber\"\r\n          :cron=\"crontabValueObj\"\r\n          ref=\"cronyear\"\r\n        />\r\n      </el-tab-pane>\r\n    </el-tabs>\r\n\r\n    <div class=\"popup-main\">\r\n      <div class=\"popup-result\">\r\n        <p class=\"title\">时间表达式</p>\r\n        <table>\r\n          <thead>\r\n            <th v-for=\"item of tabTitles\" width=\"40\" :key=\"item\">{{item}}</th>\r\n            <th>Cron 表达式</th>\r\n          </thead>\r\n          <tbody>\r\n            <td>\r\n              <span>{{crontabValueObj.second}}</span>\r\n            </td>\r\n            <td>\r\n              <span>{{crontabValueObj.min}}</span>\r\n            </td>\r\n            <td>\r\n              <span>{{crontabValueObj.hour}}</span>\r\n            </td>\r\n            <td>\r\n              <span>{{crontabValueObj.day}}</span>\r\n            </td>\r\n            <td>\r\n              <span>{{crontabValueObj.month}}</span>\r\n            </td>\r\n            <td>\r\n              <span>{{crontabValueObj.week}}</span>\r\n            </td>\r\n            <td>\r\n              <span>{{crontabValueObj.year}}</span>\r\n            </td>\r\n            <td>\r\n              <span>{{crontabValueString}}</span>\r\n            </td>\r\n          </tbody>\r\n        </table>\r\n      </div>\r\n      <CrontabResult :ex=\"crontabValueString\"></CrontabResult>\r\n\r\n      <div class=\"pop_btn\">\r\n        <el-button size=\"small\" type=\"primary\" @click=\"submitFill\">确定</el-button>\r\n        <el-button size=\"small\" type=\"warning\" @click=\"clearCron\">重置</el-button>\r\n        <el-button size=\"small\" @click=\"hidePopup\">取消</el-button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport CrontabSecond from \"./second.vue\";\r\nimport CrontabMin from \"./min.vue\";\r\nimport CrontabHour from \"./hour.vue\";\r\nimport CrontabDay from \"./day.vue\";\r\nimport CrontabMonth from \"./month.vue\";\r\nimport CrontabWeek from \"./week.vue\";\r\nimport CrontabYear from \"./year.vue\";\r\nimport CrontabResult from \"./result.vue\";\r\n\r\nexport default {\r\n  data() {\r\n    return {\r\n      tabTitles: [\"秒\", \"分钟\", \"小时\", \"日\", \"月\", \"周\", \"年\"],\r\n      tabActive: 0,\r\n      myindex: 0,\r\n      crontabValueObj: {\r\n        second: \"*\",\r\n        min: \"*\",\r\n        hour: \"*\",\r\n        day: \"*\",\r\n        month: \"*\",\r\n        week: \"?\",\r\n        year: \"\",\r\n      },\r\n    };\r\n  },\r\n  name: \"vcrontab\",\r\n  props: [\"expression\", \"hideComponent\"],\r\n  methods: {\r\n    shouldHide(key) {\r\n      if (this.hideComponent && this.hideComponent.includes(key)) return false;\r\n      return true;\r\n    },\r\n    resolveExp() {\r\n      // 反解析 表达式\r\n      if (this.expression) {\r\n        let arr = this.expression.split(\" \");\r\n        if (arr.length >= 6) {\r\n          //6 位以上是合法表达式\r\n          let obj = {\r\n            second: arr[0],\r\n            min: arr[1],\r\n            hour: arr[2],\r\n            day: arr[3],\r\n            month: arr[4],\r\n            week: arr[5],\r\n            year: arr[6] ? arr[6] : \"\",\r\n          };\r\n          this.crontabValueObj = {\r\n            ...obj,\r\n          };\r\n          for (let i in obj) {\r\n            if (obj[i]) this.changeRadio(i, obj[i]);\r\n          }\r\n        }\r\n      } else {\r\n        // 没有传入的表达式 则还原\r\n        this.clearCron();\r\n      }\r\n    },\r\n    // tab切换值\r\n    tabCheck(index) {\r\n      this.tabActive = index;\r\n    },\r\n    // 由子组件触发,更改表达式组成的字段值\r\n    updateCrontabValue(name, value, from) {\r\n      \"updateCrontabValue\", name, value, from;\r\n      this.crontabValueObj[name] = value;\r\n      if (from && from !== name) {\r\n        console.log(`来自组件 ${from} 改变了 ${name} ${value}`);\r\n        this.changeRadio(name, value);\r\n      }\r\n    },\r\n    // 赋值到组件\r\n    changeRadio(name, value) {\r\n      let arr = [\"second\", \"min\", \"hour\", \"month\"],\r\n        refName = \"cron\" + name,\r\n        insValue;\r\n\r\n      if (!this.$refs[refName]) return;\r\n\r\n      if (arr.includes(name)) {\r\n        if (value === \"*\") {\r\n          insValue = 1;\r\n        } else if (value.indexOf(\"-\") > -1) {\r\n          let indexArr = value.split(\"-\");\r\n          isNaN(indexArr[0])\r\n            ? (this.$refs[refName].cycle01 = 0)\r\n            : (this.$refs[refName].cycle01 = indexArr[0]);\r\n          this.$refs[refName].cycle02 = indexArr[1];\r\n          insValue = 2;\r\n        } else if (value.indexOf(\"/\") > -1) {\r\n          let indexArr = value.split(\"/\");\r\n          isNaN(indexArr[0])\r\n            ? (this.$refs[refName].average01 = 0)\r\n            : (this.$refs[refName].average01 = indexArr[0]);\r\n          this.$refs[refName].average02 = indexArr[1];\r\n          insValue = 3;\r\n        } else {\r\n          insValue = 4;\r\n          this.$refs[refName].checkboxList = value.split(\",\");\r\n        }\r\n      } else if (name == \"day\") {\r\n        if (value === \"*\") {\r\n          insValue = 1;\r\n        } else if (value == \"?\") {\r\n          insValue = 2;\r\n        } else if (value.indexOf(\"-\") > -1) {\r\n          let indexArr = value.split(\"-\");\r\n          isNaN(indexArr[0])\r\n            ? (this.$refs[refName].cycle01 = 0)\r\n            : (this.$refs[refName].cycle01 = indexArr[0]);\r\n          this.$refs[refName].cycle02 = indexArr[1];\r\n          insValue = 3;\r\n        } else if (value.indexOf(\"/\") > -1) {\r\n          let indexArr = value.split(\"/\");\r\n          isNaN(indexArr[0])\r\n            ? (this.$refs[refName].average01 = 0)\r\n            : (this.$refs[refName].average01 = indexArr[0]);\r\n          this.$refs[refName].average02 = indexArr[1];\r\n          insValue = 4;\r\n        } else if (value.indexOf(\"W\") > -1) {\r\n          let indexArr = value.split(\"W\");\r\n          isNaN(indexArr[0])\r\n            ? (this.$refs[refName].workday = 0)\r\n            : (this.$refs[refName].workday = indexArr[0]);\r\n          insValue = 5;\r\n        } else if (value === \"L\") {\r\n          insValue = 6;\r\n        } else {\r\n          this.$refs[refName].checkboxList = value.split(\",\");\r\n          insValue = 7;\r\n        }\r\n      } else if (name == \"week\") {\r\n        if (value === \"*\") {\r\n          insValue = 1;\r\n        } else if (value == \"?\") {\r\n          insValue = 2;\r\n        } else if (value.indexOf(\"-\") > -1) {\r\n          let indexArr = value.split(\"-\");\r\n          isNaN(indexArr[0])\r\n            ? (this.$refs[refName].cycle01 = 0)\r\n            : (this.$refs[refName].cycle01 = indexArr[0]);\r\n          this.$refs[refName].cycle02 = indexArr[1];\r\n          insValue = 3;\r\n        } else if (value.indexOf(\"#\") > -1) {\r\n          let indexArr = value.split(\"#\");\r\n          isNaN(indexArr[0])\r\n            ? (this.$refs[refName].average01 = 1)\r\n            : (this.$refs[refName].average01 = indexArr[0]);\r\n          this.$refs[refName].average02 = indexArr[1];\r\n          insValue = 4;\r\n        } else if (value.indexOf(\"L\") > -1) {\r\n          let indexArr = value.split(\"L\");\r\n          isNaN(indexArr[0])\r\n            ? (this.$refs[refName].weekday = 1)\r\n            : (this.$refs[refName].weekday = indexArr[0]);\r\n          insValue = 5;\r\n        } else {\r\n          this.$refs[refName].checkboxList = value.split(\",\");\r\n          insValue = 6;\r\n        }\r\n      } else if (name == \"year\") {\r\n        if (value == \"\") {\r\n          insValue = 1;\r\n        } else if (value == \"*\") {\r\n          insValue = 2;\r\n        } else if (value.indexOf(\"-\") > -1) {\r\n          insValue = 3;\r\n        } else if (value.indexOf(\"/\") > -1) {\r\n          insValue = 4;\r\n        } else {\r\n          this.$refs[refName].checkboxList = value.split(\",\");\r\n          insValue = 5;\r\n        }\r\n      }\r\n      this.$refs[refName].radioValue = insValue;\r\n    },\r\n    // 表单选项的子组件校验数字格式(通过-props传递)\r\n    checkNumber(value, minLimit, maxLimit) {\r\n      // 检查必须为整数\r\n      value = Math.floor(value);\r\n      if (value < minLimit) {\r\n        value = minLimit;\r\n      } else if (value > maxLimit) {\r\n        value = maxLimit;\r\n      }\r\n      return value;\r\n    },\r\n    // 隐藏弹窗\r\n    hidePopup() {\r\n      this.$emit(\"hide\");\r\n    },\r\n    // 填充表达式\r\n    submitFill() {\r\n      this.$emit(\"fill\", this.crontabValueString);\r\n      this.hidePopup();\r\n    },\r\n    clearCron() {\r\n      // 还原选择项\r\n      (\"准备还原\");\r\n      this.crontabValueObj = {\r\n        second: \"*\",\r\n        min: \"*\",\r\n        hour: \"*\",\r\n        day: \"*\",\r\n        month: \"*\",\r\n        week: \"?\",\r\n        year: \"\",\r\n      };\r\n      for (let j in this.crontabValueObj) {\r\n        this.changeRadio(j, this.crontabValueObj[j]);\r\n      }\r\n    },\r\n  },\r\n  computed: {\r\n    crontabValueString: function() {\r\n      let obj = this.crontabValueObj;\r\n      let str =\r\n        obj.second +\r\n        \" \" +\r\n        obj.min +\r\n        \" \" +\r\n        obj.hour +\r\n        \" \" +\r\n        obj.day +\r\n        \" \" +\r\n        obj.month +\r\n        \" \" +\r\n        obj.week +\r\n        (obj.year == \"\" ? \"\" : \" \" + obj.year);\r\n      return str;\r\n    },\r\n  },\r\n  components: {\r\n    CrontabSecond,\r\n    CrontabMin,\r\n    CrontabHour,\r\n    CrontabDay,\r\n    CrontabMonth,\r\n    CrontabWeek,\r\n    CrontabYear,\r\n    CrontabResult,\r\n  },\r\n  watch: {\r\n    expression: \"resolveExp\",\r\n    hideComponent(value) {\r\n      // 隐藏部分组件\r\n    },\r\n  },\r\n  mounted: function() {\r\n    this.resolveExp();\r\n  },\r\n};\r\n</script>\r\n<style scoped>\r\n.pop_btn {\r\n  text-align: center;\r\n  margin-top: 20px;\r\n}\r\n.popup-main {\r\n  position: relative;\r\n  margin: 10px auto;\r\n  background: #fff;\r\n  border-radius: 5px;\r\n  font-size: 12px;\r\n  overflow: hidden;\r\n}\r\n.popup-title {\r\n  overflow: hidden;\r\n  line-height: 34px;\r\n  padding-top: 6px;\r\n  background: #f2f2f2;\r\n}\r\n.popup-result {\r\n  box-sizing: border-box;\r\n  line-height: 24px;\r\n  margin: 25px auto;\r\n  padding: 15px 10px 10px;\r\n  border: 1px solid #ccc;\r\n  position: relative;\r\n}\r\n.popup-result .title {\r\n  position: absolute;\r\n  top: -28px;\r\n  left: 50%;\r\n  width: 140px;\r\n  font-size: 14px;\r\n  margin-left: -70px;\r\n  text-align: center;\r\n  line-height: 30px;\r\n  background: #fff;\r\n}\r\n.popup-result table {\r\n  text-align: center;\r\n  width: 100%;\r\n  margin: 0 auto;\r\n}\r\n.popup-result table span {\r\n  display: block;\r\n  width: 100%;\r\n  font-family: arial;\r\n  line-height: 30px;\r\n  height: 30px;\r\n  white-space: nowrap;\r\n  overflow: hidden;\r\n  border: 1px solid #e8e8e8;\r\n}\r\n.popup-result-scroll {\r\n  font-size: 12px;\r\n  line-height: 24px;\r\n  height: 10em;\r\n  overflow-y: auto;\r\n}\r\n</style>\r\n"]}]}