7043317328ab39458adc1ddff04abf69.json 24 KB

1
  1. {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\system\\crontab\\createModal.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\system\\crontab\\createModal.vue","mtime":1761185180210},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQppbXBvcnQgKiBhcyBtb25hY28gZnJvbSAnbW9uYWNvLWVkaXRvcic7DQppbXBvcnQgeyBtYXBNdXRhdGlvbnMgfSBmcm9tICd2dWV4JzsNCmltcG9ydCB7IHRpbWVyVGFzaywgdGltZXJJbmZvLCBzYXZlVGltZXIsIHVwZGF0ZVRpbWVyIH0gZnJvbSAnQC9hcGkvc3lzdGVtJzsNCmV4cG9ydCBkZWZhdWx0IHsNCiAgcHJvcHM6IHsNCiAgICBjdXJyZW50VGFiOiB7DQogICAgICB0eXBlOiBTdHJpbmcsDQogICAgICBkZWZhdWx0OiAnMCcsDQogICAgfSwNCiAgfSwNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgbW9kYWw6IGZhbHNlLA0KICAgICAgdHlwZUxpc3Q6IFsNCiAgICAgICAgew0KICAgICAgICAgIG5hbWU6ICfmr4/pmpRO56eSJywNCiAgICAgICAgICB2YWx1ZTogMSwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIG5hbWU6ICfmr4/pmpRO5YiG6ZKfJywNCiAgICAgICAgICB2YWx1ZTogMiwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIG5hbWU6ICfmr4/pmpRO5bCP5pe2JywNCiAgICAgICAgICB2YWx1ZTogMywNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIG5hbWU6ICfmr4/pmpRO5aSpJywNCiAgICAgICAgICB2YWx1ZTogNCwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIG5hbWU6ICfmr4/lpKknLA0KICAgICAgICAgIHZhbHVlOiA1LA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgbmFtZTogJ+avj+aYn+acnycsDQogICAgICAgICAgdmFsdWU6IDYsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBuYW1lOiAn5q+P5pyIJywNCiAgICAgICAgICB2YWx1ZTogNywNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIG5hbWU6ICfmr4/lubQnLA0KICAgICAgICAgIHZhbHVlOiA4LA0KICAgICAgICB9LA0KICAgICAgXSwNCiAgICAgIHRhc2s6IHt9LA0KICAgICAgbG9hZGluZzogZmFsc2UsDQogICAgICBmb3JtVmFsaWRhdGU6IHsNCiAgICAgICAgbmFtZTogJycsDQogICAgICAgIG1hcms6ICdjdXN0b21UaW1lcicsIC8v6ZSuDQogICAgICAgIGNvbnRlbnQ6ICcnLA0KICAgICAgICBpc19vcGVuOiAwLA0KICAgICAgICB0eXBlOiAxLA0KICAgICAgICBtb250aDogMSwNCiAgICAgICAgd2VlazogMSwNCiAgICAgICAgZGF5OiAxLA0KICAgICAgICBob3VyOiAxLA0KICAgICAgICBtaW51dGU6IDEsDQogICAgICAgIHNlY29uZDogMSwNCiAgICAgICAgY3VzdG9tQ29kZTogJycsDQogICAgICB9LA0KICAgICAgdHJpcDogJycsDQogICAgICB3ZWVrTGlzdDogWw0KICAgICAgICB7IGxhYmVsOiAn5ZGo5LiAJywgdmFsdWU6IDEgfSwNCiAgICAgICAgeyBsYWJlbDogJ+WRqOS6jCcsIHZhbHVlOiAyIH0sDQogICAgICAgIHsgbGFiZWw6ICflkajkuIknLCB2YWx1ZTogMyB9LA0KICAgICAgICB7IGxhYmVsOiAn5ZGo5ZubJywgdmFsdWU6IDQgfSwNCiAgICAgICAgeyBsYWJlbDogJ+WRqOS6lCcsIHZhbHVlOiA1IH0sDQogICAgICAgIHsgbGFiZWw6ICflkajlha0nLCB2YWx1ZTogNiB9LA0KICAgICAgICB7IGxhYmVsOiAn5ZGo5pelJywgdmFsdWU6IDcgfSwNCiAgICAgIF0sDQogICAgICBlZGl0b3I6ICcnLCAvL+W9k+WJjee8lui+keWZqOWvueixoQ0KICAgIH07DQogIH0sDQogIHdhdGNoOiB7DQogICAgZm9ybVZhbGlkYXRlOiB7DQogICAgICBoYW5kbGVyKG5WYWwsIG9WYWwpIHsNCiAgICAgICAgc3dpdGNoIChuVmFsLnR5cGUpIHsNCiAgICAgICAgICBjYXNlIDE6DQogICAgICAgICAgICB0aGlzLnRyaXAgPSBg5q+P6ZqUJHtuVmFsLnNlY29uZH3np5LmiafooYzkuIDmrKFgOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgY2FzZSAyOg0KICAgICAgICAgICAgdGhpcy50cmlwID0gYOavj+malCR7blZhbC5taW51dGV95YiG6ZKf5omn6KGM5LiA5qyhYDsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgIGNhc2UgMzoNCiAgICAgICAgICAgIHRoaXMudHJpcCA9IGDmr4/pmpQke25WYWwuaG91cn3lsI/ml7bnmoQke25WYWwubWludXRlfeWIhuaJp+ihjOS4gOasoWA7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDQ6DQogICAgICAgICAgICB0aGlzLnRyaXAgPSBg5q+P6ZqUJHtuVmFsLmRheX3lpKnnmoQke25WYWwuaG91cn3ml7Yke25WYWwubWludXRlfeWIhuaJp+ihjOS4gOasoWA7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDU6DQogICAgICAgICAgICB0aGlzLnRyaXAgPSBg5q+P5aSpJHtuVmFsLmhvdXJ95pe2JHtuVmFsLm1pbnV0ZX3liIYke25WYWwuc2Vjb25kfeenkuaJp+ihjOS4gOasoWA7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDY6DQogICAgICAgICAgICB0aGlzLnRyaXAgPSBg5q+P5Liq5pif5pyfJHtuVmFsLndlZWt955qEJHtuVmFsLmhvdXJ95pe2JHtuVmFsLm1pbnV0ZX3liIYke25WYWwuc2Vjb25kfeenkuaJp+ihjOS4gOasoWA7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDc6DQogICAgICAgICAgICB0aGlzLnRyaXAgPSBg5q+P5pyIJHtuVmFsLmRheX3ml6XnmoQke25WYWwuaG91cn3ml7Yke25WYWwubWludXRlfeWIhiR7blZhbC5zZWNvbmR956eS5omn6KGM5LiA5qyhYDsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgIGNhc2UgODoNCiAgICAgICAgICAgIHRoaXMudHJpcCA9IGDmr4/lubQke25WYWwubW9udGh95pyIJHtuVmFsLmRheX3ml6XnmoQke25WYWwuaG91cn3ml7Yke25WYWwubWludXRlfeWIhiR7blZhbC5zZWNvbmR956eS5omn6KGM5LiA5qyhYDsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICB9LA0KICAgICAgaW1tZWRpYXRlOiB0cnVlLA0KICAgICAgZGVlcDogdHJ1ZSwNCiAgICB9LA0KICB9LA0KICBjcmVhdGVkKCkgew0KICAgIHRoaXMudGltZXJUYXNrKCk7DQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICAuLi5tYXBNdXRhdGlvbnMoJ2FkbWluL2xheW91dCcsIFsnc2V0Q29weXJpZ2h0U2hvdyddKSwNCiAgICBtb2RhbE9wZW4oKSB7DQogICAgICBpZiAodGhpcy5jdXJyZW50VGFiID09PSAnMScpIHsNCiAgICAgICAgdGhpcy5pbml0RWRpdG9yKCk7DQogICAgICB9DQogICAgfSwNCiAgICAvKioNCiAgICAgKiDliJ3lp4vljJbnvJbovpHlmagNCiAgICAgKi8NCiAgICBpbml0RWRpdG9yKGNvbmV0bnQgPSAnJykgew0KICAgICAgdHJ5IHsNCiAgICAgICAgbGV0IHRoYXQgPSB0aGlzOw0KICAgICAgICB0aGF0LiRuZXh0VGljaygoKSA9PiB7DQogICAgICAgICAgLy8g5Yid5aeL5YyW57yW6L6R5Zmo77yM56Gu5L+dZG9t5bey57uP5riy5p+TDQogICAgICAgICAgdGhhdC5lZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyksIHsNCiAgICAgICAgICAgIHZhbHVlOiBjb25ldG50LCAvL+e8lui+keWZqOWIneWni+aYvuekuuaWh+Wtlw0KICAgICAgICAgICAgbGFuZ3VhZ2U6ICdwaHAnLCAvL+ivreiogOaUr+aMgeiHquihjOafpemYhWRlbW8NCiAgICAgICAgICAgIGF1dG9tYXRpY0xheW91dDogdHJ1ZSwgLy/oh6rliqjluIPlsYANCiAgICAgICAgICAgIHRoZW1lOiAndnMtZGFyaycsIC8v5a6Y5pa56Ieq5bim5LiJ56eN5Li76aKYdnMsIGhjLWJsYWNrLCBvciB2cy1kYXJrDQogICAgICAgICAgICBmb2xkaW5nU3RyYXRlZ3k6ICdpbmRlbnRhdGlvbicsIC8vIOS7o+eggeWPr+WIhuWwj+auteaKmOWPoA0KICAgICAgICAgICAgb3ZlcnZpZXdSdWxlckJvcmRlcjogZmFsc2UsIC8vIOS4jeimgea7muWKqOadoeeahOi+ueahhg0KICAgICAgICAgICAgbWluaW1hcDogeyBlbmFibGVkOiBmYWxzZSB9LA0KICAgICAgICAgICAgc2Nyb2xsYmFyOiB7DQogICAgICAgICAgICAgIHZlcnRpY2FsOiAnaGlkZGVuJywNCiAgICAgICAgICAgICAgaG9yaXpvbnRhbDogJ2hpZGRlbicsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgd29yZFdyYXA6ICdvbicsDQogICAgICAgICAgICBhdXRvSW5kZW50OiB0cnVlLCAvLyDoh6rliqjluIPlsYANCiAgICAgICAgICAgIHRhYlNpemU6IDQsIC8vIHRhYue8qei/m+mVv+W6pg0KICAgICAgICAgICAgYXV0b0Nsb3NpbmdPdmVydHlwZTogJ2Fsd2F5cycsDQogICAgICAgICAgICByZWFkT25seTogZmFsc2UsDQogICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgfSBjYXRjaCAoZXJyb3IpIHsNCiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpOw0KICAgICAgfQ0KICAgIH0sDQogICAgdGltZXJUYXNrKCkgew0KICAgICAgdGltZXJUYXNrKCkudGhlbigocmVzKSA9PiB7DQogICAgICAgIHRoaXMudGFzayA9IHJlcy5kYXRhOw0KICAgICAgfSk7DQogICAgfSwNCiAgICBpbml0RGF0YShzdGF0dXMpIHsNCiAgICAgIHRoaXMuZm9ybVZhbGlkYXRlID0gew0KICAgICAgICBuYW1lOiAnJywNCiAgICAgICAgbWFyazogJycsDQogICAgICAgIGNvbnRlbnQ6ICcnLA0KICAgICAgICBpc19vcGVuOiAwLA0KICAgICAgICB0eXBlOiAxLA0KICAgICAgICBtb250aDogMSwNCiAgICAgICAgd2VlazogMSwNCiAgICAgICAgZGF5OiAxLA0KICAgICAgICBob3VyOiAxLA0KICAgICAgICBtaW51dGU6IDEsDQogICAgICAgIHNlY29uZDogMSwNCiAgICAgICAgY3VzdG9tQ29kZTogJycsDQogICAgICB9Ow0KICAgICAgdGhpcy5tb2RhbCA9IGZhbHNlOw0KICAgIH0sDQogICAgdGltZXJJbmZvKGlkKSB7DQogICAgICBpZiAoaWQpIHsNCiAgICAgICAgdGltZXJJbmZvKGlkKS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgICB0aGlzLm1vZGFsID0gdHJ1ZTsNCiAgICAgICAgICB0aGlzLmZvcm1WYWxpZGF0ZSA9IHJlcy5kYXRhOw0KICAgICAgICAgIHRoaXMuaW5pdEVkaXRvcihyZXMuZGF0YS5jdXN0b21Db2RlIHx8ICcnKTsNCiAgICAgICAgfSk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGlzLm1vZGFsID0gdHJ1ZTsNCiAgICAgICAgdGhpcy5pbml0RWRpdG9yKA0KICAgICAgICAgICI8P3BocFxuXG4vL+ekuuS+i+S7o+eggVxuXG4vL+ebtOaOpeWGmeWFpeaVsOaNruW6k1xuXFx0aGlua1xcZmFjYWRlXFxEYjo6bmFtZSgnY2FjaGUnKS0+aW5zZXJ0KFsna2V5JyA9PiAnY3VzdG9tX3RpbWVyXycgLiByYW5kKCksICdyZXN1bHQnID0+IHJhbmQoKSwgJ2V4cGlyZV90aW1lJyA9PiAwXSk7XG5cbi8v6LCD55So57O757uf5pa55rOVXG5hcHAoKS0+bWFrZShcXGFwcFxcc2VydmljZXNcXG90aGVyXFxDYWNoZVNlcnZpY2VzOjpjbGFzcyktPnNldERiQ2FjaGUoJ2N1c3RvbV90aW1lcl8nIC4gcmFuZCgpLCByYW5kKCkpOyIsDQogICAgICAgICk7DQogICAgICB9DQogICAgfSwNCiAgICAvLyDmj5DkuqQNCiAgICBoYW5kbGVTdWJtaXQoKSB7DQogICAgICBjb25zb2xlLmxvZyh0aGlzLmN1cnJlbnRUYWIpOw0KICAgICAgaWYgKHRoaXMuY3VycmVudFRhYiA9PT0gJzEnKSB7DQogICAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLmN1c3RvbUNvZGUgPSB0aGlzLmVkaXRvci5nZXRWYWx1ZSgpOw0KICAgICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5tYXJrID0gJ2N1c3RvbVRpbWVyJzsNCiAgICAgIH0NCiAgICAgIGlmICghdGhpcy5mb3JtVmFsaWRhdGUubWFyaykgew0KICAgICAgICByZXR1cm4gdGhpcy4kbWVzc2FnZS5lcnJvcih7DQogICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeS7u+WKoeWQjeensCcsDQogICAgICAgICAgb25DbG9zZTogKCkgPT4gew0KICAgICAgICAgICAgLy8gdGhpcy5sb2FkaW5nID0gZmFsc2U7DQogICAgICAgICAgfSwNCiAgICAgICAgfSk7DQogICAgICB9DQogICAgICB0aGlzLnNhdmVUaW1lcih0aGlzLmZvcm1WYWxpZGF0ZSk7DQogICAgfSwNCiAgICB0YXNrQ2hhbmdlKHRhc2spIHsNCiAgICAgIC8vIHRoaXMuZm9ybVZhbGlkYXRlLm1hcmsgPSB0YXNrLnZhbHVlOw0KICAgIH0sDQogICAgc2F2ZVRpbWVyKGRhdGEpIHsNCiAgICAgIHNhdmVUaW1lcihkYXRhKQ0KICAgICAgICAudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHsNCiAgICAgICAgICAgIG1lc3NhZ2U6IHJlcy5tc2csDQogICAgICAgICAgfSk7DQogICAgICAgICAgdGhpcy4kZW1pdCgnc3VibWl0QXNrJyk7DQogICAgICAgICAgdGhpcy5tb2RhbCA9IGZhbHNlOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKGVycikgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoZXJyLm1zZyk7DQogICAgICAgIH0pOw0KICAgIH0sDQogIH0sDQp9Ow0K"},{"version":3,"sources":["createModal.vue"],"names":[],"mappings":";AA0IA;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;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":"createModal.vue","sourceRoot":"src/pages/system/crontab","sourcesContent":["<template>\r\n <div>\r\n <el-drawer\r\n :visible.sync=\"modal\"\r\n :title=\"formValidate.id ? '编辑定时任务' : '添加定时任务'\"\r\n size=\"1000px\"\r\n @closed=\"initData\"\r\n >\r\n <el-form v-if=\"modal\" class=\"pb-20\" ref=\"formValidate\" :model=\"formValidate\" label-width=\"97px\" label-colon>\r\n <el-form-item label=\"任务名称:\" v-if=\"currentTab === '1'\">\r\n <el-row :gutter=\"10\">\r\n <el-col :span=\"24\">\r\n <el-input v-model=\"formValidate.name\" type=\"text\" placeholder=\"请输入任务名称\"></el-input>\r\n </el-col>\r\n </el-row>\r\n </el-form-item>\r\n <el-form-item label=\"执行周期:\" required>\r\n <el-row :gutter=\"14\">\r\n <el-col :span=\"4\">\r\n <el-select v-model=\"formValidate.type\">\r\n <el-option\r\n v-for=\"item in typeList\"\r\n :key=\"item.value\"\r\n :value=\"item.value\"\r\n :label=\"item.name\"\r\n ></el-option>\r\n </el-select>\r\n </el-col>\r\n <el-col v-if=\"formValidate.type == 6\" :span=\"4\">\r\n <el-select v-model=\"formValidate.week\">\r\n <el-option v-for=\"item in weekList\" :key=\"item.value\" v-bind=\"item\"></el-option>\r\n </el-select>\r\n </el-col>\r\n <el-col v-if=\"[8].includes(formValidate.type)\" :span=\"4\">\r\n <div class=\"input-number-wrapper\">\r\n <el-input-number :controls=\"false\" v-model=\"formValidate.month\" :max=\"12\" :min=\"1\"></el-input-number>\r\n <span class=\"suffix\">月</span>\r\n </div>\r\n </el-col>\r\n <el-col v-if=\"[4, 7, 8].includes(formValidate.type)\" :span=\"4\">\r\n <div class=\"input-number-wrapper\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"formValidate.day\"\r\n :max=\"formValidate.type === 4 ? 10000 : 31\"\r\n :min=\"1\"\r\n ></el-input-number>\r\n <span class=\"suffix\">日</span>\r\n </div>\r\n </el-col>\r\n <el-col v-if=\"[3, 4, 5, 6, 7, 8].includes(formValidate.type)\" :span=\"4\">\r\n <div class=\"input-number-wrapper\">\r\n <el-input-number\r\n controls-position=\"right\"\r\n v-model=\"formValidate.hour\"\r\n :max=\"23\"\r\n :min=\"0\"\r\n ></el-input-number>\r\n <span class=\"suffix\">时</span>\r\n </div>\r\n </el-col>\r\n <el-col v-if=\"[2, 3, 4, 5, 6, 7, 8].includes(formValidate.type)\" :span=\"4\">\r\n <div class=\"input-number-wrapper\">\r\n <el-input-number\r\n controls-position=\"right\"\r\n v-model=\"formValidate.minute\"\r\n :max=\"formValidate.type === 2 ? 36000 : 59\"\r\n :min=\"0\"\r\n ></el-input-number>\r\n <span class=\"suffix\">分</span>\r\n </div>\r\n </el-col>\r\n <el-col v-if=\"[1, 5, 6, 7].includes(formValidate.type)\" :span=\"4\">\r\n <div class=\"input-number-wrapper\">\r\n <el-input-number\r\n controls-position=\"right\"\r\n v-model=\"formValidate.second\"\r\n :max=\"formValidate.type === 1 ? 36000 : 59\"\r\n :min=\"0\"\r\n ></el-input-number>\r\n <span class=\"suffix\">秒</span>\r\n </div>\r\n </el-col>\r\n </el-row>\r\n <el-row :gutter=\"12\">\r\n <div class=\"trip\">{{ trip }}</div>\r\n </el-row>\r\n </el-form-item>\r\n <el-form-item label=\"任务说明:\">\r\n <el-row :gutter=\"10\">\r\n <el-col :span=\"24\">\r\n <el-input\r\n v-model=\"formValidate.content\"\r\n type=\"textarea\"\r\n :autosize=\"{ minRows: 3, maxRows: 5 }\"\r\n placeholder=\"请输入任务说明\"\r\n ></el-input>\r\n </el-col>\r\n </el-row>\r\n </el-form-item>\r\n <el-form-item label=\"执行代码:\" v-if=\"currentTab === '1'\">\r\n <el-row :gutter=\"10\">\r\n <el-col :span=\"24\">\r\n <div ref=\"container\" id=\"container\" class=\"monaco-editor\"></div>\r\n </el-col>\r\n </el-row>\r\n </el-form-item>\r\n <el-form-item label=\"开发密码:\" v-if=\"currentTab === '1'\">\r\n <el-row :gutter=\"10\">\r\n <el-col :span=\"24\">\r\n <el-input\r\n v-model=\"formValidate.password\"\r\n type=\"password\"\r\n placeholder=\"请输入系统开发密码,开发密码在crmeb/config/filesystem.php中修改password\"\r\n ></el-input>\r\n </el-col>\r\n </el-row>\r\n </el-form-item>\r\n <el-form-item label=\"是否开启:\">\r\n <el-row :gutter=\"10\">\r\n <el-col :span=\"12\">\r\n <el-switch :active-value=\"1\" :inactive-value=\"0\" v-model=\"formValidate.is_open\" size=\"large\">\r\n <span slot=\"open\">开启</span>\r\n <span slot=\"close\">关闭</span>\r\n </el-switch>\r\n </el-col>\r\n </el-row>\r\n </el-form-item>\r\n </el-form>\r\n <span class=\"dialog-footer\">\r\n <el-button v-db-click @click=\"modal = false\">取 消</el-button>\r\n <el-button type=\"primary\" v-db-click @click=\"handleSubmit\">提 交</el-button>\r\n </span>\r\n </el-drawer>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport * as monaco from 'monaco-editor';\r\nimport { mapMutations } from 'vuex';\r\nimport { timerTask, timerInfo, saveTimer, updateTimer } from '@/api/system';\r\nexport default {\r\n props: {\r\n currentTab: {\r\n type: String,\r\n default: '0',\r\n },\r\n },\r\n data() {\r\n return {\r\n modal: false,\r\n typeList: [\r\n {\r\n name: '每隔N秒',\r\n value: 1,\r\n },\r\n {\r\n name: '每隔N分钟',\r\n value: 2,\r\n },\r\n {\r\n name: '每隔N小时',\r\n value: 3,\r\n },\r\n {\r\n name: '每隔N天',\r\n value: 4,\r\n },\r\n {\r\n name: '每天',\r\n value: 5,\r\n },\r\n {\r\n name: '每星期',\r\n value: 6,\r\n },\r\n {\r\n name: '每月',\r\n value: 7,\r\n },\r\n {\r\n name: '每年',\r\n value: 8,\r\n },\r\n ],\r\n task: {},\r\n loading: false,\r\n formValidate: {\r\n name: '',\r\n mark: 'customTimer', //键\r\n content: '',\r\n is_open: 0,\r\n type: 1,\r\n month: 1,\r\n week: 1,\r\n day: 1,\r\n hour: 1,\r\n minute: 1,\r\n second: 1,\r\n customCode: '',\r\n },\r\n trip: '',\r\n weekList: [\r\n { label: '周一', value: 1 },\r\n { label: '周二', value: 2 },\r\n { label: '周三', value: 3 },\r\n { label: '周四', value: 4 },\r\n { label: '周五', value: 5 },\r\n { label: '周六', value: 6 },\r\n { label: '周日', value: 7 },\r\n ],\r\n editor: '', //当前编辑器对象\r\n };\r\n },\r\n watch: {\r\n formValidate: {\r\n handler(nVal, oVal) {\r\n switch (nVal.type) {\r\n case 1:\r\n this.trip = `每隔${nVal.second}秒执行一次`;\r\n break;\r\n case 2:\r\n this.trip = `每隔${nVal.minute}分钟执行一次`;\r\n break;\r\n case 3:\r\n this.trip = `每隔${nVal.hour}小时的${nVal.minute}分执行一次`;\r\n break;\r\n case 4:\r\n this.trip = `每隔${nVal.day}天的${nVal.hour}时${nVal.minute}分执行一次`;\r\n break;\r\n case 5:\r\n this.trip = `每天${nVal.hour}时${nVal.minute}分${nVal.second}秒执行一次`;\r\n break;\r\n case 6:\r\n this.trip = `每个星期${nVal.week}的${nVal.hour}时${nVal.minute}分${nVal.second}秒执行一次`;\r\n break;\r\n case 7:\r\n this.trip = `每月${nVal.day}日的${nVal.hour}时${nVal.minute}分${nVal.second}秒执行一次`;\r\n break;\r\n case 8:\r\n this.trip = `每年${nVal.month}月${nVal.day}日的${nVal.hour}时${nVal.minute}分${nVal.second}秒执行一次`;\r\n break;\r\n }\r\n },\r\n immediate: true,\r\n deep: true,\r\n },\r\n },\r\n created() {\r\n this.timerTask();\r\n },\r\n methods: {\r\n ...mapMutations('admin/layout', ['setCopyrightShow']),\r\n modalOpen() {\r\n if (this.currentTab === '1') {\r\n this.initEditor();\r\n }\r\n },\r\n /**\r\n * 初始化编辑器\r\n */\r\n initEditor(conetnt = '') {\r\n try {\r\n let that = this;\r\n that.$nextTick(() => {\r\n // 初始化编辑器,确保dom已经渲染\r\n that.editor = monaco.editor.create(document.getElementById('container'), {\r\n value: conetnt, //编辑器初始显示文字\r\n language: 'php', //语言支持自行查阅demo\r\n automaticLayout: true, //自动布局\r\n theme: 'vs-dark', //官方自带三种主题vs, hc-black, or vs-dark\r\n foldingStrategy: 'indentation', // 代码可分小段折叠\r\n overviewRulerBorder: false, // 不要滚动条的边框\r\n minimap: { enabled: false },\r\n scrollbar: {\r\n vertical: 'hidden',\r\n horizontal: 'hidden',\r\n },\r\n wordWrap: 'on',\r\n autoIndent: true, // 自动布局\r\n tabSize: 4, // tab缩进长度\r\n autoClosingOvertype: 'always',\r\n readOnly: false,\r\n });\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n },\r\n timerTask() {\r\n timerTask().then((res) => {\r\n this.task = res.data;\r\n });\r\n },\r\n initData(status) {\r\n this.formValidate = {\r\n name: '',\r\n mark: '',\r\n content: '',\r\n is_open: 0,\r\n type: 1,\r\n month: 1,\r\n week: 1,\r\n day: 1,\r\n hour: 1,\r\n minute: 1,\r\n second: 1,\r\n customCode: '',\r\n };\r\n this.modal = false;\r\n },\r\n timerInfo(id) {\r\n if (id) {\r\n timerInfo(id).then((res) => {\r\n this.modal = true;\r\n this.formValidate = res.data;\r\n this.initEditor(res.data.customCode || '');\r\n });\r\n } else {\r\n this.modal = true;\r\n this.initEditor(\r\n \"<?php\\n\\n//示例代码\\n\\n//直接写入数据库\\n\\\\think\\\\facade\\\\Db::name('cache')->insert(['key' => 'custom_timer_' . rand(), 'result' => rand(), 'expire_time' => 0]);\\n\\n//调用系统方法\\napp()->make(\\\\app\\\\services\\\\other\\\\CacheServices::class)->setDbCache('custom_timer_' . rand(), rand());\",\r\n );\r\n }\r\n },\r\n // 提交\r\n handleSubmit() {\r\n console.log(this.currentTab);\r\n if (this.currentTab === '1') {\r\n this.formValidate.customCode = this.editor.getValue();\r\n this.formValidate.mark = 'customTimer';\r\n }\r\n if (!this.formValidate.mark) {\r\n return this.$message.error({\r\n message: '请选择任务名称',\r\n onClose: () => {\r\n // this.loading = false;\r\n },\r\n });\r\n }\r\n this.saveTimer(this.formValidate);\r\n },\r\n taskChange(task) {\r\n // this.formValidate.mark = task.value;\r\n },\r\n saveTimer(data) {\r\n saveTimer(data)\r\n .then((res) => {\r\n this.$message.success({\r\n message: res.msg,\r\n });\r\n this.$emit('submitAsk');\r\n this.modal = false;\r\n })\r\n .catch((err) => {\r\n this.$message.error(err.msg);\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.form-card {\r\n margin-bottom: 74px;\r\n\r\n ::v-deep .ivu-card-body {\r\n padding: 30px 0;\r\n }\r\n}\r\n.pb-20 {\r\n padding-bottom: 20px;\r\n}\r\n.btn-card {\r\n position: fixed;\r\n right: 0;\r\n bottom: 0;\r\n left: 200px;\r\n z-index: 2;\r\n text-align: center;\r\n}\r\n\r\n.input-number-wrapper {\r\n position: relative;\r\n display: inline-block;\r\n width: 100%;\r\n vertical-align: middle;\r\n line-height: normal;\r\n\r\n .ivu-input-number {\r\n width: 100%;\r\n padding-right: 35px;\r\n }\r\n\r\n ::v-deep .ivu-input-number-handler-wrap {\r\n right: 35px;\r\n }\r\n\r\n .suffix {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n z-index: 1;\r\n width: 35px;\r\n height: 100%;\r\n text-align: center;\r\n font-size: 12px;\r\n line-height: 33px;\r\n color: #333333;\r\n }\r\n}\r\n\r\n.trip {\r\n padding-left: 15px;\r\n color: #aaa;\r\n}\r\n::v-deep .el-input-number__increase,\r\n::v-deep .el-input-number__decrease {\r\n display: none;\r\n}\r\n.ml30 {\r\n margin-left: 30px;\r\n}\r\n.dialog-footer {\r\n // 固定在底部\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n z-index: 1;\r\n padding: 10px 20px;\r\n background-color: #fff;\r\n border-top: 1px solid #e8e8e8;\r\n display: flex;\r\n justify-content: center;\r\n}\r\n.monaco-editor {\r\n border: 1px solid var(--prev-border-color-base);\r\n border-radius: 4px;\r\n height: 400px;\r\n overflow: hidden;\r\n}\r\n</style>\r\n"]}]}