diff --git a/others/script/build_docker.sh b/others/script/build_docker.sh
index 31e3f0a2..3d91f178 100755
--- a/others/script/build_docker.sh
+++ b/others/script/build_docker.sh
@@ -67,7 +67,7 @@ if [ "$startup" = "y" ] || [ "$startup" = "Y" ]; then
-v ~/docker/powerjob-server:/root/powerjob-server -v ~/.m2:/root/.m2 \
tjqq/powerjob-server:$version
sleep 1
-# tail -f -n 1000 ~/docker/oms-server/logs/oms-server-application.log
+# tail -f -n 1000 ~/docker/powerjob-server/logs/powerjob-server-application.log
sleep 30
echo "================== 准备启动 powerjob-client =================="
@@ -77,5 +77,5 @@ if [ "$startup" = "y" ] || [ "$startup" = "Y" ]; then
docker run -d -e PARAMS="--app powerjob-agent-test --server $serverAddress" -p 27777:27777 --name powerjob-agent -v ~/docker/powerjob-agent:/root tjqq/powerjob-agent:$version
docker run -d -e PARAMS="--app powerjob-agent-test --server $serverAddress" -p 27778:27777 --name powerjob-agent2 -v ~/docker/powerjob-agent2:/root tjqq/powerjob-agent:$version
- tail -f -n 100 ~/docker/powerjob-agent/powerjob/logs/oms-agent-application.log
+ tail -f -n 100 ~/docker/powerjob-agent/powerjob/logs/powerjob-agent-application.log
fi
\ No newline at end of file
diff --git a/others/script/debug.sh b/others/script/debug.sh
index 1b689646..e0fa1656 100644
--- a/others/script/debug.sh
+++ b/others/script/debug.sh
@@ -4,9 +4,9 @@ cd `dirname $0`/../.. || exit
echo "================== 构建 jar =================="
mvn clean package -DskipTests -Pdev -e -U
echo "================== 拷贝 jar =================="
-/bin/cp -rf oh-my-scheduler-server/target/*.jar others/oms-server.jar
-ls -l others/oms-server.jar
+/bin/cp -rf powerjob-server/target/*.jar others/powerjob-server.jar
+ls -l others/powerjob-server.jar
echo "================== debug 模式启动 =================="
-nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar others/oms-server.jar > oms-server.log &
+nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar others/powerjob-server.jar > powerjob-server.log &
sleep 100
-tail --pid=$$ -f -n 1000 others/oms-server.log
+tail --pid=$$ -f -n 1000 others/powerjob-server.log
diff --git a/others/script/jenkins_auto.sh b/others/script/jenkins_auto.sh
index b293e465..3af4c6fa 100644
--- a/others/script/jenkins_auto.sh
+++ b/others/script/jenkins_auto.sh
@@ -1,39 +1,37 @@
#!/bin/bash
cd `dirname $0`/../.. || exit
echo "================== 构建 jar =================="
-mvn clean package -Pdev -DskipTests -U -e -pl oh-my-scheduler-server,oh-my-scheduler-worker-agent -am
+mvn clean package -Pdev -DskipTests -U -e -pl powerjob-server,powerjob-worker-agent -am
echo "================== 拷贝 jar =================="
-/bin/cp -rf oh-my-scheduler-server/target/*.jar oh-my-scheduler-server/docker/oms-server.jar
-/bin/cp -rf oh-my-scheduler-worker-agent/target/*.jar oh-my-scheduler-worker-agent/oms-agent.jar
-ls -l oh-my-scheduler-server/docker/oms-server.jar
-ls -l oh-my-scheduler-worker-agent/oms-agent.jar
+/bin/cp -rf powerjob-server/target/*.jar powerjob-server/docker/powerjob-server.jar
+/bin/cp -rf powerjob-worker-agent/target/*.jar powerjob-worker-agent/powerjob-agent.jar
echo "================== 关闭老应用 =================="
-docker stop oms-server
-docker stop oms-agent
-docker stop oms-agent2
+docker stop powerjob-server
+docker stop powerjob-agent
+docker stop powerjob-agent2
echo "================== 删除老容器 =================="
-docker container rm oms-server
-docker container rm oms-agent
-docker container rm oms-agent2
+docker container rm powerjob-server
+docker container rm powerjob-agent
+docker container rm powerjob-agent2
echo "================== 删除旧镜像 =================="
-docker rmi -f tjqq/oms-server:latest
-docker rmi -f tjqq/oms-agent:latest
-echo "================== 构建 oms-server 镜像 =================="
-docker build -t tjqq/oms-server:latest oh-my-scheduler-server/docker/. || exit
-echo "================== 构建 oms-agent 镜像 =================="
-docker build -t tjqq/oms-agent:latest oh-my-scheduler-worker-agent/. || exit
-echo "================== 准备启动 oms-server =================="
+docker rmi -f tjqq/powerjob-server:latest
+docker rmi -f tjqq/powerjob-agent:latest
+echo "================== 构建 powerjob-server 镜像 =================="
+docker build -t tjqq/powerjob-server:latest powerjob-server/docker/. || exit
+echo "================== 构建 powerjob-agent 镜像 =================="
+docker build -t tjqq/powerjob-agent:latest powerjob-worker-agent/. || exit
+echo "================== 准备启动 powerjob-server =================="
docker run -d \
- --name oms-server \
+ --name powerjob-server \
-p 7700:7700 -p 10086:10086 \
-e PARAMS="--spring.profiles.active=product --spring.datasource.core.jdbc-url=jdbc:mysql://172.27.147.252:3306/oms-product?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8 --spring.data.mongodb.uri=mongodb://172.27.147.252:27017/oms-product" \
- -v ~/docker/oms-server:/root/oms-server -v ~/.m2:/root/.m2 \
- tjqq/oms-server:latest
+ -v ~/docker/powerjob-server:/root/powerjob-server -v ~/.m2:/root/.m2 \
+ tjqq/powerjob-server:latest
sleep 60
-echo "================== 准备启动 oms-client =================="
-serverIP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' oms-server)
+echo "================== 准备启动 powerjob-client =================="
+serverIP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' powerjob-server)
serverAddress="$serverIP:7700"
echo "使用的Server地址:$serverAddress"
-docker run -d -e PARAMS="--app oms-agent-test --server $serverAddress" -p 27777:27777 --name oms-agent -v ~/docker/oms-agent:/root tjqq/oms-agent:latest
-docker run -d -e PARAMS="--app oms-agent-test --server $serverAddress" -p 27778:27777 --name oms-agent2 -v ~/docker/oms-agent2:/root tjqq/oms-agent:latest
+docker run -d -e PARAMS="--app powerjob-agent-test --server $serverAddress" -p 27777:27777 --name powerjob-agent -v ~/docker/powerjob-agent:/root tjqq/powerjob-agent:latest
+docker run -d -e PARAMS="--app powerjob-agent-test --server $serverAddress" -p 27778:27777 --name powerjob-agent2 -v ~/docker/powerjob-agent2:/root tjqq/powerjob-agent:latest
diff --git a/powerjob-common/pom.xml b/powerjob-common/pom.xml
index 403835b7..aa7ebbf5 100644
--- a/powerjob-common/pom.xml
+++ b/powerjob-common/pom.xml
@@ -62,6 +62,12 @@
akka-serialization-jackson_2.13
${akka.version}
+
+ com.typesafe.akka
+ akka-slf4j_2.13
+ ${akka.version}
+
+
diff --git a/powerjob-server/src/main/resources/application-daily.properties b/powerjob-server/src/main/resources/application-daily.properties
index 3a6f60ac..d07ab9ad 100644
--- a/powerjob-server/src/main/resources/application-daily.properties
+++ b/powerjob-server/src/main/resources/application-daily.properties
@@ -3,7 +3,7 @@ logging.config=classpath:logback-dev.xml
####### 数据库配置 #######
spring.datasource.core.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.core.jdbc-url=jdbc:mysql://remotehost:3391/oms-daily?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8
+spring.datasource.core.jdbc-url=jdbc:mysql://remotehost:3391/powerjob-daily?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8
spring.datasource.core.username=root
spring.datasource.core.password=No1Bug2Please3!
spring.datasource.core.hikari.maximum-pool-size=20
diff --git a/powerjob-server/src/main/resources/application-pre.properties b/powerjob-server/src/main/resources/application-pre.properties
index 2a7845ac..3a25034c 100644
--- a/powerjob-server/src/main/resources/application-pre.properties
+++ b/powerjob-server/src/main/resources/application-pre.properties
@@ -3,7 +3,7 @@ logging.config=classpath:logback-product.xml
####### 数据库配置 #######
spring.datasource.core.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.core.jdbc-url=jdbc:mysql://remotehost:3391/oms-pre?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8
+spring.datasource.core.jdbc-url=jdbc:mysql://remotehost:3391/powerjob-pre?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8
spring.datasource.core.username=root
spring.datasource.core.password=No1Bug2Please3!
spring.datasource.core.hikari.maximum-pool-size=20
diff --git a/powerjob-server/src/main/resources/application-product.properties b/powerjob-server/src/main/resources/application-product.properties
index 263bd5a3..d6987df5 100644
--- a/powerjob-server/src/main/resources/application-product.properties
+++ b/powerjob-server/src/main/resources/application-product.properties
@@ -3,7 +3,7 @@ logging.config=classpath:logback-product.xml
####### 数据库配置 #######
spring.datasource.core.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.core.jdbc-url=jdbc:mysql://localhost:3306/oms-product?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8
+spring.datasource.core.jdbc-url=jdbc:mysql://localhost:3306/powerjob-product?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8
spring.datasource.core.username=root
spring.datasource.core.password=No1Bug2Please3!
spring.datasource.core.hikari.maximum-pool-size=20
diff --git a/powerjob-server/src/main/resources/oms-server.akka.conf b/powerjob-server/src/main/resources/oms-server.akka.conf
index 8340bbf5..fe6ab702 100644
--- a/powerjob-server/src/main/resources/oms-server.akka.conf
+++ b/powerjob-server/src/main/resources/oms-server.akka.conf
@@ -1,4 +1,8 @@
akka {
+
+ loggers = ["akka.event.slf4j.Slf4jLogger"]
+ loglevel = "WARNING"
+
actor {
# cluster is better(recommend by official document), but I prefer remote
provider = remote
diff --git a/powerjob-server/src/main/resources/static/img/oms-logo.de87211a.png b/powerjob-server/src/main/resources/static/img/oms-logo.de87211a.png
deleted file mode 100644
index c92c2fff..00000000
Binary files a/powerjob-server/src/main/resources/static/img/oms-logo.de87211a.png and /dev/null differ
diff --git a/powerjob-server/src/main/resources/static/img/powerjob-console-logo.ac01c44b.png b/powerjob-server/src/main/resources/static/img/powerjob-console-logo.ac01c44b.png
new file mode 100644
index 00000000..050d0465
Binary files /dev/null and b/powerjob-server/src/main/resources/static/img/powerjob-console-logo.ac01c44b.png differ
diff --git a/powerjob-server/src/main/resources/static/js/0.js b/powerjob-server/src/main/resources/static/js/0.js
index 73e6e525..ea24a3d8 100644
--- a/powerjob-server/src/main/resources/static/js/0.js
+++ b/powerjob-server/src/main/resources/static/js/0.js
@@ -1,107 +1,5 @@
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[0],{
-/***/ "./node_modules/core-js/internals/array-for-each.js":
-/*!**********************************************************!*\
- !*** ./node_modules/core-js/internals/array-for-each.js ***!
- \**********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\nvar $forEach = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").forEach;\nvar arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ \"./node_modules/core-js/internals/array-method-is-strict.js\");\nvar arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ \"./node_modules/core-js/internals/array-method-uses-to-length.js\");\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-for-each.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/internals/array-iteration.js":
-/*!***********************************************************!*\
- !*** ./node_modules/core-js/internals/array-iteration.js ***!
- \***********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var bind = __webpack_require__(/*! ../internals/function-bind-context */ \"./node_modules/core-js/internals/function-bind-context.js\");\nvar IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ \"./node_modules/core-js/internals/indexed-object.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\nvar arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ \"./node_modules/core-js/internals/array-species-create.js\");\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-iteration.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/internals/array-method-has-species-support.js":
-/*!****************************************************************************!*\
- !*** ./node_modules/core-js/internals/array-method-has-species-support.js ***!
- \****************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ \"./node_modules/core-js/internals/engine-v8-version.js\");\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-method-has-species-support.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/internals/array-method-is-strict.js":
-/*!******************************************************************!*\
- !*** ./node_modules/core-js/internals/array-method-is-strict.js ***!
- \******************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-method-is-strict.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/internals/array-method-uses-to-length.js":
-/*!***********************************************************************!*\
- !*** ./node_modules/core-js/internals/array-method-uses-to-length.js ***!
- \***********************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar has = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-method-uses-to-length.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/internals/array-species-create.js":
-/*!****************************************************************!*\
- !*** ./node_modules/core-js/internals/array-species-create.js ***!
- \****************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar isArray = __webpack_require__(/*! ../internals/is-array */ \"./node_modules/core-js/internals/is-array.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-species-create.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/internals/dom-iterables.js":
-/*!*********************************************************!*\
- !*** ./node_modules/core-js/internals/dom-iterables.js ***!
- \*********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/dom-iterables.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/internals/is-array.js":
-/*!****************************************************!*\
- !*** ./node_modules/core-js/internals/is-array.js ***!
- \****************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/is-array.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/modules/es.array.for-each.js":
-/*!***********************************************************!*\
- !*** ./node_modules/core-js/modules/es.array.for-each.js ***!
- \***********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar forEach = __webpack_require__(/*! ../internals/array-for-each */ \"./node_modules/core-js/internals/array-for-each.js\");\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.for-each.js?");
-
-/***/ }),
-
/***/ "./node_modules/core-js/modules/es.array.map.js":
/*!******************************************************!*\
!*** ./node_modules/core-js/modules/es.array.map.js ***!
@@ -114,17 +12,6 @@ eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/
/***/ }),
-/***/ "./node_modules/core-js/modules/web.dom-collections.for-each.js":
-/*!**********************************************************************!*\
- !*** ./node_modules/core-js/modules/web.dom-collections.for-each.js ***!
- \**********************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ \"./node_modules/core-js/internals/dom-iterables.js\");\nvar forEach = __webpack_require__(/*! ../internals/array-for-each */ \"./node_modules/core-js/internals/array-for-each.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js?");
-
-/***/ }),
-
/***/ "./node_modules/d3-array/src/array.js":
/*!********************************************!*\
!*** ./node_modules/d3-array/src/array.js ***!
diff --git a/powerjob-server/src/main/resources/static/js/1.js b/powerjob-server/src/main/resources/static/js/1.js
index c422ad74..bc9688bc 100644
--- a/powerjob-server/src/main/resources/static/js/1.js
+++ b/powerjob-server/src/main/resources/static/js/1.js
@@ -12,15 +12,15 @@ eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n/
/***/ }),
-/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"dddd77cc-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/common/InstanceDetail.vue?vue&type=template&id=44a86d2a&scoped=true&":
+/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"41f1f4da-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/common/InstanceDetail.vue?vue&type=template&id=44a86d2a&scoped=true&":
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"dddd77cc-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/common/InstanceDetail.vue?vue&type=template&id=44a86d2a&scoped=true& ***!
+ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"41f1f4da-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/common/InstanceDetail.vue?vue&type=template&id=44a86d2a&scoped=true& ***!
\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { offset: 20 } },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.fetchInstanceDetail }\n },\n [_vm._v(\"刷新\")]\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\"el-col\", { attrs: { span: 24 } }, [\n _vm._v(\" 任务实例ID: \"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(_vm._s(_vm.instanceId))\n ])\n ])\n ],\n 1\n ),\n _c(\n \"el-row\",\n { staticStyle: { \"margin-top\": \"-20px\" } },\n [\n _c(\"el-col\", { attrs: { span: 8 } }, [\n _vm._v(\" 状态: \"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(_vm._s(_vm.instanceDetail.status))\n ])\n ]),\n _c(\"el-col\", { attrs: { span: 16 } }, [\n _vm._v(\" 运行次数:\"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(_vm._s(_vm.instanceDetail.runningTimes))\n ])\n ])\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\"el-col\", { attrs: { span: 24 } }, [\n _vm._v(\" TaskTracker地址: \"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\" \" + _vm._s(_vm.instanceDetail.taskTrackerAddress))\n ])\n ])\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\"el-col\", { attrs: { span: 8 } }, [\n _vm._v(\" 开始时间: \"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\n \" \" +\n _vm._s(\n this.common.timestamp2Str(\n _vm.instanceDetail.actualTriggerTime\n )\n )\n )\n ])\n ]),\n _c(\"el-col\", { attrs: { span: 8 } }, [\n _vm._v(\" 结束时间: \"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\n _vm._s(\n this.common.timestamp2Str(_vm.instanceDetail.finishedTime)\n )\n )\n ])\n ])\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\"el-col\", { attrs: { span: 24 } }, [\n _vm._v(\" 运行结果: \"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\" \" + _vm._s(_vm.instanceDetail.result))\n ])\n ])\n ],\n 1\n ),\n _c(\"el-row\", { attrs: { id: \"taskDetail\" } }, [\n _vm._v(\" 子任务数据: \"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(_vm._s(_vm.instanceDetail.taskDetail))\n ])\n ]),\n _c(\n \"el-row\",\n [\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\"最近10条秒级任务历史记录:\")\n ]),\n _c(\n \"el-table\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { data: _vm.instanceDetail.subInstanceDetails }\n },\n [\n _c(\"el-table-column\", {\n attrs: {\n prop: \"subInstanceId\",\n label: \"子实例ID\",\n width: \"100\"\n }\n }),\n _c(\"el-table-column\", {\n attrs: { prop: \"startTime\", label: \"开始时间\", width: \"160\" }\n }),\n _c(\"el-table-column\", {\n attrs: { prop: \"finishedTime\", label: \"结束时间\", width: \"160\" }\n }),\n _c(\"el-table-column\", {\n attrs: { prop: \"status\", label: \"运行状态\", width: \"100\" }\n }),\n _c(\"el-table-column\", {\n attrs: { prop: \"result\", label: \"运行结果\" }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/common/InstanceDetail.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22dddd77cc-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { offset: 20 } },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.fetchInstanceDetail }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.refresh\")))]\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\"el-col\", { attrs: { span: 24 } }, [\n _vm._v(\" \" + _vm._s(_vm.$t(\"message.instanceId\")) + \": \"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(_vm._s(_vm.instanceId))\n ])\n ])\n ],\n 1\n ),\n _c(\n \"el-row\",\n { staticStyle: { \"margin-top\": \"-20px\" } },\n [\n _c(\"el-col\", { attrs: { span: 8 } }, [\n _vm._v(\" \" + _vm._s(_vm.$t(\"message.status\")) + \": \"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\n _vm._s(\n this.common.translateInstanceStatus(_vm.instanceDetail.status)\n )\n )\n ])\n ]),\n _c(\"el-col\", { attrs: { span: 16 } }, [\n _vm._v(\" \" + _vm._s(_vm.$t(\"message.runningTimes\")) + \":\"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(_vm._s(_vm.instanceDetail.runningTimes))\n ])\n ])\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\"el-col\", { attrs: { span: 24 } }, [\n _vm._v(\" \" + _vm._s(_vm.$t(\"message.taskTrackerAddress\")) + \": \"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\" \" + _vm._s(_vm.instanceDetail.taskTrackerAddress))\n ])\n ])\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\"el-col\", { attrs: { span: 8 } }, [\n _vm._v(\" \" + _vm._s(_vm.$t(\"message.startTime\")) + \": \"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\n \" \" +\n _vm._s(\n this.common.timestamp2Str(\n _vm.instanceDetail.actualTriggerTime\n )\n )\n )\n ])\n ]),\n _c(\"el-col\", { attrs: { span: 8 } }, [\n _vm._v(\" \" + _vm._s(_vm.$t(\"message.finishedTime\")) + \": \"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\n _vm._s(\n this.common.timestamp2Str(_vm.instanceDetail.finishedTime)\n )\n )\n ])\n ])\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\"el-col\", { attrs: { span: 24 } }, [\n _vm._v(\" \" + _vm._s(_vm.$t(\"message.result\")) + \": \"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\" \" + _vm._s(_vm.instanceDetail.result))\n ])\n ])\n ],\n 1\n ),\n _c(\"el-row\", { attrs: { id: \"taskDetail\" } }, [\n _vm._v(\" \" + _vm._s(_vm.$t(\"message.subTaskInfo\")) + \": \"),\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(_vm._s(_vm.instanceDetail.taskDetail))\n ])\n ]),\n _c(\n \"el-row\",\n [\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.secondlyJobHistory\")) + \":\")\n ]),\n _c(\n \"el-table\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { data: _vm.instanceDetail.subInstanceDetails }\n },\n [\n _c(\"el-table-column\", {\n attrs: {\n prop: \"subInstanceId\",\n label: _vm.$t(\"message.subInstanceId\"),\n width: \"120\"\n }\n }),\n _c(\"el-table-column\", {\n attrs: {\n prop: \"startTime\",\n label: _vm.$t(\"message.startTime\"),\n width: \"160\"\n }\n }),\n _c(\"el-table-column\", {\n attrs: {\n prop: \"finishedTime\",\n label: _vm.$t(\"message.finishedTime\"),\n width: \"160\"\n }\n }),\n _c(\"el-table-column\", {\n attrs: {\n prop: \"status\",\n label: _vm.$t(\"message.status\"),\n width: \"160\"\n }\n }),\n _c(\"el-table-column\", {\n attrs: { prop: \"result\", label: _vm.$t(\"message.result\") }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/common/InstanceDetail.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2241f1f4da-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
@@ -90,7 +90,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InstanceDetail_vue_vue_type_template_id_44a86d2a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"dddd77cc-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib??vue-loader-options!./InstanceDetail.vue?vue&type=template&id=44a86d2a&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"dddd77cc-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/common/InstanceDetail.vue?vue&type=template&id=44a86d2a&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InstanceDetail_vue_vue_type_template_id_44a86d2a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InstanceDetail_vue_vue_type_template_id_44a86d2a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/common/InstanceDetail.vue?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InstanceDetail_vue_vue_type_template_id_44a86d2a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"41f1f4da-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib??vue-loader-options!./InstanceDetail.vue?vue&type=template&id=44a86d2a&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"41f1f4da-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/common/InstanceDetail.vue?vue&type=template&id=44a86d2a&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InstanceDetail_vue_vue_type_template_id_44a86d2a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InstanceDetail_vue_vue_type_template_id_44a86d2a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/common/InstanceDetail.vue?");
/***/ })
diff --git a/powerjob-server/src/main/resources/static/js/10.js b/powerjob-server/src/main/resources/static/js/10.js
index 1d8d5d11..2764670c 100644
--- a/powerjob-server/src/main/resources/static/js/10.js
+++ b/powerjob-server/src/main/resources/static/js/10.js
@@ -8,19 +8,19 @@
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"JobManager\",\n data: function data() {\n return {\n modifiedJobFormVisible: false,\n // 新建任务对象\n modifiedJobForm: {\n id: undefined,\n jobName: \"\",\n jobDescription: \"\",\n appId: this.$store.state.appInfo.id,\n jobParams: \"\",\n timeExpressionType: \"\",\n timeExpression: \"\",\n executeType: \"\",\n processorType: \"\",\n processorInfo: \"\",\n maxInstanceNum: 1,\n concurrency: 5,\n instanceTimeLimit: 0,\n instanceRetryNum: 0,\n taskRetryNum: 1,\n minCpuCores: 0,\n minMemorySpace: 0,\n minDiskSpace: 0,\n enable: true,\n designatedWorkers: \"\",\n maxWorkerCount: 0,\n notifyUserIds: []\n },\n // 任务查询请求对象\n jobQueryContent: {\n appId: this.$store.state.appInfo.id,\n index: 0,\n pageSize: 10,\n jobId: undefined,\n keyword: undefined\n },\n // 任务列表(查询结果),包含index、pageSize、totalPages、totalItems、data(List类型)\n jobInfoPageResult: {\n pageSize: 10,\n totalItems: 0,\n data: []\n },\n // 时间表达式选择类型\n timeExpressionTypeOptions: [{\n key: \"API\",\n label: \"API\"\n }, {\n key: \"CRON\",\n label: \"CRON\"\n }, {\n key: \"FIX_RATE\",\n label: \"固定频率(单位毫秒)\"\n }, {\n key: \"FIX_DELAY\",\n label: \"固定延迟(单位毫秒)\"\n }, {\n key: \"WORKFLOW\",\n label: \"工作流\"\n }],\n // 处理器类型\n processorTypeOptions: [{\n key: \"EMBEDDED_JAVA\",\n label: \"内置JAVA处理器\"\n }, {\n key: \"JAVA_CONTAINER\",\n label: \"JAVA容器\"\n }, {\n key: \"SHELL\",\n label: \"Shell脚本处理器\"\n }, {\n key: \"PYTHON\",\n label: \"Python处理器\"\n }],\n // 执行方式类型\n executeTypeOptions: [{\n key: \"STANDALONE\",\n label: \"单机执行\"\n }, {\n key: \"BROADCAST\",\n label: \"广播执行\"\n }, {\n key: \"MAP\",\n label: \"Map执行\"\n }, {\n key: \"MAP_REDUCE\",\n label: \"MapReduce执行\"\n }],\n // 用户列表\n userList: []\n };\n },\n methods: {\n // 保存变更,包括新增和修改\n saveJob: function saveJob() {\n var that = this;\n this.axios.post(\"/job/save\", this.modifiedJobForm).then(function () {\n that.modifiedJobFormVisible = false;\n that.$message.success(\"保存成功!\"); // 重新加载数据\n\n that.listJobInfos();\n }, function () {\n return that.modifiedJobFormVisible = false;\n });\n },\n // 列出符合当前搜索条件的任务\n listJobInfos: function listJobInfos() {\n var that = this;\n this.axios.post(\"/job/list\", this.jobQueryContent).then(function (res) {\n that.jobInfoPageResult = res;\n });\n },\n // 修改任务状态\n changeJobStatus: function changeJobStatus(data) {\n // switch 会自动更改 enable 的值\n var that = this;\n\n if (data.enable === false) {\n // 仅有,有特殊逻辑(关闭秒级任务),走单独接口\n that.axios.get(\"/job/disable?jobId=\" + data.id).then(function () {\n return that.listJobInfos();\n });\n } else {\n // 启用,则发起正常的保存操作\n this.modifiedJobForm = data;\n this.saveJob();\n }\n },\n // 新增任务,去除旧数据\n onClickNewJob: function onClickNewJob() {\n this.modifiedJobForm.id = undefined;\n this.modifiedJobForm.jobName = undefined;\n this.modifiedJobForm.jobDescription = undefined;\n this.modifiedJobForm.jobParams = undefined;\n this.modifiedJobForm.timeExpression = undefined;\n this.modifiedJobForm.timeExpressionType = undefined;\n this.modifiedJobForm.processorInfo = undefined;\n this.modifiedJobForm.processorType = undefined;\n this.modifiedJobForm.executeType = undefined;\n this.modifiedJobFormVisible = true;\n },\n // 点击 编辑按钮\n onClickModify: function onClickModify(data) {\n // 修复点击编辑后再点击新增 行数据被清空 的问题\n this.modifiedJobForm = JSON.parse(JSON.stringify(data));\n this.modifiedJobFormVisible = true;\n },\n // 点击 立即运行按钮\n onClickRun: function onClickRun(data) {\n var that = this;\n var url = \"/job/run?jobId=\" + data.id;\n this.axios.get(url).then(function () {\n return that.$message.success(\"触发成功\");\n });\n },\n // 点击 删除任务\n onClickDeleteJob: function onClickDeleteJob(data) {\n var that = this;\n var url = \"/job/delete?jobId=\" + data.id;\n this.axios.get(url).then(function () {\n that.$message.success(\"删除成功\");\n that.listJobInfos();\n });\n },\n // 点击 换页\n onClickChangePage: function onClickChangePage(index) {\n // 后端从0开始,前端从1开始\n this.jobQueryContent.index = index - 1;\n this.listJobInfos();\n },\n // 点击重置按钮\n onClickReset: function onClickReset() {\n this.jobQueryContent.keyword = undefined;\n this.jobQueryContent.jobId = undefined;\n },\n verifyPlaceholder: function verifyPlaceholder(processorType) {\n var res;\n\n switch (processorType) {\n case \"EMBEDDED_JAVA\":\n res = \"全限定类名,eg:com.github.kfcfans.DemoProcessor\";\n break;\n\n case \"JAVA_CONTAINER\":\n res = \"容器ID#全限定类名,eg:1#com.github.kfcfans.DemoProcessor\";\n break;\n\n case \"SHELL\":\n res = \"SHELL脚本文件内容\";\n break;\n\n case \"PYTHON\":\n res = \"Python脚本文件内容\";\n }\n\n return res;\n }\n },\n mounted: function mounted() {\n // 加载用户信息\n var that = this;\n that.axios.get(\"/user/list\").then(function (res) {\n return that.userList = res;\n }); // 加载任务信息\n\n this.listJobInfos();\n }\n});\n\n//# sourceURL=webpack:///./src/components/views/JobManager.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
+eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"JobManager\",\n data: function data() {\n return {\n modifiedJobFormVisible: false,\n // 新建任务对象\n modifiedJobForm: {\n id: undefined,\n jobName: \"\",\n jobDescription: \"\",\n appId: this.$store.state.appInfo.id,\n jobParams: \"\",\n timeExpressionType: \"\",\n timeExpression: \"\",\n executeType: \"\",\n processorType: \"\",\n processorInfo: \"\",\n maxInstanceNum: 1,\n concurrency: 5,\n instanceTimeLimit: 0,\n instanceRetryNum: 0,\n taskRetryNum: 1,\n minCpuCores: 0,\n minMemorySpace: 0,\n minDiskSpace: 0,\n enable: true,\n designatedWorkers: \"\",\n maxWorkerCount: 0,\n notifyUserIds: []\n },\n // 任务查询请求对象\n jobQueryContent: {\n appId: this.$store.state.appInfo.id,\n index: 0,\n pageSize: 10,\n jobId: undefined,\n keyword: undefined\n },\n // 任务列表(查询结果),包含index、pageSize、totalPages、totalItems、data(List类型)\n jobInfoPageResult: {\n pageSize: 10,\n totalItems: 0,\n data: []\n },\n // 时间表达式选择类型\n timeExpressionTypeOptions: [{\n key: \"API\",\n label: \"API\"\n }, {\n key: \"CRON\",\n label: \"CRON\"\n }, {\n key: \"FIX_RATE\",\n label: this.$t('message.fixRate')\n }, {\n key: \"FIX_DELAY\",\n label: this.$t('message.fixDelay')\n }, {\n key: \"WORKFLOW\",\n label: this.$t('message.workflow')\n }],\n // 处理器类型\n processorTypeOptions: [{\n key: \"EMBEDDED_JAVA\",\n label: \"JAVA\"\n }, {\n key: \"JAVA_CONTAINER\",\n label: this.$t('message.javaContainer')\n }, {\n key: \"SHELL\",\n label: \"SHELL\"\n }, {\n key: \"PYTHON\",\n label: \"PYTHON\"\n }],\n // 执行方式类型\n executeTypeOptions: [{\n key: \"STANDALONE\",\n label: this.$t('message.standalone')\n }, {\n key: \"BROADCAST\",\n label: this.$t('message.broadcast')\n }, {\n key: \"MAP\",\n label: this.$t('message.map')\n }, {\n key: \"MAP_REDUCE\",\n label: this.$t('message.mapReduce')\n }],\n // 用户列表\n userList: []\n };\n },\n methods: {\n // 保存变更,包括新增和修改\n saveJob: function saveJob() {\n var _this = this;\n\n var that = this;\n this.axios.post(\"/job/save\", this.modifiedJobForm).then(function () {\n that.modifiedJobFormVisible = false;\n that.$message.success(_this.$t('message.success')); // 重新加载数据\n\n that.listJobInfos();\n }, function () {\n return that.modifiedJobFormVisible = false;\n });\n },\n // 列出符合当前搜索条件的任务\n listJobInfos: function listJobInfos() {\n var that = this;\n this.axios.post(\"/job/list\", this.jobQueryContent).then(function (res) {\n that.jobInfoPageResult = res;\n });\n },\n // 修改任务状态\n changeJobStatus: function changeJobStatus(data) {\n // switch 会自动更改 enable 的值\n var that = this;\n\n if (data.enable === false) {\n // 仅有,有特殊逻辑(关闭秒级任务),走单独接口\n that.axios.get(\"/job/disable?jobId=\" + data.id).then(function () {\n return that.listJobInfos();\n });\n } else {\n // 启用,则发起正常的保存操作\n this.modifiedJobForm = data;\n this.saveJob();\n }\n },\n // 新增任务,去除旧数据\n onClickNewJob: function onClickNewJob() {\n this.modifiedJobForm.id = undefined;\n this.modifiedJobForm.jobName = undefined;\n this.modifiedJobForm.jobDescription = undefined;\n this.modifiedJobForm.jobParams = undefined;\n this.modifiedJobForm.timeExpression = undefined;\n this.modifiedJobForm.timeExpressionType = undefined;\n this.modifiedJobForm.processorInfo = undefined;\n this.modifiedJobForm.processorType = undefined;\n this.modifiedJobForm.executeType = undefined;\n this.modifiedJobFormVisible = true;\n },\n // 点击 编辑按钮\n onClickModify: function onClickModify(data) {\n // 修复点击编辑后再点击新增 行数据被清空 的问题\n this.modifiedJobForm = JSON.parse(JSON.stringify(data));\n this.modifiedJobFormVisible = true;\n },\n // 点击 立即运行按钮\n onClickRun: function onClickRun(data) {\n var _this2 = this;\n\n var that = this;\n var url = \"/job/run?jobId=\" + data.id;\n this.axios.get(url).then(function () {\n return that.$message.success(_this2.$t('message.success'));\n });\n },\n // 点击 删除任务\n onClickDeleteJob: function onClickDeleteJob(data) {\n var _this3 = this;\n\n var that = this;\n var url = \"/job/delete?jobId=\" + data.id;\n this.axios.get(url).then(function () {\n that.$message.success(_this3.$t('message.success'));\n that.listJobInfos();\n });\n },\n // 点击 换页\n onClickChangePage: function onClickChangePage(index) {\n // 后端从0开始,前端从1开始\n this.jobQueryContent.index = index - 1;\n this.listJobInfos();\n },\n // 点击重置按钮\n onClickReset: function onClickReset() {\n this.jobQueryContent.keyword = undefined;\n this.jobQueryContent.jobId = undefined;\n this.listJobInfos();\n },\n verifyPlaceholder: function verifyPlaceholder(processorType) {\n var res;\n\n switch (processorType) {\n case \"EMBEDDED_JAVA\":\n res = this.$t('message.javaProcessorInfoPLH');\n break;\n\n case \"JAVA_CONTAINER\":\n res = this.$t('message.containerProcessorInfoPLH');\n break;\n\n case \"SHELL\":\n res = this.$t('message.shellProcessorInfoPLH');\n break;\n\n case \"PYTHON\":\n res = this.$t('message.pythonProcessorInfoPLH');\n }\n\n return res;\n },\n // 翻译执行类型\n translateExecuteType: function translateExecuteType(executeType) {\n switch (executeType) {\n case \"STANDALONE\":\n return this.$t('message.standalone');\n\n case \"BROADCAST\":\n return this.$t('message.broadcast');\n\n case \"MAP_REDUCE\":\n return this.$t('message.mapReduce');\n\n case \"MAP\":\n return this.$t('message.map');\n\n default:\n return \"UNKNOWN\";\n }\n },\n // 翻译处理器类型\n translateProcessorType: function translateProcessorType(processorType) {\n if (processorType === \"JAVA_CONTAINER\") {\n return this.$t('message.javaContainer');\n }\n\n return processorType;\n }\n },\n mounted: function mounted() {\n // 加载用户信息\n var that = this;\n that.axios.get(\"/user/list\").then(function (res) {\n return that.userList = res;\n }); // 加载任务信息\n\n this.listJobInfos();\n }\n});\n\n//# sourceURL=webpack:///./src/components/views/JobManager.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
-/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"dddd77cc-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/JobManager.vue?vue&type=template&id=392659be&scoped=true&":
+/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"41f1f4da-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/JobManager.vue?vue&type=template&id=392659be&scoped=true&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"dddd77cc-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/views/JobManager.vue?vue&type=template&id=392659be&scoped=true& ***!
+ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"41f1f4da-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/views/JobManager.vue?vue&type=template&id=392659be&scoped=true& ***!
\*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"job_manager\" } },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 20 } },\n [\n _c(\n \"el-form\",\n {\n staticClass: \"el-form--inline\",\n attrs: { inline: true, model: _vm.jobQueryContent }\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"任务ID\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"任务ID\" },\n model: {\n value: _vm.jobQueryContent.jobId,\n callback: function($$v) {\n _vm.$set(_vm.jobQueryContent, \"jobId\", $$v)\n },\n expression: \"jobQueryContent.jobId\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"关键字\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"关键字\" },\n model: {\n value: _vm.jobQueryContent.keyword,\n callback: function($$v) {\n _vm.$set(_vm.jobQueryContent, \"keyword\", $$v)\n },\n expression: \"jobQueryContent.keyword\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.listJobInfos }\n },\n [_vm._v(\"查询\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: { type: \"cancel\" },\n on: { click: _vm.onClickReset }\n },\n [_vm._v(\"重置\")]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\"el-col\", { attrs: { span: 4 } }, [\n _c(\n \"div\",\n { staticStyle: { float: \"right\", \"padding-right\": \"10px\" } },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.onClickNewJob }\n },\n [_vm._v(\"新建任务\")]\n )\n ],\n 1\n )\n ])\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\n \"el-table\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { data: _vm.jobInfoPageResult.data }\n },\n [\n _c(\"el-table-column\", {\n attrs: { prop: \"id\", label: \"任务ID\", width: \"80\" }\n }),\n _c(\"el-table-column\", {\n attrs: { prop: \"jobName\", label: \"任务名称\" }\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"定时信息\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _vm._v(\n \" \" +\n _vm._s(scope.row.timeExpressionType) +\n \" \" +\n _vm._s(scope.row.timeExpression) +\n \" \"\n )\n ]\n }\n }\n ])\n }),\n _c(\"el-table-column\", {\n attrs: { prop: \"executeType\", label: \"执行类型\" }\n }),\n _c(\"el-table-column\", {\n attrs: { prop: \"processorType\", label: \"处理器类型\" }\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"状态\", width: \"80\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _c(\"el-switch\", {\n attrs: {\n \"active-color\": \"#13ce66\",\n \"inactive-color\": \"#ff4949\"\n },\n on: {\n change: function($event) {\n return _vm.changeJobStatus(scope.row)\n }\n },\n model: {\n value: scope.row.enable,\n callback: function($$v) {\n _vm.$set(scope.row, \"enable\", $$v)\n },\n expression: \"scope.row.enable\"\n }\n })\n ]\n }\n }\n ])\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"操作\", width: \"300\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\" },\n on: {\n click: function($event) {\n return _vm.onClickModify(scope.row)\n }\n }\n },\n [_vm._v(\"编辑\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\" },\n on: {\n click: function($event) {\n return _vm.onClickRun(scope.row)\n }\n }\n },\n [_vm._v(\"运行\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\", type: \"danger\" },\n on: {\n click: function($event) {\n return _vm.onClickDeleteJob(scope.row)\n }\n }\n },\n [_vm._v(\"删除\")]\n )\n ]\n }\n }\n ])\n })\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\"el-pagination\", {\n attrs: {\n layout: \"prev, pager, next\",\n total: this.jobInfoPageResult.totalItems,\n \"page-size\": this.jobInfoPageResult.pageSize,\n \"hide-on-single-page\": true\n },\n on: { \"current-change\": _vm.onClickChangePage }\n })\n ],\n 1\n ),\n _c(\n \"el-dialog\",\n {\n attrs: {\n title: \"新建/修改任务\",\n visible: _vm.modifiedJobFormVisible\n },\n on: {\n \"update:visible\": function($event) {\n _vm.modifiedJobFormVisible = $event\n }\n }\n },\n [\n _c(\n \"el-form\",\n { attrs: { model: _vm.modifiedJobForm, \"label-width\": \"80px\" } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"任务名称\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.modifiedJobForm.jobName,\n callback: function($$v) {\n _vm.$set(_vm.modifiedJobForm, \"jobName\", $$v)\n },\n expression: \"modifiedJobForm.jobName\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"任务描述\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.modifiedJobForm.jobDescription,\n callback: function($$v) {\n _vm.$set(_vm.modifiedJobForm, \"jobDescription\", $$v)\n },\n expression: \"modifiedJobForm.jobDescription\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"任务参数\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.modifiedJobForm.jobParams,\n callback: function($$v) {\n _vm.$set(_vm.modifiedJobForm, \"jobParams\", $$v)\n },\n expression: \"modifiedJobForm.jobParams\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"定时信息\" } },\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-select\",\n {\n attrs: { placeholder: \"时间表达式类型\" },\n model: {\n value: _vm.modifiedJobForm.timeExpressionType,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"timeExpressionType\",\n $$v\n )\n },\n expression: \"modifiedJobForm.timeExpressionType\"\n }\n },\n _vm._l(_vm.timeExpressionTypeOptions, function(\n item\n ) {\n return _c(\"el-option\", {\n key: item.key,\n attrs: { label: item.label, value: item.key }\n })\n }),\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 16 } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder:\n \"CRON填写CRON表达式,秒级任务填写整数,API无需填写\"\n },\n model: {\n value: _vm.modifiedJobForm.timeExpression,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"timeExpression\",\n $$v\n )\n },\n expression: \"modifiedJobForm.timeExpression\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"执行配置\" } },\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { span: 5 } },\n [\n _c(\n \"el-select\",\n {\n attrs: { placeholder: \"执行类型\" },\n model: {\n value: _vm.modifiedJobForm.executeType,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"executeType\",\n $$v\n )\n },\n expression: \"modifiedJobForm.executeType\"\n }\n },\n _vm._l(_vm.executeTypeOptions, function(item) {\n return _c(\"el-option\", {\n key: item.key,\n attrs: { label: item.label, value: item.key }\n })\n }),\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-select\",\n {\n attrs: { placeholder: \"处理器类型\" },\n model: {\n value: _vm.modifiedJobForm.processorType,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"processorType\",\n $$v\n )\n },\n expression: \"modifiedJobForm.processorType\"\n }\n },\n _vm._l(_vm.processorTypeOptions, function(item) {\n return _c(\"el-option\", {\n key: item.key,\n attrs: { label: item.label, value: item.key }\n })\n }),\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 13 } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: _vm.verifyPlaceholder(\n _vm.modifiedJobForm.processorType\n )\n },\n model: {\n value: _vm.modifiedJobForm.processorInfo,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"processorInfo\",\n $$v\n )\n },\n expression: \"modifiedJobForm.processorInfo\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"运行配置\" } },\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: { placeholder: \"最大实例数\" },\n model: {\n value: _vm.modifiedJobForm.maxInstanceNum,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"maxInstanceNum\",\n $$v\n )\n },\n expression: \"modifiedJobForm.maxInstanceNum\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(\"最大实例数\")\n ])\n ],\n 2\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: { placeholder: \"单机线程并发度\" },\n model: {\n value: _vm.modifiedJobForm.concurrency,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"concurrency\",\n $$v\n )\n },\n expression: \"modifiedJobForm.concurrency\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(\"单机线程并发度\")\n ])\n ],\n 2\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: { placeholder: \"运行时间限制\" },\n model: {\n value: _vm.modifiedJobForm.instanceTimeLimit,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"instanceTimeLimit\",\n $$v\n )\n },\n expression: \"modifiedJobForm.instanceTimeLimit\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(\"运行时间限制\")\n ])\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"重试配置\" } },\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { span: 12 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: { placeholder: \"任务重试次数\" },\n model: {\n value: _vm.modifiedJobForm.instanceRetryNum,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"instanceRetryNum\",\n $$v\n )\n },\n expression: \"modifiedJobForm.instanceRetryNum\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(\"任务重试次数\")\n ])\n ],\n 2\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 12 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: {\n placeholder: \"仅MR和广播执行模式下生效\"\n },\n model: {\n value: _vm.modifiedJobForm.taskRetryNum,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"taskRetryNum\",\n $$v\n )\n },\n expression: \"modifiedJobForm.taskRetryNum\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(\"子任务重试次数\")\n ])\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"机器配置\" } },\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: { placeholder: \"最低CPU核心数\" },\n model: {\n value: _vm.modifiedJobForm.minCpuCores,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"minCpuCores\",\n $$v\n )\n },\n expression: \"modifiedJobForm.minCpuCores\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(\"最低CPU核心数\")\n ])\n ],\n 2\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: { placeholder: \"最低内存(GB)\" },\n model: {\n value: _vm.modifiedJobForm.minMemorySpace,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"minMemorySpace\",\n $$v\n )\n },\n expression: \"modifiedJobForm.minMemorySpace\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(\"最低内存(GB\")\n ])\n ],\n 2\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: { placeholder: \"最低磁盘空间(GB)\" },\n model: {\n value: _vm.modifiedJobForm.minDiskSpace,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"minDiskSpace\",\n $$v\n )\n },\n expression: \"modifiedJobForm.minDiskSpace\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(\"最低磁盘空间\")\n ])\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"集群配置\" } },\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { span: 16 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: {\n placeholder:\n \"执行机器地址(可选,不指定代表全部;多值英文逗号分割)\"\n },\n model: {\n value: _vm.modifiedJobForm.designatedWorkers,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"designatedWorkers\",\n $$v\n )\n },\n expression: \"modifiedJobForm.designatedWorkers\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(\"执行机器地址\")\n ])\n ],\n 2\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: {\n placeholder: \"最大执行机器数量(0代表不限)\"\n },\n model: {\n value: _vm.modifiedJobForm.maxWorkerCount,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"maxWorkerCount\",\n $$v\n )\n },\n expression: \"modifiedJobForm.maxWorkerCount\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(\"最大执行机器数量\")\n ])\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"报警配置\" } },\n [\n _c(\n \"el-select\",\n {\n attrs: {\n multiple: \"\",\n filterable: \"\",\n placeholder: \"选择报警通知人员\"\n },\n model: {\n value: _vm.modifiedJobForm.notifyUserIds,\n callback: function($$v) {\n _vm.$set(_vm.modifiedJobForm, \"notifyUserIds\", $$v)\n },\n expression: \"modifiedJobForm.notifyUserIds\"\n }\n },\n _vm._l(_vm.userList, function(user) {\n return _c(\"el-option\", {\n key: user.id,\n attrs: { label: user.username, value: user.id }\n })\n }),\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n { attrs: { type: \"primary\" }, on: { click: _vm.saveJob } },\n [_vm._v(\"保存\")]\n ),\n _c(\n \"el-button\",\n {\n on: {\n click: function($event) {\n _vm.modifiedJobFormVisible = false\n }\n }\n },\n [_vm._v(\"取消\")]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/views/JobManager.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22dddd77cc-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"job_manager\" } },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 20 } },\n [\n _c(\n \"el-form\",\n {\n staticClass: \"el-form--inline\",\n attrs: { inline: true, model: _vm.jobQueryContent }\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.jobId\") } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: _vm.$t(\"message.jobId\") },\n model: {\n value: _vm.jobQueryContent.jobId,\n callback: function($$v) {\n _vm.$set(_vm.jobQueryContent, \"jobId\", $$v)\n },\n expression: \"jobQueryContent.jobId\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.keyword\") } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: _vm.$t(\"message.keyword\") },\n model: {\n value: _vm.jobQueryContent.keyword,\n callback: function($$v) {\n _vm.$set(_vm.jobQueryContent, \"keyword\", $$v)\n },\n expression: \"jobQueryContent.keyword\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.listJobInfos }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.query\")))]\n ),\n _c(\n \"el-button\",\n {\n attrs: { type: \"cancel\" },\n on: { click: _vm.onClickReset }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.reset\")))]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\"el-col\", { attrs: { span: 4 } }, [\n _c(\n \"div\",\n { staticStyle: { float: \"right\", \"padding-right\": \"10px\" } },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.onClickNewJob }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.newJob\")))]\n )\n ],\n 1\n )\n ])\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\n \"el-table\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { data: _vm.jobInfoPageResult.data }\n },\n [\n _c(\"el-table-column\", {\n attrs: {\n prop: \"id\",\n label: _vm.$t(\"message.jobId\"),\n width: \"80\"\n }\n }),\n _c(\"el-table-column\", {\n attrs: { prop: \"jobName\", label: _vm.$t(\"message.jobName\") }\n }),\n _c(\"el-table-column\", {\n attrs: { label: _vm.$t(\"message.scheduleInfo\") },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _vm._v(\n \" \" +\n _vm._s(scope.row.timeExpressionType) +\n \" \" +\n _vm._s(scope.row.timeExpression) +\n \" \"\n )\n ]\n }\n }\n ])\n }),\n _c(\"el-table-column\", {\n attrs: { label: _vm.$t(\"message.executeType\") },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _vm._v(\n \" \" +\n _vm._s(\n _vm.translateExecuteType(scope.row.executeType)\n ) +\n \" \"\n )\n ]\n }\n }\n ])\n }),\n _c(\"el-table-column\", {\n attrs: { label: _vm.$t(\"message.processorType\") },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _vm._v(\n \" \" +\n _vm._s(\n _vm.translateProcessorType(\n scope.row.processorType\n )\n ) +\n \" \"\n )\n ]\n }\n }\n ])\n }),\n _c(\"el-table-column\", {\n attrs: { label: _vm.$t(\"message.status\"), width: \"80\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _c(\"el-switch\", {\n attrs: {\n \"active-color\": \"#13ce66\",\n \"inactive-color\": \"#ff4949\"\n },\n on: {\n change: function($event) {\n return _vm.changeJobStatus(scope.row)\n }\n },\n model: {\n value: scope.row.enable,\n callback: function($$v) {\n _vm.$set(scope.row, \"enable\", $$v)\n },\n expression: \"scope.row.enable\"\n }\n })\n ]\n }\n }\n ])\n }),\n _c(\"el-table-column\", {\n attrs: { label: _vm.$t(\"message.operation\"), width: \"300\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\" },\n on: {\n click: function($event) {\n return _vm.onClickModify(scope.row)\n }\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.edit\")))]\n ),\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\" },\n on: {\n click: function($event) {\n return _vm.onClickRun(scope.row)\n }\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.run\")))]\n ),\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\", type: \"danger\" },\n on: {\n click: function($event) {\n return _vm.onClickDeleteJob(scope.row)\n }\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.delete\")))]\n )\n ]\n }\n }\n ])\n })\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\"el-pagination\", {\n attrs: {\n layout: \"prev, pager, next\",\n total: this.jobInfoPageResult.totalItems,\n \"page-size\": this.jobInfoPageResult.pageSize,\n \"hide-on-single-page\": true\n },\n on: { \"current-change\": _vm.onClickChangePage }\n })\n ],\n 1\n ),\n _c(\n \"el-dialog\",\n {\n attrs: { visible: _vm.modifiedJobFormVisible, width: \"60%\" },\n on: {\n \"update:visible\": function($event) {\n _vm.modifiedJobFormVisible = $event\n }\n }\n },\n [\n _c(\n \"el-form\",\n { attrs: { model: _vm.modifiedJobForm, \"label-width\": \"120px\" } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.jobName\") } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.modifiedJobForm.jobName,\n callback: function($$v) {\n _vm.$set(_vm.modifiedJobForm, \"jobName\", $$v)\n },\n expression: \"modifiedJobForm.jobName\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.jobDescription\") } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.modifiedJobForm.jobDescription,\n callback: function($$v) {\n _vm.$set(_vm.modifiedJobForm, \"jobDescription\", $$v)\n },\n expression: \"modifiedJobForm.jobDescription\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.jobParams\") } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.modifiedJobForm.jobParams,\n callback: function($$v) {\n _vm.$set(_vm.modifiedJobForm, \"jobParams\", $$v)\n },\n expression: \"modifiedJobForm.jobParams\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.scheduleInfo\") } },\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-select\",\n {\n attrs: {\n placeholder: _vm.$t(\n \"message.timeExpressionType\"\n )\n },\n model: {\n value: _vm.modifiedJobForm.timeExpressionType,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"timeExpressionType\",\n $$v\n )\n },\n expression: \"modifiedJobForm.timeExpressionType\"\n }\n },\n _vm._l(_vm.timeExpressionTypeOptions, function(\n item\n ) {\n return _c(\"el-option\", {\n key: item.key,\n attrs: { label: item.label, value: item.key }\n })\n }),\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 12 } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: _vm.$t(\n \"message.timeExpressionPlaceHolder\"\n )\n },\n model: {\n value: _vm.modifiedJobForm.timeExpression,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"timeExpression\",\n $$v\n )\n },\n expression: \"modifiedJobForm.timeExpression\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 4 } },\n [\n _c(\n \"el-link\",\n {\n attrs: {\n href: \"https://cron.qqe2.com/\",\n type: \"success\",\n target: \"_blank\"\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.onlineCronTool\")))]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.executeConfig\") } },\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { span: 5 } },\n [\n _c(\n \"el-select\",\n {\n attrs: {\n placeholder: _vm.$t(\"message.executeType\")\n },\n model: {\n value: _vm.modifiedJobForm.executeType,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"executeType\",\n $$v\n )\n },\n expression: \"modifiedJobForm.executeType\"\n }\n },\n _vm._l(_vm.executeTypeOptions, function(item) {\n return _c(\"el-option\", {\n key: item.key,\n attrs: { label: item.label, value: item.key }\n })\n }),\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-select\",\n {\n attrs: {\n placeholder: _vm.$t(\"message.processorType\")\n },\n model: {\n value: _vm.modifiedJobForm.processorType,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"processorType\",\n $$v\n )\n },\n expression: \"modifiedJobForm.processorType\"\n }\n },\n _vm._l(_vm.processorTypeOptions, function(item) {\n return _c(\"el-option\", {\n key: item.key,\n attrs: { label: item.label, value: item.key }\n })\n }),\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 13 } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: _vm.verifyPlaceholder(\n _vm.modifiedJobForm.processorType\n )\n },\n model: {\n value: _vm.modifiedJobForm.processorInfo,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"processorInfo\",\n $$v\n )\n },\n expression: \"modifiedJobForm.processorInfo\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.runtimeConfig\") } },\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: {\n placeholder: _vm.$t(\"message.maxInstanceNum\")\n },\n model: {\n value: _vm.modifiedJobForm.maxInstanceNum,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"maxInstanceNum\",\n $$v\n )\n },\n expression: \"modifiedJobForm.maxInstanceNum\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.maxInstanceNum\")))\n ])\n ],\n 2\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: {\n placeholder: _vm.$t(\"message.threadConcurrency\")\n },\n model: {\n value: _vm.modifiedJobForm.concurrency,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"concurrency\",\n $$v\n )\n },\n expression: \"modifiedJobForm.concurrency\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(\n _vm._s(_vm.$t(\"message.threadConcurrency\"))\n )\n ])\n ],\n 2\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: { placeholder: _vm.$t(\"message.timeout\") },\n model: {\n value: _vm.modifiedJobForm.instanceTimeLimit,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"instanceTimeLimit\",\n $$v\n )\n },\n expression: \"modifiedJobForm.instanceTimeLimit\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.timeout\")))\n ])\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.retryConfig\") } },\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { span: 12 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: {\n placeholder: _vm.$t(\"message.taskRetryTimes\")\n },\n model: {\n value: _vm.modifiedJobForm.instanceRetryNum,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"instanceRetryNum\",\n $$v\n )\n },\n expression: \"modifiedJobForm.instanceRetryNum\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.taskRetryTimes\")))\n ])\n ],\n 2\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 12 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: {\n placeholder: _vm.$t(\"message.subTaskRetryTimes\")\n },\n model: {\n value: _vm.modifiedJobForm.taskRetryNum,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"taskRetryNum\",\n $$v\n )\n },\n expression: \"modifiedJobForm.taskRetryNum\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(\n _vm._s(_vm.$t(\"message.subTaskRetryTimes\"))\n )\n ])\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.workerConfig\") } },\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: { placeholder: _vm.$t(\"message.minCPU\") },\n model: {\n value: _vm.modifiedJobForm.minCpuCores,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"minCpuCores\",\n $$v\n )\n },\n expression: \"modifiedJobForm.minCpuCores\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.minCPU\")))\n ])\n ],\n 2\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: {\n placeholder: _vm.$t(\"message.minMemory\")\n },\n model: {\n value: _vm.modifiedJobForm.minMemorySpace,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"minMemorySpace\",\n $$v\n )\n },\n expression: \"modifiedJobForm.minMemorySpace\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.minMemory\")))\n ])\n ],\n 2\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: { placeholder: _vm.$t(\"message.minDisk\") },\n model: {\n value: _vm.modifiedJobForm.minDiskSpace,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"minDiskSpace\",\n $$v\n )\n },\n expression: \"modifiedJobForm.minDiskSpace\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.minDisk\")))\n ])\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.clusterConfig\") } },\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { span: 16 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: {\n placeholder: _vm.$t(\n \"message.designatedWorkerAddressPLH\"\n )\n },\n model: {\n value: _vm.modifiedJobForm.designatedWorkers,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"designatedWorkers\",\n $$v\n )\n },\n expression: \"modifiedJobForm.designatedWorkers\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(\n _vm._s(\n _vm.$t(\"message.designatedWorkerAddress\")\n )\n )\n ])\n ],\n 2\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-input\",\n {\n staticClass: \"ruleContent\",\n attrs: {\n placeholder: _vm.$t(\"message.maxWorkerNumPLH\")\n },\n model: {\n value: _vm.modifiedJobForm.maxWorkerCount,\n callback: function($$v) {\n _vm.$set(\n _vm.modifiedJobForm,\n \"maxWorkerCount\",\n $$v\n )\n },\n expression: \"modifiedJobForm.maxWorkerCount\"\n }\n },\n [\n _c(\"template\", { slot: \"prepend\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.maxWorkerNum\")))\n ])\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.alarmConfig\") } },\n [\n _c(\n \"el-select\",\n {\n attrs: {\n multiple: \"\",\n filterable: \"\",\n placeholder: _vm.$t(\"message.alarmSelectorPLH\")\n },\n model: {\n value: _vm.modifiedJobForm.notifyUserIds,\n callback: function($$v) {\n _vm.$set(_vm.modifiedJobForm, \"notifyUserIds\", $$v)\n },\n expression: \"modifiedJobForm.notifyUserIds\"\n }\n },\n _vm._l(_vm.userList, function(user) {\n return _c(\"el-option\", {\n key: user.id,\n attrs: { label: user.username, value: user.id }\n })\n }),\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n { attrs: { type: \"primary\" }, on: { click: _vm.saveJob } },\n [_vm._v(_vm._s(_vm.$t(\"message.save\")))]\n ),\n _c(\n \"el-button\",\n {\n on: {\n click: function($event) {\n _vm.modifiedJobFormVisible = false\n }\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.cancel\")))]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/views/JobManager.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2241f1f4da-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
@@ -56,7 +56,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JobManager_vue_vue_type_template_id_392659be_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"dddd77cc-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib??vue-loader-options!./JobManager.vue?vue&type=template&id=392659be&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"dddd77cc-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/JobManager.vue?vue&type=template&id=392659be&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JobManager_vue_vue_type_template_id_392659be_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JobManager_vue_vue_type_template_id_392659be_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/views/JobManager.vue?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JobManager_vue_vue_type_template_id_392659be_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"41f1f4da-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib??vue-loader-options!./JobManager.vue?vue&type=template&id=392659be&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"41f1f4da-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/JobManager.vue?vue&type=template&id=392659be&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JobManager_vue_vue_type_template_id_392659be_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JobManager_vue_vue_type_template_id_392659be_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/views/JobManager.vue?");
/***/ })
diff --git a/powerjob-server/src/main/resources/static/js/11.js b/powerjob-server/src/main/resources/static/js/11.js
index 79250d2c..d9848f12 100644
--- a/powerjob-server/src/main/resources/static/js/11.js
+++ b/powerjob-server/src/main/resources/static/js/11.js
@@ -8,19 +8,19 @@
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"WorkflowManager\",\n data: function data() {\n return {\n // 查询条件\n workflowQueryContent: {\n appId: this.$store.state.appInfo.id,\n index: 0,\n pageSize: 10,\n workflowId: undefined,\n keyword: undefined\n },\n // 工作流查询结果\n workflowPageResult: {\n pageSize: 10,\n totalItems: 0,\n data: []\n },\n // 新建工作流对象\n workflowObj: {}\n };\n },\n methods: {\n // 查询工作流\n listWorkflow: function listWorkflow() {\n var that = this;\n this.axios.post(\"/workflow/list\", this.workflowQueryContent).then(function (res) {\n that.workflowPageResult = res;\n });\n },\n // 点击重置\n onClickReset: function onClickReset() {\n this.workflowQueryContent.workflowId = undefined;\n this.workflowQueryContent.keyword = undefined;\n },\n // 开关工作流\n switchWorkflow: function switchWorkflow(data) {\n var that = this;\n var path = data.enable ? \"enable\" : \"disable\";\n var url = \"/workflow/\" + path + \"?appId=\" + this.$store.state.appInfo.id + \"&workflowId=\" + data.id;\n this.axios.get(url, function (res) {\n console.log(res);\n that.listWorkflow();\n });\n },\n // 编辑工作流\n onClickModifyWorkflow: function onClickModifyWorkflow(data) {\n this.$router.push({\n name: 'workflowEditor',\n params: {\n modify: true,\n workflowInfo: data\n }\n });\n },\n // 立即运行工作流\n onClickRunWorkflow: function onClickRunWorkflow(data) {\n var that = this;\n var url = \"/workflow/run?appId=\" + this.$store.state.appInfo.id + \"&workflowId=\" + data.id;\n this.axios.get(url).then(function () {\n return that.$message.success(\"触发成功\");\n });\n },\n // 删除工作流\n onClickDeleteWorkflow: function onClickDeleteWorkflow(data) {\n var that = this;\n var url = \"/workflow/delete?appId=\" + this.$store.state.appInfo.id + \"&workflowId=\" + data.id;\n this.axios.get(url).then(function () {\n that.$message.success(\"删除成功\");\n that.listWorkflow();\n });\n },\n // 新建工作流\n onClickNewWorkflow: function onClickNewWorkflow() {\n this.$router.push({\n name: 'workflowEditor',\n params: {\n modify: false\n }\n });\n }\n },\n mounted: function mounted() {\n this.listWorkflow();\n }\n});\n\n//# sourceURL=webpack:///./src/components/views/WorkflowManager.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
+eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"WorkflowManager\",\n data: function data() {\n return {\n // 查询条件\n workflowQueryContent: {\n appId: this.$store.state.appInfo.id,\n index: 0,\n pageSize: 10,\n workflowId: undefined,\n keyword: undefined\n },\n // 工作流查询结果\n workflowPageResult: {\n pageSize: 10,\n totalItems: 0,\n data: []\n },\n // 新建工作流对象\n workflowObj: {}\n };\n },\n methods: {\n // 查询工作流\n listWorkflow: function listWorkflow() {\n var that = this;\n this.axios.post(\"/workflow/list\", this.workflowQueryContent).then(function (res) {\n that.workflowPageResult = res;\n });\n },\n // 点击重置\n onClickReset: function onClickReset() {\n this.workflowQueryContent.workflowId = undefined;\n this.workflowQueryContent.keyword = undefined;\n },\n // 开关工作流\n switchWorkflow: function switchWorkflow(data) {\n var that = this;\n var path = data.enable ? \"enable\" : \"disable\";\n var url = \"/workflow/\" + path + \"?appId=\" + this.$store.state.appInfo.id + \"&workflowId=\" + data.id;\n this.axios.get(url, function (res) {\n console.log(res);\n that.listWorkflow();\n });\n },\n // 编辑工作流\n onClickModifyWorkflow: function onClickModifyWorkflow(data) {\n this.$router.push({\n name: 'workflowEditor',\n params: {\n modify: true,\n workflowInfo: data\n }\n });\n },\n // 立即运行工作流\n onClickRunWorkflow: function onClickRunWorkflow(data) {\n var _this = this;\n\n var that = this;\n var url = \"/workflow/run?appId=\" + this.$store.state.appInfo.id + \"&workflowId=\" + data.id;\n this.axios.get(url).then(function () {\n return that.$message.success(_this.$t('message.success'));\n });\n },\n // 删除工作流\n onClickDeleteWorkflow: function onClickDeleteWorkflow(data) {\n var _this2 = this;\n\n var that = this;\n var url = \"/workflow/delete?appId=\" + this.$store.state.appInfo.id + \"&workflowId=\" + data.id;\n this.axios.get(url).then(function () {\n that.$message.success(_this2.$t('message.success'));\n that.listWorkflow();\n });\n },\n // 新建工作流\n onClickNewWorkflow: function onClickNewWorkflow() {\n this.$router.push({\n name: 'workflowEditor',\n params: {\n modify: false\n }\n });\n }\n },\n mounted: function mounted() {\n this.listWorkflow();\n }\n});\n\n//# sourceURL=webpack:///./src/components/views/WorkflowManager.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
-/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"dddd77cc-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/WorkflowManager.vue?vue&type=template&id=d5948a66&scoped=true&":
+/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"41f1f4da-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/WorkflowManager.vue?vue&type=template&id=d5948a66&scoped=true&":
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"dddd77cc-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/views/WorkflowManager.vue?vue&type=template&id=d5948a66&scoped=true& ***!
+ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"41f1f4da-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/views/WorkflowManager.vue?vue&type=template&id=d5948a66&scoped=true& ***!
\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"workflow_manager\" } },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 20 } },\n [\n _c(\n \"el-form\",\n {\n staticClass: \"el-form--inline\",\n attrs: { inline: true, model: _vm.workflowQueryContent }\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"工作流ID\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"工作流ID\" },\n model: {\n value: _vm.workflowQueryContent.workflowId,\n callback: function($$v) {\n _vm.$set(\n _vm.workflowQueryContent,\n \"workflowId\",\n $$v\n )\n },\n expression: \"workflowQueryContent.workflowId\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"关键字\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"关键字\" },\n model: {\n value: _vm.workflowQueryContent.keyword,\n callback: function($$v) {\n _vm.$set(_vm.workflowQueryContent, \"keyword\", $$v)\n },\n expression: \"workflowQueryContent.keyword\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.listWorkflow }\n },\n [_vm._v(\"查询\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: { type: \"cancel\" },\n on: { click: _vm.onClickReset }\n },\n [_vm._v(\"重置\")]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\"el-col\", { attrs: { span: 4 } }, [\n _c(\n \"div\",\n { staticStyle: { float: \"right\", \"padding-right\": \"10px\" } },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.onClickNewWorkflow }\n },\n [_vm._v(\"新建工作流\")]\n )\n ],\n 1\n )\n ])\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\n \"el-table\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { data: _vm.workflowPageResult.data }\n },\n [\n _c(\"el-table-column\", {\n attrs: { prop: \"id\", label: \"工作流ID\", width: \"120\" }\n }),\n _c(\"el-table-column\", {\n attrs: { prop: \"wfName\", label: \"工作流名称\" }\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"定时信息\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _vm._v(\n \" \" +\n _vm._s(scope.row.timeExpressionType) +\n \" \" +\n _vm._s(scope.row.timeExpression) +\n \" \"\n )\n ]\n }\n }\n ])\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"状态\", width: \"80\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _c(\"el-switch\", {\n attrs: {\n \"active-color\": \"#13ce66\",\n \"inactive-color\": \"#ff4949\"\n },\n on: {\n change: function($event) {\n return _vm.switchWorkflow(scope.row)\n }\n },\n model: {\n value: scope.row.enable,\n callback: function($$v) {\n _vm.$set(scope.row, \"enable\", $$v)\n },\n expression: \"scope.row.enable\"\n }\n })\n ]\n }\n }\n ])\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"操作\", width: \"300\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\" },\n on: {\n click: function($event) {\n return _vm.onClickModifyWorkflow(scope.row)\n }\n }\n },\n [_vm._v(\"编辑\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\" },\n on: {\n click: function($event) {\n return _vm.onClickRunWorkflow(scope.row)\n }\n }\n },\n [_vm._v(\"运行\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\", type: \"danger\" },\n on: {\n click: function($event) {\n return _vm.onClickDeleteWorkflow(scope.row)\n }\n }\n },\n [_vm._v(\"删除\")]\n )\n ]\n }\n }\n ])\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/views/WorkflowManager.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22dddd77cc-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"workflow_manager\" } },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 20 } },\n [\n _c(\n \"el-form\",\n {\n staticClass: \"el-form--inline\",\n attrs: { inline: true, model: _vm.workflowQueryContent }\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.wfId\") } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: _vm.$t(\"message.wfId\") },\n model: {\n value: _vm.workflowQueryContent.workflowId,\n callback: function($$v) {\n _vm.$set(\n _vm.workflowQueryContent,\n \"workflowId\",\n $$v\n )\n },\n expression: \"workflowQueryContent.workflowId\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.keyword\") } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: _vm.$t(\"message.keyword\") },\n model: {\n value: _vm.workflowQueryContent.keyword,\n callback: function($$v) {\n _vm.$set(_vm.workflowQueryContent, \"keyword\", $$v)\n },\n expression: \"workflowQueryContent.keyword\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.listWorkflow }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.query\")))]\n ),\n _c(\n \"el-button\",\n {\n attrs: { type: \"cancel\" },\n on: { click: _vm.onClickReset }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.reset\")))]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\"el-col\", { attrs: { span: 4 } }, [\n _c(\n \"div\",\n { staticStyle: { float: \"right\", \"padding-right\": \"10px\" } },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.onClickNewWorkflow }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.newWorkflow\")))]\n )\n ],\n 1\n )\n ])\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\n \"el-table\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { data: _vm.workflowPageResult.data }\n },\n [\n _c(\"el-table-column\", {\n attrs: {\n prop: \"id\",\n label: _vm.$t(\"message.wfId\"),\n width: \"120\"\n }\n }),\n _c(\"el-table-column\", {\n attrs: { prop: \"wfName\", label: _vm.$t(\"message.wfName\") }\n }),\n _c(\"el-table-column\", {\n attrs: { label: _vm.$t(\"message.scheduleInfo\") },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _vm._v(\n \" \" +\n _vm._s(scope.row.timeExpressionType) +\n \" \" +\n _vm._s(scope.row.timeExpression) +\n \" \"\n )\n ]\n }\n }\n ])\n }),\n _c(\"el-table-column\", {\n attrs: { label: _vm.$t(\"message.status\"), width: \"80\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _c(\"el-switch\", {\n attrs: {\n \"active-color\": \"#13ce66\",\n \"inactive-color\": \"#ff4949\"\n },\n on: {\n change: function($event) {\n return _vm.switchWorkflow(scope.row)\n }\n },\n model: {\n value: scope.row.enable,\n callback: function($$v) {\n _vm.$set(scope.row, \"enable\", $$v)\n },\n expression: \"scope.row.enable\"\n }\n })\n ]\n }\n }\n ])\n }),\n _c(\"el-table-column\", {\n attrs: { label: _vm.$t(\"message.operation\"), width: \"300\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\" },\n on: {\n click: function($event) {\n return _vm.onClickModifyWorkflow(scope.row)\n }\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.edit\")))]\n ),\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\" },\n on: {\n click: function($event) {\n return _vm.onClickRunWorkflow(scope.row)\n }\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.run\")))]\n ),\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\", type: \"danger\" },\n on: {\n click: function($event) {\n return _vm.onClickDeleteWorkflow(scope.row)\n }\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.delete\")))]\n )\n ]\n }\n }\n ])\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/views/WorkflowManager.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2241f1f4da-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
@@ -56,7 +56,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_WorkflowManager_vue_vue_type_template_id_d5948a66_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"dddd77cc-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib??vue-loader-options!./WorkflowManager.vue?vue&type=template&id=d5948a66&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"dddd77cc-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/WorkflowManager.vue?vue&type=template&id=d5948a66&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_WorkflowManager_vue_vue_type_template_id_d5948a66_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_WorkflowManager_vue_vue_type_template_id_d5948a66_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/views/WorkflowManager.vue?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_WorkflowManager_vue_vue_type_template_id_d5948a66_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"41f1f4da-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib??vue-loader-options!./WorkflowManager.vue?vue&type=template&id=d5948a66&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"41f1f4da-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/WorkflowManager.vue?vue&type=template&id=d5948a66&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_WorkflowManager_vue_vue_type_template_id_d5948a66_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_WorkflowManager_vue_vue_type_template_id_d5948a66_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/views/WorkflowManager.vue?");
/***/ })
diff --git a/powerjob-server/src/main/resources/static/js/2.js b/powerjob-server/src/main/resources/static/js/2.js
index ecd4eb93..2337571d 100644
--- a/powerjob-server/src/main/resources/static/js/2.js
+++ b/powerjob-server/src/main/resources/static/js/2.js
@@ -8,19 +8,19 @@
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.includes */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.splice */ \"./node_modules/core-js/modules/es.array.splice.js\");\n/* harmony import */ var core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.includes */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.replace */ \"./node_modules/core-js/modules/es.string.replace.js\");\n/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.split */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _main__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../main */ \"./src/main.js\");\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar ws;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"ContainerManager\",\n data: function data() {\n return {\n form: {\n sourceType: 'Git',\n containerName: ''\n },\n gitForm: {\n repo: '',\n branch: '',\n username: '',\n password: ''\n },\n sourceInfo: '',\n id: '',\n appId: this.$store.state.appInfo.id,\n dialogVisible: false,\n arrangeTitle: '',\n arrangeVisible: false,\n containerList: [],\n logs: [],\n requestUrl: \"\",\n fileList: []\n };\n },\n methods: {\n onSubmit: function onSubmit() {\n var _this = this;\n\n // 接口参数\n var data = {\n appId: this.appId,\n containerName: this.form.containerName,\n status: \"ENABLE\",\n id: this.id,\n sourceType: this.form.sourceType\n };\n\n if (this.form.sourceType == 'Git') {\n data.sourceInfo = JSON.stringify(this.gitForm);\n } else {\n data.sourceInfo = this.sourceInfo;\n data.sourceType = 'FatJar';\n }\n\n this.flyio.post(\"container/save\", data).then(function (res) {\n if (res.data.success) {\n var appId = _this.$store.state.appInfo.id;\n\n _this.flyio.get(\"/container/list?appId=\" + appId).then(function (res) {\n if (res.data.success) {\n _this.$message('成功创建/修改容器~'); // 恢复默认表单\n\n\n _this.dialogVisible = false;\n _this.form.containerName = '';\n _this.gitForm = {};\n _this.sourceInfo = '';\n _this.id = ''; // 刷新容器表单\n\n _this.containerList = res.data.data;\n }\n });\n } else {\n _this.$message('创建容器失败~');\n }\n });\n },\n // 文件上传成功后 修改来源信息\n onSuccess: function onSuccess(response) {\n this.sourceInfo = response.data;\n },\n deleteItem: function deleteItem(item, index) {\n var _this2 = this;\n\n var appId = this.$store.state.appInfo.id;\n this.flyio.get(\"/container/delete?containerId=\" + item.id + '&appId=' + appId).then(function (res) {\n console.log(res);\n\n _this2.containerList.splice(index, 1);\n\n _this2.$message(\"\\u5BB9\\u5668\".concat(item.containerName, \"\\u5DF2\\u5220\\u9664\"));\n });\n },\n editItem: function editItem(item) {\n if (item.sourceType == 'Git') {\n this.form.sourceType = 'Git';\n this.gitForm = JSON.parse(item.sourceInfo);\n } else {\n this.form.sourceType = 'FatJar';\n }\n\n this.form.containerName = item.containerName;\n this.id = item.id;\n this.dialogVisible = true;\n },\n arrangeItem: function arrangeItem(item) {\n var _this3 = this;\n\n var wsBase = this.requestUrl.replace(\"http\", \"ws\") + \"/container/deploy/\";\n var wsUrl = wsBase + item.id;\n ws = new WebSocket(wsUrl);\n\n ws.onopen = function () {\n _this3.arrangeTitle = \"机器部署\";\n _this3.arrangeVisible = true;\n console.log(\"Connection open ...\");\n ws.send(\"Hello WebSockets!\");\n };\n\n ws.onmessage = function (evt) {\n _this3.logs.push(evt.data);\n };\n\n ws.onclose = function () {\n console.log(\"Connection closed.\");\n };\n },\n // 关闭部署页面时 关闭ws避免dialog内的信息有上台机器信息\n closeArrange: function closeArrange() {\n ws.close();\n this.logs = [];\n },\n closeEdit: function closeEdit() {\n this.sourceInfo = '';\n this.fileList = [];\n },\n listOfItem: function listOfItem(item) {\n var _this4 = this;\n\n var appId = this.$store.state.appInfo.id;\n this.flyio.get(\"/container/listDeployedWorker?containerId=\" + item.id + '&appId=' + appId).then(function (res) {\n if (res.data.data) {\n _this4.logs = res.data.data.split('\\n');\n _this4.arrangeTitle = \"机器列表\";\n _this4.arrangeVisible = true;\n } // this.containerList.splice(index,1);\n // this.$message(`容器${item.containerName}已删除`);\n\n });\n },\n // 兼容 java build in 模式下 baseURL 为 / 的情况(将当前url作为请求路径)\n calculateRequestUrl: function calculateRequestUrl() {\n if (_main__WEBPACK_IMPORTED_MODULE_6__[\"default\"] === undefined || !_main__WEBPACK_IMPORTED_MODULE_6__[\"default\"].includes(\"http\")) {\n var url = window.location.href;\n var urlSplit = url.split('//'); // str1[0]--协议头\n\n var ip = urlSplit[1].split('/')[0];\n this.requestUrl = urlSplit[0] + '//' + ip;\n console.log(\"calculateRequestUrl: \" + this.requestUrl);\n } else {\n this.requestUrl = _main__WEBPACK_IMPORTED_MODULE_6__[\"default\"];\n }\n }\n },\n mounted: function mounted() {\n var _this5 = this;\n\n this.calculateRequestUrl();\n var appId = this.$store.state.appInfo.id;\n this.flyio.get(\"/container/list?appId=\" + appId).then(function (res) {\n console.log(res);\n\n if (res.data.success) {\n _this5.containerList = res.data.data;\n }\n });\n }\n});\n\n//# sourceURL=webpack:///./src/components/views/ContainerManager.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.includes */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.splice */ \"./node_modules/core-js/modules/es.array.splice.js\");\n/* harmony import */ var core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.includes */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.replace */ \"./node_modules/core-js/modules/es.string.replace.js\");\n/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.split */ \"./node_modules/core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _main__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../main */ \"./src/main.js\");\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar ws;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"ContainerManager\",\n data: function data() {\n return {\n form: {\n sourceType: 'Git',\n containerName: ''\n },\n gitForm: {\n repo: '',\n branch: '',\n username: '',\n password: ''\n },\n sourceInfo: '',\n id: '',\n appId: this.$store.state.appInfo.id,\n dialogVisible: false,\n arrangeTitle: '',\n arrangeVisible: false,\n containerList: [],\n logs: [],\n requestUrl: \"\",\n fileList: []\n };\n },\n methods: {\n onSubmit: function onSubmit() {\n var _this = this;\n\n // 接口参数\n var data = {\n appId: this.appId,\n containerName: this.form.containerName,\n status: \"ENABLE\",\n id: this.id,\n sourceType: this.form.sourceType\n };\n\n if (this.form.sourceType == 'Git') {\n data.sourceInfo = JSON.stringify(this.gitForm);\n } else {\n data.sourceInfo = this.sourceInfo;\n data.sourceType = 'FatJar';\n }\n\n this.flyio.post(\"container/save\", data).then(function (res) {\n if (res.data.success) {\n var appId = _this.$store.state.appInfo.id;\n\n _this.flyio.get(\"/container/list?appId=\" + appId).then(function (res) {\n if (res.data.success) {\n _this.$message.info(_this.$t('message.success')); // 恢复默认表单\n\n\n _this.dialogVisible = false;\n _this.form.containerName = '';\n _this.gitForm = {};\n _this.sourceInfo = '';\n _this.id = ''; // 刷新容器表单\n\n _this.containerList = res.data.data;\n }\n });\n } else {\n _this.$message.warning(_this.$t('message.failed'));\n }\n });\n },\n // 文件上传成功后 修改来源信息\n onSuccess: function onSuccess(response) {\n this.sourceInfo = response.data;\n },\n deleteItem: function deleteItem(item, index) {\n var _this2 = this;\n\n var appId = this.$store.state.appInfo.id;\n this.flyio.get(\"/container/delete?containerId=\" + item.id + '&appId=' + appId).then(function (res) {\n console.log(res);\n\n _this2.containerList.splice(index, 1);\n\n _this2.$message.info(_this2.$t('message.success'));\n });\n },\n editItem: function editItem(item) {\n if (item.sourceType == 'Git') {\n this.form.sourceType = 'Git';\n this.gitForm = JSON.parse(item.sourceInfo);\n } else {\n this.form.sourceType = 'FatJar';\n }\n\n this.form.containerName = item.containerName;\n this.id = item.id;\n this.dialogVisible = true;\n },\n arrangeItem: function arrangeItem(item) {\n var _this3 = this;\n\n var wsBase = this.requestUrl.replace(\"http\", \"ws\") + \"/container/deploy/\";\n var wsUrl = wsBase + item.id;\n ws = new WebSocket(wsUrl);\n\n ws.onopen = function () {\n _this3.arrangeTitle = _this3.$t('message.deploy');\n _this3.arrangeVisible = true;\n console.log(\"Connection open ...\");\n ws.send(\"Hello WebSockets!\");\n };\n\n ws.onmessage = function (evt) {\n _this3.logs.push(evt.data);\n };\n\n ws.onclose = function () {\n console.log(\"Connection closed.\");\n };\n },\n // 关闭部署页面时 关闭ws避免dialog内的信息有上台机器信息\n closeArrange: function closeArrange() {\n ws.close();\n this.logs = [];\n },\n closeEdit: function closeEdit() {\n this.sourceInfo = '';\n this.fileList = [];\n },\n listOfItem: function listOfItem(item) {\n var _this4 = this;\n\n var appId = this.$store.state.appInfo.id;\n this.flyio.get(\"/container/listDeployedWorker?containerId=\" + item.id + '&appId=' + appId).then(function (res) {\n if (res.data.data) {\n _this4.logs = res.data.data.split('\\n');\n _this4.arrangeTitle = _this4.$t('message.deployedWorkerList');\n _this4.arrangeVisible = true;\n } // this.containerList.splice(index,1);\n // this.$message(`容器${item.containerName}已删除`);\n\n });\n },\n // 兼容 java build in 模式下 baseURL 为 / 的情况(将当前url作为请求路径)\n calculateRequestUrl: function calculateRequestUrl() {\n if (_main__WEBPACK_IMPORTED_MODULE_6__[\"default\"] === undefined || !_main__WEBPACK_IMPORTED_MODULE_6__[\"default\"].includes(\"http\")) {\n var url = window.location.href;\n var urlSplit = url.split('//'); // str1[0]--协议头\n\n var ip = urlSplit[1].split('/')[0];\n this.requestUrl = urlSplit[0] + '//' + ip;\n console.log(\"calculateRequestUrl: \" + this.requestUrl);\n } else {\n this.requestUrl = _main__WEBPACK_IMPORTED_MODULE_6__[\"default\"];\n }\n }\n },\n mounted: function mounted() {\n var _this5 = this;\n\n this.calculateRequestUrl();\n var appId = this.$store.state.appInfo.id;\n this.flyio.get(\"/container/list?appId=\" + appId).then(function (res) {\n console.log(res);\n\n if (res.data.success) {\n _this5.containerList = res.data.data;\n }\n });\n }\n});\n\n//# sourceURL=webpack:///./src/components/views/ContainerManager.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
-/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"dddd77cc-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/ContainerManager.vue?vue&type=template&id=2290191d&scoped=true&":
+/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"41f1f4da-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/ContainerManager.vue?vue&type=template&id=2290191d&scoped=true&":
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"dddd77cc-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/views/ContainerManager.vue?vue&type=template&id=2290191d&scoped=true& ***!
+ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"41f1f4da-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/views/ContainerManager.vue?vue&type=template&id=2290191d&scoped=true& ***!
\***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\"el-card\", { staticClass: \"box-card\" }, [\n _c(\n \"div\",\n {\n staticClass: \"clearfix\",\n attrs: { slot: \"header\" },\n slot: \"header\"\n },\n [\n _c(\"span\"),\n _c(\n \"el-button\",\n {\n staticStyle: { float: \"right\" },\n attrs: { type: \"primary\" },\n on: {\n click: function($event) {\n _vm.dialogVisible = true\n }\n }\n },\n [_vm._v(\"新增容器\")]\n )\n ],\n 1\n ),\n _c(\n \"div\",\n { staticClass: \"wrapper\" },\n _vm._l(_vm.containerList, function(item, key) {\n return _c(\"div\", { key: key, staticClass: \"item\" }, [\n _c(\"div\", { staticClass: \"containerText\" }, [\n _c(\"span\", { staticClass: \"value\" }, [_vm._v(\"容器ID:\")]),\n _c(\"span\", { staticClass: \"value\" }, [_vm._v(_vm._s(item.id))])\n ]),\n _c(\"div\", { staticClass: \"containerText\" }, [\n _c(\"span\", { staticClass: \"value\" }, [_vm._v(\" 容器名称:\")]),\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(item.containerName))\n ])\n ]),\n _c(\"div\", { staticClass: \"containerText\" }, [\n _c(\"span\", { staticClass: \"value\" }, [_vm._v(\"地址类型:\")]),\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(item.sourceType))\n ])\n ]),\n _c(\"div\", { staticClass: \"containerText\" }, [\n _c(\"span\", { staticClass: \"value\" }, [_vm._v(\"文件版本:\")]),\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(item.version))\n ])\n ]),\n _c(\"div\", { staticClass: \"containerText\" }, [\n _c(\"span\", { staticClass: \"value\" }, [_vm._v(\"部署日期:\")]),\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(item.lastDeployTime))\n ])\n ]),\n _c(\"div\", { staticClass: \"containerText\" }, [\n _c(\"span\", { staticClass: \"value\" }, [_vm._v(\"当前状态:\")]),\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(item.status))\n ])\n ]),\n _c(\"div\", { staticStyle: { width: \"240px\", margin: \"0 auto\" } }, [\n _c(\n \"div\",\n { staticClass: \"btnWrap\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: {\n click: function($event) {\n return _vm.arrangeItem(item)\n }\n }\n },\n [_vm._v(\"部署\")]\n )\n ],\n 1\n ),\n _c(\n \"div\",\n { staticClass: \"btnWrap\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: {\n click: function($event) {\n return _vm.editItem(item)\n }\n }\n },\n [_vm._v(\"编辑\")]\n )\n ],\n 1\n ),\n _c(\n \"div\",\n { staticClass: \"btnWrap\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: {\n click: function($event) {\n return _vm.deleteItem(item, key)\n }\n }\n },\n [_vm._v(\"删除\")]\n )\n ],\n 1\n ),\n _c(\n \"div\",\n { staticClass: \"btnWrap\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: {\n click: function($event) {\n return _vm.listOfItem(item)\n }\n }\n },\n [_vm._v(\"机器列表\")]\n )\n ],\n 1\n )\n ])\n ])\n }),\n 0\n )\n ]),\n _c(\n \"el-dialog\",\n {\n attrs: {\n title: \"新增容器\",\n visible: _vm.dialogVisible,\n width: \"50%\",\n \"before-close\": _vm.handleClose\n },\n on: {\n \"update:visible\": function($event) {\n _vm.dialogVisible = $event\n },\n close: _vm.closeEdit\n }\n },\n [\n _c(\n \"el-form\",\n {\n ref: \"form\",\n staticClass: \"genTable\",\n attrs: {\n model: _vm.form,\n \"label-width\": \"150px\",\n \"label-position\": \"left\"\n }\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"Container Name\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.containerName,\n callback: function($$v) {\n _vm.$set(_vm.form, \"containerName\", $$v)\n },\n expression: \"form.containerName\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"地址类型\" } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.form.sourceType,\n callback: function($$v) {\n _vm.$set(_vm.form, \"sourceType\", $$v)\n },\n expression: \"form.sourceType\"\n }\n },\n [\n _c(\"el-radio\", { attrs: { label: \"Git\" } }),\n _c(\"el-radio\", { attrs: { label: \"FatJar\" } })\n ],\n 1\n )\n ],\n 1\n ),\n _vm.form.sourceType == \"Git\"\n ? _c(\n \"el-form\",\n {\n ref: \"gitform\",\n staticClass: \"gitTable\",\n attrs: {\n model: _vm.gitForm,\n \"label-width\": \"150px\",\n \"label-position\": \"left\"\n }\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"Git仓库地址\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.gitForm.repo,\n callback: function($$v) {\n _vm.$set(_vm.gitForm, \"repo\", $$v)\n },\n expression: \"gitForm.repo\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"分支名称\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.gitForm.branch,\n callback: function($$v) {\n _vm.$set(_vm.gitForm, \"branch\", $$v)\n },\n expression: \"gitForm.branch\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"用户名\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.gitForm.username,\n callback: function($$v) {\n _vm.$set(_vm.gitForm, \"username\", $$v)\n },\n expression: \"gitForm.username\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"密码\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.gitForm.password,\n callback: function($$v) {\n _vm.$set(_vm.gitForm, \"password\", $$v)\n },\n expression: \"gitForm.password\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm.form.sourceType == \"FatJar\"\n ? _c(\n \"el-form-item\",\n [\n _c(\n \"el-upload\",\n {\n staticClass: \"upload-demo\",\n attrs: {\n drag: \"\",\n \"file-list\": _vm.fileList,\n \"on-success\": _vm.onSuccess,\n action: _vm.requestUrl + \"/container/jarUpload\",\n multiple: \"\"\n }\n },\n [\n _c(\"i\", { staticClass: \"el-icon-upload\" }),\n _c(\"div\", { staticClass: \"el-upload__text\" }, [\n _vm._v(\"将文件拖到此处,或\"),\n _c(\"em\", [_vm._v(\"点击上传\")])\n ]),\n _c(\n \"div\",\n {\n staticClass: \"el-upload__tip\",\n attrs: { slot: \"tip\" },\n slot: \"tip\"\n },\n [_vm._v(\"拖拽或点击文件后会自动上传\")]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n {\n attrs: {\n type: \"primary\",\n disabled:\n _vm.form.sourceType == \"FatJar\" && !this.sourceInfo\n },\n on: { click: _vm.onSubmit }\n },\n [_vm._v(\"Save\")]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-dialog\",\n {\n attrs: { title: _vm.arrangeTitle, visible: _vm.arrangeVisible },\n on: {\n \"update:visible\": function($event) {\n _vm.arrangeVisible = $event\n },\n close: _vm.closeArrange\n }\n },\n _vm._l(_vm.logs, function(log) {\n return _c(\"h4\", { key: log }, [_vm._v(_vm._s(log))])\n }),\n 0\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/views/ContainerManager.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22dddd77cc-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\"el-card\", { staticClass: \"box-card\" }, [\n _c(\n \"div\",\n {\n staticClass: \"clearfix\",\n attrs: { slot: \"header\" },\n slot: \"header\"\n },\n [\n _c(\"span\"),\n _c(\n \"el-button\",\n {\n staticStyle: { float: \"right\" },\n attrs: { type: \"primary\" },\n on: {\n click: function($event) {\n _vm.dialogVisible = true\n }\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.newContainer\")))]\n )\n ],\n 1\n ),\n _c(\n \"div\",\n { staticClass: \"wrapper\" },\n _vm._l(_vm.containerList, function(item, key) {\n return _c(\"div\", { key: key, staticClass: \"item\" }, [\n _c(\"div\", { staticClass: \"containerText\" }, [\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.containerId\")))\n ]),\n _c(\"span\", { staticClass: \"value\" }, [_vm._v(_vm._s(item.id))])\n ]),\n _c(\"div\", { staticClass: \"containerText\" }, [\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(\" \" + _vm._s(_vm.$t(\"message.containerName\")) + \" \")\n ]),\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(item.containerName))\n ])\n ]),\n _c(\"div\", { staticClass: \"containerText\" }, [\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.containerType\")) + \" \")\n ]),\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(item.sourceType))\n ])\n ]),\n _c(\"div\", { staticClass: \"containerText\" }, [\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.containerVersion\")) + \" \")\n ]),\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(item.version))\n ])\n ]),\n _c(\"div\", { staticClass: \"containerText\" }, [\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.deployTime\")) + \" \")\n ]),\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(item.lastDeployTime))\n ])\n ]),\n _c(\"div\", { staticClass: \"containerText\" }, [\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.status\")) + \" \")\n ]),\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(_vm._s(item.status))\n ])\n ]),\n _c(\"div\", { staticStyle: { width: \"240px\", margin: \"0 auto\" } }, [\n _c(\n \"div\",\n { staticClass: \"btnWrap\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: {\n click: function($event) {\n return _vm.arrangeItem(item)\n }\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.deploy\")))]\n )\n ],\n 1\n ),\n _c(\n \"div\",\n { staticClass: \"btnWrap\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: {\n click: function($event) {\n return _vm.editItem(item)\n }\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.edit\")))]\n )\n ],\n 1\n ),\n _c(\n \"div\",\n { staticClass: \"btnWrap\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: {\n click: function($event) {\n return _vm.deleteItem(item, key)\n }\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.delete\")))]\n )\n ],\n 1\n ),\n _c(\n \"div\",\n { staticClass: \"btnWrap\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: {\n click: function($event) {\n return _vm.listOfItem(item)\n }\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"message.deployedWorkerList\")))]\n )\n ],\n 1\n )\n ])\n ])\n }),\n 0\n )\n ]),\n _c(\n \"el-dialog\",\n {\n attrs: {\n title: _vm.$t(\"message.newContainer\"),\n visible: _vm.dialogVisible,\n width: \"50%\",\n \"before-close\": _vm.handleClose\n },\n on: {\n \"update:visible\": function($event) {\n _vm.dialogVisible = $event\n },\n close: _vm.closeEdit\n }\n },\n [\n _c(\n \"el-form\",\n {\n ref: \"form\",\n staticClass: \"genTable\",\n attrs: {\n model: _vm.form,\n \"label-width\": \"150px\",\n \"label-position\": \"left\"\n }\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.containerName\") } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.containerName,\n callback: function($$v) {\n _vm.$set(_vm.form, \"containerName\", $$v)\n },\n expression: \"form.containerName\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.containerType\") } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.form.sourceType,\n callback: function($$v) {\n _vm.$set(_vm.form, \"sourceType\", $$v)\n },\n expression: \"form.sourceType\"\n }\n },\n [\n _c(\"el-radio\", { attrs: { label: \"Git\" } }),\n _c(\"el-radio\", { attrs: { label: \"FatJar\" } })\n ],\n 1\n )\n ],\n 1\n ),\n _vm.form.sourceType == \"Git\"\n ? _c(\n \"el-form\",\n {\n ref: \"gitform\",\n staticClass: \"gitTable\",\n attrs: {\n model: _vm.gitForm,\n \"label-width\": \"150px\",\n \"label-position\": \"left\"\n }\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.containerGitURL\") } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.gitForm.repo,\n callback: function($$v) {\n _vm.$set(_vm.gitForm, \"repo\", $$v)\n },\n expression: \"gitForm.repo\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.branchName\") } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.gitForm.branch,\n callback: function($$v) {\n _vm.$set(_vm.gitForm, \"branch\", $$v)\n },\n expression: \"gitForm.branch\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.username\") } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.gitForm.username,\n callback: function($$v) {\n _vm.$set(_vm.gitForm, \"username\", $$v)\n },\n expression: \"gitForm.username\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: _vm.$t(\"message.password\") } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.gitForm.password,\n callback: function($$v) {\n _vm.$set(_vm.gitForm, \"password\", $$v)\n },\n expression: \"gitForm.password\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm.form.sourceType == \"FatJar\"\n ? _c(\n \"el-form-item\",\n [\n _c(\n \"el-upload\",\n {\n staticClass: \"upload-demo\",\n attrs: {\n drag: \"\",\n \"file-list\": _vm.fileList,\n \"on-success\": _vm.onSuccess,\n action: _vm.requestUrl + \"/container/jarUpload\",\n multiple: \"\"\n }\n },\n [\n _c(\"i\", { staticClass: \"el-icon-upload\" }),\n _c(\"div\", { staticClass: \"el-upload__text\" }, [\n _vm._v(\"Drag the file here, or \"),\n _c(\"em\", [_vm._v(\"click on Upload\")])\n ]),\n _c(\n \"div\",\n {\n staticClass: \"el-upload__tip\",\n attrs: { slot: \"tip\" },\n slot: \"tip\"\n },\n [_vm._v(_vm._s(_vm.$t(\"message.uploadTips\")))]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n {\n attrs: {\n type: \"primary\",\n disabled:\n _vm.form.sourceType == \"FatJar\" && !this.sourceInfo\n },\n on: { click: _vm.onSubmit }\n },\n [_vm._v(\"Save\")]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-dialog\",\n {\n attrs: { title: _vm.arrangeTitle, visible: _vm.arrangeVisible },\n on: {\n \"update:visible\": function($event) {\n _vm.arrangeVisible = $event\n },\n close: _vm.closeArrange\n }\n },\n _vm._l(_vm.logs, function(log) {\n return _c(\"h4\", { key: log }, [_vm._v(_vm._s(log))])\n }),\n 0\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/views/ContainerManager.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2241f1f4da-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
@@ -36,39 +36,6 @@ eval("\nvar charAt = __webpack_require__(/*! ../internals/string-multibyte */ \"
/***/ }),
-/***/ "./node_modules/core-js/internals/array-method-has-species-support.js":
-/*!****************************************************************************!*\
- !*** ./node_modules/core-js/internals/array-method-has-species-support.js ***!
- \****************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ \"./node_modules/core-js/internals/engine-v8-version.js\");\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-method-has-species-support.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/internals/array-method-uses-to-length.js":
-/*!***********************************************************************!*\
- !*** ./node_modules/core-js/internals/array-method-uses-to-length.js ***!
- \***********************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar has = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-method-uses-to-length.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/internals/array-species-create.js":
-/*!****************************************************************!*\
- !*** ./node_modules/core-js/internals/array-species-create.js ***!
- \****************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar isArray = __webpack_require__(/*! ../internals/is-array */ \"./node_modules/core-js/internals/is-array.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/array-species-create.js?");
-
-/***/ }),
-
/***/ "./node_modules/core-js/internals/correct-is-regexp-logic.js":
/*!*******************************************************************!*\
!*** ./node_modules/core-js/internals/correct-is-regexp-logic.js ***!
@@ -80,41 +47,6 @@ eval("var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symb
/***/ }),
-/***/ "./node_modules/core-js/internals/create-property.js":
-/*!***********************************************************!*\
- !*** ./node_modules/core-js/internals/create-property.js ***!
- \***********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\nvar toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ \"./node_modules/core-js/internals/to-primitive.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/create-property.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js":
-/*!******************************************************************************!*\
- !*** ./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js ***!
- \******************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\n// TODO: Remove from `core-js@4` since it's moved to entry points\n__webpack_require__(/*! ../modules/es.regexp.exec */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\nvar redefine = __webpack_require__(/*! ../internals/redefine */ \"./node_modules/core-js/internals/redefine.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ \"./node_modules/core-js/internals/regexp-exec.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/internals/is-array.js":
-/*!****************************************************!*\
- !*** ./node_modules/core-js/internals/is-array.js ***!
- \****************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/is-array.js?");
-
-/***/ }),
-
/***/ "./node_modules/core-js/internals/is-regexp.js":
/*!*****************************************************!*\
!*** ./node_modules/core-js/internals/is-regexp.js ***!
@@ -137,41 +69,6 @@ eval("var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ \"./node_
/***/ }),
-/***/ "./node_modules/core-js/internals/regexp-exec-abstract.js":
-/*!****************************************************************!*\
- !*** ./node_modules/core-js/internals/regexp-exec-abstract.js ***!
- \****************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var classof = __webpack_require__(/*! ./classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar regexpExec = __webpack_require__(/*! ./regexp-exec */ \"./node_modules/core-js/internals/regexp-exec.js\");\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/internals/regexp-exec.js":
-/*!*******************************************************!*\
- !*** ./node_modules/core-js/internals/regexp-exec.js ***!
- \*******************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\nvar regexpFlags = __webpack_require__(/*! ./regexp-flags */ \"./node_modules/core-js/internals/regexp-flags.js\");\nvar stickyHelpers = __webpack_require__(/*! ./regexp-sticky-helpers */ \"./node_modules/core-js/internals/regexp-sticky-helpers.js\");\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/regexp-exec.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/internals/regexp-sticky-helpers.js":
-/*!*****************************************************************!*\
- !*** ./node_modules/core-js/internals/regexp-sticky-helpers.js ***!
- \*****************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\n\nvar fails = __webpack_require__(/*! ./fails */ \"./node_modules/core-js/internals/fails.js\");\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js?");
-
-/***/ }),
-
/***/ "./node_modules/core-js/internals/string-multibyte.js":
/*!************************************************************!*\
!*** ./node_modules/core-js/internals/string-multibyte.js ***!
@@ -207,18 +104,6 @@ eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/
/***/ }),
-/***/ "./node_modules/core-js/modules/es.regexp.exec.js":
-/*!********************************************************!*\
- !*** ./node_modules/core-js/modules/es.regexp.exec.js ***!
- \********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar exec = __webpack_require__(/*! ../internals/regexp-exec */ \"./node_modules/core-js/internals/regexp-exec.js\");\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.regexp.exec.js?");
-
-/***/ }),
-
/***/ "./node_modules/core-js/modules/es.string.includes.js":
/*!************************************************************!*\
!*** ./node_modules/core-js/modules/es.string.includes.js ***!
@@ -262,7 +147,7 @@ eval("\nvar fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
-eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.genTable[data-v-2290191d]{\\n padding:20px;\\n min-width: 500px;\\n width: 500px;\\n}\\n.clearfix[data-v-2290191d]:before,\\n .clearfix[data-v-2290191d]:after {\\n display: table;\\n content: \\\"\\\";\\n}\\n.clearfix[data-v-2290191d]:after {\\n clear: both\\n}\\n.wrapper[data-v-2290191d]{\\n display: flex;\\n flex-wrap: wrap;\\n}\\n.item[data-v-2290191d]{\\n flex:0 0 340px;\\n margin-right:20px;\\n margin-bottom:20px;\\n background-color: #f0f0f0;\\n}\\n.item button[data-v-2290191d]{\\n width:100px;\\n margin:0 auto;\\n}\\n.btnWrap[data-v-2290191d]{\\n width:50%;\\n float: left;\\n margin-bottom: 20px;\\n display: flex;\\n justify-content: center;\\n}\\n.containerText[data-v-2290191d]{\\n margin: 20px;\\n font-size: 16px;\\n box-sizing: border-box;\\n}\\n.value[data-v-2290191d]{\\n display: inline-block;\\n max-width: 200px;\\n overflow:hidden;\\n}\\n.el-dialog[data-v-2290191d]{\\n height: 100vh;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/views/ContainerManager.vue?./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
+eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.genTable[data-v-2290191d]{\\n padding:20px;\\n min-width: 500px;\\n width: 500px;\\n}\\n.clearfix[data-v-2290191d]:before,\\n .clearfix[data-v-2290191d]:after {\\n display: table;\\n content: \\\"\\\";\\n}\\n.clearfix[data-v-2290191d]:after {\\n clear: both\\n}\\n.wrapper[data-v-2290191d]{\\n display: flex;\\n flex-wrap: wrap;\\n}\\n.item[data-v-2290191d]{\\n flex:0 0 340px;\\n margin-right:20px;\\n margin-bottom:20px;\\n background-color: #f0f0f0;\\n}\\n.item button[data-v-2290191d]{\\n width:100px;\\n margin:0 auto;\\n}\\n.btnWrap[data-v-2290191d]{\\n width:50%;\\n float: left;\\n margin-bottom: 20px;\\n display: flex;\\n justify-content: center;\\n}\\n.containerText[data-v-2290191d]{\\n margin: 20px;\\n font-size: 16px;\\n box-sizing: border-box;\\n}\\n.value[data-v-2290191d]{\\n display: inline-block;\\n max-width: 200px;\\n overflow:hidden;\\n margin-left: 20px;\\n}\\n.el-dialog[data-v-2290191d]{\\n height: 100vh;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/views/ContainerManager.vue?./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
@@ -321,7 +206,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContainerManager_vue_vue_type_template_id_2290191d_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"dddd77cc-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib??vue-loader-options!./ContainerManager.vue?vue&type=template&id=2290191d&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"dddd77cc-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/ContainerManager.vue?vue&type=template&id=2290191d&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContainerManager_vue_vue_type_template_id_2290191d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContainerManager_vue_vue_type_template_id_2290191d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/views/ContainerManager.vue?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContainerManager_vue_vue_type_template_id_2290191d_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"41f1f4da-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib??vue-loader-options!./ContainerManager.vue?vue&type=template&id=2290191d&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"41f1f4da-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/ContainerManager.vue?vue&type=template&id=2290191d&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContainerManager_vue_vue_type_template_id_2290191d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContainerManager_vue_vue_type_template_id_2290191d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/views/ContainerManager.vue?");
/***/ })
diff --git a/powerjob-server/src/main/resources/static/js/3.js b/powerjob-server/src/main/resources/static/js/3.js
index 4165995f..161046ad 100644
--- a/powerjob-server/src/main/resources/static/js/3.js
+++ b/powerjob-server/src/main/resources/static/js/3.js
@@ -12,15 +12,15 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core
/***/ }),
-/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"dddd77cc-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/ContainerTemplate.vue?vue&type=template&id=a291308c&scoped=true&":
+/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"41f1f4da-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/ContainerTemplate.vue?vue&type=template&id=a291308c&scoped=true&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"dddd77cc-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/views/ContainerTemplate.vue?vue&type=template&id=a291308c&scoped=true& ***!
+ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"41f1f4da-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/views/ContainerTemplate.vue?vue&type=template&id=a291308c&scoped=true& ***!
\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"el-card\",\n { staticClass: \"box-card\" },\n [\n _c(\n \"el-form\",\n {\n ref: \"form\",\n staticClass: \"genTable\",\n attrs: {\n model: _vm.form,\n \"label-width\": \"150px\",\n \"label-position\": \"left\"\n }\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"Group\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.group,\n callback: function($$v) {\n _vm.$set(_vm.form, \"group\", $$v)\n },\n expression: \"form.group\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"Artifact\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.artifact,\n callback: function($$v) {\n _vm.$set(_vm.form, \"artifact\", $$v)\n },\n expression: \"form.artifact\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"Name\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.name,\n callback: function($$v) {\n _vm.$set(_vm.form, \"name\", $$v)\n },\n expression: \"form.name\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"Package name\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.packageName,\n callback: function($$v) {\n _vm.$set(_vm.form, \"packageName\", $$v)\n },\n expression: \"form.packageName\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"Java Version\" } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.form.javaVersion,\n callback: function($$v) {\n _vm.$set(_vm.form, \"javaVersion\", $$v)\n },\n expression: \"form.javaVersion\"\n }\n },\n [\n _c(\"el-radio\", { attrs: { label: \"8\" } }),\n _c(\"el-radio\", { attrs: { label: \"11\" } })\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n { attrs: { type: \"primary\" }, on: { click: _vm.onSubmit } },\n [_vm._v(\"Generate\")]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/views/ContainerTemplate.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22dddd77cc-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"el-card\",\n { staticClass: \"box-card\" },\n [\n _c(\n \"el-form\",\n {\n ref: \"form\",\n staticClass: \"genTable\",\n attrs: {\n model: _vm.form,\n \"label-width\": \"150px\",\n \"label-position\": \"left\"\n }\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"Group\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.group,\n callback: function($$v) {\n _vm.$set(_vm.form, \"group\", $$v)\n },\n expression: \"form.group\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"Artifact\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.artifact,\n callback: function($$v) {\n _vm.$set(_vm.form, \"artifact\", $$v)\n },\n expression: \"form.artifact\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"Name\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.name,\n callback: function($$v) {\n _vm.$set(_vm.form, \"name\", $$v)\n },\n expression: \"form.name\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"Package name\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.packageName,\n callback: function($$v) {\n _vm.$set(_vm.form, \"packageName\", $$v)\n },\n expression: \"form.packageName\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"Java Version\" } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.form.javaVersion,\n callback: function($$v) {\n _vm.$set(_vm.form, \"javaVersion\", $$v)\n },\n expression: \"form.javaVersion\"\n }\n },\n [\n _c(\"el-radio\", { attrs: { label: \"8\" } }),\n _c(\"el-radio\", { attrs: { label: \"11\" } })\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n { attrs: { type: \"primary\" }, on: { click: _vm.onSubmit } },\n [_vm._v(\"Generate\")]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/views/ContainerTemplate.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2241f1f4da-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
@@ -36,29 +36,6 @@ eval("\nvar bind = __webpack_require__(/*! ../internals/function-bind-context */
/***/ }),
-/***/ "./node_modules/core-js/internals/create-property.js":
-/*!***********************************************************!*\
- !*** ./node_modules/core-js/internals/create-property.js ***!
- \***********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\nvar toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ \"./node_modules/core-js/internals/to-primitive.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/create-property.js?");
-
-/***/ }),
-
-/***/ "./node_modules/core-js/internals/dom-iterables.js":
-/*!*********************************************************!*\
- !*** ./node_modules/core-js/internals/dom-iterables.js ***!
- \*********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/dom-iterables.js?");
-
-/***/ }),
-
/***/ "./node_modules/core-js/internals/get-iterator.js":
/*!********************************************************!*\
!*** ./node_modules/core-js/internals/get-iterator.js ***!
@@ -217,7 +194,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContainerTemplate_vue_vue_type_template_id_a291308c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"dddd77cc-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib??vue-loader-options!./ContainerTemplate.vue?vue&type=template&id=a291308c&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"dddd77cc-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/ContainerTemplate.vue?vue&type=template&id=a291308c&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContainerTemplate_vue_vue_type_template_id_a291308c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_dddd77cc_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContainerTemplate_vue_vue_type_template_id_a291308c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/views/ContainerTemplate.vue?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContainerTemplate_vue_vue_type_template_id_a291308c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"41f1f4da-vue-loader-template\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib??vue-loader-options!./ContainerTemplate.vue?vue&type=template&id=a291308c&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"41f1f4da-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/ContainerTemplate.vue?vue&type=template&id=a291308c&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContainerTemplate_vue_vue_type_template_id_a291308c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_41f1f4da_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContainerTemplate_vue_vue_type_template_id_a291308c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/components/views/ContainerTemplate.vue?");
/***/ })
diff --git a/powerjob-server/src/main/resources/static/js/4.js b/powerjob-server/src/main/resources/static/js/4.js
index 967c28d4..86dffefb 100644
--- a/powerjob-server/src/main/resources/static/js/4.js
+++ b/powerjob-server/src/main/resources/static/js/4.js
@@ -1,132 +1,130 @@
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
-/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/dag/WorkflowEditor.vue?vue&type=script&lang=js&":
-/*!***************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/dag/WorkflowEditor.vue?vue&type=script&lang=js& ***!
- \***************************************************************************************************************************************************************************************************************************************************************/
+/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/Home.vue?vue&type=script&lang=js&":
+/*!*******************************************************************************************************************************************************************************************************************************************************!*\
+ !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/views/Home.vue?vue&type=script&lang=js& ***!
+ \*******************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_find_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.find-index */ \"./node_modules/core-js/modules/es.array.find-index.js\");\n/* harmony import */ var core_js_modules_es_array_find_index__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_index__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.for-each */ \"./node_modules/core-js/modules/es.array.for-each.js\");\n/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.map */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.splice */ \"./node_modules/core-js/modules/es.array.splice.js\");\n/* harmony import */ var core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var dagre_d3__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! dagre-d3 */ \"./node_modules/dagre-d3/index.js\");\n/* harmony import */ var dagre_d3__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(dagre_d3__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! d3 */ \"./node_modules/d3/index.js\");\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"WorkflowEditor\",\n data: function data() {\n return {\n workflowInfo: {\n appId: this.$store.state.appInfo.id,\n enable: true,\n maxWfInstanceNum: 1,\n notifyUserIds: [],\n peworkflowDAG: {\n nodes: [],\n edges: []\n },\n timeExpression: undefined,\n timeExpressionType: undefined,\n wfDescription: undefined,\n wfName: undefined\n },\n timeExpressionTypeOptions: [{\n key: \"API\",\n label: \"API\"\n }, {\n key: \"CRON\",\n label: \"CRON表达式\"\n }],\n userList: [],\n // 导入任务相关\n importDrawerVisible: false,\n jobQueryContent: {\n appId: this.$store.state.appInfo.id,\n index: 0,\n pageSize: 10,\n jobId: undefined,\n keyword: undefined\n },\n jobInfoPageResult: {\n pageSize: 20,\n totalItems: 0,\n data: []\n },\n // 事件(1:新增起点,2:新增终点,3:删除节点;4:删除边)\n event: undefined,\n from: undefined\n };\n },\n methods: {\n // 返回上一页\n back: function back() {\n this.$router.go(-1);\n },\n\n /* ******** 导入任务相关,所有函数与 JobManager 重复,需要前端大佬重构! ******** */\n // 点击重置按钮\n onClickReset: function onClickReset() {\n this.jobQueryContent.keyword = undefined;\n this.jobQueryContent.jobId = undefined;\n },\n // 列出符合当前搜索条件的任务\n listJobInfos: function listJobInfos() {\n var that = this;\n this.axios.post(\"/job/list\", this.jobQueryContent).then(function (res) {\n that.jobInfoPageResult = res;\n });\n },\n // 点击 换页\n onClickChangePage: function onClickChangePage(index) {\n // 后端从0开始,前端从1开始\n this.jobQueryContent.index = index - 1;\n this.listJobInfos();\n },\n onClickImportNode: function onClickImportNode() {\n this.listJobInfos();\n this.importDrawerVisible = true;\n },\n // 导入任务,需要去重\n importNode: function importNode(data) {\n var canSave = true;\n this.workflowInfo.peworkflowDAG.nodes.forEach(function (node) {\n if (data.id === node.jobId) {\n canSave = false;\n console.log(\"nodes in workflow cannot be duplicated\");\n }\n });\n\n if (canSave) {\n console.log(\"add node: \" + data.id);\n this.workflowInfo.peworkflowDAG.nodes.push({\n jobId: data.id,\n jobName: data.jobName\n });\n this.draw();\n }\n },\n // 删除任务\n onClickRemoveNode: function onClickRemoveNode() {\n this.event = 3;\n this.$message.info(\"请点击需要删除的节点\");\n },\n onClickAddFrom: function onClickAddFrom() {\n this.event = 1;\n this.$message.info(\"请点击起始节点\");\n },\n onClickAddTo: function onClickAddTo() {\n this.event = 2;\n this.$message.info(\"请点击目标节点\");\n },\n onClickRemoveEdge: function onClickRemoveEdge() {\n this.event = 4;\n this.$message.info(\"请点击需要删除的边\");\n },\n // 保存工作流\n saveWorkflow: function saveWorkflow() {\n var that = this;\n this.axios.post(\"/workflow/save\", this.workflowInfo).then(function () {\n that.$message.success(\"保存成功!\");\n that.back();\n });\n },\n draw: function draw() {\n var _this = this;\n\n console.log(\"draw by data: \" + JSON.stringify(this.workflowInfo.peworkflowDAG)); //获取D3\n\n var g = new dagre_d3__WEBPACK_IMPORTED_MODULE_5___default.a.graphlib.Graph().setGraph({});\n var nodes = this.workflowInfo.peworkflowDAG.nodes.map(function (node) {\n return {\n id: node.jobId,\n label: \"jobId: \" + node.jobId + \"\\n\" + \"jobName: \" + node.jobName\n };\n }); // 添加节点\n\n nodes.forEach(function (node) {\n g.setNode(node.id, node);\n }); // 链接关系\n\n this.workflowInfo.peworkflowDAG.edges.forEach(function (item) {\n g.setEdge(item.from, item.to, {// style: \"stroke-width: 1.5;\"\n });\n }); //绘制图形\n\n var svg = d3__WEBPACK_IMPORTED_MODULE_6__[\"select\"](\"svg\"),\n inner = svg.select(\"g\"); //缩放\n\n var zoom = d3__WEBPACK_IMPORTED_MODULE_6__[\"zoom\"]().on(\"zoom\", function () {\n inner.attr(\"transform\", d3__WEBPACK_IMPORTED_MODULE_6__[\"event\"].transform);\n });\n svg.call(zoom);\n var render = new dagre_d3__WEBPACK_IMPORTED_MODULE_5___default.a.render();\n render(inner, g); // 添加节点监听\n\n inner.selectAll(\"g.node\").on(\"click\", function (e) {\n for (var i = 0; i < _this.workflowInfo.peworkflowDAG.nodes.length; i++) {\n if (e == _this.workflowInfo.peworkflowDAG.nodes[i].jobId) {\n console.log(\"onClickNode, jobId=\" + e);\n\n _this.onClickDAGNode(e, g);\n }\n }\n }); // 添加边监听\n\n inner.selectAll(\"path\").on(\"click\", function (e) {\n if (_this.event === 4) {\n var oldEdges = _this.workflowInfo.peworkflowDAG.edges;\n _this.workflowInfo.peworkflowDAG.edges = []; // 删除节点相关的所有边\n\n oldEdges.forEach(function (edge) {\n if (!(edge.from == e.v && edge.to == e.w)) {\n _this.workflowInfo.peworkflowDAG.edges.push(edge);\n }\n\n _this.draw();\n });\n }\n });\n },\n onClickDAGNode: function onClickDAGNode(nodeId, g) {\n var _this2 = this;\n\n switch (this.event) {\n case 3:\n {\n g.removeNode(nodeId);\n var nodesArr = this.workflowInfo.peworkflowDAG.nodes;\n var oldEdges = this.workflowInfo.peworkflowDAG.edges;\n this.workflowInfo.peworkflowDAG.edges = []; // 删除节点\n\n nodesArr.splice(nodesArr.findIndex(function (item) {\n return item.jobId == nodeId;\n }), 1); // 删除节点相关的所有边\n\n oldEdges.forEach(function (edge) {\n if (edge.from == nodeId || edge.to == nodeId) {\n console.log(\"remove edge: \" + JSON.stringify(edge));\n } else {\n _this2.workflowInfo.peworkflowDAG.edges.push(edge);\n }\n });\n this.draw();\n break;\n }\n\n case 1:\n {\n this.from = nodeId;\n break;\n }\n\n case 2:\n {\n var to = nodeId;\n\n if (this.from === undefined) {\n this.$message.warning(\"请先添加起点!\");\n break;\n }\n\n if (this.from === to) {\n this.$message.warning(\"非法操作(起点终点相同)!\");\n break;\n }\n\n var canSave = true;\n this.workflowInfo.peworkflowDAG.edges.forEach(function (edge) {\n if (edge.from === _this2.from && edge.to === to) {\n canSave = false;\n console.log(\"edge(%o -> %o) already exists!\", _this2.from, to);\n }\n });\n\n if (canSave) {\n this.workflowInfo.peworkflowDAG.edges.push({\n from: this.from,\n to: to\n });\n console.log(\"new edge(%o -> %o)\", this.from, to);\n }\n\n this.draw();\n break;\n }\n }\n }\n },\n mounted: function mounted() {\n // 加载用户信息\n var that = this;\n that.axios.get(\"/user/list\").then(function (res) {\n return that.userList = res;\n }); // 读取传递数据,如果是修改,需要先将数据绘制上去\n\n var modify = this.$route.params.modify;\n\n if (modify) {\n this.workflowInfo = this.$route.params.workflowInfo;\n this.workflowInfo.appId = this.$store.state.appInfo.id; // this.workflowInfo.peworkflowDAG.nodes = this.workflowInfo.peworkflowDAG.nodes.map(x => {\n // return {\n // jobId: x.jobId,\n // jobName: x.jobName\n // }\n // });\n\n this.draw();\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/dag/WorkflowEditor.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
+eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"Home\",\n data: function data() {\n return {\n systemInfo: {\n jobCount: \"N/A\",\n runningInstanceCount: \"N/A\",\n failedInstanceCount: \"N/A\",\n serverTime: undefined\n },\n activeWorkerCount: \"N/A\",\n workerList: []\n };\n },\n methods: {\n workerTableRowClassName: function workerTableRowClassName(_ref) {\n var row = _ref.row;\n\n switch (row.status) {\n case 1:\n return 'success-row';\n\n case 2:\n return 'warning-row';\n\n case 3:\n return 'error-row';\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n var that = this;\n var appId = that.$store.state.appInfo.id; // 请求 Worker 列表\n\n that.axios.get(\"/system/listWorker?appId=\" + appId).then(function (res) {\n that.workerList = res;\n that.activeWorkerCount = that.workerList.length;\n }); // 请求 Overview\n\n that.axios.get(\"/system/overview?appId=\" + appId).then(function (res) {\n that.systemInfo = res; // 对比服务器时间和本地时间\n\n var localTime = new Date().getTime();\n var serverTime = res.serverTime;\n console.log(\"localTime: %o, serverTime: %o\", localTime, serverTime);\n var offset = localTime - serverTime; // 误差大于一分钟,弹窗告警\n\n if (Math.abs(offset) > 60000) {\n _this.$notify({\n title: '警告',\n message: '调度中心服务器与本地存在时间差,可能影响任务调度准确性,建议排查时间问题!',\n type: 'warning',\n duration: 0\n });\n }\n });\n }\n});\n\n//# sourceURL=webpack:///./src/components/views/Home.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
-/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"dddd77cc-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/dag/WorkflowEditor.vue?vue&type=template&id=6eb224e1&scoped=true&":
-/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"dddd77cc-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/dag/WorkflowEditor.vue?vue&type=template&id=6eb224e1&scoped=true& ***!
- \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
+/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"41f1f4da-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/Home.vue?vue&type=template&id=069f7be0&scoped=true&":
+/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
+ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"41f1f4da-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/views/Home.vue?vue&type=template&id=069f7be0&scoped=true& ***!
+ \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"el-row\",\n { staticStyle: { margin: \"20px\" } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 1 } },\n [\n _c(\n \"el-button\",\n { attrs: { type: \"primary\" }, on: { click: _vm.back } },\n [_vm._v(\"返回\")]\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 1, offset: 22 } },\n [\n _c(\n \"el-button\",\n { attrs: { type: \"success\" }, on: { click: _vm.saveWorkflow } },\n [_vm._v(\"保存\")]\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\n \"el-form\",\n { ref: \"form\", attrs: { model: _vm.workflowInfo } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"工作流名称\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.workflowInfo.wfName,\n callback: function($$v) {\n _vm.$set(_vm.workflowInfo, \"wfName\", $$v)\n },\n expression: \"workflowInfo.wfName\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"工作流描述\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.workflowInfo.wfDescription,\n callback: function($$v) {\n _vm.$set(_vm.workflowInfo, \"wfDescription\", $$v)\n },\n expression: \"workflowInfo.wfDescription\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"定时信息\" } },\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-select\",\n {\n attrs: { placeholder: \"时间表达式类型\" },\n model: {\n value: _vm.workflowInfo.timeExpressionType,\n callback: function($$v) {\n _vm.$set(\n _vm.workflowInfo,\n \"timeExpressionType\",\n $$v\n )\n },\n expression: \"workflowInfo.timeExpressionType\"\n }\n },\n _vm._l(_vm.timeExpressionTypeOptions, function(\n item\n ) {\n return _c(\"el-option\", {\n key: item.key,\n attrs: { label: item.label, value: item.key }\n })\n }),\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 12 } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"CRON填写CRON表达式,API无需填写\"\n },\n model: {\n value: _vm.workflowInfo.timeExpression,\n callback: function($$v) {\n _vm.$set(\n _vm.workflowInfo,\n \"timeExpression\",\n $$v\n )\n },\n expression: \"workflowInfo.timeExpression\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"最大实例\" } },\n [\n _c(\"el-input-number\", {\n model: {\n value: _vm.workflowInfo.maxWfInstanceNum,\n callback: function($$v) {\n _vm.$set(_vm.workflowInfo, \"maxWfInstanceNum\", $$v)\n },\n expression: \"workflowInfo.maxWfInstanceNum\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"报警配置\" } },\n [\n _c(\n \"el-select\",\n {\n attrs: {\n multiple: \"\",\n filterable: \"\",\n placeholder: \"选择报警通知人员\"\n },\n model: {\n value: _vm.workflowInfo.notifyUserIds,\n callback: function($$v) {\n _vm.$set(_vm.workflowInfo, \"notifyUserIds\", $$v)\n },\n expression: \"workflowInfo.notifyUserIds\"\n }\n },\n _vm._l(_vm.userList, function(user) {\n return _c(\"el-option\", {\n key: user.id,\n attrs: { label: user.username, value: user.id }\n })\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\n \"el-row\",\n [\n _c(\"el-button\", { on: { click: _vm.onClickImportNode } }, [\n _vm._v(\"导入任务\")\n ]),\n _c(\"el-button\", { on: { click: _vm.onClickRemoveNode } }, [\n _vm._v(\"删除任务\")\n ]),\n _c(\"el-button\", { on: { click: _vm.onClickAddFrom } }, [\n _vm._v(\"新增起点\")\n ]),\n _c(\"el-button\", { on: { click: _vm.onClickAddTo } }, [\n _vm._v(\"新增终点\")\n ]),\n _c(\"el-button\", { on: { click: _vm.onClickRemoveEdge } }, [\n _vm._v(\"删除边\")\n ])\n ],\n 1\n ),\n _c(\"div\", [\n _c(\n \"svg\",\n { attrs: { width: \"80%\", height: \"1000px\", id: \"svgCanvas\" } },\n [_c(\"g\"), _c(\"rect\")]\n )\n ])\n ],\n 1\n ),\n _c(\n \"el-drawer\",\n {\n attrs: {\n title: \"请选择需要导入工作流的任务\",\n visible: _vm.importDrawerVisible,\n direction: \"rtl\",\n size: \"50%\"\n },\n on: {\n \"update:visible\": function($event) {\n _vm.importDrawerVisible = $event\n }\n }\n },\n [\n _c(\n \"el-row\",\n [\n _c(\n \"el-form\",\n {\n staticClass: \"el-form--inline\",\n attrs: { inline: true, model: _vm.jobQueryContent }\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"任务ID\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"任务ID\" },\n model: {\n value: _vm.jobQueryContent.jobId,\n callback: function($$v) {\n _vm.$set(_vm.jobQueryContent, \"jobId\", $$v)\n },\n expression: \"jobQueryContent.jobId\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"关键字\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"关键字\" },\n model: {\n value: _vm.jobQueryContent.keyword,\n callback: function($$v) {\n _vm.$set(_vm.jobQueryContent, \"keyword\", $$v)\n },\n expression: \"jobQueryContent.keyword\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.listJobInfos }\n },\n [_vm._v(\"查询\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: { type: \"cancel\" },\n on: { click: _vm.onClickReset }\n },\n [_vm._v(\"重置\")]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-table\",\n { attrs: { data: _vm.jobInfoPageResult.data } },\n [\n _c(\"el-table-column\", {\n attrs: { property: \"id\", label: \"任务ID\" }\n }),\n _c(\"el-table-column\", {\n attrs: { property: \"jobName\", label: \"任务名称\" }\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"操作\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(scope) {\n return [\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\" },\n on: {\n click: function($event) {\n return _vm.importNode(scope.row)\n }\n }\n },\n [_vm._v(\"导入\")]\n )\n ]\n }\n }\n ])\n })\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\"el-pagination\", {\n attrs: {\n layout: \"prev, pager, next\",\n total: this.jobInfoPageResult.totalItems,\n \"page-size\": this.jobInfoPageResult.pageSize\n },\n on: { \"current-change\": _vm.onClickChangePage }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/dag/WorkflowEditor.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22dddd77cc-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"home\" } },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 24 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"el-card\", { attrs: { shadow: \"always\" } }, [\n _vm._v(\n \" \" +\n _vm._s(_vm.$t(\"message.omsServerTime\")) +\n \":\" +\n _vm._s(\n this.common.timestamp2Str(_vm.systemInfo.serverTime)\n ) +\n \" \"\n )\n ])\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"el-card\", { attrs: { shadow: \"always\" } }, [\n _vm._v(\n \" \" +\n _vm._s(_vm.$t(\"message.localBrowserTime\")) +\n \":\" +\n _vm._s(this.common.timestamp2Str(new Date().getTime())) +\n \" \"\n )\n ])\n ],\n 1\n ),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://github.com/KFCFans/OhMyScheduler\",\n target: \"_blank\"\n }\n },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-card\",\n {\n staticStyle: { \"text-align\": \"center\" },\n attrs: { shadow: \"always\" }\n },\n [_vm._v(\" \" + _vm._s(_vm.$t(\"message.githubURL\")) + \" \")]\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"a\",\n {\n staticStyle: { \"text-align\": \"center\" },\n attrs: {\n href: \"https://www.yuque.com/ohmyscheduler/guidence\",\n target: \"_blank\"\n }\n },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"el-card\", { attrs: { shadow: \"always\" } }, [\n _vm._v(\" \" + _vm._s(_vm.$t(\"message.docURL\")) + \" \")\n ])\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 24 } },\n [\n _c(\"el-col\", { attrs: { span: 6 } }, [\n _c(\"div\", { staticClass: \"wrap\" }, [\n _c(\"div\", { staticClass: \"grid-content bg-purple\" }, [\n _c(\"div\", { staticClass: \"text mTitle\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.totalJobNum\")))\n ]),\n _c(\"div\", { staticClass: \"text mText\" }, [\n _vm._v(_vm._s(_vm.systemInfo.jobCount))\n ])\n ]),\n _c(\"i\", { staticClass: \"el-icon-orange\" })\n ])\n ]),\n _c(\"el-col\", { attrs: { span: 6 } }, [\n _c(\"div\", { staticClass: \"wrap\" }, [\n _c(\"div\", { staticClass: \"grid-content bg-purple\" }, [\n _c(\"div\", { staticClass: \"text mTitle\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.runningInstanceNum\")))\n ]),\n _c(\"div\", { staticClass: \"text\" }, [\n _vm._v(_vm._s(_vm.systemInfo.runningInstanceCount))\n ])\n ]),\n _c(\"i\", { staticClass: \"el-icon-loading\" })\n ])\n ]),\n _c(\"el-col\", { attrs: { span: 6 } }, [\n _c(\"div\", { staticClass: \"wrap\" }, [\n _c(\"div\", { staticClass: \"grid-content bg-purple\" }, [\n _c(\"div\", { staticClass: \"text mTitle\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.recentFailedInstanceNum\")))\n ]),\n _c(\"div\", { staticClass: \"text\" }, [\n _vm._v(_vm._s(_vm.systemInfo.failedInstanceCount))\n ])\n ]),\n _c(\"i\", { staticClass: \"el-icon-bell\" })\n ])\n ]),\n _c(\"el-col\", { attrs: { span: 6 } }, [\n _c(\"div\", { staticClass: \"wrap\" }, [\n _c(\"div\", { staticClass: \"grid-content bg-purple\" }, [\n _c(\"div\", { staticClass: \"text mTitle\" }, [\n _vm._v(_vm._s(_vm.$t(\"message.workerNum\")))\n ]),\n _c(\"div\", { staticClass: \"text\" }, [\n _vm._v(_vm._s(_vm.activeWorkerCount))\n ])\n ]),\n _c(\"i\", { staticClass: \"el-icon-cpu\" })\n ])\n ])\n ],\n 1\n ),\n _c(\n \"el-row\",\n [\n _c(\n \"el-col\",\n { attrs: { span: 24 } },\n [\n _c(\n \"el-table\",\n {\n staticStyle: { width: \"100%\" },\n attrs: {\n data: _vm.workerList,\n height: \"400px\",\n \"row-class-name\": _vm.workerTableRowClassName\n }\n },\n [\n _c(\"el-table-column\", {\n attrs: {\n prop: \"address\",\n label: _vm.$t(\"message.workerAddress\")\n }\n }),\n _c(\"el-table-column\", {\n attrs: { prop: \"cpuLoad\", label: _vm.$t(\"message.cpuLoad\") }\n }),\n _c(\"el-table-column\", {\n attrs: {\n prop: \"memoryLoad\",\n label: _vm.$t(\"message.memoryLoad\")\n }\n }),\n _c(\"el-table-column\", {\n attrs: {\n prop: \"diskLoad\",\n label: _vm.$t(\"message.diskLoad\")\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/views/Home.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2241f1f4da-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
-/***/ "./node_modules/core-js/internals/create-property.js":
-/*!***********************************************************!*\
- !*** ./node_modules/core-js/internals/create-property.js ***!
- \***********************************************************/
+/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/Home.vue?vue&type=style&index=0&id=069f7be0&scoped=true&lang=css&":
+/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/views/Home.vue?vue&type=style&index=0&id=069f7be0&scoped=true&lang=css& ***!
+ \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
-"use strict";
-eval("\nvar toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ \"./node_modules/core-js/internals/to-primitive.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/create-property.js?");
+eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* 头部信息 */\\n.wrap[data-v-069f7be0] {\\n background: #fff;\\n display: flex;\\n text-align: center;\\n justify-content: space-around;\\n align-items: center;\\n margin: 10px;\\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.2);\\n font-size: 1.5rem;\\n font-weight: bolder;\\n height: 131px;\\n}\\n.mTitle[data-v-069f7be0]{\\n font-size: 20px;\\n color:#0f0f0fad;\\n margin-bottom: 8px;\\n}\\n.el-card[data-v-069f7be0] {\\n margin: 10px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/views/Home.vue?./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
-/***/ "./node_modules/core-js/modules/es.array.find-index.js":
-/*!*************************************************************!*\
- !*** ./node_modules/core-js/modules/es.array.find-index.js ***!
- \*************************************************************/
+/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/Home.vue?vue&type=style&index=1&lang=css&":
+/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/views/Home.vue?vue&type=style&index=1&lang=css& ***!
+ \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
-"use strict";
-eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar $findIndex = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").findIndex;\nvar addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ \"./node_modules/core-js/internals/add-to-unscopables.js\");\nvar arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ \"./node_modules/core-js/internals/array-method-uses-to-length.js\");\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX);\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.find-index.js?");
+eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.el-table .warning-row {\\n color: darkgoldenrod;\\n}\\n.el-table .success-row {\\n color: green;\\n}\\n.el-table .error-row {\\n color: red;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/views/Home.vue?./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
-/***/ "./node_modules/core-js/modules/es.array.splice.js":
-/*!*********************************************************!*\
- !*** ./node_modules/core-js/modules/es.array.splice.js ***!
- \*********************************************************/
+/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/views/Home.vue?vue&type=style&index=0&id=069f7be0&scoped=true&lang=css&":
+/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
+ !*** ./node_modules/vue-style-loader??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/views/Home.vue?vue&type=style&index=0&id=069f7be0&scoped=true&lang=css& ***!
+ \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
-"use strict";
-eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ \"./node_modules/core-js/internals/to-absolute-index.js\");\nvar toInteger = __webpack_require__(/*! ../internals/to-integer */ \"./node_modules/core-js/internals/to-integer.js\");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ \"./node_modules/core-js/internals/array-species-create.js\");\nvar createProperty = __webpack_require__(/*! ../internals/create-property */ \"./node_modules/core-js/internals/create-property.js\");\nvar arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ \"./node_modules/core-js/internals/array-method-has-species-support.js\");\nvar arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ \"./node_modules/core-js/internals/array-method-uses-to-length.js\");\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.array.splice.js?");
+eval("// style-loader: Adds some css to the DOM by adding a