Files
education/frontend/node_modules/.cache/vue-loader/69f605a477f690c103242ab926a985d1.json
T

1 line
25 KiB
JSON

{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\components\\Crontab\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\components\\Crontab\\index.vue","mtime":1787567871486},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgQ3JvbnRhYlNlY29uZCBmcm9tICIuL3NlY29uZC52dWUiDQppbXBvcnQgQ3JvbnRhYk1pbiBmcm9tICIuL21pbi52dWUiDQppbXBvcnQgQ3JvbnRhYkhvdXIgZnJvbSAiLi9ob3VyLnZ1ZSINCmltcG9ydCBDcm9udGFiRGF5IGZyb20gIi4vZGF5LnZ1ZSINCmltcG9ydCBDcm9udGFiTW9udGggZnJvbSAiLi9tb250aC52dWUiDQppbXBvcnQgQ3JvbnRhYldlZWsgZnJvbSAiLi93ZWVrLnZ1ZSINCmltcG9ydCBDcm9udGFiWWVhciBmcm9tICIuL3llYXIudnVlIg0KaW1wb3J0IENyb250YWJSZXN1bHQgZnJvbSAiLi9yZXN1bHQudnVlIg0KDQpleHBvcnQgZGVmYXVsdCB7DQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIHRhYlRpdGxlczogWyLnp5IiLCAi5YiG6ZKfIiwgIuWwj+aXtiIsICLml6UiLCAi5pyIIiwgIuWRqCIsICLlubQiXSwNCiAgICAgIHRhYkFjdGl2ZTogMCwNCiAgICAgIG15aW5kZXg6IDAsDQogICAgICBjcm9udGFiVmFsdWVPYmo6IHsNCiAgICAgICAgc2Vjb25kOiAiKiIsDQogICAgICAgIG1pbjogIioiLA0KICAgICAgICBob3VyOiAiKiIsDQogICAgICAgIGRheTogIioiLA0KICAgICAgICBtb250aDogIioiLA0KICAgICAgICB3ZWVrOiAiPyIsDQogICAgICAgIHllYXI6ICIiLA0KICAgICAgfSwNCiAgICB9DQogIH0sDQogIG5hbWU6ICJ2Y3JvbnRhYiIsDQogIHByb3BzOiBbImV4cHJlc3Npb24iLCAiaGlkZUNvbXBvbmVudCJdLA0KICBtZXRob2RzOiB7DQogICAgc2hvdWxkSGlkZShrZXkpIHsNCiAgICAgIGlmICh0aGlzLmhpZGVDb21wb25lbnQgJiYgdGhpcy5oaWRlQ29tcG9uZW50LmluY2x1ZGVzKGtleSkpIHJldHVybiBmYWxzZQ0KICAgICAgcmV0dXJuIHRydWUNCiAgICB9LA0KICAgIHJlc29sdmVFeHAoKSB7DQogICAgICAvLyDlj43op6PmnpAg6KGo6L6+5byPDQogICAgICBpZiAodGhpcy5leHByZXNzaW9uKSB7DQogICAgICAgIGxldCBhcnIgPSB0aGlzLmV4cHJlc3Npb24uc3BsaXQoIiAiKQ0KICAgICAgICBpZiAoYXJyLmxlbmd0aCA+PSA2KSB7DQogICAgICAgICAgLy82IOS9jeS7peS4iuaYr+WQiOazleihqOi+vuW8jw0KICAgICAgICAgIGxldCBvYmogPSB7DQogICAgICAgICAgICBzZWNvbmQ6IGFyclswXSwNCiAgICAgICAgICAgIG1pbjogYXJyWzFdLA0KICAgICAgICAgICAgaG91cjogYXJyWzJdLA0KICAgICAgICAgICAgZGF5OiBhcnJbM10sDQogICAgICAgICAgICBtb250aDogYXJyWzRdLA0KICAgICAgICAgICAgd2VlazogYXJyWzVdLA0KICAgICAgICAgICAgeWVhcjogYXJyWzZdID8gYXJyWzZdIDogIiIsDQogICAgICAgICAgfQ0KICAgICAgICAgIHRoaXMuY3JvbnRhYlZhbHVlT2JqID0gew0KICAgICAgICAgICAgLi4ub2JqLA0KICAgICAgICAgIH0NCiAgICAgICAgICBmb3IgKGxldCBpIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKG9ialtpXSkgdGhpcy5jaGFuZ2VSYWRpbyhpLCBvYmpbaV0pDQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9IGVsc2Ugew0KICAgICAgICAvLyDmsqHmnInkvKDlhaXnmoTooajovr7lvI8g5YiZ6L+Y5Y6fDQogICAgICAgIHRoaXMuY2xlYXJDcm9uKCkNCiAgICAgIH0NCiAgICB9LA0KICAgIC8vIHRhYuWIh+aNouWAvA0KICAgIHRhYkNoZWNrKGluZGV4KSB7DQogICAgICB0aGlzLnRhYkFjdGl2ZSA9IGluZGV4DQogICAgfSwNCiAgICAvLyDnlLHlrZDnu4Tku7bop6blj5HvvIzmm7TmlLnooajovr7lvI/nu4TmiJDnmoTlrZfmrrXlgLwNCiAgICB1cGRhdGVDcm9udGFiVmFsdWUobmFtZSwgdmFsdWUsIGZyb20pIHsNCiAgICAgICJ1cGRhdGVDcm9udGFiVmFsdWUiLCBuYW1lLCB2YWx1ZSwgZnJvbQ0KICAgICAgdGhpcy5jcm9udGFiVmFsdWVPYmpbbmFtZV0gPSB2YWx1ZQ0KICAgICAgaWYgKGZyb20gJiYgZnJvbSAhPT0gbmFtZSkgew0KICAgICAgICBjb25zb2xlLmxvZyhg5p2l6Ieq57uE5Lu2ICR7ZnJvbX0g5pS55Y+Y5LqGICR7bmFtZX0gJHt2YWx1ZX1gKQ0KICAgICAgICB0aGlzLmNoYW5nZVJhZGlvKG5hbWUsIHZhbHVlKQ0KICAgICAgfQ0KICAgIH0sDQogICAgLy8g6LWL5YC85Yiw57uE5Lu2DQogICAgY2hhbmdlUmFkaW8obmFtZSwgdmFsdWUpIHsNCiAgICAgIGxldCBhcnIgPSBbInNlY29uZCIsICJtaW4iLCAiaG91ciIsICJtb250aCJdLA0KICAgICAgICByZWZOYW1lID0gImNyb24iICsgbmFtZSwNCiAgICAgICAgaW5zVmFsdWUNCg0KICAgICAgaWYgKCF0aGlzLiRyZWZzW3JlZk5hbWVdKSByZXR1cm4NCg0KICAgICAgaWYgKGFyci5pbmNsdWRlcyhuYW1lKSkgew0KICAgICAgICBpZiAodmFsdWUgPT09ICIqIikgew0KICAgICAgICAgIGluc1ZhbHVlID0gMQ0KICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLmluZGV4T2YoIi0iKSA+IC0xKSB7DQogICAgICAgICAgbGV0IGluZGV4QXJyID0gdmFsdWUuc3BsaXQoIi0iKQ0KICAgICAgICAgIGlzTmFOKGluZGV4QXJyWzBdKQ0KICAgICAgICAgICAgPyAodGhpcy4kcmVmc1tyZWZOYW1lXS5jeWNsZTAxID0gMCkNCiAgICAgICAgICAgIDogKHRoaXMuJHJlZnNbcmVmTmFtZV0uY3ljbGUwMSA9IGluZGV4QXJyWzBdKQ0KICAgICAgICAgIHRoaXMuJHJlZnNbcmVmTmFtZV0uY3ljbGUwMiA9IGluZGV4QXJyWzFdDQogICAgICAgICAgaW5zVmFsdWUgPSAyDQogICAgICAgIH0gZWxzZSBpZiAodmFsdWUuaW5kZXhPZigiLyIpID4gLTEpIHsNCiAgICAgICAgICBsZXQgaW5kZXhBcnIgPSB2YWx1ZS5zcGxpdCgiLyIpDQogICAgICAgICAgaXNOYU4oaW5kZXhBcnJbMF0pDQogICAgICAgICAgICA/ICh0aGlzLiRyZWZzW3JlZk5hbWVdLmF2ZXJhZ2UwMSA9IDApDQogICAgICAgICAgICA6ICh0aGlzLiRyZWZzW3JlZk5hbWVdLmF2ZXJhZ2UwMSA9IGluZGV4QXJyWzBdKQ0KICAgICAgICAgIHRoaXMuJHJlZnNbcmVmTmFtZV0uYXZlcmFnZTAyID0gaW5kZXhBcnJbMV0NCiAgICAgICAgICBpbnNWYWx1ZSA9IDMNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICBpbnNWYWx1ZSA9IDQNCiAgICAgICAgICB0aGlzLiRyZWZzW3JlZk5hbWVdLmNoZWNrYm94TGlzdCA9IHZhbHVlLnNwbGl0KCIsIikNCiAgICAgICAgfQ0KICAgICAgfSBlbHNlIGlmIChuYW1lID09ICJkYXkiKSB7DQogICAgICAgIGlmICh2YWx1ZSA9PT0gIioiKSB7DQogICAgICAgICAgaW5zVmFsdWUgPSAxDQogICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT0gIj8iKSB7DQogICAgICAgICAgaW5zVmFsdWUgPSAyDQogICAgICAgIH0gZWxzZSBpZiAodmFsdWUuaW5kZXhPZigiLSIpID4gLTEpIHsNCiAgICAgICAgICBsZXQgaW5kZXhBcnIgPSB2YWx1ZS5zcGxpdCgiLSIpDQogICAgICAgICAgaXNOYU4oaW5kZXhBcnJbMF0pDQogICAgICAgICAgICA/ICh0aGlzLiRyZWZzW3JlZk5hbWVdLmN5Y2xlMDEgPSAwKQ0KICAgICAgICAgICAgOiAodGhpcy4kcmVmc1tyZWZOYW1lXS5jeWNsZTAxID0gaW5kZXhBcnJbMF0pDQogICAgICAgICAgdGhpcy4kcmVmc1tyZWZOYW1lXS5jeWNsZTAyID0gaW5kZXhBcnJbMV0NCiAgICAgICAgICBpbnNWYWx1ZSA9IDMNCiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS5pbmRleE9mKCIvIikgPiAtMSkgew0KICAgICAgICAgIGxldCBpbmRleEFyciA9IHZhbHVlLnNwbGl0KCIvIikNCiAgICAgICAgICBpc05hTihpbmRleEFyclswXSkNCiAgICAgICAgICAgID8gKHRoaXMuJHJlZnNbcmVmTmFtZV0uYXZlcmFnZTAxID0gMCkNCiAgICAgICAgICAgIDogKHRoaXMuJHJlZnNbcmVmTmFtZV0uYXZlcmFnZTAxID0gaW5kZXhBcnJbMF0pDQogICAgICAgICAgdGhpcy4kcmVmc1tyZWZOYW1lXS5hdmVyYWdlMDIgPSBpbmRleEFyclsxXQ0KICAgICAgICAgIGluc1ZhbHVlID0gNA0KICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLmluZGV4T2YoIlciKSA+IC0xKSB7DQogICAgICAgICAgbGV0IGluZGV4QXJyID0gdmFsdWUuc3BsaXQoIlciKQ0KICAgICAgICAgIGlzTmFOKGluZGV4QXJyWzBdKQ0KICAgICAgICAgICAgPyAodGhpcy4kcmVmc1tyZWZOYW1lXS53b3JrZGF5ID0gMCkNCiAgICAgICAgICAgIDogKHRoaXMuJHJlZnNbcmVmTmFtZV0ud29ya2RheSA9IGluZGV4QXJyWzBdKQ0KICAgICAgICAgIGluc1ZhbHVlID0gNQ0KICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAiTCIpIHsNCiAgICAgICAgICBpbnNWYWx1ZSA9IDYNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLiRyZWZzW3JlZk5hbWVdLmNoZWNrYm94TGlzdCA9IHZhbHVlLnNwbGl0KCIsIikNCiAgICAgICAgICBpbnNWYWx1ZSA9IDcNCiAgICAgICAgfQ0KICAgICAgfSBlbHNlIGlmIChuYW1lID09ICJ3ZWVrIikgew0KICAgICAgICBpZiAodmFsdWUgPT09ICIqIikgew0KICAgICAgICAgIGluc1ZhbHVlID0gMQ0KICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09ICI/Iikgew0KICAgICAgICAgIGluc1ZhbHVlID0gMg0KICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLmluZGV4T2YoIi0iKSA+IC0xKSB7DQogICAgICAgICAgbGV0IGluZGV4QXJyID0gdmFsdWUuc3BsaXQoIi0iKQ0KICAgICAgICAgIGlzTmFOKGluZGV4QXJyWzBdKQ0KICAgICAgICAgICAgPyAodGhpcy4kcmVmc1tyZWZOYW1lXS5jeWNsZTAxID0gMCkNCiAgICAgICAgICAgIDogKHRoaXMuJHJlZnNbcmVmTmFtZV0uY3ljbGUwMSA9IGluZGV4QXJyWzBdKQ0KICAgICAgICAgIHRoaXMuJHJlZnNbcmVmTmFtZV0uY3ljbGUwMiA9IGluZGV4QXJyWzFdDQogICAgICAgICAgaW5zVmFsdWUgPSAzDQogICAgICAgIH0gZWxzZSBpZiAodmFsdWUuaW5kZXhPZigiIyIpID4gLTEpIHsNCiAgICAgICAgICBsZXQgaW5kZXhBcnIgPSB2YWx1ZS5zcGxpdCgiIyIpDQogICAgICAgICAgaXNOYU4oaW5kZXhBcnJbMF0pDQogICAgICAgICAgICA/ICh0aGlzLiRyZWZzW3JlZk5hbWVdLmF2ZXJhZ2UwMSA9IDEpDQogICAgICAgICAgICA6ICh0aGlzLiRyZWZzW3JlZk5hbWVdLmF2ZXJhZ2UwMSA9IGluZGV4QXJyWzBdKQ0KICAgICAgICAgIHRoaXMuJHJlZnNbcmVmTmFtZV0uYXZlcmFnZTAyID0gaW5kZXhBcnJbMV0NCiAgICAgICAgICBpbnNWYWx1ZSA9IDQNCiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS5pbmRleE9mKCJMIikgPiAtMSkgew0KICAgICAgICAgIGxldCBpbmRleEFyciA9IHZhbHVlLnNwbGl0KCJMIikNCiAgICAgICAgICBpc05hTihpbmRleEFyclswXSkNCiAgICAgICAgICAgID8gKHRoaXMuJHJlZnNbcmVmTmFtZV0ud2Vla2RheSA9IDEpDQogICAgICAgICAgICA6ICh0aGlzLiRyZWZzW3JlZk5hbWVdLndlZWtkYXkgPSBpbmRleEFyclswXSkNCiAgICAgICAgICBpbnNWYWx1ZSA9IDUNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLiRyZWZzW3JlZk5hbWVdLmNoZWNrYm94TGlzdCA9IHZhbHVlLnNwbGl0KCIsIikNCiAgICAgICAgICBpbnNWYWx1ZSA9IDYNCiAgICAgICAgfQ0KICAgICAgfSBlbHNlIGlmIChuYW1lID09ICJ5ZWFyIikgew0KICAgICAgICBpZiAodmFsdWUgPT0gIiIpIHsNCiAgICAgICAgICBpbnNWYWx1ZSA9IDENCiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PSAiKiIpIHsNCiAgICAgICAgICBpbnNWYWx1ZSA9IDINCiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS5pbmRleE9mKCItIikgPiAtMSkgew0KICAgICAgICAgIGluc1ZhbHVlID0gMw0KICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLmluZGV4T2YoIi8iKSA+IC0xKSB7DQogICAgICAgICAgaW5zVmFsdWUgPSA0DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgdGhpcy4kcmVmc1tyZWZOYW1lXS5jaGVja2JveExpc3QgPSB2YWx1ZS5zcGxpdCgiLCIpDQogICAgICAgICAgaW5zVmFsdWUgPSA1DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIHRoaXMuJHJlZnNbcmVmTmFtZV0ucmFkaW9WYWx1ZSA9IGluc1ZhbHVlDQogICAgfSwNCiAgICAvLyDooajljZXpgInpobnnmoTlrZDnu4Tku7bmoKHpqozmlbDlrZfmoLzlvI/vvIjpgJrov4ctcHJvcHPkvKDpgJLvvIkNCiAgICBjaGVja051bWJlcih2YWx1ZSwgbWluTGltaXQsIG1heExpbWl0KSB7DQogICAgICAvLyDmo4Dmn6Xlv4XpobvkuLrmlbTmlbANCiAgICAgIHZhbHVlID0gTWF0aC5mbG9vcih2YWx1ZSkNCiAgICAgIGlmICh2YWx1ZSA8IG1pbkxpbWl0KSB7DQogICAgICAgIHZhbHVlID0gbWluTGltaXQNCiAgICAgIH0gZWxzZSBpZiAodmFsdWUgPiBtYXhMaW1pdCkgew0KICAgICAgICB2YWx1ZSA9IG1heExpbWl0DQogICAgICB9DQogICAgICByZXR1cm4gdmFsdWUNCiAgICB9LA0KICAgIC8vIOmakOiXj+W8ueeqlw0KICAgIGhpZGVQb3B1cCgpIHsNCiAgICAgIHRoaXMuJGVtaXQoImhpZGUiKQ0KICAgIH0sDQogICAgLy8g5aGr5YWF6KGo6L6+5byPDQogICAgc3VibWl0RmlsbCgpIHsNCiAgICAgIHRoaXMuJGVtaXQoImZpbGwiLCB0aGlzLmNyb250YWJWYWx1ZVN0cmluZykNCiAgICAgIHRoaXMuaGlkZVBvcHVwKCkNCiAgICB9LA0KICAgIGNsZWFyQ3JvbigpIHsNCiAgICAgIC8vIOi/mOWOn+mAieaLqemhuQ0KICAgICAgKCLlh4blpIfov5jljp8iKQ0KICAgICAgdGhpcy5jcm9udGFiVmFsdWVPYmogPSB7DQogICAgICAgIHNlY29uZDogIioiLA0KICAgICAgICBtaW46ICIqIiwNCiAgICAgICAgaG91cjogIioiLA0KICAgICAgICBkYXk6ICIqIiwNCiAgICAgICAgbW9udGg6ICIqIiwNCiAgICAgICAgd2VlazogIj8iLA0KICAgICAgICB5ZWFyOiAiIiwNCiAgICAgIH0NCiAgICAgIGZvciAobGV0IGogaW4gdGhpcy5jcm9udGFiVmFsdWVPYmopIHsNCiAgICAgICAgdGhpcy5jaGFuZ2VSYWRpbyhqLCB0aGlzLmNyb250YWJWYWx1ZU9ialtqXSkNCiAgICAgIH0NCiAgICB9LA0KICB9LA0KICBjb21wdXRlZDogew0KICAgIGNyb250YWJWYWx1ZVN0cmluZzogZnVuY3Rpb24oKSB7DQogICAgICBsZXQgb2JqID0gdGhpcy5jcm9udGFiVmFsdWVPYmoNCiAgICAgIGxldCBzdHIgPQ0KICAgICAgICBvYmouc2Vjb25kICsNCiAgICAgICAgIiAiICsNCiAgICAgICAgb2JqLm1pbiArDQogICAgICAgICIgIiArDQogICAgICAgIG9iai5ob3VyICsNCiAgICAgICAgIiAiICsNCiAgICAgICAgb2JqLmRheSArDQogICAgICAgICIgIiArDQogICAgICAgIG9iai5tb250aCArDQogICAgICAgICIgIiArDQogICAgICAgIG9iai53ZWVrICsNCiAgICAgICAgKG9iai55ZWFyID09ICIiID8gIiIgOiAiICIgKyBvYmoueWVhcikNCiAgICAgIHJldHVybiBzdHINCiAgICB9LA0KICB9LA0KICBjb21wb25lbnRzOiB7DQogICAgQ3JvbnRhYlNlY29uZCwNCiAgICBDcm9udGFiTWluLA0KICAgIENyb250YWJIb3VyLA0KICAgIENyb250YWJEYXksDQogICAgQ3JvbnRhYk1vbnRoLA0KICAgIENyb250YWJXZWVrLA0KICAgIENyb250YWJZZWFyLA0KICAgIENyb250YWJSZXN1bHQsDQogIH0sDQogIHdhdGNoOiB7DQogICAgZXhwcmVzc2lvbjogInJlc29sdmVFeHAiLA0KICAgIGhpZGVDb21wb25lbnQodmFsdWUpIHsNCiAgICAgIC8vIOmakOiXj+mDqOWIhue7hOS7tg0KICAgIH0sDQogIH0sDQogIG1vdW50ZWQ6IGZ1bmN0aW9uKCkgew0KICAgIHRoaXMucmVzb2x2ZUV4cCgpDQogIH0sDQp9DQo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/components/Crontab","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"]}]}