55e36d6b46bddc11344ba3d01450ff29.json 35 KB

1
  1. {"remainingRequest":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\boman-framwork\\ruoyi-ui\\src\\views\\monitor\\job\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\boman-framwork\\ruoyi-ui\\src\\views\\monitor\\job\\index.vue","mtime":1619333322847},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJFOi9ib21hbi1mcmFtd29yay9ydW95aS11aS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQiKS5kZWZhdWx0OwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7Cgp2YXIgX29iamVjdFNwcmVhZDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkU6L2JvbWFuLWZyYW13b3JrL3J1b3lpLXVpL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZDIiKSk7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIik7Cgp2YXIgX2pvYiA9IHJlcXVpcmUoIkAvYXBpL21vbml0b3Ivam9iIik7CgovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwp2YXIgX2RlZmF1bHQgPSB7CiAgbmFtZTogIkpvYiIsCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIC8vIOmBrue9qeWxggogICAgICBsb2FkaW5nOiB0cnVlLAogICAgICAvLyDpgInkuK3mlbDnu4QKICAgICAgaWRzOiBbXSwKICAgICAgLy8g6Z2e5Y2V5Liq56aB55SoCiAgICAgIHNpbmdsZTogdHJ1ZSwKICAgICAgLy8g6Z2e5aSa5Liq56aB55SoCiAgICAgIG11bHRpcGxlOiB0cnVlLAogICAgICAvLyDmmL7npLrmkJzntKLmnaHku7YKICAgICAgc2hvd1NlYXJjaDogdHJ1ZSwKICAgICAgLy8g5oC75p2h5pWwCiAgICAgIHRvdGFsOiAwLAogICAgICAvLyDlrprml7bku7vliqHooajmoLzmlbDmja4KICAgICAgam9iTGlzdDogW10sCiAgICAgIC8vIOW8ueWHuuWxguagh+mimAogICAgICB0aXRsZTogIiIsCiAgICAgIC8vIOaYr+WQpuaYvuekuuW8ueWHuuWxggogICAgICBvcGVuOiBmYWxzZSwKICAgICAgLy8g5piv5ZCm5pi+56S66K+m57uG5by55Ye65bGCCiAgICAgIG9wZW5WaWV3OiBmYWxzZSwKICAgICAgLy8g5Lu75Yqh57uE5ZCN5a2X5YW4CiAgICAgIGpvYkdyb3VwT3B0aW9uczogW10sCiAgICAgIC8vIOeKtuaAgeWtl+WFuAogICAgICBzdGF0dXNPcHRpb25zOiBbXSwKICAgICAgLy8g5p+l6K+i5Y+C5pWwCiAgICAgIHF1ZXJ5UGFyYW1zOiB7CiAgICAgICAgcGFnZU51bTogMSwKICAgICAgICBwYWdlU2l6ZTogMTAsCiAgICAgICAgam9iTmFtZTogdW5kZWZpbmVkLAogICAgICAgIGpvYkdyb3VwOiB1bmRlZmluZWQsCiAgICAgICAgc3RhdHVzOiB1bmRlZmluZWQKICAgICAgfSwKICAgICAgLy8g6KGo5Y2V5Y+C5pWwCiAgICAgIGZvcm06IHt9LAogICAgICAvLyDooajljZXmoKHpqowKICAgICAgcnVsZXM6IHsKICAgICAgICBqb2JOYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAi5Lu75Yqh5ZCN56ew5LiN6IO95Li656m6IiwKICAgICAgICAgIHRyaWdnZXI6ICJibHVyIgogICAgICAgIH1dLAogICAgICAgIGludm9rZVRhcmdldDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogIuiwg+eUqOebruagh+Wtl+espuS4suS4jeiDveS4uuepuiIsCiAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIKICAgICAgICB9XSwKICAgICAgICBjcm9uRXhwcmVzc2lvbjogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogImNyb27miafooYzooajovr7lvI/kuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0KICAgICAgfQogICAgfTsKICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICB2YXIgX3RoaXMgPSB0aGlzOwoKICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgdGhpcy5nZXREaWN0cygic3lzX2pvYl9ncm91cCIpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgIF90aGlzLmpvYkdyb3VwT3B0aW9ucyA9IHJlc3BvbnNlLmRhdGE7CiAgICB9KTsKICAgIHRoaXMuZ2V0RGljdHMoInN5c19qb2Jfc3RhdHVzIikudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgX3RoaXMuc3RhdHVzT3B0aW9ucyA9IHJlc3BvbnNlLmRhdGE7CiAgICB9KTsKICB9LAogIG1ldGhvZHM6IHsKICAgIC8qKiDmn6Xor6Llrprml7bku7vliqHliJfooaggKi8KICAgIGdldExpc3Q6IGZ1bmN0aW9uIGdldExpc3QoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwoKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgKDAsIF9qb2IubGlzdEpvYikodGhpcy5xdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICBfdGhpczIuam9iTGlzdCA9IHJlc3BvbnNlLnJvd3M7CiAgICAgICAgX3RoaXMyLnRvdGFsID0gcmVzcG9uc2UudG90YWw7CiAgICAgICAgX3RoaXMyLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5Lu75Yqh57uE5ZCN5a2X5YW457+76K+RCiAgICBqb2JHcm91cEZvcm1hdDogZnVuY3Rpb24gam9iR3JvdXBGb3JtYXQocm93LCBjb2x1bW4pIHsKICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0RGljdExhYmVsKHRoaXMuam9iR3JvdXBPcHRpb25zLCByb3cuam9iR3JvdXApOwogICAgfSwKICAgIC8vIOeKtuaAgeWtl+WFuOe/u+ivkQogICAgc3RhdHVzRm9ybWF0OiBmdW5jdGlvbiBzdGF0dXNGb3JtYXQocm93LCBjb2x1bW4pIHsKICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0RGljdExhYmVsKHRoaXMuc3RhdHVzT3B0aW9ucywgcm93LnN0YXR1cyk7CiAgICB9LAogICAgLy8g5Y+W5raI5oyJ6ZKuCiAgICBjYW5jZWw6IGZ1bmN0aW9uIGNhbmNlbCgpIHsKICAgICAgdGhpcy5vcGVuID0gZmFsc2U7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgIH0sCiAgICAvLyDooajljZXph43nva4KICAgIHJlc2V0OiBmdW5jdGlvbiByZXNldCgpIHsKICAgICAgdGhpcy5mb3JtID0gewogICAgICAgIGpvYklkOiB1bmRlZmluZWQsCiAgICAgICAgam9iTmFtZTogdW5kZWZpbmVkLAogICAgICAgIGpvYkdyb3VwOiB1bmRlZmluZWQsCiAgICAgICAgaW52b2tlVGFyZ2V0OiB1bmRlZmluZWQsCiAgICAgICAgY3JvbkV4cHJlc3Npb246IHVuZGVmaW5lZCwKICAgICAgICBtaXNmaXJlUG9saWN5OiAxLAogICAgICAgIGNvbmN1cnJlbnQ6IDEsCiAgICAgICAgc3RhdHVzOiAiMCIKICAgICAgfTsKICAgICAgdGhpcy5yZXNldEZvcm0oImZvcm0iKTsKICAgIH0sCgogICAgLyoqIOaQnOe0ouaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlUXVlcnk6IGZ1bmN0aW9uIGhhbmRsZVF1ZXJ5KCkgewogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnBhZ2VOdW0gPSAxOwogICAgICB0aGlzLmdldExpc3QoKTsKICAgIH0sCgogICAgLyoqIOmHjee9ruaMiemSruaTjeS9nCAqLwogICAgcmVzZXRRdWVyeTogZnVuY3Rpb24gcmVzZXRRdWVyeSgpIHsKICAgICAgdGhpcy5yZXNldEZvcm0oInF1ZXJ5Rm9ybSIpOwogICAgICB0aGlzLmhhbmRsZVF1ZXJ5KCk7CiAgICB9LAogICAgLy8g5aSa6YCJ5qGG6YCJ5Lit5pWw5o2uCiAgICBoYW5kbGVTZWxlY3Rpb25DaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZVNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb24pIHsKICAgICAgdGhpcy5pZHMgPSBzZWxlY3Rpb24ubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIGl0ZW0uam9iSWQ7CiAgICAgIH0pOwogICAgICB0aGlzLnNpbmdsZSA9IHNlbGVjdGlvbi5sZW5ndGggIT0gMTsKICAgICAgdGhpcy5tdWx0aXBsZSA9ICFzZWxlY3Rpb24ubGVuZ3RoOwogICAgfSwKICAgIC8vIOS7u+WKoeeKtuaAgeS/ruaUuQogICAgaGFuZGxlU3RhdHVzQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVTdGF0dXNDaGFuZ2Uocm93KSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwoKICAgICAgdmFyIHRleHQgPSByb3cuc3RhdHVzID09PSAiMCIgPyAi5ZCv55SoIiA6ICLlgZznlKgiOwogICAgICB0aGlzLiRjb25maXJtKCfnoa7orqTopoEiJyArIHRleHQgKyAnIiInICsgcm93LmpvYk5hbWUgKyAnIuS7u+WKoeWQlz8nLCAi6K2m5ZGKIiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuICgwLCBfam9iLmNoYW5nZUpvYlN0YXR1cykocm93LmpvYklkLCByb3cuc3RhdHVzKTsKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXMzLm1zZ1N1Y2Nlc3ModGV4dCArICLmiJDlip8iKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkgewogICAgICAgIHJvdy5zdGF0dXMgPSByb3cuc3RhdHVzID09PSAiMCIgPyAiMSIgOiAiMCI7CiAgICAgIH0pOwogICAgfSwKCiAgICAvKiDnq4vljbPmiafooYzkuIDmrKEgKi8KICAgIGhhbmRsZVJ1bjogZnVuY3Rpb24gaGFuZGxlUnVuKHJvdykgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKCiAgICAgIHRoaXMuJGNvbmZpcm0oJ+ehruiupOimgeeri+WNs+aJp+ihjOS4gOasoSInICsgcm93LmpvYk5hbWUgKyAnIuS7u+WKoeWQlz8nLCAi6K2m5ZGKIiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuICgwLCBfam9iLnJ1bkpvYikocm93LmpvYklkLCByb3cuam9iR3JvdXApOwogICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczQubXNnU3VjY2Vzcygi5omn6KGM5oiQ5YqfIik7CiAgICAgIH0pOwogICAgfSwKCiAgICAvKiog5Lu75Yqh6K+m57uG5L+h5oGvICovCiAgICBoYW5kbGVWaWV3OiBmdW5jdGlvbiBoYW5kbGVWaWV3KHJvdykgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKCiAgICAgICgwLCBfam9iLmdldEpvYikocm93LmpvYklkKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzNS5mb3JtID0gcmVzcG9uc2UuZGF0YTsKICAgICAgICBfdGhpczUub3BlblZpZXcgPSB0cnVlOwogICAgICB9KTsKICAgIH0sCgogICAgLyoqIOS7u+WKoeaXpeW/l+WIl+ihqOafpeivoiAqLwogICAgaGFuZGxlSm9iTG9nOiBmdW5jdGlvbiBoYW5kbGVKb2JMb2coKSB7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKCIvam9iL2xvZyIpOwogICAgfSwKCiAgICAvKiog5paw5aKe5oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVBZGQ6IGZ1bmN0aW9uIGhhbmRsZUFkZCgpIHsKICAgICAgdGhpcy5yZXNldCgpOwogICAgICB0aGlzLm9wZW4gPSB0cnVlOwogICAgICB0aGlzLnRpdGxlID0gIua3u+WKoOS7u+WKoSI7CiAgICB9LAoKICAgIC8qKiDkv67mlLnmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZVVwZGF0ZTogZnVuY3Rpb24gaGFuZGxlVXBkYXRlKHJvdykgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKCiAgICAgIHRoaXMucmVzZXQoKTsKICAgICAgdmFyIGpvYklkID0gcm93LmpvYklkIHx8IHRoaXMuaWRzOwogICAgICAoMCwgX2pvYi5nZXRKb2IpKGpvYklkKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzNi5mb3JtID0gcmVzcG9uc2UuZGF0YTsKICAgICAgICBfdGhpczYub3BlbiA9IHRydWU7CiAgICAgICAgX3RoaXM2LnRpdGxlID0gIuS/ruaUueS7u+WKoSI7CiAgICAgIH0pOwogICAgfSwKCiAgICAvKiog5o+Q5Lqk5oyJ6ZKuICovCiAgICBzdWJtaXRGb3JtOiBmdW5jdGlvbiBzdWJtaXRGb3JtKCkgewogICAgICB2YXIgX3RoaXM3ID0gdGhpczsKCiAgICAgIHRoaXMuJHJlZnNbImZvcm0iXS52YWxpZGF0ZShmdW5jdGlvbiAodmFsaWQpIHsKICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgIGlmIChfdGhpczcuZm9ybS5qb2JJZCAhPSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgKDAsIF9qb2IudXBkYXRlSm9iKShfdGhpczcuZm9ybSkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICAgICAgICBfdGhpczcubXNnU3VjY2Vzcygi5L+u5pS55oiQ5YqfIik7CgogICAgICAgICAgICAgIF90aGlzNy5vcGVuID0gZmFsc2U7CgogICAgICAgICAgICAgIF90aGlzNy5nZXRMaXN0KCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgKDAsIF9qb2IuYWRkSm9iKShfdGhpczcuZm9ybSkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICAgICAgICBfdGhpczcubXNnU3VjY2Vzcygi5paw5aKe5oiQ5YqfIik7CgogICAgICAgICAgICAgIF90aGlzNy5vcGVuID0gZmFsc2U7CgogICAgICAgICAgICAgIF90aGlzNy5nZXRMaXN0KCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAoKICAgIC8qKiDliKDpmaTmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZURlbGV0ZTogZnVuY3Rpb24gaGFuZGxlRGVsZXRlKHJvdykgewogICAgICB2YXIgX3RoaXM4ID0gdGhpczsKCiAgICAgIHZhciBqb2JJZHMgPSByb3cuam9iSWQgfHwgdGhpcy5pZHM7CiAgICAgIHRoaXMuJGNvbmZpcm0oJ+aYr+WQpuehruiupOWIoOmZpOWumuaXtuS7u+WKoee8luWPt+S4uiInICsgam9iSWRzICsgJyLnmoTmlbDmja7pobk/JywgIuitpuWRiiIsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogIuehruWumiIsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogIuWPlua2iCIsCiAgICAgICAgdHlwZTogIndhcm5pbmciCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiAoMCwgX2pvYi5kZWxKb2IpKGpvYklkcyk7CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzOC5nZXRMaXN0KCk7CgogICAgICAgIF90aGlzOC5tc2dTdWNjZXNzKCLliKDpmaTmiJDlip8iKTsKICAgICAgfSk7CiAgICB9LAoKICAgIC8qKiDlr7zlh7rmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZUV4cG9ydDogZnVuY3Rpb24gaGFuZGxlRXhwb3J0KCkgewogICAgICB0aGlzLmRvd25sb2FkKCdzY2hlZHVsZS9qb2IvZXhwb3J0JywgKDAsIF9vYmplY3RTcHJlYWQyLmRlZmF1bHQpKHt9LCB0aGlzLnF1ZXJ5UGFyYW1zKSwgImpvYl8iLmNvbmNhdChuZXcgRGF0ZSgpLmdldFRpbWUoKSwgIi54bHN4IikpOwogICAgfQogIH0KfTsKZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7"},{"version":3,"sources":["index.vue"],"names":[],"mappings":"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","sourcesContent":["<template>\r\n <div class=\"app-container\">\r\n <el-form :model=\"queryParams\" ref=\"queryForm\" :inline=\"true\" v-show=\"showSearch\" label-width=\"68px\">\r\n <el-form-item label=\"任务名称\" prop=\"jobName\">\r\n <el-input\r\n v-model=\"queryParams.jobName\"\r\n placeholder=\"请输入任务名称\"\r\n clearable\r\n size=\"small\"\r\n @keyup.enter.native=\"handleQuery\"\r\n />\r\n </el-form-item>\r\n <el-form-item label=\"任务组名\" prop=\"jobGroup\">\r\n <el-select v-model=\"queryParams.jobGroup\" placeholder=\"请选择任务组名\" clearable size=\"small\">\r\n <el-option\r\n v-for=\"dict in jobGroupOptions\"\r\n :key=\"dict.dictValue\"\r\n :label=\"dict.dictLabel\"\r\n :value=\"dict.dictValue\"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"任务状态\" prop=\"status\">\r\n <el-select v-model=\"queryParams.status\" placeholder=\"请选择任务状态\" clearable size=\"small\">\r\n <el-option\r\n v-for=\"dict in statusOptions\"\r\n :key=\"dict.dictValue\"\r\n :label=\"dict.dictLabel\"\r\n :value=\"dict.dictValue\"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button type=\"primary\" icon=\"el-icon-search\" size=\"mini\" @click=\"handleQuery\">搜索</el-button>\r\n <el-button icon=\"el-icon-refresh\" size=\"mini\" @click=\"resetQuery\">重置</el-button>\r\n </el-form-item>\r\n </el-form>\r\n\r\n <el-row :gutter=\"10\" class=\"mb8\">\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"primary\"\r\n plain\r\n icon=\"el-icon-plus\"\r\n size=\"mini\"\r\n @click=\"handleAdd\"\r\n v-hasPermi=\"['monitor:job:add']\"\r\n >新增</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"success\"\r\n plain\r\n icon=\"el-icon-edit\"\r\n size=\"mini\"\r\n :disabled=\"single\"\r\n @click=\"handleUpdate\"\r\n v-hasPermi=\"['monitor:job:edit']\"\r\n >修改</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"danger\"\r\n plain\r\n icon=\"el-icon-delete\"\r\n size=\"mini\"\r\n :disabled=\"multiple\"\r\n @click=\"handleDelete\"\r\n v-hasPermi=\"['monitor:job:remove']\"\r\n >删除</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"warning\"\r\n plain\r\n icon=\"el-icon-download\"\r\n size=\"mini\"\r\n @click=\"handleExport\"\r\n v-hasPermi=\"['monitor:job:export']\"\r\n >导出</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"info\"\r\n plain\r\n icon=\"el-icon-s-operation\"\r\n size=\"mini\"\r\n @click=\"handleJobLog\"\r\n v-hasPermi=\"['monitor:job:query']\"\r\n >日志</el-button>\r\n </el-col>\r\n <right-toolbar :showSearch.sync=\"showSearch\" @queryTable=\"getList\"></right-toolbar>\r\n </el-row>\r\n\r\n <el-table v-loading=\"loading\" :data=\"jobList\" @selection-change=\"handleSelectionChange\">\r\n <el-table-column type=\"selection\" width=\"55\" align=\"center\" />\r\n <el-table-column label=\"任务编号\" align=\"center\" prop=\"jobId\" />\r\n <el-table-column label=\"任务名称\" align=\"center\" prop=\"jobName\" :show-overflow-tooltip=\"true\" />\r\n <el-table-column label=\"任务组名\" align=\"center\" prop=\"jobGroup\" :formatter=\"jobGroupFormat\" />\r\n <el-table-column label=\"调用目标字符串\" align=\"center\" prop=\"invokeTarget\" :show-overflow-tooltip=\"true\" />\r\n <el-table-column label=\"cron执行表达式\" align=\"center\" prop=\"cronExpression\" :show-overflow-tooltip=\"true\" />\r\n <el-table-column label=\"状态\" align=\"center\">\r\n <template slot-scope=\"scope\">\r\n <el-switch\r\n v-model=\"scope.row.status\"\r\n active-value=\"0\"\r\n inactive-value=\"1\"\r\n @change=\"handleStatusChange(scope.row)\"\r\n ></el-switch>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" align=\"center\" class-name=\"small-padding fixed-width\">\r\n <template slot-scope=\"scope\">\r\n <el-button\r\n size=\"mini\"\r\n type=\"text\"\r\n icon=\"el-icon-caret-right\"\r\n @click=\"handleRun(scope.row)\"\r\n v-hasPermi=\"['monitor:job:changeStatus']\"\r\n >执行一次</el-button>\r\n <el-button\r\n size=\"mini\"\r\n type=\"text\"\r\n icon=\"el-icon-view\"\r\n @click=\"handleView(scope.row)\"\r\n v-hasPermi=\"['monitor:job:query']\"\r\n >详细</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <pagination\r\n v-show=\"total>0\"\r\n :total=\"total\"\r\n :page.sync=\"queryParams.pageNum\"\r\n :limit.sync=\"queryParams.pageSize\"\r\n @pagination=\"getList\"\r\n />\r\n\r\n <!-- 添加或修改定时任务对话框 -->\r\n <el-dialog :close-on-click-modal=\"false\" :title=\"title\" :visible.sync=\"open\" width=\"700px\" append-to-body>\r\n <el-form ref=\"form\" :model=\"form\" :rules=\"rules\" label-width=\"120px\">\r\n <el-row>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"任务名称\" prop=\"jobName\">\r\n <el-input v-model=\"form.jobName\" placeholder=\"请输入任务名称\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"任务分组\" prop=\"jobGroup\">\r\n <el-select v-model=\"form.jobGroup\" placeholder=\"请选择\">\r\n <el-option\r\n v-for=\"dict in jobGroupOptions\"\r\n :key=\"dict.dictValue\"\r\n :label=\"dict.dictLabel\"\r\n :value=\"dict.dictValue\"\r\n ></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item prop=\"invokeTarget\">\r\n <span slot=\"label\">\r\n 调用方法\r\n <el-tooltip placement=\"top\">\r\n <div slot=\"content\">\r\n Bean调用示例:ryTask.ryParams('ry')\r\n <br />Class类调用示例:com.ruoyi.quartz.task.RyTask.ryParams('ry')\r\n <br />参数说明:支持字符串,布尔类型,长整型,浮点型,整型\r\n </div>\r\n <i class=\"el-icon-question\"></i>\r\n </el-tooltip>\r\n </span>\r\n <el-input v-model=\"form.invokeTarget\" placeholder=\"请输入调用目标字符串\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"cron表达式\" prop=\"cronExpression\">\r\n <el-input v-model=\"form.cronExpression\" placeholder=\"请输入cron执行表达式\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"是否并发\" prop=\"concurrent\">\r\n <el-radio-group v-model=\"form.concurrent\" size=\"small\">\r\n <el-radio-button label=\"0\">允许</el-radio-button>\r\n <el-radio-button label=\"1\">禁止</el-radio-button>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"错误策略\" prop=\"misfirePolicy\">\r\n <el-radio-group v-model=\"form.misfirePolicy\" size=\"small\">\r\n <el-radio-button label=\"1\">立即执行</el-radio-button>\r\n <el-radio-button label=\"2\">执行一次</el-radio-button>\r\n <el-radio-button label=\"3\">放弃执行</el-radio-button>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"状态\">\r\n <el-radio-group v-model=\"form.status\">\r\n <el-radio\r\n v-for=\"dict in statusOptions\"\r\n :key=\"dict.dictValue\"\r\n :label=\"dict.dictValue\"\r\n >{{dict.dictLabel}}</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button type=\"primary\" @click=\"submitForm\">确 定</el-button>\r\n <el-button @click=\"cancel\">取 消</el-button>\r\n </div>\r\n </el-dialog>\r\n\r\n <!-- 任务日志详细 -->\r\n <el-dialog title=\"任务详细\" :visible.sync=\"openView\" width=\"700px\" append-to-body>\r\n <el-form ref=\"form\" :model=\"form\" label-width=\"120px\" size=\"mini\">\r\n <el-row>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"任务编号:\">{{ form.jobId }}</el-form-item>\r\n <el-form-item label=\"任务名称:\">{{ form.jobName }}</el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"任务分组:\">{{ jobGroupFormat(form) }}</el-form-item>\r\n <el-form-item label=\"创建时间:\">{{ form.createTime }}</el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"cron表达式:\">{{ form.cronExpression }}</el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"下次执行时间:\">{{ parseTime(form.nextValidTime) }}</el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"调用目标方法:\">{{ form.invokeTarget }}</el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"任务状态:\">\r\n <div v-if=\"form.status == 0\">正常</div>\r\n <div v-else-if=\"form.status == 1\">失败</div>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"是否并发:\">\r\n <div v-if=\"form.concurrent == 0\">允许</div>\r\n <div v-else-if=\"form.concurrent == 1\">禁止</div>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"执行策略:\">\r\n <div v-if=\"form.misfirePolicy == 0\">默认策略</div>\r\n <div v-else-if=\"form.misfirePolicy == 1\">立即执行</div>\r\n <div v-else-if=\"form.misfirePolicy == 2\">执行一次</div>\r\n <div v-else-if=\"form.misfirePolicy == 3\">放弃执行</div>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button @click=\"openView = false\">关 闭</el-button>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { listJob, getJob, delJob, addJob, updateJob, runJob, changeJobStatus } from \"@/api/monitor/job\";\r\n\r\nexport default {\r\n name: \"Job\",\r\n data() {\r\n return {\r\n // 遮罩层\r\n loading: true,\r\n // 选中数组\r\n ids: [],\r\n // 非单个禁用\r\n single: true,\r\n // 非多个禁用\r\n multiple: true,\r\n // 显示搜索条件\r\n showSearch: true,\r\n // 总条数\r\n total: 0,\r\n // 定时任务表格数据\r\n jobList: [],\r\n // 弹出层标题\r\n title: \"\",\r\n // 是否显示弹出层\r\n open: false,\r\n // 是否显示详细弹出层\r\n openView: false,\r\n // 任务组名字典\r\n jobGroupOptions: [],\r\n // 状态字典\r\n statusOptions: [],\r\n // 查询参数\r\n queryParams: {\r\n pageNum: 1,\r\n pageSize: 10,\r\n jobName: undefined,\r\n jobGroup: undefined,\r\n status: undefined\r\n },\r\n // 表单参数\r\n form: {},\r\n // 表单校验\r\n rules: {\r\n jobName: [\r\n { required: true, message: \"任务名称不能为空\", trigger: \"blur\" }\r\n ],\r\n invokeTarget: [\r\n { required: true, message: \"调用目标字符串不能为空\", trigger: \"blur\" }\r\n ],\r\n cronExpression: [\r\n { required: true, message: \"cron执行表达式不能为空\", trigger: \"blur\" }\r\n ]\r\n }\r\n };\r\n },\r\n created() {\r\n this.getList();\r\n this.getDicts(\"sys_job_group\").then(response => {\r\n this.jobGroupOptions = response.data;\r\n });\r\n this.getDicts(\"sys_job_status\").then(response => {\r\n this.statusOptions = response.data;\r\n });\r\n },\r\n methods: {\r\n /** 查询定时任务列表 */\r\n getList() {\r\n this.loading = true;\r\n listJob(this.queryParams).then(response => {\r\n this.jobList = response.rows;\r\n this.total = response.total;\r\n this.loading = false;\r\n });\r\n },\r\n // 任务组名字典翻译\r\n jobGroupFormat(row, column) {\r\n return this.selectDictLabel(this.jobGroupOptions, row.jobGroup);\r\n },\r\n // 状态字典翻译\r\n statusFormat(row, column) {\r\n return this.selectDictLabel(this.statusOptions, row.status);\r\n },\r\n // 取消按钮\r\n cancel() {\r\n this.open = false;\r\n this.reset();\r\n },\r\n // 表单重置\r\n reset() {\r\n this.form = {\r\n jobId: undefined,\r\n jobName: undefined,\r\n jobGroup: undefined,\r\n invokeTarget: undefined,\r\n cronExpression: undefined,\r\n misfirePolicy: 1,\r\n concurrent: 1,\r\n status: \"0\"\r\n };\r\n this.resetForm(\"form\");\r\n },\r\n /** 搜索按钮操作 */\r\n handleQuery() {\r\n this.queryParams.pageNum = 1;\r\n this.getList();\r\n },\r\n /** 重置按钮操作 */\r\n resetQuery() {\r\n this.resetForm(\"queryForm\");\r\n this.handleQuery();\r\n },\r\n // 多选框选中数据\r\n handleSelectionChange(selection) {\r\n this.ids = selection.map(item => item.jobId);\r\n this.single = selection.length != 1;\r\n this.multiple = !selection.length;\r\n },\r\n // 任务状态修改\r\n handleStatusChange(row) {\r\n let text = row.status === \"0\" ? \"启用\" : \"停用\";\r\n this.$confirm('确认要\"' + text + '\"\"' + row.jobName + '\"任务吗?', \"警告\", {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }).then(function() {\r\n return changeJobStatus(row.jobId, row.status);\r\n }).then(() => {\r\n this.msgSuccess(text + \"成功\");\r\n }).catch(function() {\r\n row.status = row.status === \"0\" ? \"1\" : \"0\";\r\n });\r\n },\r\n /* 立即执行一次 */\r\n handleRun(row) {\r\n this.$confirm('确认要立即执行一次\"' + row.jobName + '\"任务吗?', \"警告\", {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }).then(function() {\r\n return runJob(row.jobId, row.jobGroup);\r\n }).then(() => {\r\n this.msgSuccess(\"执行成功\");\r\n })\r\n },\r\n /** 任务详细信息 */\r\n handleView(row) {\r\n getJob(row.jobId).then(response => {\r\n this.form = response.data;\r\n this.openView = true;\r\n });\r\n },\r\n /** 任务日志列表查询 */\r\n handleJobLog() {\r\n this.$router.push(\"/job/log\");\r\n },\r\n /** 新增按钮操作 */\r\n handleAdd() {\r\n this.reset();\r\n this.open = true;\r\n this.title = \"添加任务\";\r\n },\r\n /** 修改按钮操作 */\r\n handleUpdate(row) {\r\n this.reset();\r\n const jobId = row.jobId || this.ids;\r\n getJob(jobId).then(response => {\r\n this.form = response.data;\r\n this.open = true;\r\n this.title = \"修改任务\";\r\n });\r\n },\r\n /** 提交按钮 */\r\n submitForm: function() {\r\n this.$refs[\"form\"].validate(valid => {\r\n if (valid) {\r\n if (this.form.jobId != undefined) {\r\n updateJob(this.form).then(response => {\r\n this.msgSuccess(\"修改成功\");\r\n this.open = false;\r\n this.getList();\r\n });\r\n } else {\r\n addJob(this.form).then(response => {\r\n this.msgSuccess(\"新增成功\");\r\n this.open = false;\r\n this.getList();\r\n });\r\n }\r\n }\r\n });\r\n },\r\n /** 删除按钮操作 */\r\n handleDelete(row) {\r\n const jobIds = row.jobId || this.ids;\r\n this.$confirm('是否确认删除定时任务编号为\"' + jobIds + '\"的数据项?', \"警告\", {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }).then(function() {\r\n return delJob(jobIds);\r\n }).then(() => {\r\n this.getList();\r\n this.msgSuccess(\"删除成功\");\r\n })\r\n },\r\n /** 导出按钮操作 */\r\n handleExport() {\r\n this.download('schedule/job/export', {\r\n ...this.queryParams\r\n }, `job_${new Date().getTime()}.xlsx`)\r\n }\r\n }\r\n};\r\n</script>"],"sourceRoot":"src/views/monitor/job"}]}