mirror of
https://gitee.com/dolphinscheduler/DolphinScheduler.git
synced 2024-12-01 11:47:51 +08:00
Merge pull request #4214 from chengshiwen/ui-eslint
[Improvement][UI] UI eslint support for better code quality and fewer bugs
This commit is contained in:
commit
95d320d7da
7
dolphinscheduler-ui/.eslintignore
Normal file
7
dolphinscheduler-ui/.eslintignore
Normal file
@ -0,0 +1,7 @@
|
||||
/_test_/
|
||||
/build/
|
||||
/dist/
|
||||
/node/
|
||||
/node_modules/
|
||||
/target/
|
||||
/*.js
|
@ -26,9 +26,18 @@ globals:
|
||||
Atomics: readonly
|
||||
SharedArrayBuffer: readonly
|
||||
PUBLIC_PATH: readonly
|
||||
$t: readonly
|
||||
parserOptions:
|
||||
ecmaVersion: 2018
|
||||
sourceType: module
|
||||
plugins:
|
||||
- vue
|
||||
rules: {}
|
||||
rules:
|
||||
vue/script-indent: ['error', 2, { 'baseIndent': 1, 'switchCase': 1 }]
|
||||
prefer-promise-reject-errors: 'off'
|
||||
no-prototype-builtins: 'off'
|
||||
no-mixed-operators: 'off'
|
||||
no-extend-native: 'off'
|
||||
prefer-const: 'off'
|
||||
overrides:
|
||||
- { 'files': ['*.vue'], 'rules': { 'indent': 'off' }}
|
||||
|
@ -125,6 +125,16 @@ const baseConfig = {
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.(js|vue)$/,
|
||||
loader: 'eslint-loader',
|
||||
enforce: 'pre',
|
||||
include: [resolve('src')],
|
||||
options: {
|
||||
formatter: require('eslint-friendly-formatter'),
|
||||
emitWarning: true
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.vue$/,
|
||||
loader: 'vue-loader',
|
||||
|
@ -19,6 +19,8 @@ const merge = require('webpack-merge')
|
||||
const { assetsDir, baseConfig } = require('./config')
|
||||
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
|
||||
const ProgressPlugin = require('progress-bar-webpack-plugin')
|
||||
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
|
||||
const portfinder = require('portfinder')
|
||||
const getEnv = require('env-parse').getEnv
|
||||
|
||||
const config = merge.smart(baseConfig, {
|
||||
@ -33,6 +35,7 @@ const config = merge.smart(baseConfig, {
|
||||
port: getEnv('DEV_PORT', 8888),
|
||||
host: getEnv('DEV_HOST', 'localhost'),
|
||||
noInfo: false,
|
||||
overlay: { warnings: false, errors: true },
|
||||
historyApiFallback: true,
|
||||
disableHostCheck: true,
|
||||
proxy: {
|
||||
@ -42,12 +45,12 @@ const config = merge.smart(baseConfig, {
|
||||
changeOrigin: true
|
||||
}
|
||||
},
|
||||
progress: false,
|
||||
quiet: false,
|
||||
progress: true,
|
||||
quiet: true,
|
||||
stats: {
|
||||
colors: true
|
||||
},
|
||||
clientLogLevel: 'none'
|
||||
clientLogLevel: 'warning'
|
||||
},
|
||||
plugins: [
|
||||
new ProgressPlugin(),
|
||||
@ -57,4 +60,36 @@ const config = merge.smart(baseConfig, {
|
||||
mode: 'development'
|
||||
})
|
||||
|
||||
module.exports = config
|
||||
module.exports = new Promise((resolve, reject) => {
|
||||
portfinder.basePort = process.env.PORT || config.devServer.port
|
||||
portfinder.getPort((err, port) => {
|
||||
if (err) {
|
||||
reject(err)
|
||||
} else {
|
||||
// publish the new Port, necessary for e2e tests
|
||||
process.env.PORT = port
|
||||
// add port to devServer config
|
||||
config.devServer.port = port
|
||||
// Add FriendlyErrorsPlugin
|
||||
config.plugins.push(new FriendlyErrorsPlugin({
|
||||
compilationSuccessInfo: {
|
||||
messages: [`Your application is running here: http://${config.devServer.host}:${port}`],
|
||||
},
|
||||
onErrors: () => {
|
||||
const notifier = require('node-notifier')
|
||||
return (severity, errors) => {
|
||||
if (severity !== 'error') return
|
||||
const error = errors[0]
|
||||
const filename = error.file && error.file.split('!').pop()
|
||||
notifier.notify({
|
||||
title: packageConfig.name,
|
||||
message: severity + ': ' + error.name,
|
||||
subtitle: filename || ''
|
||||
})
|
||||
}
|
||||
}
|
||||
}))
|
||||
resolve(config)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
@ -8,7 +8,7 @@
|
||||
"dev": "cross-env NODE_ENV=development webpack-dev-server --config ./build/webpack.config.dev.js",
|
||||
"clean": "rimraf dist",
|
||||
"start": "npm run dev",
|
||||
"lint": "eslint ./src --fix",
|
||||
"lint": "eslint ./src --ext .js,.vue --fix",
|
||||
"build:release": "npm run clean && cross-env NODE_ENV=production PUBLIC_PATH=/dolphinscheduler/ui webpack --config ./build/webpack.config.release.js"
|
||||
},
|
||||
"dependencies": {
|
||||
@ -55,18 +55,23 @@
|
||||
"env-parse": "^1.0.5",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-config-standard": "^14.1.1",
|
||||
"eslint-friendly-formatter": "^4.0.1",
|
||||
"eslint-loader": "^4.0.2",
|
||||
"eslint-plugin-import": "^2.20.2",
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-promise": "^4.2.1",
|
||||
"eslint-plugin-standard": "^4.0.1",
|
||||
"eslint-plugin-vue": "^6.2.2",
|
||||
"eslint-plugin-vue": "^7.2.0",
|
||||
"file-loader": "^5.0.2",
|
||||
"friendly-errors-webpack-plugin": "^1.7.0",
|
||||
"globby": "^8.0.1",
|
||||
"html-loader": "^0.5.5",
|
||||
"html-webpack-plugin": "^3.2.0",
|
||||
"mini-css-extract-plugin": "^0.8.2",
|
||||
"node-notifier": "^8.0.0",
|
||||
"node-sass": "^4.14.1",
|
||||
"pack": "^2.2.0",
|
||||
"portfinder": "^1.0.28",
|
||||
"postcss-loader": "^3.0.0",
|
||||
"progress-bar-webpack-plugin": "^1.12.1",
|
||||
"rimraf": "^2.6.2",
|
||||
|
@ -24,30 +24,30 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
factor: { type: Number, default: 1 }
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
count: 0
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
inc() {
|
||||
this.count++;
|
||||
export default {
|
||||
props: {
|
||||
factor: { type: Number, default: 1 }
|
||||
},
|
||||
dec() {
|
||||
this.count--;
|
||||
data () {
|
||||
return {
|
||||
count: 0
|
||||
}
|
||||
},
|
||||
reset() {
|
||||
this.count = 0;
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
computedCount: function() {
|
||||
return this.count * this.factor;
|
||||
methods: {
|
||||
inc () {
|
||||
this.count++
|
||||
},
|
||||
dec () {
|
||||
this.count--
|
||||
},
|
||||
reset () {
|
||||
this.count = 0
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
computedCount: function () {
|
||||
return this.count * this.factor
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
</script>
|
||||
|
@ -19,10 +19,10 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'message',
|
||||
props: [
|
||||
'msg'
|
||||
]
|
||||
}
|
||||
</script>
|
||||
export default {
|
||||
name: 'message',
|
||||
props: [
|
||||
'msg'
|
||||
]
|
||||
}
|
||||
</script>
|
||||
|
@ -156,7 +156,7 @@
|
||||
:visible.sync="nodeDrawer"
|
||||
size="50%"
|
||||
:with-header="false">
|
||||
<m-form-model v-if="nodeDrawer" :nodeData = nodeData @addTaskInfo="addTaskInfo" @cacheTaskInfo="cacheTaskInfo" @close="close" @onSubProcess="onSubProcess"></m-form-model>
|
||||
<m-form-model v-if="nodeDrawer" :nodeData=nodeData @seeHistory="seeHistory" @addTaskInfo="addTaskInfo" @cacheTaskInfo="cacheTaskInfo" @close="close" @onSubProcess="onSubProcess"></m-form-model>
|
||||
</el-drawer>
|
||||
<el-drawer
|
||||
:visible.sync="lineDrawer"
|
||||
@ -203,8 +203,8 @@
|
||||
import { findComponentDownward } from '@/module/util/'
|
||||
import disabledState from '@/module/mixin/disabledState'
|
||||
import { mapActions, mapState, mapMutations } from 'vuex'
|
||||
import mVersions from '../../projects/pages/definition/pages/list/_source/versions'
|
||||
import mStart from '../../projects/pages/definition/pages/list/_source/start'
|
||||
import mVersions from '../../projects/pages/definition/pages/list/_source/versions'
|
||||
|
||||
let eventModel
|
||||
|
||||
@ -268,54 +268,54 @@
|
||||
methods: {
|
||||
...mapActions('dag', ['saveDAGchart', 'updateInstance', 'updateDefinition', 'getTaskState', 'switchProcessDefinitionVersion', 'getProcessDefinitionVersionsPage', 'deleteProcessDefinitionVersion']),
|
||||
...mapMutations('dag', ['addTasks', 'cacheTasks', 'resetParams', 'setIsEditDag', 'setName', 'addConnects']),
|
||||
startRunning(item,startNodeList,sourceType) {
|
||||
startRunning (item, startNodeList, sourceType) {
|
||||
this.startData = item
|
||||
this.startNodeList.startNodeList
|
||||
this.startNodeList = startNodeList
|
||||
this.sourceType = sourceType
|
||||
this.startDialog = true
|
||||
},
|
||||
onUpdateStart() {
|
||||
onUpdateStart () {
|
||||
this.startDialog = false
|
||||
},
|
||||
closeStart() {
|
||||
closeStart () {
|
||||
this.startDialog = false
|
||||
},
|
||||
// DAG automatic layout
|
||||
dagAutomaticLayout() {
|
||||
if(this.store.state.dag.isEditDag) {
|
||||
dagAutomaticLayout () {
|
||||
if (this.store.state.dag.isEditDag) {
|
||||
this.$message.warning(`${i18n.$t('Please save the DAG before formatting')}`)
|
||||
return false
|
||||
}
|
||||
$('#canvas').html('')
|
||||
|
||||
// Destroy round robin
|
||||
// Destroy round robin
|
||||
Dag.init({
|
||||
dag: this,
|
||||
instance: jsPlumb.getInstance({
|
||||
Endpoint: [
|
||||
'Dot', { radius: 1, cssClass: 'dot-style' }
|
||||
],
|
||||
Connector: 'Bezier',
|
||||
PaintStyle: { lineWidth: 2, stroke: '#456' }, // Connection style
|
||||
ConnectionOverlays: [
|
||||
[
|
||||
'Arrow',
|
||||
{
|
||||
location: 1,
|
||||
id: 'arrow',
|
||||
length: 12,
|
||||
foldback: 0.8
|
||||
}
|
||||
dag: this,
|
||||
instance: jsPlumb.getInstance({
|
||||
Endpoint: [
|
||||
'Dot', { radius: 1, cssClass: 'dot-style' }
|
||||
],
|
||||
['Label', {
|
||||
Connector: 'Bezier',
|
||||
PaintStyle: { lineWidth: 2, stroke: '#456' }, // Connection style
|
||||
ConnectionOverlays: [
|
||||
[
|
||||
'Arrow',
|
||||
{
|
||||
location: 1,
|
||||
id: 'arrow',
|
||||
length: 12,
|
||||
foldback: 0.8
|
||||
}
|
||||
],
|
||||
['Label', {
|
||||
location: 0.5,
|
||||
id: 'label'
|
||||
}]
|
||||
],
|
||||
Container: 'canvas',
|
||||
ConnectionsDetachable: true
|
||||
}]
|
||||
],
|
||||
Container: 'canvas',
|
||||
ConnectionsDetachable: true
|
||||
})
|
||||
})
|
||||
})
|
||||
if (this.tasks.length) {
|
||||
Dag.backfill(true)
|
||||
if (this.type === 'instance') {
|
||||
@ -344,8 +344,8 @@
|
||||
/**
|
||||
* copy name
|
||||
*/
|
||||
_copyName(){
|
||||
let clipboard = new Clipboard(`.copy-name`)
|
||||
_copyName () {
|
||||
let clipboard = new Clipboard('.copy-name')
|
||||
clipboard.on('success', e => {
|
||||
this.$message.success(`${i18n.$t('Copy success')}`)
|
||||
// Free memory
|
||||
@ -383,8 +383,8 @@
|
||||
let dom = $(`#${v2.id}`)
|
||||
let state = dom.find('.state-p')
|
||||
let depState = ''
|
||||
taskList.forEach(item=>{
|
||||
if(item.name==v1.name) {
|
||||
taskList.forEach(item => {
|
||||
if (item.name === v1.name) {
|
||||
depState = item.state
|
||||
}
|
||||
})
|
||||
@ -460,7 +460,7 @@
|
||||
this.spinnerLoading = true
|
||||
// Storage store
|
||||
Dag.saveStore().then(res => {
|
||||
if(this._verifConditions(res.tasks)) {
|
||||
if (this._verifConditions(res.tasks)) {
|
||||
if (this.urlParam.id) {
|
||||
/**
|
||||
* Edit
|
||||
@ -509,24 +509,24 @@
|
||||
})
|
||||
})
|
||||
},
|
||||
_closeDAG(){
|
||||
_closeDAG () {
|
||||
let $name = this.$route.name
|
||||
if($name && $name.indexOf("definition") != -1){
|
||||
this.$router.push({ name: 'projects-definition-list'})
|
||||
}else{
|
||||
this.$router.push({ name: 'projects-instance-list'})
|
||||
if ($name && $name.indexOf('definition') !== -1) {
|
||||
this.$router.push({ name: 'projects-definition-list' })
|
||||
} else {
|
||||
this.$router.push({ name: 'projects-instance-list' })
|
||||
}
|
||||
},
|
||||
_verifConditions (value) {
|
||||
let tasks = value
|
||||
let bool = true
|
||||
tasks.map(v=>{
|
||||
if(v.type == 'CONDITIONS' && (v.conditionResult.successNode[0] =='' || v.conditionResult.successNode[0] == null || v.conditionResult.failedNode[0] =='' || v.conditionResult.failedNode[0] == null)) {
|
||||
tasks.map(v => {
|
||||
if (v.type === 'CONDITIONS' && (v.conditionResult.successNode[0] === '' || v.conditionResult.successNode[0] === null || v.conditionResult.failedNode[0] === '' || v.conditionResult.failedNode[0] === null)) {
|
||||
bool = false
|
||||
return false
|
||||
}
|
||||
})
|
||||
if(!bool) {
|
||||
if (!bool) {
|
||||
this.$message.warning(`${i18n.$t('Successful branch flow and failed branch flow are required')}`)
|
||||
this.spinnerLoading = false
|
||||
return false
|
||||
@ -600,20 +600,20 @@
|
||||
* View variables
|
||||
*/
|
||||
_toggleView () {
|
||||
findComponentDownward(this.$root, `assist-dag-index`)._toggleView()
|
||||
findComponentDownward(this.$root, 'assist-dag-index')._toggleView()
|
||||
},
|
||||
|
||||
/**
|
||||
* Starting parameters
|
||||
*/
|
||||
_toggleParam () {
|
||||
findComponentDownward(this.$root, `starting-params-dag-index`)._toggleParam()
|
||||
findComponentDownward(this.$root, 'starting-params-dag-index')._toggleParam()
|
||||
},
|
||||
addLineInfo ({ item, fromThis }) {
|
||||
this.addConnects(item)
|
||||
this.lineDrawer = false
|
||||
},
|
||||
cancel ({fromThis}) {
|
||||
cancel ({ fromThis }) {
|
||||
this.lineDrawer = false
|
||||
},
|
||||
|
||||
@ -621,23 +621,33 @@
|
||||
* Create a node popup layer
|
||||
* @param Object id
|
||||
*/
|
||||
_createLineLabel({id, sourceId, targetId}) {
|
||||
_createLineLabel ({ id, sourceId, targetId }) {
|
||||
this.lineData.id = id
|
||||
this.lineData.sourceId = sourceId
|
||||
this.lineData.targetId = targetId
|
||||
this.lineDrawer = true
|
||||
},
|
||||
|
||||
seeHistory (taskName) {
|
||||
this.nodeData.self.$router.push({
|
||||
name: 'task-instance',
|
||||
query: {
|
||||
processInstanceId: this.nodeData.self.$route.params.id,
|
||||
taskName: taskName
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
addTaskInfo ({ item, fromThis }) {
|
||||
this.addTasks(item)
|
||||
this.nodeDrawer = false
|
||||
},
|
||||
|
||||
cacheTaskInfo({item, fromThis}) {
|
||||
cacheTaskInfo ({ item, fromThis }) {
|
||||
this.cacheTasks(item)
|
||||
},
|
||||
|
||||
close ({ item,flag, fromThis }) {
|
||||
close ({ item, flag, fromThis }) {
|
||||
this.addTasks(item)
|
||||
// Edit status does not allow deletion of nodes
|
||||
if (flag) {
|
||||
@ -654,11 +664,11 @@
|
||||
let preNode = []
|
||||
let rearNode = []
|
||||
let rearList = []
|
||||
$('div[data-targetarr*="' + id + '"]').each(function(){
|
||||
rearNode.push($(this).attr("id"))
|
||||
$('div[data-targetarr*="' + id + '"]').each(function () {
|
||||
rearNode.push($(this).attr('id'))
|
||||
})
|
||||
|
||||
if (rearNode.length>0) {
|
||||
if (rearNode.length > 0) {
|
||||
rearNode.forEach(v => {
|
||||
let rearobj = {}
|
||||
rearobj.value = $(`#${v}`).find('.name-p').text()
|
||||
@ -690,12 +700,11 @@
|
||||
this.nodeData.preNode = preNode
|
||||
this.nodeData.rearList = rearList
|
||||
this.nodeData.instanceId = this.$route.params.id
|
||||
|
||||
|
||||
this.nodeDrawer = true
|
||||
|
||||
},
|
||||
removeEventModelById ($id) {
|
||||
if(eventModel && this.taskId == $id){
|
||||
if (eventModel && this.taskId === $id) {
|
||||
eventModel.remove()
|
||||
}
|
||||
},
|
||||
@ -707,12 +716,12 @@
|
||||
* @param processDefinitionId the process definition id
|
||||
* @param fromThis fromThis
|
||||
*/
|
||||
mVersionSwitchProcessDefinitionVersion({ version, processDefinitionId, fromThis }) {
|
||||
mVersionSwitchProcessDefinitionVersion ({ version, processDefinitionId, fromThis }) {
|
||||
this.$store.state.dag.isSwitchVersion = true
|
||||
this.switchProcessDefinitionVersion({
|
||||
version: version,
|
||||
processDefinitionId: processDefinitionId
|
||||
}).then(res=>{
|
||||
}).then(res => {
|
||||
this.$message.success($t('Switch Version Successfully'))
|
||||
this.$router.push({ path: `/projects/definition/list/${processDefinitionId}?_t=${new Date().getTime()}` })
|
||||
}).catch(e => {
|
||||
@ -720,7 +729,7 @@
|
||||
this.$message.error(e.msg || '')
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Paging event of process definition versions
|
||||
*
|
||||
@ -729,17 +738,17 @@
|
||||
* @param processDefinitionId the process definition id of page version
|
||||
* @param fromThis fromThis
|
||||
*/
|
||||
mVersionGetProcessDefinitionVersionsPage({ pageNo, pageSize, processDefinitionId, fromThis }) {
|
||||
mVersionGetProcessDefinitionVersionsPage ({ pageNo, pageSize, processDefinitionId, fromThis }) {
|
||||
this.getProcessDefinitionVersionsPage({
|
||||
pageNo: pageNo,
|
||||
pageSize: pageSize,
|
||||
processDefinitionId: processDefinitionId
|
||||
}).then(res=>{
|
||||
}).then(res => {
|
||||
this.versionData.processDefinitionVersions = res.data.lists
|
||||
this.versionData.total = res.data.totalCount
|
||||
this.versionData.pageSize = res.data.pageSize
|
||||
this.versionData.pageNo = res.data.currentPage
|
||||
}).catch(e=>{
|
||||
}).catch(e => {
|
||||
this.$message.error(e.msg || '')
|
||||
})
|
||||
},
|
||||
@ -748,7 +757,6 @@
|
||||
* query the process definition pagination version
|
||||
*/
|
||||
_version (item) {
|
||||
let self = this
|
||||
this.getProcessDefinitionVersionsPage({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
@ -766,17 +774,15 @@
|
||||
this.versionData.pageNo = pageNo
|
||||
this.versionData.pageSize = pageSize
|
||||
this.drawer = true
|
||||
|
||||
}).catch(e => {
|
||||
this.$message.error(e.msg || '')
|
||||
})
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'tasks': {
|
||||
tasks: {
|
||||
deep: true,
|
||||
handler (o) {
|
||||
|
||||
// Edit state does not allow deletion of node a...
|
||||
this.setIsEditDag(true)
|
||||
}
|
||||
@ -809,8 +815,8 @@
|
||||
}
|
||||
],
|
||||
['Label', {
|
||||
location: 0.5,
|
||||
id: 'label'
|
||||
location: 0.5,
|
||||
id: 'label'
|
||||
}]
|
||||
],
|
||||
Container: 'canvas',
|
||||
|
@ -143,21 +143,21 @@
|
||||
if (p === 2 || p === 0) {
|
||||
this.waitCompleteTimeout.strategy = is ? ['WARN'] : []
|
||||
this.waitCompleteTimeout.interval = is ? 30 : null
|
||||
}
|
||||
}
|
||||
},
|
||||
_verification () {
|
||||
// Verification timeout policy
|
||||
if (this.enable
|
||||
&& (this.waitCompleteTimeout.enable && !this.waitCompleteTimeout.strategy.length)
|
||||
|| (this.waitStartTimeout.enable && !this.waitStartTimeout.strategy.length)) {
|
||||
if (this.enable &&
|
||||
(this.waitCompleteTimeout.enable && !this.waitCompleteTimeout.strategy.length) ||
|
||||
(this.waitStartTimeout.enable && !this.waitStartTimeout.strategy.length)) {
|
||||
this.$message.warning(`${this.$t('Timeout strategy must be selected')}`)
|
||||
return false
|
||||
}
|
||||
// Verify timeout duration Non 0 positive integer
|
||||
const reg = /^[1-9]\d*$/
|
||||
if (this.enable
|
||||
&& (this.waitCompleteTimeout.enable && !reg.test(this.waitCompleteTimeout.interval))
|
||||
|| (this.waitStartTimeout.enable && (!reg.test(this.waitStartTimeout.interval || !reg.test(this.waitStartTimeout.checkInterval))))) {
|
||||
if (this.enable &&
|
||||
(this.waitCompleteTimeout.enable && !reg.test(this.waitCompleteTimeout.interval)) ||
|
||||
(this.waitStartTimeout.enable && (!reg.test(this.waitStartTimeout.interval || !reg.test(this.waitStartTimeout.checkInterval))))) {
|
||||
this.$message.warning(`${this.$t('Timeout must be a positive integer')}`)
|
||||
return false
|
||||
}
|
||||
@ -175,16 +175,16 @@
|
||||
},
|
||||
waitCompleteTimeout: {
|
||||
strategy: (() => {
|
||||
// Handling checkout sequence
|
||||
let strategy = this.waitCompleteTimeout.strategy
|
||||
if (strategy.length === 2 && strategy[0] === 'FAILED') {
|
||||
return [strategy[1], strategy[0]].join(',')
|
||||
} else {
|
||||
return strategy.join(',')
|
||||
}
|
||||
})(),
|
||||
interval: parseInt(this.waitCompleteTimeout.interval),
|
||||
enable: this.waitCompleteTimeout.enable
|
||||
// Handling checkout sequence
|
||||
let strategy = this.waitCompleteTimeout.strategy
|
||||
if (strategy.length === 2 && strategy[0] === 'FAILED') {
|
||||
return [strategy[1], strategy[0]].join(',')
|
||||
} else {
|
||||
return strategy.join(',')
|
||||
}
|
||||
})(),
|
||||
interval: parseInt(this.waitCompleteTimeout.interval),
|
||||
enable: this.waitCompleteTimeout.enable
|
||||
}
|
||||
})
|
||||
return true
|
||||
@ -215,4 +215,4 @@
|
||||
},
|
||||
components: {}
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@ -20,7 +20,7 @@
|
||||
:disabled="isDetails"
|
||||
size="small"
|
||||
@change="_onChange"
|
||||
v-model="value">
|
||||
v-model="selectedValue">
|
||||
<el-input
|
||||
ref="input"
|
||||
slot="trigger"
|
||||
@ -53,6 +53,7 @@
|
||||
name: 'form-select-input',
|
||||
data () {
|
||||
return {
|
||||
selectedValue: this.value,
|
||||
isIconState: false,
|
||||
isInput: true
|
||||
}
|
||||
@ -88,7 +89,7 @@
|
||||
}, 1)
|
||||
},
|
||||
_onBlur () {
|
||||
let val = $(this.$refs['input'].$el).find('input')[0].value
|
||||
let val = $(this.$refs.input.$el).find('input')[0].value
|
||||
if (this._validation(val)) {
|
||||
this.$emit('valueEvent', val)
|
||||
this._setIconState(val)
|
||||
@ -107,12 +108,15 @@
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
value (val) {
|
||||
this.selectedValue = val
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this._setIconState(this.value)
|
||||
this._setIconState(this.selectedValue)
|
||||
},
|
||||
mounted () {
|
||||
},
|
||||
components: {}
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@ -127,4 +127,4 @@
|
||||
},
|
||||
components: {}
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@ -18,7 +18,7 @@
|
||||
<el-select
|
||||
:disabled="isDetails"
|
||||
@change="_onChange"
|
||||
v-model="value"
|
||||
v-model="selectedValue"
|
||||
size="small"
|
||||
style="width: 180px">
|
||||
<el-option
|
||||
@ -35,6 +35,7 @@
|
||||
name: 'form-worker-group',
|
||||
data () {
|
||||
return {
|
||||
selectedValue: this.value,
|
||||
workerGroupsList: []
|
||||
}
|
||||
},
|
||||
@ -51,11 +52,13 @@
|
||||
},
|
||||
methods: {
|
||||
_onChange (o) {
|
||||
this.value = o
|
||||
this.$emit('workerGroupsEvent', o)
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
value (val) {
|
||||
this.selectedValue = val
|
||||
}
|
||||
},
|
||||
created () {
|
||||
let stateWorkerGroupsList = this.store.state.security.workerGroupsListAll || []
|
||||
|
@ -48,20 +48,16 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import { mapActions } from 'vuex'
|
||||
import i18n from '@/module/i18n'
|
||||
import JSP from './../plugIn/jsPlumbHandle'
|
||||
import disabledState from '@/module/mixin/disabledState'
|
||||
|
||||
export default {
|
||||
name: 'form-line-model',
|
||||
data () {
|
||||
return {
|
||||
// loading
|
||||
// loading
|
||||
spinnerLoading: false,
|
||||
// node name
|
||||
labelName: '',
|
||||
labelName: ''
|
||||
}
|
||||
},
|
||||
mixins: [disabledState],
|
||||
@ -69,38 +65,38 @@
|
||||
lineData: Object
|
||||
},
|
||||
methods: {
|
||||
cancel() {
|
||||
this.$emit('cancel', {
|
||||
fromThis: this
|
||||
})
|
||||
},
|
||||
ok() {
|
||||
if($(`#${this.lineData.id}`).prev().attr('class')==='jtk-overlay') {
|
||||
$(`#${this.lineData.id}`).prev().empty()
|
||||
}
|
||||
$(`#${this.lineData.id}`).text(this.labelName)
|
||||
this.$emit('addLineInfo', {
|
||||
item: {
|
||||
labelName: this.labelName,
|
||||
sourceId: this.lineData.sourceId,
|
||||
targetId: this.lineData.targetId
|
||||
},
|
||||
fromThis: this
|
||||
})
|
||||
cancel () {
|
||||
this.$emit('cancel', {
|
||||
fromThis: this
|
||||
})
|
||||
},
|
||||
ok () {
|
||||
if ($(`#${this.lineData.id}`).prev().attr('class') === 'jtk-overlay') {
|
||||
$(`#${this.lineData.id}`).prev().empty()
|
||||
}
|
||||
},
|
||||
$(`#${this.lineData.id}`).text(this.labelName)
|
||||
this.$emit('addLineInfo', {
|
||||
item: {
|
||||
labelName: this.labelName,
|
||||
sourceId: this.lineData.sourceId,
|
||||
targetId: this.lineData.targetId
|
||||
},
|
||||
fromThis: this
|
||||
})
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
||||
|
||||
},
|
||||
created () {
|
||||
if($(`#${this.lineData.id}`).prev().attr('class').indexOf('jtk-overlay')!==-1) {
|
||||
if ($(`#${this.lineData.id}`).prev().attr('class').indexOf('jtk-overlay') !== -1) {
|
||||
this.labelName = $(`#${this.lineData.id}`).prev().text()
|
||||
} else {
|
||||
this.labelName = $(`#${this.lineData.id}`).text()
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
|
||||
|
||||
},
|
||||
updated () {
|
||||
},
|
||||
@ -109,7 +105,7 @@
|
||||
destroyed () {
|
||||
},
|
||||
computed: {
|
||||
|
||||
|
||||
},
|
||||
components: {}
|
||||
}
|
||||
|
@ -342,8 +342,8 @@
|
||||
successBranch: '',
|
||||
failedBranch: '',
|
||||
conditionResult: {
|
||||
'successNode': [],
|
||||
'failedNode': []
|
||||
successNode: [],
|
||||
failedNode: []
|
||||
},
|
||||
// dependence
|
||||
dependence: {},
|
||||
@ -369,7 +369,7 @@
|
||||
taskInstancePriority: 'MEDIUM',
|
||||
// worker group id
|
||||
workerGroup: 'default',
|
||||
stateList:[
|
||||
stateList: [
|
||||
{
|
||||
value: 'success',
|
||||
label: `${i18n.$t('success')}`
|
||||
@ -381,8 +381,8 @@
|
||||
],
|
||||
// preTasks
|
||||
preTaskIdsInWorkflow: [],
|
||||
preTasksToAdd: [], // pre-taskIds to add, used in jsplumb connects
|
||||
preTasksToDelete: [], // pre-taskIds to delete, used in jsplumb connects
|
||||
preTasksToAdd: [], // pre-taskIds to add, used in jsplumb connects
|
||||
preTasksToDelete: [] // pre-taskIds to delete, used in jsplumb connects
|
||||
}
|
||||
},
|
||||
/**
|
||||
@ -438,13 +438,7 @@
|
||||
* Jump to task instance
|
||||
*/
|
||||
_seeHistory () {
|
||||
this.nodeData.self.$router.push({
|
||||
name: 'task-instance',
|
||||
query: {
|
||||
processInstanceId: this.nodeData.self.$route.params.id,
|
||||
taskName: this.backfillItem.name
|
||||
}
|
||||
})
|
||||
this.$emit('seeHistory', this.backfillItem.name)
|
||||
},
|
||||
/**
|
||||
* Enter the child node to judge the process instance or the process definition
|
||||
@ -463,12 +457,12 @@
|
||||
}
|
||||
this.store.dispatch('dag/getSubProcessId', { taskId: stateId }).then(res => {
|
||||
this.$emit('onSubProcess', {
|
||||
subProcessId: res.data.subProcessInstanceId,
|
||||
fromThis: this
|
||||
})
|
||||
}).catch(e => {
|
||||
subProcessId: res.data.subProcessInstanceId,
|
||||
fromThis: this
|
||||
})
|
||||
}).catch(e => {
|
||||
this.$message.error(e.msg || '')
|
||||
})
|
||||
})
|
||||
} else {
|
||||
this.$emit('onSubProcess', {
|
||||
subProcessId: this.backfillItem.params.processDefinitionId,
|
||||
@ -522,7 +516,7 @@
|
||||
this.$message.warning(`${i18n.$t('Please enter name (required)')}`)
|
||||
return false
|
||||
}
|
||||
if (this.successBranch !='' && this.successBranch !=null && this.successBranch == this.failedBranch) {
|
||||
if (this.successBranch !== '' && this.successBranch !== null && this.successBranch === this.failedBranch) {
|
||||
this.$message.warning(`${i18n.$t('Cannot select the same node for successful branch flow and failed branch flow')}`)
|
||||
return false
|
||||
}
|
||||
@ -536,13 +530,13 @@
|
||||
}
|
||||
return true
|
||||
},
|
||||
_verifWorkGroup() {
|
||||
_verifWorkGroup () {
|
||||
let item = this.store.state.security.workerGroupsListAll.find(item => {
|
||||
return item.id == this.workerGroup;
|
||||
});
|
||||
if(item==undefined) {
|
||||
return item.id === this.workerGroup
|
||||
})
|
||||
if (item === undefined) {
|
||||
this.$message.warning(`${i18n.$t('The Worker group no longer exists, please select the correct Worker group!')}`)
|
||||
return false;
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
@ -555,30 +549,29 @@
|
||||
return
|
||||
}
|
||||
// verif workGroup
|
||||
if(!this._verifWorkGroup()) {
|
||||
if (!this._verifWorkGroup()) {
|
||||
return
|
||||
}
|
||||
// Verify task alarm parameters
|
||||
if (this.nodeData.taskType === 'DEPENDENT') {
|
||||
if (!this.$refs['dependentTimeout']._verification()) {
|
||||
if (!this.$refs.dependentTimeout._verification()) {
|
||||
return
|
||||
}
|
||||
} else {
|
||||
if (!this.$refs['timeout']._verification()) {
|
||||
if (!this.$refs.timeout._verification()) {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Verify node parameters
|
||||
if (!this.$refs[this.nodeData.taskType]._verification()) {
|
||||
return
|
||||
}
|
||||
// Verify preTasks and update dag-things
|
||||
if (this.$refs['PRE_TASK']) {
|
||||
if (!this.$refs['PRE_TASK']._verification()) {
|
||||
if (this.$refs.PRE_TASK) {
|
||||
if (!this.$refs.PRE_TASK._verification()) {
|
||||
return
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
// Sync data-targetarr
|
||||
$(`#${this.nodeData.id}`).attr(
|
||||
'data-targetarr', this.preTaskIdsInWorkflow ? this.preTaskIdsInWorkflow.join(',') : '')
|
||||
@ -594,7 +587,7 @@
|
||||
target: targetId,
|
||||
type: 'basic',
|
||||
paintStyle: { strokeWidth: 2, stroke: '#2d8cf0' },
|
||||
HoverPaintStyle: {stroke: '#ccc', strokeWidth: 3}
|
||||
HoverPaintStyle: { stroke: '#ccc', strokeWidth: 3 }
|
||||
})
|
||||
})
|
||||
|
||||
@ -602,7 +595,7 @@
|
||||
let currentConnects = plumbIns.getAllConnections()
|
||||
let len = currentConnects.length
|
||||
for (let i = 0; i < len; i++) {
|
||||
if (this.preTasksToDelete.indexOf(currentConnects[i].sourceId) > -1 && currentConnects[i].targetId == targetId) {
|
||||
if (this.preTasksToDelete.indexOf(currentConnects[i].sourceId) > -1 && currentConnects[i].targetId === targetId) {
|
||||
plumbIns.deleteConnection(currentConnects[i])
|
||||
i -= 1
|
||||
len -= 1
|
||||
@ -680,7 +673,7 @@
|
||||
fromThis: this
|
||||
})
|
||||
}
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
/**
|
||||
* Watch the item change, cache the value it changes
|
||||
@ -695,7 +688,7 @@
|
||||
// Backfill data
|
||||
let taskList = this.store.state.dag.tasks
|
||||
|
||||
//fillback use cacheTasks
|
||||
// fillback use cacheTasks
|
||||
let cacheTasks = this.store.state.dag.cacheTasks
|
||||
let o = {}
|
||||
if (cacheTasks[this.nodeData.id]) {
|
||||
@ -720,21 +713,19 @@
|
||||
this.maxRetryTimes = o.maxRetryTimes
|
||||
this.retryInterval = o.retryInterval
|
||||
this.delayTime = o.delayTime
|
||||
if(o.conditionResult) {
|
||||
if (o.conditionResult) {
|
||||
this.successBranch = o.conditionResult.successNode[0]
|
||||
this.failedBranch = o.conditionResult.failedNode[0]
|
||||
}
|
||||
// If the workergroup has been deleted, set the default workergroup
|
||||
var hasMatch = false;
|
||||
// If the workergroup has been deleted, set the default workergroup
|
||||
for (let i = 0; i < this.store.state.security.workerGroupsListAll.length; i++) {
|
||||
var workerGroup = this.store.state.security.workerGroupsListAll[i].id
|
||||
if (o.workerGroup == workerGroup) {
|
||||
hasMatch = true;
|
||||
break;
|
||||
if (o.workerGroup === workerGroup) {
|
||||
break
|
||||
}
|
||||
}
|
||||
if(o.workerGroup == undefined) {
|
||||
this.store.dispatch('dag/getTaskInstanceList',{
|
||||
if (o.workerGroup === undefined) {
|
||||
this.store.dispatch('dag/getTaskInstanceList', {
|
||||
pageSize: 10, pageNo: 1, processInstanceId: this.nodeData.instanceId, name: o.name
|
||||
}).then(res => {
|
||||
this.workerGroup = res.totalList[0].workerGroup
|
||||
@ -746,7 +737,6 @@
|
||||
this.params = o.params || {}
|
||||
this.dependence = o.dependence || {}
|
||||
this.cacheDependence = o.dependence || {}
|
||||
|
||||
} else {
|
||||
this.workerGroup = this.store.state.security.workerGroupsListAll[0].id
|
||||
}
|
||||
@ -765,10 +755,10 @@
|
||||
},
|
||||
mounted () {
|
||||
let self = this
|
||||
$("#cancelBtn").mousedown(function(event){
|
||||
event.preventDefault();
|
||||
$('#cancelBtn').mousedown(function (event) {
|
||||
event.preventDefault()
|
||||
self.close()
|
||||
});
|
||||
})
|
||||
},
|
||||
updated () {
|
||||
},
|
||||
@ -784,7 +774,7 @@
|
||||
return this.nodeData.taskType === 'SUB_PROCESS' && this.name
|
||||
},
|
||||
|
||||
//Define the item model
|
||||
// Define the item model
|
||||
_item () {
|
||||
return {
|
||||
type: this.nodeData.taskType,
|
||||
@ -826,7 +816,7 @@
|
||||
mDependentTimeout,
|
||||
mPriority,
|
||||
mWorkerGroups,
|
||||
mPreTasks,
|
||||
mPreTasks
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -67,7 +67,7 @@
|
||||
*/
|
||||
const handerTextareaSize = (isH = 0) => {
|
||||
$('body').find('.tooltip.fade.top.in').remove()
|
||||
return $('.textarea-ft').css({ 'height': `${$('.content-log-box').height() - isH}px` })
|
||||
return $('.textarea-ft').css({ height: `${$('.content-log-box').height() - isH}px` })
|
||||
}
|
||||
|
||||
let content = ''
|
||||
@ -89,7 +89,7 @@
|
||||
props: {
|
||||
item: {
|
||||
type: Object,
|
||||
default: {}
|
||||
default: Object
|
||||
},
|
||||
source: {
|
||||
type: String,
|
||||
@ -179,8 +179,8 @@
|
||||
this.loadingIndex = this.loadingIndex - 1
|
||||
this._ckLog()
|
||||
}, 1000, {
|
||||
'leading': false,
|
||||
'trailing': true
|
||||
leading: false,
|
||||
trailing: true
|
||||
}),
|
||||
/**
|
||||
* down
|
||||
@ -189,8 +189,8 @@
|
||||
this.loadingIndex = this.loadingIndex + 1
|
||||
this._ckLog()
|
||||
}, 1000, {
|
||||
'leading': false,
|
||||
'trailing': true
|
||||
leading: false,
|
||||
trailing: true
|
||||
}),
|
||||
/**
|
||||
* Monitor scroll bar
|
||||
|
@ -128,7 +128,7 @@
|
||||
this.$emit('on-dsData', {
|
||||
type: this.type,
|
||||
datasource: val
|
||||
});
|
||||
})
|
||||
}
|
||||
},
|
||||
created () {
|
||||
|
@ -74,7 +74,7 @@
|
||||
props: {
|
||||
dependItemList: Array,
|
||||
index: Number,
|
||||
dependTaskList:Array
|
||||
dependTaskList: Array
|
||||
},
|
||||
model: {
|
||||
prop: 'dependItemList',
|
||||
@ -109,7 +109,6 @@
|
||||
* remove task
|
||||
*/
|
||||
_remove (i) {
|
||||
this.dependTaskList[this.index].dependItemList.splice(i,1)
|
||||
this._removeTip()
|
||||
if (!this.dependItemList.length || this.dependItemList.length === 0) {
|
||||
this.$emit('on-delete-all', {
|
||||
@ -176,14 +175,14 @@
|
||||
*/
|
||||
_onChangeProjectId (value) {
|
||||
this._getProcessByProjectId(value).then(definitionList => {
|
||||
/*this.$set(this.dependItemList, this.itemIndex, this._dlOldParams(value, definitionList, item))*/
|
||||
/* this.$set(this.dependItemList, this.itemIndex, this._dlOldParams(value, definitionList, item)) */
|
||||
let definitionId = definitionList[0].value
|
||||
this._getDependItemList(definitionId).then(depTasksList => {
|
||||
let item = this.dependItemList[this.itemIndex]
|
||||
// init set depTasks All
|
||||
item.depTasks = 'ALL'
|
||||
// set dependItemList item data
|
||||
this.$set(this.dependItemList, this.itemIndex, this._cpOldParams(value,definitionId, definitionList,depTasksList, item))
|
||||
this.$set(this.dependItemList, this.itemIndex, this._cpOldParams(value, definitionId, definitionList, depTasksList, item))
|
||||
})
|
||||
})
|
||||
},
|
||||
@ -212,7 +211,7 @@
|
||||
depTasksList: depTasksList,
|
||||
cycle: 'day',
|
||||
dateValue: 'today',
|
||||
dateValueList: _.cloneDeep(dateValueList['day']),
|
||||
dateValueList: _.cloneDeep(dateValueList.day),
|
||||
state: ''
|
||||
}
|
||||
},
|
||||
@ -231,7 +230,7 @@
|
||||
}
|
||||
},
|
||||
|
||||
_cpOldParams (value,definitionId, definitionList,depTasksList, item) {
|
||||
_cpOldParams (value, definitionId, definitionList, depTasksList, item) {
|
||||
return {
|
||||
projectId: value,
|
||||
definitionList: definitionList,
|
||||
|
@ -83,7 +83,7 @@
|
||||
// Current execution index
|
||||
httpParamsIndex: null,
|
||||
// 参数位置的下拉框
|
||||
positionList:positionList
|
||||
positionList: positionList
|
||||
}
|
||||
},
|
||||
mixins: [disabledState],
|
||||
@ -142,7 +142,7 @@
|
||||
if (!v.prop) {
|
||||
flag = false
|
||||
}
|
||||
if(v.value === ''){
|
||||
if (v.value === '') {
|
||||
this.$message.warning(`${i18n.$t('value is empty')}`)
|
||||
return false
|
||||
}
|
||||
@ -173,7 +173,7 @@
|
||||
}
|
||||
})
|
||||
if (!flag) {
|
||||
this.$message.warning(`${i18n.$t('value is empty')}`)
|
||||
this.$message.warning(`${i18n.$t('value is empty')}`)
|
||||
return false
|
||||
}
|
||||
this.$emit('on-http-params', _.cloneDeep(this.httpParamsList))
|
||||
@ -191,7 +191,7 @@
|
||||
},
|
||||
computed: {
|
||||
inputStyle () {
|
||||
return "width:30%"
|
||||
return 'width:30%'
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
@ -240,4 +240,3 @@
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
@ -31,7 +31,6 @@
|
||||
</template>
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import i18n from '@/module/i18n'
|
||||
import mListBox from './listBox'
|
||||
import disabledState from '@/module/mixin/disabledState'
|
||||
import codemirror from '@/conf/home/pages/resource/pages/file/pages/_source/codemirror'
|
||||
@ -43,7 +42,7 @@
|
||||
data () {
|
||||
return {
|
||||
// script
|
||||
rawScript: '',
|
||||
rawScript: ''
|
||||
}
|
||||
},
|
||||
mixins: [disabledState],
|
||||
@ -56,13 +55,13 @@
|
||||
*/
|
||||
_handlerEditor () {
|
||||
// editor
|
||||
let self =this
|
||||
let self = this
|
||||
editor = codemirror('code-shell-mirror1', {
|
||||
mode: 'shell',
|
||||
readOnly: this.isDetails
|
||||
})
|
||||
editor.on("change",function(){
|
||||
self.$emit('getJsonBoxValue',editor.getValue())
|
||||
editor.on('change', function () {
|
||||
self.$emit('getJsonBoxValue', editor.getValue())
|
||||
})
|
||||
|
||||
this.keypress = () => {
|
||||
@ -79,7 +78,7 @@
|
||||
editor.setValue(this.rawScript)
|
||||
|
||||
return editor
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created () {
|
||||
|
@ -45,7 +45,7 @@
|
||||
</template>
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import { cycleList, dateValueList, nodeStatusList } from './commcon'
|
||||
import { cycleList, nodeStatusList } from './commcon'
|
||||
import disabledState from '@/module/mixin/disabledState'
|
||||
export default {
|
||||
name: 'node-status',
|
||||
@ -64,7 +64,7 @@
|
||||
props: {
|
||||
dependItemList: Array,
|
||||
index: Number,
|
||||
dependTaskList:Array,
|
||||
dependTaskList: Array,
|
||||
preNode: Array
|
||||
},
|
||||
model: {
|
||||
@ -78,7 +78,7 @@
|
||||
_add () {
|
||||
// btn loading
|
||||
this.isLoading = true
|
||||
this.$emit('dependItemListEvent', _.concat(this.dependItemList, this._rtNewParams()))
|
||||
this.$emit('dependItemListEvent', _.concat(this.dependItemList, this._rtNewParams()))
|
||||
|
||||
// remove tooltip
|
||||
this._removeTip()
|
||||
@ -87,7 +87,6 @@
|
||||
* remove task
|
||||
*/
|
||||
_remove (i) {
|
||||
this.dependTaskList[this.index].dependItemList.splice(i,1)
|
||||
this._removeTip()
|
||||
if (!this.dependItemList.length || this.dependItemList.length === 0) {
|
||||
this.$emit('on-delete-all', {
|
||||
@ -137,7 +136,7 @@
|
||||
status: ''
|
||||
}
|
||||
},
|
||||
_rtOldParams (value,depTasksList, item) {
|
||||
_rtOldParams (value, depTasksList, item) {
|
||||
return {
|
||||
depTasks: '',
|
||||
status: ''
|
||||
@ -159,7 +158,6 @@
|
||||
this.isInstance = this.router.history.current.name === 'projects-instance-details'
|
||||
// get processlist
|
||||
this._getProjectList().then(() => {
|
||||
let projectId = this.projectList[0].value
|
||||
if (!this.dependItemList.length) {
|
||||
this.$emit('dependItemListEvent', _.concat(this.dependItemList, this._rtNewParams()))
|
||||
} else {
|
||||
|
@ -31,7 +31,6 @@
|
||||
</template>
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import i18n from '@/module/i18n'
|
||||
import mListBox from './listBox'
|
||||
import disabledState from '@/module/mixin/disabledState'
|
||||
import codemirror from '@/conf/home/pages/resource/pages/file/pages/_source/codemirror'
|
||||
@ -43,7 +42,7 @@
|
||||
data () {
|
||||
return {
|
||||
// script
|
||||
rawScript: '',
|
||||
rawScript: ''
|
||||
}
|
||||
},
|
||||
mixins: [disabledState],
|
||||
@ -56,13 +55,13 @@
|
||||
*/
|
||||
_handlerEditor () {
|
||||
// editor
|
||||
let self =this
|
||||
let self = this
|
||||
editor = codemirror('code-shell-mirror1', {
|
||||
mode: 'shell',
|
||||
readOnly: this.isDetails
|
||||
})
|
||||
editor.on("change",function(){
|
||||
self.$emit('getSriptBoxValue',editor.getValue())
|
||||
editor.on('change', function () {
|
||||
self.$emit('getSriptBoxValue', editor.getValue())
|
||||
})
|
||||
|
||||
this.keypress = () => {
|
||||
@ -79,7 +78,7 @@
|
||||
editor.setValue(this.rawScript)
|
||||
|
||||
return editor
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created () {
|
||||
|
@ -32,7 +32,6 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import { sqlTypeList } from './commcon'
|
||||
import disabledState from '@/module/mixin/disabledState'
|
||||
export default {
|
||||
@ -61,7 +60,7 @@
|
||||
},
|
||||
created () {
|
||||
this.$nextTick(() => {
|
||||
if (this.sqlType != 0) {
|
||||
if (this.sqlType !== 0) {
|
||||
this.sqlTypeId = this.sqlType
|
||||
} else {
|
||||
this.sqlTypeId = this.sqlTypeList[0].id
|
||||
|
@ -25,7 +25,7 @@
|
||||
v-for="city in udfsList"
|
||||
:key="city.id"
|
||||
:value="city.id"
|
||||
:label="city.code">
|
||||
:label="city.code">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
@ -93,7 +93,7 @@
|
||||
},
|
||||
type (a) {
|
||||
// The props parameter needs to be changed due to the scene.
|
||||
this.udfs = ''
|
||||
this.$emit('on-udfsData', '')
|
||||
if (a === 'HIVE') {
|
||||
this._getUdfList()
|
||||
} else {
|
||||
|
@ -99,9 +99,10 @@
|
||||
$('body').find('.tooltip.fade.top.in').remove()
|
||||
},
|
||||
_onDeleteAll (i) {
|
||||
this.dependTaskList.map((item,i)=>{
|
||||
if(item.dependItemList.length === 0){
|
||||
this.dependTaskList.splice(i,1)
|
||||
this.dependTaskList[this.index].dependItemList.splice(i, 1)
|
||||
this.dependTaskList.map((item, i) => {
|
||||
if (item.dependItemList.length === 0) {
|
||||
this.dependTaskList.splice(i, 1)
|
||||
}
|
||||
})
|
||||
// this._deleteDep(i)
|
||||
@ -109,7 +110,7 @@
|
||||
_setGlobalRelation () {
|
||||
this.relation = this.relation === 'AND' ? 'OR' : 'AND'
|
||||
},
|
||||
getDependTaskList(i){
|
||||
getDependTaskList (i) {
|
||||
// console.log('getDependTaskList',i)
|
||||
},
|
||||
_setRelation (i) {
|
||||
@ -142,20 +143,17 @@
|
||||
},
|
||||
created () {
|
||||
let o = this.backfillItem
|
||||
let dependentResult = $(`#${o.id}`).data('dependent-result') || {}
|
||||
|
||||
// Does not represent an empty object backfill
|
||||
if (!_.isEmpty(o)) {
|
||||
this.relation = _.cloneDeep(o.dependence.relation) || 'AND'
|
||||
this.dependTaskList = _.cloneDeep(o.dependence.dependTaskList) || []
|
||||
let defaultState = this.isDetails ? 'WAITING' : ''
|
||||
// Process instance return status display matches by key
|
||||
_.map(this.dependTaskList, v => _.map(v.dependItemList, v1 => {
|
||||
$(`#${o.id}`).siblings().each(function(){
|
||||
if(v1.depTasks == $(this).text()) {
|
||||
$(`#${o.id}`).siblings().each(function () {
|
||||
if (v1.depTasks === $(this).text()) {
|
||||
v1.state = $(this).attr('data-dependent-depstate')
|
||||
}
|
||||
});
|
||||
})
|
||||
}))
|
||||
}
|
||||
},
|
||||
|
@ -214,12 +214,12 @@
|
||||
// Custom parameter
|
||||
localParams: [],
|
||||
customConfig: 0,
|
||||
//jvm memory xms
|
||||
// jvm memory xms
|
||||
xms: 1,
|
||||
//jvm memory xms
|
||||
// jvm memory xms
|
||||
xmx: 1,
|
||||
scriptBoxDialog: false,
|
||||
item: '',
|
||||
item: ''
|
||||
}
|
||||
},
|
||||
mixins: [disabledState],
|
||||
@ -228,7 +228,7 @@
|
||||
createNodeId: Number
|
||||
},
|
||||
methods: {
|
||||
setEditorVal() {
|
||||
setEditorVal () {
|
||||
this.item = editor.getValue()
|
||||
this.scriptBoxDialog = true
|
||||
},
|
||||
@ -236,7 +236,7 @@
|
||||
editor.setValue(val)
|
||||
},
|
||||
_onSwitch (is) {
|
||||
if(is) {
|
||||
if (is) {
|
||||
this.customConfig = 1
|
||||
setTimeout(() => {
|
||||
this._handlerJsonEditor()
|
||||
@ -284,7 +284,7 @@
|
||||
* verification
|
||||
*/
|
||||
_verification () {
|
||||
if(this.customConfig) {
|
||||
if (this.customConfig) {
|
||||
if (!jsonEditor.getValue()) {
|
||||
this.$message.warning(`${i18n.$t('Please enter a JSON Statement(required)')}`)
|
||||
return false
|
||||
@ -300,8 +300,8 @@
|
||||
customConfig: this.customConfig,
|
||||
json: jsonEditor.getValue(),
|
||||
localParams: this.localParams,
|
||||
xms:+this.xms,
|
||||
xmx:+this.xmx
|
||||
xms: +this.xms,
|
||||
xmx: +this.xmx
|
||||
})
|
||||
return true
|
||||
} else {
|
||||
@ -335,7 +335,6 @@
|
||||
return false
|
||||
}
|
||||
|
||||
debugger
|
||||
// storage
|
||||
this.$emit('on-params', {
|
||||
customConfig: this.customConfig,
|
||||
@ -349,8 +348,8 @@
|
||||
jobSpeedRecord: this.jobSpeedRecord,
|
||||
preStatements: this.preStatements,
|
||||
postStatements: this.postStatements,
|
||||
xms:+this.xms,
|
||||
xmx:+this.xmx
|
||||
xms: +this.xms,
|
||||
xmx: +this.xmx
|
||||
})
|
||||
return true
|
||||
}
|
||||
@ -420,25 +419,25 @@
|
||||
dataSource: this.rtDatasource,
|
||||
dtType: this.dtType,
|
||||
dataTarget: this.rtDatatarget,
|
||||
sql: editor?editor.getValue():'',
|
||||
sql: editor ? editor.getValue() : '',
|
||||
targetTable: this.targetTable,
|
||||
jobSpeedByte: this.jobSpeedByte * 1024,
|
||||
jobSpeedRecord: this.jobSpeedRecord,
|
||||
preStatements: this.preStatements,
|
||||
postStatements: this.postStatements,
|
||||
xms: +this.xms,
|
||||
xmx: +this.xmx,
|
||||
});
|
||||
xmx: +this.xmx
|
||||
})
|
||||
},
|
||||
_destroyEditor () {
|
||||
if (editor) {
|
||||
if (editor) {
|
||||
editor.toTextArea() // Uninstall
|
||||
editor.off($('.code-sql-mirror'), 'keypress', this.keypress)
|
||||
editor.off($('.code-sql-mirror'), 'changes', this.changes)
|
||||
}
|
||||
},
|
||||
_destroyJsonEditor () {
|
||||
if (jsonEditor) {
|
||||
if (jsonEditor) {
|
||||
jsonEditor.toTextArea() // Uninstall
|
||||
jsonEditor.off($('.code-json-mirror'), 'keypress', this.keypress)
|
||||
jsonEditor.off($('.code-json-mirror'), 'changes', this.changes)
|
||||
@ -450,12 +449,11 @@
|
||||
|
||||
// Non-null objects represent backfill
|
||||
if (!_.isEmpty(o)) {
|
||||
|
||||
// set jvm memory
|
||||
this.xms = o.params.xms || 1 ;
|
||||
this.xmx = o.params.xmx || 1 ;
|
||||
this.xms = o.params.xms || 1
|
||||
this.xmx = o.params.xmx || 1
|
||||
// backfill
|
||||
if(o.params.customConfig == 0) {
|
||||
if (o.params.customConfig === 0) {
|
||||
this.customConfig = 0
|
||||
this.enable = false
|
||||
this.dsType = o.params.dsType || ''
|
||||
@ -477,7 +475,7 @@
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
if(this.customConfig) {
|
||||
if (this.customConfig) {
|
||||
setTimeout(() => {
|
||||
this._handlerJsonEditor()
|
||||
}, 200)
|
||||
@ -501,9 +499,9 @@
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
//Watch the cacheParams
|
||||
// Watch the cacheParams
|
||||
cacheParams (val) {
|
||||
this._cacheParams();
|
||||
this._cacheParams()
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -97,9 +97,10 @@
|
||||
$('body').find('.tooltip.fade.top.in').remove()
|
||||
},
|
||||
_onDeleteAll (i) {
|
||||
this.dependTaskList.map((item,i)=>{
|
||||
if(item.dependItemList.length === 0){
|
||||
this.dependTaskList.splice(i,1)
|
||||
this.dependTaskList[this.index].dependItemList.splice(i, 1)
|
||||
this.dependTaskList.map((item, i) => {
|
||||
if (item.dependItemList.length === 0) {
|
||||
this.dependTaskList.splice(i, 1)
|
||||
}
|
||||
})
|
||||
// this._deleteDep(i)
|
||||
@ -107,7 +108,7 @@
|
||||
_setGlobalRelation () {
|
||||
this.relation = this.relation === 'AND' ? 'OR' : 'AND'
|
||||
},
|
||||
getDependTaskList(i){
|
||||
getDependTaskList (i) {
|
||||
// console.log('getDependTaskList',i)
|
||||
},
|
||||
_setRelation (i) {
|
||||
@ -147,7 +148,9 @@
|
||||
this.dependTaskList = _.cloneDeep(o.dependence.dependTaskList) || []
|
||||
let defaultState = this.isDetails ? 'WAITING' : ''
|
||||
// Process instance return status display matches by key
|
||||
_.map(this.dependTaskList, v => _.map(v.dependItemList, v1 => v1.state = dependentResult[`${v1.definitionId}-${v1.depTasks}-${v1.cycle}-${v1.dateValue}`] || defaultState))
|
||||
_.map(this.dependTaskList, v => _.map(v.dependItemList, v1 => {
|
||||
v1.state = dependentResult[`${v1.definitionId}-${v1.depTasks}-${v1.cycle}-${v1.dateValue}`] || defaultState
|
||||
}))
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
|
@ -184,7 +184,6 @@
|
||||
import i18n from '@/module/i18n'
|
||||
import mLocalParams from './_source/localParams'
|
||||
import mListBox from './_source/listBox'
|
||||
import mResources from './_source/resources'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
import disabledState from '@/module/mixin/disabledState'
|
||||
@ -226,17 +225,17 @@
|
||||
// Program type(List)
|
||||
programTypeList: [{ code: 'JAVA' }, { code: 'SCALA' }, { code: 'PYTHON' }],
|
||||
|
||||
flinkVersion:'<1.10',
|
||||
flinkVersion: '<1.10',
|
||||
// Flink Versions(List)
|
||||
flinkVersionList: [{ code: '<1.10' }, { code: '>=1.10' }],
|
||||
|
||||
normalizer(node) {
|
||||
normalizer (node) {
|
||||
return {
|
||||
label: node.name
|
||||
}
|
||||
},
|
||||
allNoResources: [],
|
||||
noRes: [],
|
||||
noRes: []
|
||||
}
|
||||
},
|
||||
props: {
|
||||
@ -247,10 +246,10 @@
|
||||
/**
|
||||
* getResourceId
|
||||
*/
|
||||
marjarId(name) {
|
||||
this.store.dispatch('dag/getResourceId',{
|
||||
marjarId (name) {
|
||||
this.store.dispatch('dag/getResourceId', {
|
||||
type: 'FILE',
|
||||
fullName: '/'+name
|
||||
fullName: '/' + name
|
||||
}).then(res => {
|
||||
this.mainJar = res.id
|
||||
}).catch(e => {
|
||||
@ -284,7 +283,6 @@
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
if (!this.mainJar) {
|
||||
this.$message.warning(`${i18n.$t('Please enter main jar package')}`)
|
||||
return false
|
||||
@ -311,7 +309,7 @@
|
||||
}
|
||||
|
||||
// noRes
|
||||
if (this.noRes.length>0) {
|
||||
if (this.noRes.length > 0) {
|
||||
this.$message.warning(`${i18n.$t('Please delete all non-existent resources')}`)
|
||||
return false
|
||||
}
|
||||
@ -329,7 +327,7 @@
|
||||
},
|
||||
deployMode: this.deployMode,
|
||||
resourceList: _.map(this.resourceList, v => {
|
||||
return {id: v}
|
||||
return { id: v }
|
||||
}),
|
||||
localParams: this.localParams,
|
||||
flinkVersion: this.flinkVersion,
|
||||
@ -343,55 +341,55 @@
|
||||
})
|
||||
return true
|
||||
},
|
||||
diGuiTree(item) { // Recursive convenience tree structure
|
||||
diGuiTree (item) { // Recursive convenience tree structure
|
||||
item.forEach(item => {
|
||||
item.children === '' || item.children === undefined || item.children === null || item.children.length === 0?
|
||||
this.operationTree(item) : this.diGuiTree(item.children);
|
||||
item.children === '' || item.children === undefined || item.children === null || item.children.length === 0
|
||||
? this.operationTree(item) : this.diGuiTree(item.children)
|
||||
})
|
||||
},
|
||||
operationTree(item) {
|
||||
if(item.dirctory) {
|
||||
item.isDisabled =true
|
||||
operationTree (item) {
|
||||
if (item.dirctory) {
|
||||
item.isDisabled = true
|
||||
}
|
||||
delete item.children
|
||||
},
|
||||
searchTree(element, id) {
|
||||
searchTree (element, id) {
|
||||
// 根据id查找节点
|
||||
if (element.id == id) {
|
||||
return element;
|
||||
} else if (element.children != null) {
|
||||
var i;
|
||||
var result = null;
|
||||
for (i = 0; result == null && i < element.children.length; i++) {
|
||||
result = this.searchTree(element.children[i], id);
|
||||
if (element.id === id) {
|
||||
return element
|
||||
} else if (element.children !== null) {
|
||||
var i
|
||||
var result = null
|
||||
for (i = 0; result === null && i < element.children.length; i++) {
|
||||
result = this.searchTree(element.children[i], id)
|
||||
}
|
||||
return result;
|
||||
return result
|
||||
}
|
||||
return null;
|
||||
return null
|
||||
},
|
||||
dataProcess(backResource) {
|
||||
dataProcess (backResource) {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if(this.resourceList.length>0) {
|
||||
this.resourceList.forEach(v=>{
|
||||
this.mainJarList.forEach(v1=>{
|
||||
if(this.searchTree(v1,v)) {
|
||||
isResourceId.push(this.searchTree(v1,v))
|
||||
if (this.resourceList.length > 0) {
|
||||
this.resourceList.forEach(v => {
|
||||
this.mainJarList.forEach(v1 => {
|
||||
if (this.searchTree(v1, v)) {
|
||||
isResourceId.push(this.searchTree(v1, v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item=>{
|
||||
resourceIdArr = isResourceId.map(item => {
|
||||
return item.id
|
||||
})
|
||||
Array.prototype.diff = function(a) {
|
||||
return this.filter(function(i) {return a.indexOf(i) < 0;});
|
||||
};
|
||||
let diffSet = this.resourceList.diff(resourceIdArr);
|
||||
Array.prototype.diff = function (a) {
|
||||
return this.filter(function (i) { return a.indexOf(i) < 0 })
|
||||
}
|
||||
let diffSet = this.resourceList.diff(resourceIdArr)
|
||||
let optionsCmp = []
|
||||
if(diffSet.length>0) {
|
||||
diffSet.forEach(item=>{
|
||||
backResource.forEach(item1=>{
|
||||
if(item==item1.id || item==item1.res) {
|
||||
if (diffSet.length > 0) {
|
||||
diffSet.forEach(item => {
|
||||
backResource.forEach(item1 => {
|
||||
if (item === item1.id || item === item1.res) {
|
||||
optionsCmp.push(item1)
|
||||
}
|
||||
})
|
||||
@ -400,22 +398,22 @@
|
||||
let noResources = [{
|
||||
id: -1,
|
||||
name: $t('Unauthorized or deleted resources'),
|
||||
fullName: '/'+$t('Unauthorized or deleted resources'),
|
||||
fullName: '/' + $t('Unauthorized or deleted resources'),
|
||||
children: []
|
||||
}]
|
||||
if(optionsCmp.length>0) {
|
||||
if (optionsCmp.length > 0) {
|
||||
this.allNoResources = optionsCmp
|
||||
optionsCmp = optionsCmp.map(item=>{
|
||||
return {id: item.id,name: item.name,fullName: item.res}
|
||||
optionsCmp = optionsCmp.map(item => {
|
||||
return { id: item.id, name: item.name, fullName: item.res }
|
||||
})
|
||||
optionsCmp.forEach(item=>{
|
||||
optionsCmp.forEach(item => {
|
||||
item.isNew = true
|
||||
})
|
||||
noResources[0].children = optionsCmp
|
||||
this.mainJarList = this.mainJarList.concat(noResources)
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
// Listening type
|
||||
@ -424,44 +422,49 @@
|
||||
this.mainClass = ''
|
||||
}
|
||||
},
|
||||
//Watch the cacheParams
|
||||
// Watch the cacheParams
|
||||
cacheParams (val) {
|
||||
this.$emit('on-cache-params', val);
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
cacheParams () {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if(this.resourceList.length>0) {
|
||||
this.resourceList.forEach(v=>{
|
||||
this.mainJarList.forEach(v1=>{
|
||||
if(this.searchTree(v1,v)) {
|
||||
isResourceId.push(this.searchTree(v1,v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item=>{
|
||||
return {id: item.id,name: item.name,res: item.fullName}
|
||||
})
|
||||
}
|
||||
this.$emit('on-cache-params', val)
|
||||
},
|
||||
resourceIdArr (arr) {
|
||||
let result = []
|
||||
resourceIdArr.forEach(item=>{
|
||||
this.allNoResources.forEach(item1=>{
|
||||
if(item.id==item1.id) {
|
||||
arr.forEach(item => {
|
||||
this.allNoResources.forEach(item1 => {
|
||||
if (item.id === item1.id) {
|
||||
// resultBool = true
|
||||
result.push(item1)
|
||||
result.push(item1)
|
||||
}
|
||||
})
|
||||
})
|
||||
this.noRes = result
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
resourceIdArr () {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if (this.resourceList.length > 0) {
|
||||
this.resourceList.forEach(v => {
|
||||
this.mainJarList.forEach(v1 => {
|
||||
if (this.searchTree(v1, v)) {
|
||||
isResourceId.push(this.searchTree(v1, v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item => {
|
||||
return { id: item.id, name: item.name, res: item.fullName }
|
||||
})
|
||||
}
|
||||
return resourceIdArr
|
||||
},
|
||||
cacheParams () {
|
||||
return {
|
||||
mainClass: this.mainClass,
|
||||
mainJar: {
|
||||
id: this.mainJar
|
||||
},
|
||||
deployMode: this.deployMode,
|
||||
resourceList: resourceIdArr,
|
||||
resourceList: this.resourceIdArr,
|
||||
localParams: this.localParams,
|
||||
slot: this.slot,
|
||||
taskManager: this.taskManager,
|
||||
@ -474,70 +477,69 @@
|
||||
}
|
||||
},
|
||||
created () {
|
||||
let item = this.store.state.dag.resourcesListS
|
||||
let items = this.store.state.dag.resourcesListJar
|
||||
this.diGuiTree(item)
|
||||
this.diGuiTree(items)
|
||||
this.mainJarList = item
|
||||
this.mainJarLists = items
|
||||
let o = this.backfillItem
|
||||
// Non-null objects represent backfill
|
||||
if (!_.isEmpty(o)) {
|
||||
this.mainClass = o.params.mainClass || ''
|
||||
if(o.params.mainJar.res) {
|
||||
this.marjarId(o.params.mainJar.res)
|
||||
} else if(o.params.mainJar.res=='') {
|
||||
this.mainJar = ''
|
||||
} else {
|
||||
this.mainJar = o.params.mainJar.id || ''
|
||||
}
|
||||
this.deployMode = o.params.deployMode || ''
|
||||
this.flinkVersion = o.params.flinkVersion || '<1.10'
|
||||
this.slot = o.params.slot || 1
|
||||
this.taskManager = o.params.taskManager || '2'
|
||||
this.jobManagerMemory = o.params.jobManagerMemory || '1G'
|
||||
this.taskManagerMemory = o.params.taskManagerMemory || '2G'
|
||||
|
||||
|
||||
this.mainArgs = o.params.mainArgs || ''
|
||||
this.others = o.params.others
|
||||
this.programType = o.params.programType || 'SCALA'
|
||||
|
||||
// backfill resourceList
|
||||
let backResource = o.params.resourceList || []
|
||||
let resourceList = o.params.resourceList || []
|
||||
if (resourceList.length) {
|
||||
_.map(resourceList, v => {
|
||||
if(!v.id) {
|
||||
this.store.dispatch('dag/getResourceId',{
|
||||
type: 'FILE',
|
||||
fullName: '/'+v.res
|
||||
}).then(res => {
|
||||
this.resourceList.push(res.id)
|
||||
this.dataProcess(backResource)
|
||||
}).catch(e => {
|
||||
this.resourceList.push(v.res)
|
||||
this.dataProcess(backResource)
|
||||
})
|
||||
} else {
|
||||
this.resourceList.push(v.id)
|
||||
this.dataProcess(backResource)
|
||||
}
|
||||
})
|
||||
this.cacheResourceList = resourceList
|
||||
}
|
||||
|
||||
// backfill localParams
|
||||
let localParams = o.params.localParams || []
|
||||
if (localParams.length) {
|
||||
this.localParams = localParams
|
||||
}
|
||||
let item = this.store.state.dag.resourcesListS
|
||||
let items = this.store.state.dag.resourcesListJar
|
||||
this.diGuiTree(item)
|
||||
this.diGuiTree(items)
|
||||
this.mainJarList = item
|
||||
this.mainJarLists = items
|
||||
let o = this.backfillItem
|
||||
// Non-null objects represent backfill
|
||||
if (!_.isEmpty(o)) {
|
||||
this.mainClass = o.params.mainClass || ''
|
||||
if (o.params.mainJar.res) {
|
||||
this.marjarId(o.params.mainJar.res)
|
||||
} else if (o.params.mainJar.res === '') {
|
||||
this.mainJar = ''
|
||||
} else {
|
||||
this.mainJar = o.params.mainJar.id || ''
|
||||
}
|
||||
this.deployMode = o.params.deployMode || ''
|
||||
this.flinkVersion = o.params.flinkVersion || '<1.10'
|
||||
this.slot = o.params.slot || 1
|
||||
this.taskManager = o.params.taskManager || '2'
|
||||
this.jobManagerMemory = o.params.jobManagerMemory || '1G'
|
||||
this.taskManagerMemory = o.params.taskManagerMemory || '2G'
|
||||
|
||||
this.mainArgs = o.params.mainArgs || ''
|
||||
this.others = o.params.others
|
||||
this.programType = o.params.programType || 'SCALA'
|
||||
|
||||
// backfill resourceList
|
||||
let backResource = o.params.resourceList || []
|
||||
let resourceList = o.params.resourceList || []
|
||||
if (resourceList.length) {
|
||||
_.map(resourceList, v => {
|
||||
if (!v.id) {
|
||||
this.store.dispatch('dag/getResourceId', {
|
||||
type: 'FILE',
|
||||
fullName: '/' + v.res
|
||||
}).then(res => {
|
||||
this.resourceList.push(res.id)
|
||||
this.dataProcess(backResource)
|
||||
}).catch(e => {
|
||||
this.resourceList.push(v.res)
|
||||
this.dataProcess(backResource)
|
||||
})
|
||||
} else {
|
||||
this.resourceList.push(v.id)
|
||||
this.dataProcess(backResource)
|
||||
}
|
||||
})
|
||||
this.cacheResourceList = resourceList
|
||||
}
|
||||
|
||||
// backfill localParams
|
||||
let localParams = o.params.localParams || []
|
||||
if (localParams.length) {
|
||||
this.localParams = localParams
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
|
||||
},
|
||||
components: { mLocalParams, mListBox, mResources, Treeselect }
|
||||
components: { mLocalParams, mListBox, Treeselect }
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -89,7 +89,6 @@
|
||||
</div>
|
||||
</m-list-box>
|
||||
|
||||
|
||||
<m-list-box >
|
||||
<div slot="text">{{$t('Timeout Settings')}}</div>
|
||||
<div slot="content">
|
||||
@ -144,8 +143,8 @@
|
||||
data () {
|
||||
return {
|
||||
timeoutSettings: false,
|
||||
connectTimeout : 60000 ,
|
||||
socketTimeout : 60000 ,
|
||||
connectTimeout: 60000,
|
||||
socketTimeout: 60000,
|
||||
|
||||
url: '',
|
||||
condition: '',
|
||||
@ -154,7 +153,7 @@
|
||||
httpMethod: 'GET',
|
||||
httpMethodList: [{ code: 'GET' }, { code: 'POST' }, { code: 'HEAD' }, { code: 'PUT' }, { code: 'DELETE' }],
|
||||
httpCheckCondition: 'STATUS_CODE_DEFAULT',
|
||||
httpCheckConditionList: cookies.get('language') == 'en_US'? [{ code: 'STATUS_CODE_DEFAULT',value:'Default response code 200' }, { code: 'STATUS_CODE_CUSTOM',value:'Custom response code' }, { code: 'BODY_CONTAINS',value:'Content includes' }, { code: 'BODY_NOT_CONTAINS',value:'Content does not contain' }]:[{ code: 'STATUS_CODE_DEFAULT',value:'默认响应码200' }, { code: 'STATUS_CODE_CUSTOM',value:'自定义响应码' }, { code: 'BODY_CONTAINS',value:'内容包含' }, { code: 'BODY_NOT_CONTAINS',value:'内容不包含' }]
|
||||
httpCheckConditionList: cookies.get('language') === 'en_US' ? [{ code: 'STATUS_CODE_DEFAULT', value: 'Default response code 200' }, { code: 'STATUS_CODE_CUSTOM', value: 'Custom response code' }, { code: 'BODY_CONTAINS', value: 'Content includes' }, { code: 'BODY_NOT_CONTAINS', value: 'Content does not contain' }] : [{ code: 'STATUS_CODE_DEFAULT', value: '默认响应码200' }, { code: 'STATUS_CODE_CUSTOM', value: '自定义响应码' }, { code: 'BODY_CONTAINS', value: '内容包含' }, { code: 'BODY_NOT_CONTAINS', value: '内容不包含' }]
|
||||
}
|
||||
},
|
||||
props: {
|
||||
@ -205,8 +204,8 @@
|
||||
httpMethod: this.httpMethod,
|
||||
httpCheckCondition: this.httpCheckCondition,
|
||||
condition: this.condition,
|
||||
connectTimeout : this.connectTimeout ,
|
||||
socketTimeout : this.socketTimeout
|
||||
connectTimeout: this.connectTimeout,
|
||||
socketTimeout: this.socketTimeout
|
||||
})
|
||||
return true
|
||||
}
|
||||
@ -220,8 +219,8 @@
|
||||
httpMethod: this.httpMethod,
|
||||
httpCheckCondition: this.httpCheckCondition,
|
||||
condition: this.condition,
|
||||
connectTimeout : this.connectTimeout ,
|
||||
socketTimeout : this.socketTimeout
|
||||
connectTimeout: this.connectTimeout,
|
||||
socketTimeout: this.socketTimeout
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -231,32 +230,32 @@
|
||||
* @param val
|
||||
*/
|
||||
cacheParams (val) {
|
||||
this.$emit('on-cache-params', val);
|
||||
this.$emit('on-cache-params', val)
|
||||
}
|
||||
},
|
||||
created () {
|
||||
let o = this.backfillItem
|
||||
// Non-null objects represent backfill
|
||||
if (!_.isEmpty(o)) {
|
||||
this.url = o.params.url || ''
|
||||
this.httpMethod = o.params.httpMethod || 'GET'
|
||||
this.httpCheckCondition = o.params.httpCheckCondition || 'DEFAULT'
|
||||
this.condition = o.params.condition || ''
|
||||
this.connectTimeout = o.params.connectTimeout
|
||||
this.socketTimeout = o.params.socketTimeout
|
||||
if(this.connectTimeout != 60000 || this.socketTimeout != 60000 ){
|
||||
this.timeoutSettings = true
|
||||
}
|
||||
// backfill localParams
|
||||
let localParams = o.params.localParams || []
|
||||
if (localParams.length) {
|
||||
this.localParams = localParams
|
||||
}
|
||||
let httpParams = o.params.httpParams || []
|
||||
if (httpParams.length) {
|
||||
this.httpParams = httpParams
|
||||
}
|
||||
let o = this.backfillItem
|
||||
// Non-null objects represent backfill
|
||||
if (!_.isEmpty(o)) {
|
||||
this.url = o.params.url || ''
|
||||
this.httpMethod = o.params.httpMethod || 'GET'
|
||||
this.httpCheckCondition = o.params.httpCheckCondition || 'DEFAULT'
|
||||
this.condition = o.params.condition || ''
|
||||
this.connectTimeout = o.params.connectTimeout
|
||||
this.socketTimeout = o.params.socketTimeout
|
||||
if (this.connectTimeout !== 60000 || this.socketTimeout !== 60000) {
|
||||
this.timeoutSettings = true
|
||||
}
|
||||
// backfill localParams
|
||||
let localParams = o.params.localParams || []
|
||||
if (localParams.length) {
|
||||
this.localParams = localParams
|
||||
}
|
||||
let httpParams = o.params.httpParams || []
|
||||
if (httpParams.length) {
|
||||
this.httpParams = httpParams
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
},
|
||||
|
@ -100,7 +100,6 @@
|
||||
import _ from 'lodash'
|
||||
import i18n from '@/module/i18n'
|
||||
import mListBox from './_source/listBox'
|
||||
import mResources from './_source/resources'
|
||||
import mLocalParams from './_source/localParams'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
@ -131,7 +130,7 @@
|
||||
programType: 'JAVA',
|
||||
// Program type(List)
|
||||
programTypeList: [{ code: 'JAVA' }, { code: 'PYTHON' }],
|
||||
normalizer(node) {
|
||||
normalizer (node) {
|
||||
return {
|
||||
label: node.name
|
||||
}
|
||||
@ -148,10 +147,10 @@
|
||||
/**
|
||||
* getResourceId
|
||||
*/
|
||||
marjarId(name) {
|
||||
this.store.dispatch('dag/getResourceId',{
|
||||
marjarId (name) {
|
||||
this.store.dispatch('dag/getResourceId', {
|
||||
type: 'FILE',
|
||||
fullName: '/'+name
|
||||
fullName: '/' + name
|
||||
}).then(res => {
|
||||
this.mainJar = res.id
|
||||
}).catch(e => {
|
||||
@ -176,55 +175,55 @@
|
||||
_onCacheResourcesData (a) {
|
||||
this.cacheResourceList = a
|
||||
},
|
||||
diGuiTree(item) { // Recursive convenience tree structure
|
||||
diGuiTree (item) { // Recursive convenience tree structure
|
||||
item.forEach(item => {
|
||||
item.children === '' || item.children === undefined || item.children === null || item.children.length === 0?
|
||||
this.operationTree(item) : this.diGuiTree(item.children);
|
||||
item.children === '' || item.children === undefined || item.children === null || item.children.length === 0
|
||||
? this.operationTree(item) : this.diGuiTree(item.children)
|
||||
})
|
||||
},
|
||||
operationTree(item) {
|
||||
if(item.dirctory) {
|
||||
item.isDisabled =true
|
||||
operationTree (item) {
|
||||
if (item.dirctory) {
|
||||
item.isDisabled = true
|
||||
}
|
||||
delete item.children
|
||||
},
|
||||
searchTree(element, id) {
|
||||
searchTree (element, id) {
|
||||
// 根据id查找节点
|
||||
if (element.id == id) {
|
||||
return element;
|
||||
} else if (element.children != null) {
|
||||
var i;
|
||||
var result = null;
|
||||
for (i = 0; result == null && i < element.children.length; i++) {
|
||||
result = this.searchTree(element.children[i], id);
|
||||
if (element.id === id) {
|
||||
return element
|
||||
} else if (element.children !== null) {
|
||||
var i
|
||||
var result = null
|
||||
for (i = 0; result === null && i < element.children.length; i++) {
|
||||
result = this.searchTree(element.children[i], id)
|
||||
}
|
||||
return result;
|
||||
return result
|
||||
}
|
||||
return null;
|
||||
return null
|
||||
},
|
||||
dataProcess(backResource) {
|
||||
dataProcess (backResource) {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if(this.resourceList.length>0) {
|
||||
this.resourceList.forEach(v=>{
|
||||
this.mainJarList.forEach(v1=>{
|
||||
if(this.searchTree(v1,v)) {
|
||||
isResourceId.push(this.searchTree(v1,v))
|
||||
if (this.resourceList.length > 0) {
|
||||
this.resourceList.forEach(v => {
|
||||
this.mainJarList.forEach(v1 => {
|
||||
if (this.searchTree(v1, v)) {
|
||||
isResourceId.push(this.searchTree(v1, v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item=>{
|
||||
resourceIdArr = isResourceId.map(item => {
|
||||
return item.id
|
||||
})
|
||||
Array.prototype.diff = function(a) {
|
||||
return this.filter(function(i) {return a.indexOf(i) < 0;});
|
||||
};
|
||||
let diffSet = this.resourceList.diff(resourceIdArr);
|
||||
Array.prototype.diff = function (a) {
|
||||
return this.filter(function (i) { return a.indexOf(i) < 0 })
|
||||
}
|
||||
let diffSet = this.resourceList.diff(resourceIdArr)
|
||||
let optionsCmp = []
|
||||
if(diffSet.length>0) {
|
||||
diffSet.forEach(item=>{
|
||||
backResource.forEach(item1=>{
|
||||
if(item==item1.id || item==item1.res) {
|
||||
if (diffSet.length > 0) {
|
||||
diffSet.forEach(item => {
|
||||
backResource.forEach(item1 => {
|
||||
if (item === item1.id || item === item1.res) {
|
||||
optionsCmp.push(item1)
|
||||
}
|
||||
})
|
||||
@ -233,15 +232,15 @@
|
||||
let noResources = [{
|
||||
id: -1,
|
||||
name: $t('Unauthorized or deleted resources'),
|
||||
fullName: '/'+$t('Unauthorized or deleted resources'),
|
||||
fullName: '/' + $t('Unauthorized or deleted resources'),
|
||||
children: []
|
||||
}]
|
||||
if(optionsCmp.length>0) {
|
||||
if (optionsCmp.length > 0) {
|
||||
this.allNoResources = optionsCmp
|
||||
optionsCmp = optionsCmp.map(item=>{
|
||||
return {id: item.id,name: item.name,fullName: item.res}
|
||||
optionsCmp = optionsCmp.map(item => {
|
||||
return { id: item.id, name: item.name, fullName: item.res }
|
||||
})
|
||||
optionsCmp.forEach(item=>{
|
||||
optionsCmp.forEach(item => {
|
||||
item.isNew = true
|
||||
})
|
||||
noResources[0].children = optionsCmp
|
||||
@ -264,7 +263,7 @@
|
||||
}
|
||||
|
||||
// noRes
|
||||
if (this.noRes.length>0) {
|
||||
if (this.noRes.length > 0) {
|
||||
this.$message.warning(`${i18n.$t('Please delete all non-existent resources')}`)
|
||||
return false
|
||||
}
|
||||
@ -280,7 +279,7 @@
|
||||
id: this.mainJar
|
||||
},
|
||||
resourceList: _.map(this.resourceList, v => {
|
||||
return {id: v}
|
||||
return { id: v }
|
||||
}),
|
||||
localParams: this.localParams,
|
||||
mainArgs: this.mainArgs,
|
||||
@ -288,8 +287,8 @@
|
||||
programType: this.programType
|
||||
})
|
||||
return true
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
watch: {
|
||||
/**
|
||||
@ -300,43 +299,48 @@
|
||||
this.mainClass = ''
|
||||
}
|
||||
},
|
||||
//Watch the cacheParams
|
||||
// Watch the cacheParams
|
||||
cacheParams (val) {
|
||||
this.$emit('on-cache-params', val);
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
cacheParams () {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if(this.resourceList.length>0) {
|
||||
this.resourceList.forEach(v=>{
|
||||
this.mainJarList.forEach(v1=>{
|
||||
if(this.searchTree(v1,v)) {
|
||||
isResourceId.push(this.searchTree(v1,v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item=>{
|
||||
return {id: item.id,name: item.name,res: item.fullName}
|
||||
})
|
||||
}
|
||||
this.$emit('on-cache-params', val)
|
||||
},
|
||||
resourceIdArr (arr) {
|
||||
let result = []
|
||||
resourceIdArr.forEach(item=>{
|
||||
this.allNoResources.forEach(item1=>{
|
||||
if(item.id==item1.id) {
|
||||
arr.forEach(item => {
|
||||
this.allNoResources.forEach(item1 => {
|
||||
if (item.id === item1.id) {
|
||||
// resultBool = true
|
||||
result.push(item1)
|
||||
result.push(item1)
|
||||
}
|
||||
})
|
||||
})
|
||||
this.noRes = result
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
resourceIdArr () {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if (this.resourceList.length > 0) {
|
||||
this.resourceList.forEach(v => {
|
||||
this.mainJarList.forEach(v1 => {
|
||||
if (this.searchTree(v1, v)) {
|
||||
isResourceId.push(this.searchTree(v1, v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item => {
|
||||
return { id: item.id, name: item.name, res: item.fullName }
|
||||
})
|
||||
}
|
||||
return resourceIdArr
|
||||
},
|
||||
cacheParams () {
|
||||
return {
|
||||
mainClass: this.mainClass,
|
||||
mainJar: {
|
||||
id: this.mainJar
|
||||
},
|
||||
resourceList: resourceIdArr,
|
||||
resourceList: this.resourceIdArr,
|
||||
localParams: this.localParams,
|
||||
mainArgs: this.mainArgs,
|
||||
others: this.others,
|
||||
@ -345,63 +349,63 @@
|
||||
}
|
||||
},
|
||||
created () {
|
||||
let item = this.store.state.dag.resourcesListS
|
||||
let items = this.store.state.dag.resourcesListJar
|
||||
this.diGuiTree(item)
|
||||
this.diGuiTree(items)
|
||||
this.mainJarList = item
|
||||
this.mainJarLists = items
|
||||
let o = this.backfillItem
|
||||
let item = this.store.state.dag.resourcesListS
|
||||
let items = this.store.state.dag.resourcesListJar
|
||||
this.diGuiTree(item)
|
||||
this.diGuiTree(items)
|
||||
this.mainJarList = item
|
||||
this.mainJarLists = items
|
||||
let o = this.backfillItem
|
||||
|
||||
// Non-null objects represent backfill
|
||||
if (!_.isEmpty(o)) {
|
||||
this.mainClass = o.params.mainClass || ''
|
||||
if(o.params.mainJar.res) {
|
||||
this.marjarId(o.params.mainJar.res)
|
||||
} else if(o.params.mainJar.res=='') {
|
||||
this.mainJar = ''
|
||||
} else {
|
||||
this.mainJar = o.params.mainJar.id || ''
|
||||
}
|
||||
this.mainArgs = o.params.mainArgs || ''
|
||||
this.others = o.params.others
|
||||
this.programType = o.params.programType || 'JAVA'
|
||||
|
||||
// backfill resourceList
|
||||
let resourceList = o.params.resourceList || []
|
||||
if (resourceList.length) {
|
||||
_.map(resourceList, v => {
|
||||
if(!v.id) {
|
||||
this.store.dispatch('dag/getResourceId',{
|
||||
type: 'FILE',
|
||||
fullName: '/'+v.res
|
||||
}).then(res => {
|
||||
this.resourceList.push(res.id)
|
||||
this.dataProcess(backResource)
|
||||
}).catch(e => {
|
||||
this.resourceList.push(v.res)
|
||||
this.dataProcess(backResource)
|
||||
})
|
||||
} else {
|
||||
this.resourceList.push(v.id)
|
||||
this.dataProcess(backResource)
|
||||
}
|
||||
})
|
||||
this.cacheResourceList = resourceList
|
||||
}
|
||||
|
||||
// backfill localParams
|
||||
let backResource = o.params.resourceList || []
|
||||
let localParams = o.params.localParams || []
|
||||
if (localParams.length) {
|
||||
this.localParams = localParams
|
||||
}
|
||||
// Non-null objects represent backfill
|
||||
if (!_.isEmpty(o)) {
|
||||
this.mainClass = o.params.mainClass || ''
|
||||
if (o.params.mainJar.res) {
|
||||
this.marjarId(o.params.mainJar.res)
|
||||
} else if (o.params.mainJar.res === '') {
|
||||
this.mainJar = ''
|
||||
} else {
|
||||
this.mainJar = o.params.mainJar.id || ''
|
||||
}
|
||||
this.mainArgs = o.params.mainArgs || ''
|
||||
this.others = o.params.others
|
||||
this.programType = o.params.programType || 'JAVA'
|
||||
|
||||
// backfill resourceList
|
||||
let resourceList = o.params.resourceList || []
|
||||
if (resourceList.length) {
|
||||
_.map(resourceList, v => {
|
||||
if (!v.id) {
|
||||
this.store.dispatch('dag/getResourceId', {
|
||||
type: 'FILE',
|
||||
fullName: '/' + v.res
|
||||
}).then(res => {
|
||||
this.resourceList.push(res.id)
|
||||
this.dataProcess(backResource)
|
||||
}).catch(e => {
|
||||
this.resourceList.push(v.res)
|
||||
this.dataProcess(backResource)
|
||||
})
|
||||
} else {
|
||||
this.resourceList.push(v.id)
|
||||
this.dataProcess(backResource)
|
||||
}
|
||||
})
|
||||
this.cacheResourceList = resourceList
|
||||
}
|
||||
|
||||
// backfill localParams
|
||||
let backResource = o.params.resourceList || []
|
||||
let localParams = o.params.localParams || []
|
||||
if (localParams.length) {
|
||||
this.localParams = localParams
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
|
||||
},
|
||||
components: { mLocalParams, mListBox, mResources, Treeselect }
|
||||
components: { mLocalParams, mListBox, Treeselect }
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -53,15 +53,15 @@
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
preTasksSelectorId: '_preTasksSelectorId', // Refresh target vue-component by changing id
|
||||
preTasksSelectorId: '_preTasksSelectorId', // Refresh target vue-component by changing id
|
||||
preTasks: [],
|
||||
preTasksOld: [],
|
||||
preTasksOld: []
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.preTasks = this.backfillItem['preTasks'] || this.preTasks
|
||||
this.preTasks = this.backfillItem.preTasks || this.preTasks
|
||||
this.preTasksOld = this.preTasks
|
||||
|
||||
|
||||
// Refresh target vue-component by changing id
|
||||
this.$nextTick(() => {
|
||||
this.preTasksSelectorId = 'preTasksSelectorId'
|
||||
@ -69,7 +69,7 @@
|
||||
},
|
||||
computed: {
|
||||
preTaskList: function () {
|
||||
let currentTaskId = this.backfillItem['id'] || this.id
|
||||
let currentTaskId = this.backfillItem.id || this.id
|
||||
let cacheTasks = Object.assign({}, this.store.state.dag.tasks)
|
||||
let keys = Object.keys(cacheTasks)
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
@ -92,7 +92,7 @@
|
||||
// preTaskIds used to delete connection
|
||||
preTasksToDelete: function () {
|
||||
return this.preTasksOld.filter(taskId => this.preTasks.indexOf(taskId) === -1)
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// Pass data to parent-level to process dag
|
||||
@ -100,7 +100,7 @@
|
||||
this.$emit('on-pre-tasks', {
|
||||
preTasks: this.preTasks,
|
||||
preTasksToAdd: this.preTasksToAdd,
|
||||
preTasksToDelete: this.preTasksToDelete,
|
||||
preTasksToDelete: this.preTasksToDelete
|
||||
})
|
||||
return true
|
||||
}
|
||||
|
@ -122,9 +122,9 @@
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
//Watch the cacheParams
|
||||
// Watch the cacheParams
|
||||
cacheParams (val) {
|
||||
this.$emit('on-cache-params', val);
|
||||
this.$emit('on-cache-params', val)
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -61,7 +61,6 @@
|
||||
import i18n from '@/module/i18n'
|
||||
import mListBox from './_source/listBox'
|
||||
import mScriptBox from './_source/scriptBox'
|
||||
import mResources from './_source/resources'
|
||||
import mLocalParams from './_source/localParams'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
@ -84,7 +83,7 @@
|
||||
// Cache ResourceList
|
||||
cacheResourceList: [],
|
||||
resourceOptions: [],
|
||||
normalizer(node) {
|
||||
normalizer (node) {
|
||||
return {
|
||||
label: node.name
|
||||
}
|
||||
@ -106,7 +105,7 @@
|
||||
_onLocalParams (a) {
|
||||
this.localParams = a
|
||||
},
|
||||
setEditorVal() {
|
||||
setEditorVal () {
|
||||
this.item = editor.getValue()
|
||||
this.scriptBoxDialog = true
|
||||
},
|
||||
@ -141,7 +140,7 @@
|
||||
}
|
||||
|
||||
// noRes
|
||||
if (this.noRes.length>0) {
|
||||
if (this.noRes.length > 0) {
|
||||
this.$message.warning(`${i18n.$t('Please delete all non-existent resources')}`)
|
||||
return false
|
||||
}
|
||||
@ -149,7 +148,7 @@
|
||||
// storage
|
||||
this.$emit('on-params', {
|
||||
resourceList: _.map(this.resourceList, v => {
|
||||
return {id: v}
|
||||
return { id: v }
|
||||
}),
|
||||
localParams: this.localParams,
|
||||
rawScript: editor.getValue()
|
||||
@ -181,55 +180,55 @@
|
||||
|
||||
return editor
|
||||
},
|
||||
diGuiTree(item) { // Recursive convenience tree structure
|
||||
diGuiTree (item) { // Recursive convenience tree structure
|
||||
item.forEach(item => {
|
||||
item.children === '' || item.children === undefined || item.children === null || item.children.length === 0?
|
||||
this.operationTree(item) : this.diGuiTree(item.children);
|
||||
item.children === '' || item.children === undefined || item.children === null || item.children.length === 0
|
||||
? this.operationTree(item) : this.diGuiTree(item.children)
|
||||
})
|
||||
},
|
||||
operationTree(item) {
|
||||
if(item.dirctory) {
|
||||
item.isDisabled =true
|
||||
operationTree (item) {
|
||||
if (item.dirctory) {
|
||||
item.isDisabled = true
|
||||
}
|
||||
delete item.children
|
||||
},
|
||||
searchTree(element, id) {
|
||||
searchTree (element, id) {
|
||||
// 根据id查找节点
|
||||
if (element.id == id) {
|
||||
return element;
|
||||
} else if (element.children != null) {
|
||||
var i;
|
||||
var result = null;
|
||||
for (i = 0; result == null && i < element.children.length; i++) {
|
||||
result = this.searchTree(element.children[i], id);
|
||||
if (element.id === id) {
|
||||
return element
|
||||
} else if (element.children !== null) {
|
||||
var i
|
||||
var result = null
|
||||
for (i = 0; result === null && i < element.children.length; i++) {
|
||||
result = this.searchTree(element.children[i], id)
|
||||
}
|
||||
return result;
|
||||
return result
|
||||
}
|
||||
return null;
|
||||
return null
|
||||
},
|
||||
dataProcess(backResource) {
|
||||
dataProcess (backResource) {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if(this.resourceList.length>0) {
|
||||
this.resourceList.forEach(v=>{
|
||||
this.resourceOptions.forEach(v1=>{
|
||||
if(this.searchTree(v1,v)) {
|
||||
isResourceId.push(this.searchTree(v1,v))
|
||||
if (this.resourceList.length > 0) {
|
||||
this.resourceList.forEach(v => {
|
||||
this.resourceOptions.forEach(v1 => {
|
||||
if (this.searchTree(v1, v)) {
|
||||
isResourceId.push(this.searchTree(v1, v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item=>{
|
||||
resourceIdArr = isResourceId.map(item => {
|
||||
return item.id
|
||||
})
|
||||
Array.prototype.diff = function(a) {
|
||||
return this.filter(function(i) {return a.indexOf(i) < 0;});
|
||||
};
|
||||
let diffSet = this.resourceList.diff(resourceIdArr);
|
||||
Array.prototype.diff = function (a) {
|
||||
return this.filter(function (i) { return a.indexOf(i) < 0 })
|
||||
}
|
||||
let diffSet = this.resourceList.diff(resourceIdArr)
|
||||
let optionsCmp = []
|
||||
if(diffSet.length>0) {
|
||||
diffSet.forEach(item=>{
|
||||
backResource.forEach(item1=>{
|
||||
if(item==item1.id || item==item1.res) {
|
||||
if (diffSet.length > 0) {
|
||||
diffSet.forEach(item => {
|
||||
backResource.forEach(item1 => {
|
||||
if (item === item1.id || item === item1.res) {
|
||||
optionsCmp.push(item1)
|
||||
}
|
||||
})
|
||||
@ -238,15 +237,15 @@
|
||||
let noResources = [{
|
||||
id: -1,
|
||||
name: $t('Unauthorized or deleted resources'),
|
||||
fullName: '/'+$t('Unauthorized or deleted resources'),
|
||||
fullName: '/' + $t('Unauthorized or deleted resources'),
|
||||
children: []
|
||||
}]
|
||||
if(optionsCmp.length>0) {
|
||||
if (optionsCmp.length > 0) {
|
||||
this.allNoResources = optionsCmp
|
||||
optionsCmp = optionsCmp.map(item=>{
|
||||
return {id: item.id,name: item.name,fullName: item.res}
|
||||
optionsCmp = optionsCmp.map(item => {
|
||||
return { id: item.id, name: item.name, fullName: item.res }
|
||||
})
|
||||
optionsCmp.forEach(item=>{
|
||||
optionsCmp.forEach(item => {
|
||||
item.isNew = true
|
||||
})
|
||||
noResources[0].children = optionsCmp
|
||||
@ -256,39 +255,44 @@
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
//Watch the cacheParams
|
||||
// Watch the cacheParams
|
||||
cacheParams (val) {
|
||||
this.$emit('on-cache-params', val);
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
cacheParams () {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if(this.resourceList.length>0) {
|
||||
this.resourceList.forEach(v=>{
|
||||
this.resourceOptions.forEach(v1=>{
|
||||
if(this.searchTree(v1,v)) {
|
||||
isResourceId.push(this.searchTree(v1,v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item=>{
|
||||
return {id: item.id,name: item.name,res: item.fullName}
|
||||
})
|
||||
}
|
||||
this.$emit('on-cache-params', val)
|
||||
},
|
||||
resourceIdArr (arr) {
|
||||
let result = []
|
||||
resourceIdArr.forEach(item=>{
|
||||
this.allNoResources.forEach(item1=>{
|
||||
if(item.id==item1.id) {
|
||||
arr.forEach(item => {
|
||||
this.allNoResources.forEach(item1 => {
|
||||
if (item.id === item1.id) {
|
||||
// resultBool = true
|
||||
result.push(item1)
|
||||
result.push(item1)
|
||||
}
|
||||
})
|
||||
})
|
||||
this.noRes = result
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
resourceIdArr () {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if (this.resourceList.length > 0) {
|
||||
this.resourceList.forEach(v => {
|
||||
this.resourceOptions.forEach(v1 => {
|
||||
if (this.searchTree(v1, v)) {
|
||||
isResourceId.push(this.searchTree(v1, v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item => {
|
||||
return { id: item.id, name: item.name, res: item.fullName }
|
||||
})
|
||||
}
|
||||
return resourceIdArr
|
||||
},
|
||||
cacheParams () {
|
||||
return {
|
||||
resourceList: resourceIdArr,
|
||||
resourceList: this.resourceIdArr,
|
||||
localParams: this.localParams
|
||||
}
|
||||
}
|
||||
@ -308,10 +312,10 @@
|
||||
let resourceList = o.params.resourceList || []
|
||||
if (resourceList.length) {
|
||||
_.map(resourceList, v => {
|
||||
if(!v.id) {
|
||||
this.store.dispatch('dag/getResourceId',{
|
||||
if (!v.id) {
|
||||
this.store.dispatch('dag/getResourceId', {
|
||||
type: 'FILE',
|
||||
fullName: '/'+v.res
|
||||
fullName: '/' + v.res
|
||||
}).then(res => {
|
||||
this.resourceList.push(res.id)
|
||||
this.dataProcess(backResource)
|
||||
@ -343,7 +347,7 @@
|
||||
editor.toTextArea() // Uninstall
|
||||
editor.off($('.code-python-mirror'), 'keypress', this.keypress)
|
||||
},
|
||||
components: { mLocalParams, mListBox, mResources,Treeselect, mScriptBox }
|
||||
components: { mLocalParams, mListBox, Treeselect, mScriptBox }
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" rel="stylesheet/scss" scope>
|
||||
@ -360,4 +364,4 @@
|
||||
right: -12px;
|
||||
top: -16px;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
@ -63,7 +63,6 @@
|
||||
import i18n from '@/module/i18n'
|
||||
import mListBox from './_source/listBox'
|
||||
import mScriptBox from './_source/scriptBox'
|
||||
import mResources from './_source/resources'
|
||||
import mLocalParams from './_source/localParams'
|
||||
import disabledState from '@/module/mixin/disabledState'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
@ -87,7 +86,7 @@
|
||||
cacheResourceList: [],
|
||||
// define options
|
||||
options: [],
|
||||
normalizer(node) {
|
||||
normalizer (node) {
|
||||
return {
|
||||
label: node.name
|
||||
}
|
||||
@ -109,7 +108,7 @@
|
||||
_onLocalParams (a) {
|
||||
this.localParams = a
|
||||
},
|
||||
setEditorVal() {
|
||||
setEditorVal () {
|
||||
this.item = editor.getValue()
|
||||
this.scriptBoxDialog = true
|
||||
},
|
||||
@ -118,7 +117,7 @@
|
||||
// this.scriptBoxDialog = false
|
||||
},
|
||||
closeAble () {
|
||||
// this.scriptBoxDialog = false
|
||||
// this.scriptBoxDialog = false
|
||||
},
|
||||
/**
|
||||
* return resourceList
|
||||
@ -148,12 +147,12 @@
|
||||
return false
|
||||
}
|
||||
// noRes
|
||||
if (this.noRes.length>0) {
|
||||
if (this.noRes.length > 0) {
|
||||
this.$message.warning(`${i18n.$t('Please delete all non-existent resources')}`)
|
||||
return false
|
||||
}
|
||||
// Process resourcelist
|
||||
let dataProcessing= _.map(this.resourceList, v => {
|
||||
let dataProcessing = _.map(this.resourceList, v => {
|
||||
return {
|
||||
id: v
|
||||
}
|
||||
@ -190,55 +189,55 @@
|
||||
|
||||
return editor
|
||||
},
|
||||
diGuiTree(item) { // Recursive convenience tree structure
|
||||
diGuiTree (item) { // Recursive convenience tree structure
|
||||
item.forEach(item => {
|
||||
item.children === '' || item.children === undefined || item.children === null || item.children.length === 0?
|
||||
this.operationTree(item) : this.diGuiTree(item.children);
|
||||
item.children === '' || item.children === undefined || item.children === null || item.children.length === 0
|
||||
? this.operationTree(item) : this.diGuiTree(item.children)
|
||||
})
|
||||
},
|
||||
operationTree(item) {
|
||||
if(item.dirctory) {
|
||||
item.isDisabled =true
|
||||
operationTree (item) {
|
||||
if (item.dirctory) {
|
||||
item.isDisabled = true
|
||||
}
|
||||
delete item.children
|
||||
},
|
||||
searchTree(element, id) {
|
||||
searchTree (element, id) {
|
||||
// 根据id查找节点
|
||||
if (element.id == id) {
|
||||
return element;
|
||||
} else if (element.children != null) {
|
||||
var i;
|
||||
var result = null;
|
||||
for (i = 0; result == null && i < element.children.length; i++) {
|
||||
result = this.searchTree(element.children[i], id);
|
||||
if (element.id === id) {
|
||||
return element
|
||||
} else if (element.children !== null) {
|
||||
var i
|
||||
var result = null
|
||||
for (i = 0; result === null && i < element.children.length; i++) {
|
||||
result = this.searchTree(element.children[i], id)
|
||||
}
|
||||
return result;
|
||||
return result
|
||||
}
|
||||
return null;
|
||||
return null
|
||||
},
|
||||
dataProcess(backResource) {
|
||||
dataProcess (backResource) {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if(this.resourceList.length>0) {
|
||||
this.resourceList.forEach(v=>{
|
||||
this.options.forEach(v1=>{
|
||||
if(this.searchTree(v1,v)) {
|
||||
isResourceId.push(this.searchTree(v1,v))
|
||||
if (this.resourceList.length > 0) {
|
||||
this.resourceList.forEach(v => {
|
||||
this.options.forEach(v1 => {
|
||||
if (this.searchTree(v1, v)) {
|
||||
isResourceId.push(this.searchTree(v1, v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item=>{
|
||||
resourceIdArr = isResourceId.map(item => {
|
||||
return item.id
|
||||
})
|
||||
Array.prototype.diff = function(a) {
|
||||
return this.filter(function(i) {return a.indexOf(i) < 0;});
|
||||
};
|
||||
let diffSet = this.resourceList.diff(resourceIdArr);
|
||||
Array.prototype.diff = function (a) {
|
||||
return this.filter(function (i) { return a.indexOf(i) < 0 })
|
||||
}
|
||||
let diffSet = this.resourceList.diff(resourceIdArr)
|
||||
let optionsCmp = []
|
||||
if(diffSet.length>0) {
|
||||
diffSet.forEach(item=>{
|
||||
backResource.forEach(item1=>{
|
||||
if(item==item1.id || item==item1.res) {
|
||||
if (diffSet.length > 0) {
|
||||
diffSet.forEach(item => {
|
||||
backResource.forEach(item1 => {
|
||||
if (item === item1.id || item === item1.res) {
|
||||
optionsCmp.push(item1)
|
||||
}
|
||||
})
|
||||
@ -247,15 +246,15 @@
|
||||
let noResources = [{
|
||||
id: -1,
|
||||
name: $t('Unauthorized or deleted resources'),
|
||||
fullName: '/'+$t('Unauthorized or deleted resources'),
|
||||
fullName: '/' + $t('Unauthorized or deleted resources'),
|
||||
children: []
|
||||
}]
|
||||
if(optionsCmp.length>0) {
|
||||
if (optionsCmp.length > 0) {
|
||||
this.allNoResources = optionsCmp
|
||||
optionsCmp = optionsCmp.map(item=>{
|
||||
return {id: item.id,name: item.name,fullName: item.res}
|
||||
optionsCmp = optionsCmp.map(item => {
|
||||
return { id: item.id, name: item.name, fullName: item.res }
|
||||
})
|
||||
optionsCmp.forEach(item=>{
|
||||
optionsCmp.forEach(item => {
|
||||
item.isNew = true
|
||||
})
|
||||
noResources[0].children = optionsCmp
|
||||
@ -265,39 +264,44 @@
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
//Watch the cacheParams
|
||||
// Watch the cacheParams
|
||||
cacheParams (val) {
|
||||
this.$emit('on-cache-params', val);
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
cacheParams () {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if(this.resourceList.length>0) {
|
||||
this.resourceList.forEach(v=>{
|
||||
this.options.forEach(v1=>{
|
||||
if(this.searchTree(v1,v)) {
|
||||
isResourceId.push(this.searchTree(v1,v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item=>{
|
||||
return {id: item.id,name: item.name,res: item.fullName}
|
||||
})
|
||||
}
|
||||
this.$emit('on-cache-params', val)
|
||||
},
|
||||
resourceIdArr (arr) {
|
||||
let result = []
|
||||
resourceIdArr.forEach(item=>{
|
||||
this.allNoResources.forEach(item1=>{
|
||||
if(item.id==item1.id) {
|
||||
arr.forEach(item => {
|
||||
this.allNoResources.forEach(item1 => {
|
||||
if (item.id === item1.id) {
|
||||
// resultBool = true
|
||||
result.push(item1)
|
||||
result.push(item1)
|
||||
}
|
||||
})
|
||||
})
|
||||
this.noRes = result
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
resourceIdArr () {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if (this.resourceList.length > 0) {
|
||||
this.resourceList.forEach(v => {
|
||||
this.options.forEach(v1 => {
|
||||
if (this.searchTree(v1, v)) {
|
||||
isResourceId.push(this.searchTree(v1, v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item => {
|
||||
return { id: item.id, name: item.name, res: item.fullName }
|
||||
})
|
||||
}
|
||||
return resourceIdArr
|
||||
},
|
||||
cacheParams () {
|
||||
return {
|
||||
resourceList: resourceIdArr,
|
||||
resourceList: this.resourceIdArr,
|
||||
localParams: this.localParams
|
||||
}
|
||||
}
|
||||
@ -307,7 +311,7 @@
|
||||
this.diGuiTree(item)
|
||||
this.options = item
|
||||
let o = this.backfillItem
|
||||
|
||||
|
||||
// Non-null objects represent backfill
|
||||
if (!_.isEmpty(o)) {
|
||||
this.rawScript = o.params.rawScript || ''
|
||||
@ -316,11 +320,11 @@
|
||||
let backResource = o.params.resourceList || []
|
||||
let resourceList = o.params.resourceList || []
|
||||
if (resourceList.length) {
|
||||
_.map(resourceList, v => {
|
||||
if(!v.id) {
|
||||
this.store.dispatch('dag/getResourceId',{
|
||||
_.map(resourceList, v => {
|
||||
if (!v.id) {
|
||||
this.store.dispatch('dag/getResourceId', {
|
||||
type: 'FILE',
|
||||
fullName: '/'+v.res
|
||||
fullName: '/' + v.res
|
||||
}).then(res => {
|
||||
this.resourceList.push(res.id)
|
||||
this.dataProcess(backResource)
|
||||
@ -335,7 +339,7 @@
|
||||
})
|
||||
this.cacheResourceList = resourceList
|
||||
}
|
||||
|
||||
|
||||
// backfill localParams
|
||||
let localParams = o.params.localParams || []
|
||||
if (localParams.length) {
|
||||
@ -354,7 +358,7 @@
|
||||
editor.off($('.code-shell-mirror'), 'keypress', this.keypress)
|
||||
}
|
||||
},
|
||||
components: { mLocalParams, mListBox, mResources, mScriptBox, Treeselect }
|
||||
components: { mLocalParams, mListBox, mScriptBox, Treeselect }
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" rel="stylesheet/scss" scope>
|
||||
|
@ -195,7 +195,6 @@
|
||||
import i18n from '@/module/i18n'
|
||||
import mLocalParams from './_source/localParams'
|
||||
import mListBox from './_source/listBox'
|
||||
import mResources from './_source/resources'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
import disabledState from '@/module/mixin/disabledState'
|
||||
@ -242,7 +241,7 @@
|
||||
sparkVersion: 'SPARK2',
|
||||
// Spark version(LIst)
|
||||
sparkVersionList: [{ code: 'SPARK2' }, { code: 'SPARK1' }],
|
||||
normalizer(node) {
|
||||
normalizer (node) {
|
||||
return {
|
||||
label: node.name
|
||||
}
|
||||
@ -259,10 +258,10 @@
|
||||
/**
|
||||
* getResourceId
|
||||
*/
|
||||
marjarId(name) {
|
||||
this.store.dispatch('dag/getResourceId',{
|
||||
marjarId (name) {
|
||||
this.store.dispatch('dag/getResourceId', {
|
||||
type: 'FILE',
|
||||
fullName: '/'+name
|
||||
fullName: '/' + name
|
||||
}).then(res => {
|
||||
this.mainJar = res.id
|
||||
}).catch(e => {
|
||||
@ -287,55 +286,55 @@
|
||||
_onCacheResourcesData (a) {
|
||||
this.cacheResourceList = a
|
||||
},
|
||||
diGuiTree(item) { // Recursive convenience tree structure
|
||||
diGuiTree (item) { // Recursive convenience tree structure
|
||||
item.forEach(item => {
|
||||
item.children === '' || item.children === undefined || item.children === null || item.children.length === 0?
|
||||
this.operationTree(item) : this.diGuiTree(item.children);
|
||||
item.children === '' || item.children === undefined || item.children === null || item.children.length === 0
|
||||
? this.operationTree(item) : this.diGuiTree(item.children)
|
||||
})
|
||||
},
|
||||
operationTree(item) {
|
||||
if(item.dirctory) {
|
||||
item.isDisabled =true
|
||||
operationTree (item) {
|
||||
if (item.dirctory) {
|
||||
item.isDisabled = true
|
||||
}
|
||||
delete item.children
|
||||
},
|
||||
searchTree(element, id) {
|
||||
searchTree (element, id) {
|
||||
// 根据id查找节点
|
||||
if (element.id == id) {
|
||||
return element;
|
||||
} else if (element.children != null) {
|
||||
var i;
|
||||
var result = null;
|
||||
for (i = 0; result == null && i < element.children.length; i++) {
|
||||
result = this.searchTree(element.children[i], id);
|
||||
if (element.id === id) {
|
||||
return element
|
||||
} else if (element.children !== null) {
|
||||
var i
|
||||
var result = null
|
||||
for (i = 0; result === null && i < element.children.length; i++) {
|
||||
result = this.searchTree(element.children[i], id)
|
||||
}
|
||||
return result;
|
||||
return result
|
||||
}
|
||||
return null;
|
||||
return null
|
||||
},
|
||||
dataProcess(backResource) {
|
||||
dataProcess (backResource) {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if(this.resourceList.length>0) {
|
||||
this.resourceList.forEach(v=>{
|
||||
this.mainJarList.forEach(v1=>{
|
||||
if(this.searchTree(v1,v)) {
|
||||
isResourceId.push(this.searchTree(v1,v))
|
||||
if (this.resourceList.length > 0) {
|
||||
this.resourceList.forEach(v => {
|
||||
this.mainJarList.forEach(v1 => {
|
||||
if (this.searchTree(v1, v)) {
|
||||
isResourceId.push(this.searchTree(v1, v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item=>{
|
||||
resourceIdArr = isResourceId.map(item => {
|
||||
return item.id
|
||||
})
|
||||
Array.prototype.diff = function(a) {
|
||||
return this.filter(function(i) {return a.indexOf(i) < 0;});
|
||||
};
|
||||
let diffSet = this.resourceList.diff(resourceIdArr);
|
||||
Array.prototype.diff = function (a) {
|
||||
return this.filter(function (i) { return a.indexOf(i) < 0 })
|
||||
}
|
||||
let diffSet = this.resourceList.diff(resourceIdArr)
|
||||
let optionsCmp = []
|
||||
if(diffSet.length>0) {
|
||||
diffSet.forEach(item=>{
|
||||
backResource.forEach(item1=>{
|
||||
if(item==item1.id || item==item1.res) {
|
||||
if (diffSet.length > 0) {
|
||||
diffSet.forEach(item => {
|
||||
backResource.forEach(item1 => {
|
||||
if (item === item1.id || item === item1.res) {
|
||||
optionsCmp.push(item1)
|
||||
}
|
||||
})
|
||||
@ -344,15 +343,15 @@
|
||||
let noResources = [{
|
||||
id: -1,
|
||||
name: $t('Unauthorized or deleted resources'),
|
||||
fullName: '/'+$t('Unauthorized or deleted resources'),
|
||||
fullName: '/' + $t('Unauthorized or deleted resources'),
|
||||
children: []
|
||||
}]
|
||||
if(optionsCmp.length>0) {
|
||||
if (optionsCmp.length > 0) {
|
||||
this.allNoResources = optionsCmp
|
||||
optionsCmp = optionsCmp.map(item=>{
|
||||
return {id: item.id,name: item.name,fullName: item.res}
|
||||
optionsCmp = optionsCmp.map(item => {
|
||||
return { id: item.id, name: item.name, fullName: item.res }
|
||||
})
|
||||
optionsCmp.forEach(item=>{
|
||||
optionsCmp.forEach(item => {
|
||||
item.isNew = true
|
||||
})
|
||||
noResources[0].children = optionsCmp
|
||||
@ -380,7 +379,7 @@
|
||||
}
|
||||
|
||||
// noRes
|
||||
if (this.noRes.length>0) {
|
||||
if (this.noRes.length > 0) {
|
||||
this.$message.warning(`${i18n.$t('Please delete all non-existent resources')}`)
|
||||
return false
|
||||
}
|
||||
@ -419,7 +418,7 @@
|
||||
return false
|
||||
}
|
||||
// Process resourcelist
|
||||
let dataProcessing= _.map(this.resourceList, v => {
|
||||
let dataProcessing = _.map(this.resourceList, v => {
|
||||
return {
|
||||
id: v
|
||||
}
|
||||
@ -454,44 +453,49 @@
|
||||
this.mainClass = ''
|
||||
}
|
||||
},
|
||||
//Watch the cacheParams
|
||||
// Watch the cacheParams
|
||||
cacheParams (val) {
|
||||
this.$emit('on-cache-params', val)
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
cacheParams () {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if(this.resourceList.length>0) {
|
||||
this.resourceList.forEach(v=>{
|
||||
this.mainJarList.forEach(v1=>{
|
||||
if(this.searchTree(v1,v)) {
|
||||
isResourceId.push(this.searchTree(v1,v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item=>{
|
||||
return {id: item.id,name: item.name,res: item.fullName}
|
||||
})
|
||||
}
|
||||
},
|
||||
resourceIdArr (arr) {
|
||||
let result = []
|
||||
resourceIdArr.forEach(item=>{
|
||||
this.allNoResources.forEach(item1=>{
|
||||
if(item.id==item1.id) {
|
||||
arr.forEach(item => {
|
||||
this.allNoResources.forEach(item1 => {
|
||||
if (item.id === item1.id) {
|
||||
// resultBool = true
|
||||
result.push(item1)
|
||||
result.push(item1)
|
||||
}
|
||||
})
|
||||
})
|
||||
this.noRes = result
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
resourceIdArr () {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if (this.resourceList.length > 0) {
|
||||
this.resourceList.forEach(v => {
|
||||
this.mainJarList.forEach(v1 => {
|
||||
if (this.searchTree(v1, v)) {
|
||||
isResourceId.push(this.searchTree(v1, v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item => {
|
||||
return { id: item.id, name: item.name, res: item.fullName }
|
||||
})
|
||||
}
|
||||
return resourceIdArr
|
||||
},
|
||||
cacheParams () {
|
||||
return {
|
||||
mainClass: this.mainClass,
|
||||
mainJar: {
|
||||
id: this.mainJar
|
||||
},
|
||||
deployMode: this.deployMode,
|
||||
resourceList: resourceIdArr,
|
||||
resourceList: this.resourceIdArr,
|
||||
localParams: this.localParams,
|
||||
driverCores: this.driverCores,
|
||||
driverMemory: this.driverMemory,
|
||||
@ -506,70 +510,70 @@
|
||||
}
|
||||
},
|
||||
created () {
|
||||
let item = this.store.state.dag.resourcesListS
|
||||
let items = this.store.state.dag.resourcesListJar
|
||||
this.diGuiTree(item)
|
||||
this.diGuiTree(items)
|
||||
this.mainJarList = item
|
||||
this.mainJarLists = items
|
||||
let o = this.backfillItem
|
||||
let item = this.store.state.dag.resourcesListS
|
||||
let items = this.store.state.dag.resourcesListJar
|
||||
this.diGuiTree(item)
|
||||
this.diGuiTree(items)
|
||||
this.mainJarList = item
|
||||
this.mainJarLists = items
|
||||
let o = this.backfillItem
|
||||
|
||||
// Non-null objects represent backfill
|
||||
if (!_.isEmpty(o)) {
|
||||
this.mainClass = o.params.mainClass || ''
|
||||
if(o.params.mainJar.res) {
|
||||
this.marjarId(o.params.mainJar.res)
|
||||
} else if(o.params.mainJar.res=='') {
|
||||
this.mainJar = ''
|
||||
} else {
|
||||
this.mainJar = o.params.mainJar.id || ''
|
||||
}
|
||||
this.deployMode = o.params.deployMode || ''
|
||||
this.driverCores = o.params.driverCores || 1
|
||||
this.driverMemory = o.params.driverMemory || '512M'
|
||||
this.numExecutors = o.params.numExecutors || 2
|
||||
this.executorMemory = o.params.executorMemory || '2G'
|
||||
this.executorCores = o.params.executorCores || 2
|
||||
this.mainArgs = o.params.mainArgs || ''
|
||||
this.others = o.params.others
|
||||
this.programType = o.params.programType || 'SCALA'
|
||||
this.sparkVersion = o.params.sparkVersion || 'SPARK2'
|
||||
|
||||
// backfill resourceList
|
||||
let backResource = o.params.resourceList || []
|
||||
let resourceList = o.params.resourceList || []
|
||||
if (resourceList.length) {
|
||||
_.map(resourceList, v => {
|
||||
if(!v.id) {
|
||||
this.store.dispatch('dag/getResourceId',{
|
||||
type: 'FILE',
|
||||
fullName: '/'+v.res
|
||||
}).then(res => {
|
||||
this.resourceList.push(res.id)
|
||||
this.dataProcess(backResource)
|
||||
}).catch(e => {
|
||||
this.resourceList.push(v.res)
|
||||
this.dataProcess(backResource)
|
||||
})
|
||||
} else {
|
||||
this.resourceList.push(v.id)
|
||||
this.dataProcess(backResource)
|
||||
}
|
||||
})
|
||||
this.cacheResourceList = resourceList
|
||||
}
|
||||
|
||||
// backfill localParams
|
||||
let localParams = o.params.localParams || []
|
||||
if (localParams.length) {
|
||||
this.localParams = localParams
|
||||
}
|
||||
// Non-null objects represent backfill
|
||||
if (!_.isEmpty(o)) {
|
||||
this.mainClass = o.params.mainClass || ''
|
||||
if (o.params.mainJar.res) {
|
||||
this.marjarId(o.params.mainJar.res)
|
||||
} else if (o.params.mainJar.res === '') {
|
||||
this.mainJar = ''
|
||||
} else {
|
||||
this.mainJar = o.params.mainJar.id || ''
|
||||
}
|
||||
this.deployMode = o.params.deployMode || ''
|
||||
this.driverCores = o.params.driverCores || 1
|
||||
this.driverMemory = o.params.driverMemory || '512M'
|
||||
this.numExecutors = o.params.numExecutors || 2
|
||||
this.executorMemory = o.params.executorMemory || '2G'
|
||||
this.executorCores = o.params.executorCores || 2
|
||||
this.mainArgs = o.params.mainArgs || ''
|
||||
this.others = o.params.others
|
||||
this.programType = o.params.programType || 'SCALA'
|
||||
this.sparkVersion = o.params.sparkVersion || 'SPARK2'
|
||||
|
||||
// backfill resourceList
|
||||
let backResource = o.params.resourceList || []
|
||||
let resourceList = o.params.resourceList || []
|
||||
if (resourceList.length) {
|
||||
_.map(resourceList, v => {
|
||||
if (!v.id) {
|
||||
this.store.dispatch('dag/getResourceId', {
|
||||
type: 'FILE',
|
||||
fullName: '/' + v.res
|
||||
}).then(res => {
|
||||
this.resourceList.push(res.id)
|
||||
this.dataProcess(backResource)
|
||||
}).catch(e => {
|
||||
this.resourceList.push(v.res)
|
||||
this.dataProcess(backResource)
|
||||
})
|
||||
} else {
|
||||
this.resourceList.push(v.id)
|
||||
this.dataProcess(backResource)
|
||||
}
|
||||
})
|
||||
this.cacheResourceList = resourceList
|
||||
}
|
||||
|
||||
// backfill localParams
|
||||
let localParams = o.params.localParams || []
|
||||
if (localParams.length) {
|
||||
this.localParams = localParams
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
|
||||
},
|
||||
components: { mLocalParams, mListBox, mResources, Treeselect }
|
||||
components: { mLocalParams, mListBox, Treeselect }
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -202,7 +202,7 @@
|
||||
createNodeId: Number
|
||||
},
|
||||
methods: {
|
||||
setEditorVal() {
|
||||
setEditorVal () {
|
||||
this.item = editor.getValue()
|
||||
this.scriptBoxDialog = true
|
||||
},
|
||||
@ -214,7 +214,7 @@
|
||||
*/
|
||||
_onSqlType (a) {
|
||||
this.sqlType = a
|
||||
if(a==0) {
|
||||
if (a === 0) {
|
||||
this.showType = ['TABLE']
|
||||
}
|
||||
},
|
||||
@ -262,24 +262,24 @@
|
||||
if (!this.$refs.refDs._verifDatasource()) {
|
||||
return false
|
||||
}
|
||||
if (this.sqlType==0 && !this.showType.length) {
|
||||
if (this.sqlType === 0 && !this.showType.length) {
|
||||
this.$message.warning(`${i18n.$t('One form or attachment must be selected')}`)
|
||||
return false
|
||||
}
|
||||
if (this.sqlType==0 && !this.title) {
|
||||
if (this.sqlType === 0 && !this.title) {
|
||||
this.$message.warning(`${i18n.$t('Mail subject required')}`)
|
||||
return false
|
||||
}
|
||||
if (this.sqlType==0 && !this.receivers.length) {
|
||||
if (this.sqlType === 0 && !this.receivers.length) {
|
||||
this.$message.warning(`${i18n.$t('Recipient required')}`)
|
||||
return false
|
||||
}
|
||||
// receivers Subcomponent verification
|
||||
if (this.sqlType==0 && !this.$refs.refEmail._manualEmail()) {
|
||||
if (this.sqlType === 0 && !this.$refs.refEmail._manualEmail()) {
|
||||
return false
|
||||
}
|
||||
// receiversCc Subcomponent verification
|
||||
if (this.sqlType==0 && !this.$refs.refCc._manualEmail()) {
|
||||
if (this.sqlType === 0 && !this.$refs.refCc._manualEmail()) {
|
||||
return false
|
||||
}
|
||||
// udfs Subcomponent verification Verification only if the data type is HIVE
|
||||
@ -390,7 +390,6 @@
|
||||
receivers: this.receivers.join(','),
|
||||
receiversCc: this.receiversCc.join(','),
|
||||
showType: (() => {
|
||||
|
||||
let showType = this.showType
|
||||
if (showType.length === 2 && showType[0] === 'ATTACHMENT') {
|
||||
return [showType[1], showType[0]].join(',')
|
||||
@ -402,10 +401,10 @@
|
||||
connParams: this.connParams,
|
||||
preStatements: this.preStatements,
|
||||
postStatements: this.postStatements
|
||||
});
|
||||
})
|
||||
},
|
||||
_destroyEditor () {
|
||||
if (editor) {
|
||||
if (editor) {
|
||||
editor.toTextArea() // Uninstall
|
||||
editor.off($('.code-sql-mirror'), 'keypress', this.keypress)
|
||||
editor.off($('.code-sql-mirror'), 'changes', this.changes)
|
||||
@ -415,10 +414,10 @@
|
||||
watch: {
|
||||
// Listening to sqlType
|
||||
sqlType (val) {
|
||||
if (val==0) {
|
||||
if (val === 0) {
|
||||
this.showType = []
|
||||
}
|
||||
if (val != 0) {
|
||||
if (val !== 0) {
|
||||
this.title = ''
|
||||
this.receivers = []
|
||||
this.receiversCc = []
|
||||
@ -430,7 +429,7 @@
|
||||
this.connParams = ''
|
||||
}
|
||||
},
|
||||
//Watch the cacheParams
|
||||
// Watch the cacheParams
|
||||
cacheParams (val) {
|
||||
this._cacheParams()
|
||||
}
|
||||
@ -448,7 +447,7 @@
|
||||
this.sqlType = o.params.sqlType
|
||||
this.connParams = o.params.connParams || ''
|
||||
this.localParams = o.params.localParams || []
|
||||
if(o.params.showType == '') {
|
||||
if (o.params.showType === '') {
|
||||
this.showType = []
|
||||
} else {
|
||||
this.showType = o.params.showType.split(',') || []
|
||||
@ -491,7 +490,6 @@
|
||||
receivers: this.receivers.join(','),
|
||||
receiversCc: this.receiversCc.join(','),
|
||||
showType: (() => {
|
||||
|
||||
let showType = this.showType
|
||||
if (showType.length === 2 && showType[0] === 'ATTACHMENT') {
|
||||
return [showType[1], showType[0]].join(',')
|
||||
@ -520,4 +518,3 @@
|
||||
top: -16px;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
@ -614,103 +614,103 @@
|
||||
/**
|
||||
* mysql query type
|
||||
*/
|
||||
srcQueryType:'1',
|
||||
srcQueryType: '1',
|
||||
/**
|
||||
* source data source
|
||||
*/
|
||||
srcDatasource:'',
|
||||
srcDatasource: '',
|
||||
/**
|
||||
* target data source
|
||||
*/
|
||||
targetDatasource:'',
|
||||
targetDatasource: '',
|
||||
/**
|
||||
* concurrency
|
||||
*/
|
||||
concurrency:1,
|
||||
concurrency: 1,
|
||||
/**
|
||||
* default job type
|
||||
*/
|
||||
jobType:'TEMPLATE',
|
||||
jobType: 'TEMPLATE',
|
||||
/**
|
||||
* direct model type
|
||||
*/
|
||||
modelType:'import',
|
||||
modelType: 'import',
|
||||
|
||||
modelTypeList: [{ code: 'import' }, { code: 'export' }],
|
||||
|
||||
sourceTypeList: [
|
||||
{
|
||||
code: "MYSQL"
|
||||
},
|
||||
],
|
||||
|
||||
targetTypeList:[
|
||||
{
|
||||
code:"HIVE"
|
||||
},
|
||||
{
|
||||
code:"HDFS"
|
||||
code: 'MYSQL'
|
||||
}
|
||||
],
|
||||
|
||||
sourceType:"MYSQL",
|
||||
targetType:"HDFS",
|
||||
targetTypeList: [
|
||||
{
|
||||
code: 'HIVE'
|
||||
},
|
||||
{
|
||||
code: 'HDFS'
|
||||
}
|
||||
],
|
||||
|
||||
sourceMysqlParams:{
|
||||
srcType:"MYSQL",
|
||||
srcDatasource:"",
|
||||
srcTable:"",
|
||||
srcQueryType:"1",
|
||||
srcQuerySql:'',
|
||||
srcColumnType:"0",
|
||||
srcColumns:"",
|
||||
srcConditionList:[],
|
||||
mapColumnHive:[],
|
||||
mapColumnJava:[]
|
||||
sourceType: 'MYSQL',
|
||||
targetType: 'HDFS',
|
||||
|
||||
sourceMysqlParams: {
|
||||
srcType: 'MYSQL',
|
||||
srcDatasource: '',
|
||||
srcTable: '',
|
||||
srcQueryType: '1',
|
||||
srcQuerySql: '',
|
||||
srcColumnType: '0',
|
||||
srcColumns: '',
|
||||
srcConditionList: [],
|
||||
mapColumnHive: [],
|
||||
mapColumnJava: []
|
||||
},
|
||||
|
||||
sourceHdfsParams:{
|
||||
exportDir:""
|
||||
sourceHdfsParams: {
|
||||
exportDir: ''
|
||||
},
|
||||
|
||||
sourceHiveParams:{
|
||||
hiveDatabase:"",
|
||||
hiveTable:"",
|
||||
hivePartitionKey:"",
|
||||
hivePartitionValue:""
|
||||
sourceHiveParams: {
|
||||
hiveDatabase: '',
|
||||
hiveTable: '',
|
||||
hivePartitionKey: '',
|
||||
hivePartitionValue: ''
|
||||
},
|
||||
|
||||
targetHdfsParams:{
|
||||
targetPath:"",
|
||||
deleteTargetDir:true,
|
||||
fileType:"--as-avrodatafile",
|
||||
compressionCodec:"snappy",
|
||||
fieldsTerminated:"",
|
||||
linesTerminated:"",
|
||||
targetHdfsParams: {
|
||||
targetPath: '',
|
||||
deleteTargetDir: true,
|
||||
fileType: '--as-avrodatafile',
|
||||
compressionCodec: 'snappy',
|
||||
fieldsTerminated: '',
|
||||
linesTerminated: ''
|
||||
},
|
||||
|
||||
targetMysqlParams:{
|
||||
targetType:"MYSQL",
|
||||
targetDatasource:"",
|
||||
targetTable:"",
|
||||
targetColumns:"",
|
||||
fieldsTerminated:"",
|
||||
linesTerminated:"",
|
||||
preQuery:"",
|
||||
isUpdate:false,
|
||||
targetUpdateKey:"",
|
||||
targetUpdateMode:"allowinsert"
|
||||
targetMysqlParams: {
|
||||
targetType: 'MYSQL',
|
||||
targetDatasource: '',
|
||||
targetTable: '',
|
||||
targetColumns: '',
|
||||
fieldsTerminated: '',
|
||||
linesTerminated: '',
|
||||
preQuery: '',
|
||||
isUpdate: false,
|
||||
targetUpdateKey: '',
|
||||
targetUpdateMode: 'allowinsert'
|
||||
},
|
||||
|
||||
targetHiveParams:{
|
||||
hiveDatabase:"",
|
||||
hiveTable:"",
|
||||
createHiveTable:false,
|
||||
dropDelimiter:false,
|
||||
hiveOverWrite:true,
|
||||
replaceDelimiter:"",
|
||||
hivePartitionKey:"",
|
||||
hivePartitionValue:""
|
||||
targetHiveParams: {
|
||||
hiveDatabase: '',
|
||||
hiveTable: '',
|
||||
createHiveTable: false,
|
||||
dropDelimiter: false,
|
||||
hiveOverWrite: true,
|
||||
replaceDelimiter: '',
|
||||
hivePartitionKey: '',
|
||||
hivePartitionValue: ''
|
||||
},
|
||||
item: '',
|
||||
scriptBoxDialog: false
|
||||
@ -721,108 +721,108 @@
|
||||
backfillItem: Object
|
||||
},
|
||||
methods: {
|
||||
setEditorVal() {
|
||||
setEditorVal () {
|
||||
this.item = editor.getValue()
|
||||
this.scriptBoxDialog = true
|
||||
},
|
||||
getSriptBoxValue (val) {
|
||||
editor.setValue(val)
|
||||
},
|
||||
_handleQueryType(o){
|
||||
_handleQueryType (o) {
|
||||
this.sourceMysqlParams.srcQueryType = this.srcQueryType
|
||||
this._getTargetTypeList(this.sourceType)
|
||||
this.targetType = this.targetTypeList[0].code
|
||||
},
|
||||
|
||||
_handleModelTypeChange(a){
|
||||
_handleModelTypeChange (a) {
|
||||
this._getSourceTypeList(a)
|
||||
this.sourceType = this.sourceTypeList[0].code
|
||||
this._handleSourceTypeChange({label: this.sourceType, value: this.sourceType})
|
||||
this._handleSourceTypeChange({ label: this.sourceType, value: this.sourceType })
|
||||
},
|
||||
|
||||
_handleSourceTypeChange(a){
|
||||
_handleSourceTypeChange (a) {
|
||||
this._getTargetTypeList(a.label)
|
||||
this.targetType = this.targetTypeList[0].code
|
||||
},
|
||||
|
||||
_getSourceTypeList(data){
|
||||
switch(data){
|
||||
_getSourceTypeList (data) {
|
||||
switch (data) {
|
||||
case 'import':
|
||||
this.sourceTypeList = [
|
||||
{
|
||||
code:"MYSQL"
|
||||
},
|
||||
code: 'MYSQL'
|
||||
}
|
||||
]
|
||||
break;
|
||||
break
|
||||
case 'export':
|
||||
this.sourceTypeList = [
|
||||
{
|
||||
code: "HDFS"
|
||||
code: 'HDFS'
|
||||
},
|
||||
{
|
||||
code: "HIVE"
|
||||
code: 'HIVE'
|
||||
}
|
||||
]
|
||||
break;
|
||||
break
|
||||
default:
|
||||
this.sourceTypeList = [
|
||||
{
|
||||
code:"MYSQL"
|
||||
code: 'MYSQL'
|
||||
},
|
||||
{
|
||||
code:"HIVE"
|
||||
code: 'HIVE'
|
||||
},
|
||||
{
|
||||
code:"HDFS"
|
||||
code: 'HDFS'
|
||||
}
|
||||
]
|
||||
break;
|
||||
break
|
||||
}
|
||||
},
|
||||
|
||||
_getTargetTypeList(data){
|
||||
switch(data){
|
||||
_getTargetTypeList (data) {
|
||||
switch (data) {
|
||||
case 'MYSQL':
|
||||
if (this.srcQueryType === "1") {
|
||||
if (this.srcQueryType === '1') {
|
||||
this.targetTypeList = [
|
||||
{
|
||||
code: "HDFS"
|
||||
code: 'HDFS'
|
||||
}]
|
||||
} else {
|
||||
this.targetTypeList = [
|
||||
{
|
||||
code: "HIVE"
|
||||
code: 'HIVE'
|
||||
},
|
||||
{
|
||||
code: "HDFS"
|
||||
code: 'HDFS'
|
||||
}
|
||||
]
|
||||
}
|
||||
break;
|
||||
break
|
||||
case 'HDFS':
|
||||
this.targetTypeList = [
|
||||
{
|
||||
code:"MYSQL"
|
||||
code: 'MYSQL'
|
||||
}
|
||||
]
|
||||
break;
|
||||
break
|
||||
case 'HIVE':
|
||||
this.targetTypeList = [
|
||||
{
|
||||
code:"MYSQL"
|
||||
code: 'MYSQL'
|
||||
}
|
||||
]
|
||||
break;
|
||||
break
|
||||
default:
|
||||
this.targetTypeList = [
|
||||
{
|
||||
code:"HIVE"
|
||||
code: 'HIVE'
|
||||
},
|
||||
{
|
||||
code:"HDFS"
|
||||
code: 'HDFS'
|
||||
}
|
||||
]
|
||||
break;
|
||||
break
|
||||
}
|
||||
},
|
||||
|
||||
@ -853,26 +853,26 @@
|
||||
/**
|
||||
* stringify the source params
|
||||
*/
|
||||
_handleSourceParams() {
|
||||
_handleSourceParams () {
|
||||
var params = null
|
||||
switch(this.sourceType){
|
||||
case "MYSQL":
|
||||
this.sourceMysqlParams.srcQuerySql = this.sourceMysqlParams.srcQueryType === "1" && editor ?
|
||||
editor.getValue() : this.sourceMysqlParams.srcQuerySql
|
||||
switch (this.sourceType) {
|
||||
case 'MYSQL':
|
||||
this.sourceMysqlParams.srcQuerySql = this.sourceMysqlParams.srcQueryType === '1' && editor
|
||||
? editor.getValue() : this.sourceMysqlParams.srcQuerySql
|
||||
params = JSON.stringify(this.sourceMysqlParams)
|
||||
break;
|
||||
case "ORACLE":
|
||||
break
|
||||
case 'ORACLE':
|
||||
params = JSON.stringify(this.sourceOracleParams)
|
||||
break;
|
||||
case "HDFS":
|
||||
break
|
||||
case 'HDFS':
|
||||
params = JSON.stringify(this.sourceHdfsParams)
|
||||
break;
|
||||
case "HIVE":
|
||||
break
|
||||
case 'HIVE':
|
||||
params = JSON.stringify(this.sourceHiveParams)
|
||||
break;
|
||||
break
|
||||
default:
|
||||
params = "";
|
||||
break;
|
||||
params = ''
|
||||
break
|
||||
}
|
||||
return params
|
||||
},
|
||||
@ -880,21 +880,21 @@
|
||||
/**
|
||||
* stringify the target params
|
||||
*/
|
||||
_handleTargetParams() {
|
||||
_handleTargetParams () {
|
||||
var params = null
|
||||
switch(this.targetType){
|
||||
case "HIVE":
|
||||
switch (this.targetType) {
|
||||
case 'HIVE':
|
||||
params = JSON.stringify(this.targetHiveParams)
|
||||
break;
|
||||
case "HDFS":
|
||||
break
|
||||
case 'HDFS':
|
||||
params = JSON.stringify(this.targetHdfsParams)
|
||||
break;
|
||||
case "MYSQL":
|
||||
break
|
||||
case 'MYSQL':
|
||||
params = JSON.stringify(this.targetMysqlParams)
|
||||
break;
|
||||
break
|
||||
default:
|
||||
params = "";
|
||||
break;
|
||||
params = ''
|
||||
break
|
||||
}
|
||||
|
||||
return params
|
||||
@ -903,47 +903,46 @@
|
||||
/**
|
||||
* get source params by source type
|
||||
*/
|
||||
_getSourceParams(data) {
|
||||
switch(this.sourceType){
|
||||
case "MYSQL":
|
||||
_getSourceParams (data) {
|
||||
switch (this.sourceType) {
|
||||
case 'MYSQL':
|
||||
this.sourceMysqlParams = JSON.parse(data)
|
||||
this.srcDatasource = this.sourceMysqlParams.srcDatasource
|
||||
break;
|
||||
case "ORACLE":
|
||||
break
|
||||
case 'ORACLE':
|
||||
this.sourceOracleParams = JSON.parse(data)
|
||||
break;
|
||||
case "HDFS":
|
||||
break
|
||||
case 'HDFS':
|
||||
this.sourceHdfsParams = JSON.parse(data)
|
||||
break;
|
||||
case "HIVE":
|
||||
break
|
||||
case 'HIVE':
|
||||
this.sourceHiveParams = JSON.parse(data)
|
||||
break;
|
||||
break
|
||||
default:
|
||||
break;
|
||||
break
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* get target params by target type
|
||||
*/
|
||||
_getTargetParams(data) {
|
||||
switch(this.targetType){
|
||||
case "HIVE":
|
||||
_getTargetParams (data) {
|
||||
switch (this.targetType) {
|
||||
case 'HIVE':
|
||||
this.targetHiveParams = JSON.parse(data)
|
||||
break;
|
||||
case "HDFS":
|
||||
break
|
||||
case 'HDFS':
|
||||
this.targetHdfsParams = JSON.parse(data)
|
||||
break;
|
||||
case "MYSQL":
|
||||
break
|
||||
case 'MYSQL':
|
||||
this.targetMysqlParams = JSON.parse(data)
|
||||
this.targetDatasource = this.targetMysqlParams.targetDatasource
|
||||
break;
|
||||
break
|
||||
default:
|
||||
break;
|
||||
break
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* verification
|
||||
*/
|
||||
@ -957,7 +956,7 @@
|
||||
this.$message.warning(`${i18n.$t('Please enter Custom Shell(required)')}`)
|
||||
return false
|
||||
}
|
||||
sqoopParams['customShell'] = shellEditor.getValue()
|
||||
sqoopParams.customShell = shellEditor.getValue()
|
||||
} else {
|
||||
if (!this.jobName) {
|
||||
this.$message.warning(`${i18n.$t('Please enter Job Name(required)')}`)
|
||||
@ -965,7 +964,7 @@
|
||||
}
|
||||
|
||||
switch (this.sourceType) {
|
||||
case "MYSQL":
|
||||
case 'MYSQL':
|
||||
if (!this.$refs.refSourceDs._verifDatasource()) {
|
||||
return false
|
||||
}
|
||||
@ -974,84 +973,84 @@
|
||||
this.$message.warning(`${i18n.$t('Please enter a SQL Statement(required)')}`)
|
||||
return false
|
||||
}
|
||||
this.sourceMysqlParams.srcTable = ""
|
||||
this.sourceMysqlParams.srcColumnType = "0"
|
||||
this.sourceMysqlParams.srcColumns = ""
|
||||
this.sourceMysqlParams.srcTable = ''
|
||||
this.sourceMysqlParams.srcColumnType = '0'
|
||||
this.sourceMysqlParams.srcColumns = ''
|
||||
} else {
|
||||
if (this.sourceMysqlParams.srcTable === "") {
|
||||
if (this.sourceMysqlParams.srcTable === '') {
|
||||
this.$message.warning(`${i18n.$t('Please enter Mysql Table(required)')}`)
|
||||
return false
|
||||
}
|
||||
this.sourceMysqlParams.srcQuerySql = ""
|
||||
if (this.sourceMysqlParams.srcColumnType === "1" && this.sourceMysqlParams.srcColumns === "") {
|
||||
this.sourceMysqlParams.srcQuerySql = ''
|
||||
if (this.sourceMysqlParams.srcColumnType === '1' && this.sourceMysqlParams.srcColumns === '') {
|
||||
this.$message.warning(`${i18n.$t('Please enter Columns (Comma separated)')}`)
|
||||
return false
|
||||
}
|
||||
if (this.sourceMysqlParams.srcColumnType === "0") {
|
||||
this.sourceMysqlParams.srcColumns = ""
|
||||
if (this.sourceMysqlParams.srcColumnType === '0') {
|
||||
this.sourceMysqlParams.srcColumns = ''
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case "HDFS":
|
||||
if (this.sourceHdfsParams.exportDir === "") {
|
||||
break
|
||||
case 'HDFS':
|
||||
if (this.sourceHdfsParams.exportDir === '') {
|
||||
this.$message.warning(`${i18n.$t('Please enter Export Dir(required)')}`)
|
||||
return false
|
||||
}
|
||||
break;
|
||||
case "HIVE":
|
||||
if (this.sourceHiveParams.hiveDatabase === "") {
|
||||
break
|
||||
case 'HIVE':
|
||||
if (this.sourceHiveParams.hiveDatabase === '') {
|
||||
this.$message.warning(`${i18n.$t('Please enter Hive Database(required)')}`)
|
||||
return false
|
||||
}
|
||||
if (this.sourceHiveParams.hiveTable === "") {
|
||||
if (this.sourceHiveParams.hiveTable === '') {
|
||||
this.$message.warning(`${i18n.$t('Please enter Hive Table(required)')}`)
|
||||
return false
|
||||
}
|
||||
break;
|
||||
break
|
||||
default:
|
||||
break;
|
||||
break
|
||||
}
|
||||
|
||||
switch (this.targetType) {
|
||||
case "HIVE":
|
||||
if (this.targetHiveParams.hiveDatabase === "") {
|
||||
case 'HIVE':
|
||||
if (this.targetHiveParams.hiveDatabase === '') {
|
||||
this.$message.warning(`${i18n.$t('Please enter Hive Database(required)')}`)
|
||||
return false
|
||||
}
|
||||
if (this.targetHiveParams.hiveTable === "") {
|
||||
if (this.targetHiveParams.hiveTable === '') {
|
||||
this.$message.warning(`${i18n.$t('Please enter Hive Table(required)')}`)
|
||||
return false
|
||||
}
|
||||
break;
|
||||
case "HDFS":
|
||||
if (this.targetHdfsParams.targetPath === "") {
|
||||
break
|
||||
case 'HDFS':
|
||||
if (this.targetHdfsParams.targetPath === '') {
|
||||
this.$message.warning(`${i18n.$t('Please enter Target Dir(required)')}`)
|
||||
return false
|
||||
}
|
||||
break;
|
||||
case "MYSQL":
|
||||
break
|
||||
case 'MYSQL':
|
||||
if (!this.$refs.refTargetDs._verifDatasource()) {
|
||||
return false
|
||||
}
|
||||
|
||||
if (this.targetMysqlParams.targetTable === "") {
|
||||
if (this.targetMysqlParams.targetTable === '') {
|
||||
this.$message.warning(`${i18n.$t('Please enter Mysql Table(required)')}`)
|
||||
return false
|
||||
}
|
||||
break;
|
||||
break
|
||||
default:
|
||||
break;
|
||||
break
|
||||
}
|
||||
sqoopParams['jobName'] = this.jobName
|
||||
sqoopParams['hadoopCustomParams'] = this.hadoopCustomParams
|
||||
sqoopParams['sqoopAdvancedParams'] = this.sqoopAdvancedParams
|
||||
sqoopParams['concurrency'] = this.concurrency
|
||||
sqoopParams['modelType'] = this.modelType
|
||||
sqoopParams['sourceType'] = this.sourceType
|
||||
sqoopParams['targetType'] = this.targetType
|
||||
sqoopParams['targetParams'] = this._handleTargetParams()
|
||||
sqoopParams['sourceParams'] = this._handleSourceParams()
|
||||
sqoopParams.jobName = this.jobName
|
||||
sqoopParams.hadoopCustomParams = this.hadoopCustomParams
|
||||
sqoopParams.sqoopAdvancedParams = this.sqoopAdvancedParams
|
||||
sqoopParams.concurrency = this.concurrency
|
||||
sqoopParams.modelType = this.modelType
|
||||
sqoopParams.sourceType = this.sourceType
|
||||
sqoopParams.targetType = this.targetType
|
||||
sqoopParams.targetParams = this._handleTargetParams()
|
||||
sqoopParams.sourceParams = this._handleSourceParams()
|
||||
}
|
||||
|
||||
// storage
|
||||
@ -1142,14 +1141,14 @@
|
||||
|
||||
_cacheParams () {
|
||||
this.$emit('on-cache-params', {
|
||||
concurrency:this.concurrency,
|
||||
modelType:this.modelType,
|
||||
sourceType:this.sourceType,
|
||||
targetType:this.targetType,
|
||||
sourceParams:this._handleSourceParams(),
|
||||
targetParams:this._handleTargetParams(),
|
||||
localParams:this.localParams
|
||||
});
|
||||
concurrency: this.concurrency,
|
||||
modelType: this.modelType,
|
||||
sourceType: this.sourceType,
|
||||
targetType: this.targetType,
|
||||
sourceParams: this._handleSourceParams(),
|
||||
targetParams: this._handleTargetParams(),
|
||||
localParams: this.localParams
|
||||
})
|
||||
},
|
||||
|
||||
_destroyEditor () {
|
||||
@ -1171,10 +1170,10 @@
|
||||
watch: {
|
||||
// Listening to sqlType
|
||||
sqlType (val) {
|
||||
if (val==0) {
|
||||
if (val === 0) {
|
||||
this.showType = []
|
||||
}
|
||||
if (val != 0) {
|
||||
if (val !== 0) {
|
||||
this.title = ''
|
||||
this.receivers = []
|
||||
this.receiversCc = []
|
||||
@ -1186,7 +1185,7 @@
|
||||
this.connParams = ''
|
||||
}
|
||||
},
|
||||
//Watch the cacheParams
|
||||
// Watch the cacheParams
|
||||
cacheParams (val) {
|
||||
this._cacheParams()
|
||||
}
|
||||
@ -1248,21 +1247,21 @@
|
||||
computed: {
|
||||
cacheParams () {
|
||||
return {
|
||||
concurrency:this.concurrency,
|
||||
modelType:this.modelType,
|
||||
sourceType:this.sourceType,
|
||||
targetType:this.targetType,
|
||||
localParams:this.localParams,
|
||||
sourceMysqlParams:this.sourceMysqlParams,
|
||||
sourceHdfsParams:this.sourceHdfsParams,
|
||||
sourceHiveParams:this.sourceHiveParams,
|
||||
targetHdfsParams:this.targetHdfsParams,
|
||||
targetMysqlParams:this.targetMysqlParams,
|
||||
targetHiveParams:this.targetHiveParams
|
||||
concurrency: this.concurrency,
|
||||
modelType: this.modelType,
|
||||
sourceType: this.sourceType,
|
||||
targetType: this.targetType,
|
||||
localParams: this.localParams,
|
||||
sourceMysqlParams: this.sourceMysqlParams,
|
||||
sourceHdfsParams: this.sourceHdfsParams,
|
||||
sourceHiveParams: this.sourceHiveParams,
|
||||
targetHdfsParams: this.targetHdfsParams,
|
||||
targetMysqlParams: this.targetMysqlParams,
|
||||
targetHiveParams: this.targetHiveParams
|
||||
}
|
||||
}
|
||||
},
|
||||
components: { mListBox, mDatasource, mLocalParams, mScriptBox}
|
||||
components: { mListBox, mDatasource, mLocalParams, mScriptBox }
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" rel="stylesheet/scss">
|
||||
@ -1276,4 +1275,3 @@
|
||||
top: -16px;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
@ -97,7 +97,7 @@
|
||||
created () {
|
||||
let processListS = _.cloneDeep(this.store.state.dag.processListS)
|
||||
let id = null
|
||||
if(this.router.history.current.name==='projects-instance-details') {
|
||||
if (this.router.history.current.name === 'projects-instance-details') {
|
||||
id = this.router.history.current.query.id || null
|
||||
} else {
|
||||
id = this.router.history.current.params.id || null
|
||||
@ -119,7 +119,7 @@
|
||||
this.wdiCurr = o.params.processDefinitionId
|
||||
} else {
|
||||
if (this.processDefinitionList.length) {
|
||||
this.wdiCurr = this.processDefinitionList[0]['id']
|
||||
this.wdiCurr = this.processDefinitionList[0].id
|
||||
this.$emit('on-set-process-name', this._handleName(this.wdiCurr))
|
||||
}
|
||||
}
|
||||
|
@ -97,8 +97,6 @@
|
||||
import _ from 'lodash'
|
||||
import i18n from '@/module/i18n'
|
||||
import mListBox from './_source/listBox'
|
||||
import mScriptBox from './_source/scriptBox'
|
||||
import mResources from './_source/resources'
|
||||
import mLocalParams from './_source/localParams'
|
||||
import disabledState from '@/module/mixin/disabledState'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
@ -112,9 +110,9 @@
|
||||
// script
|
||||
rawScript: '',
|
||||
// waterdrop script
|
||||
baseScript: 'sh ${WATERDROP_HOME}/bin/start-waterdrop.sh',
|
||||
baseScript: 'sh ${WATERDROP_HOME}/bin/start-waterdrop.sh', // eslint-disable-line
|
||||
// resourceNameVal
|
||||
resourceNameVal : [],
|
||||
resourceNameVal: [],
|
||||
// Custom parameter
|
||||
localParams: [],
|
||||
// resource(list)
|
||||
@ -128,14 +126,14 @@
|
||||
// Spark version(LIst)
|
||||
masterType: [{ code: 'yarn' }, { code: 'local' }, { code: 'spark://' }, { code: 'mesos://' }],
|
||||
// Deployment masterUrl state
|
||||
masterUrlState:false,
|
||||
masterUrlState: false,
|
||||
// Deployment masterUrl
|
||||
masterUrl: '',
|
||||
// Cache ResourceList
|
||||
cacheResourceList: [],
|
||||
// define options
|
||||
options: [],
|
||||
normalizer(node) {
|
||||
normalizer (node) {
|
||||
return {
|
||||
label: node.name
|
||||
}
|
||||
@ -177,7 +175,7 @@
|
||||
return false
|
||||
}
|
||||
// noRes
|
||||
if (this.noRes.length>0) {
|
||||
if (this.noRes.length > 0) {
|
||||
this.$message.warning(`${i18n.$t('Please delete all non-existent resources')}`)
|
||||
return false
|
||||
}
|
||||
@ -186,40 +184,40 @@
|
||||
this.$message.warning(`${i18n.$t('Please select the waterdrop resources')}`)
|
||||
return false
|
||||
}
|
||||
if (this.resourceNameVal.resourceList && this.resourceNameVal.resourceList.length==0) {
|
||||
if (this.resourceNameVal.resourceList && this.resourceNameVal.resourceList.length === 0) {
|
||||
this.$message.warning(`${i18n.$t('Please select the waterdrop resources')}`)
|
||||
return false
|
||||
}
|
||||
// Process resourcelist
|
||||
let dataProcessing= _.map(this.resourceList, v => {
|
||||
let dataProcessing = _.map(this.resourceList, v => {
|
||||
return {
|
||||
id: v
|
||||
}
|
||||
})
|
||||
//verify deploy mode
|
||||
// verify deploy mode
|
||||
let deployMode = this.deployMode
|
||||
let master = this.master
|
||||
let masterUrl = this.masterUrl
|
||||
|
||||
if(this.deployMode == 'local'){
|
||||
|
||||
if (this.deployMode === 'local') {
|
||||
master = 'local'
|
||||
masterUrl = ''
|
||||
deployMode = 'client'
|
||||
}
|
||||
// get local params
|
||||
let locparams = ''
|
||||
this.localParams.forEach(v=>{
|
||||
locparams = locparams + ' --variable ' + v.prop + '=' + v.value
|
||||
}
|
||||
this.localParams.forEach(v => {
|
||||
locparams = locparams + ' --variable ' + v.prop + '=' + v.value
|
||||
}
|
||||
)
|
||||
// get waterdrop script
|
||||
let tureScript = ''
|
||||
this.resourceNameVal.resourceList.forEach(v=>{
|
||||
this.resourceNameVal.resourceList.forEach(v => {
|
||||
tureScript = tureScript + this.baseScript +
|
||||
' --master '+ master + masterUrl +
|
||||
' --deploy-mode '+ deployMode +
|
||||
' --queue '+ this.queue +
|
||||
' --config ' + v.res +
|
||||
' --master ' + master + masterUrl +
|
||||
' --deploy-mode ' + deployMode +
|
||||
' --queue ' + this.queue +
|
||||
' --config ' + v.res +
|
||||
locparams + ' \n'
|
||||
})
|
||||
|
||||
@ -227,60 +225,60 @@
|
||||
this.$emit('on-params', {
|
||||
resourceList: dataProcessing,
|
||||
localParams: this.localParams,
|
||||
rawScript: tureScript,
|
||||
rawScript: tureScript
|
||||
})
|
||||
|
||||
return true
|
||||
},
|
||||
diGuiTree(item) { // Recursive convenience tree structure
|
||||
diGuiTree (item) { // Recursive convenience tree structure
|
||||
item.forEach(item => {
|
||||
item.children === '' || item.children === undefined || item.children === null || item.children.length === 0?
|
||||
this.operationTree(item) : this.diGuiTree(item.children);
|
||||
item.children === '' || item.children === undefined || item.children === null || item.children.length === 0
|
||||
? this.operationTree(item) : this.diGuiTree(item.children)
|
||||
})
|
||||
},
|
||||
operationTree(item) {
|
||||
if(item.dirctory) {
|
||||
item.isDisabled =true
|
||||
operationTree (item) {
|
||||
if (item.dirctory) {
|
||||
item.isDisabled = true
|
||||
}
|
||||
delete item.children
|
||||
},
|
||||
searchTree(element, id) {
|
||||
searchTree (element, id) {
|
||||
// 根据id查找节点
|
||||
if (element.id == id) {
|
||||
return element;
|
||||
} else if (element.children != null) {
|
||||
var i;
|
||||
var result = null;
|
||||
for (i = 0; result == null && i < element.children.length; i++) {
|
||||
result = this.searchTree(element.children[i], id);
|
||||
if (element.id === id) {
|
||||
return element
|
||||
} else if (element.children !== null) {
|
||||
var i
|
||||
var result = null
|
||||
for (i = 0; result === null && i < element.children.length; i++) {
|
||||
result = this.searchTree(element.children[i], id)
|
||||
}
|
||||
return result;
|
||||
return result
|
||||
}
|
||||
return null;
|
||||
return null
|
||||
},
|
||||
dataProcess(backResource) {
|
||||
dataProcess (backResource) {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if(this.resourceList.length>0) {
|
||||
this.resourceList.forEach(v=>{
|
||||
this.options.forEach(v1=>{
|
||||
if(this.searchTree(v1,v)) {
|
||||
isResourceId.push(this.searchTree(v1,v))
|
||||
if (this.resourceList.length > 0) {
|
||||
this.resourceList.forEach(v => {
|
||||
this.options.forEach(v1 => {
|
||||
if (this.searchTree(v1, v)) {
|
||||
isResourceId.push(this.searchTree(v1, v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item=>{
|
||||
resourceIdArr = isResourceId.map(item => {
|
||||
return item.id
|
||||
})
|
||||
Array.prototype.diff = function(a) {
|
||||
return this.filter(function(i) {return a.indexOf(i) < 0;});
|
||||
};
|
||||
let diffSet = this.resourceList.diff(resourceIdArr);
|
||||
Array.prototype.diff = function (a) {
|
||||
return this.filter(function (i) { return a.indexOf(i) < 0 })
|
||||
}
|
||||
let diffSet = this.resourceList.diff(resourceIdArr)
|
||||
let optionsCmp = []
|
||||
if(diffSet.length>0) {
|
||||
diffSet.forEach(item=>{
|
||||
backResource.forEach(item1=>{
|
||||
if(item==item1.id || item==item1.res) {
|
||||
if (diffSet.length > 0) {
|
||||
diffSet.forEach(item => {
|
||||
backResource.forEach(item1 => {
|
||||
if (item === item1.id || item === item1.res) {
|
||||
optionsCmp.push(item1)
|
||||
}
|
||||
})
|
||||
@ -289,15 +287,15 @@
|
||||
let noResources = [{
|
||||
id: -1,
|
||||
name: $t('Unauthorized or deleted resources'),
|
||||
fullName: '/'+$t('Unauthorized or deleted resources'),
|
||||
fullName: '/' + $t('Unauthorized or deleted resources'),
|
||||
children: []
|
||||
}]
|
||||
if(optionsCmp.length>0) {
|
||||
if (optionsCmp.length > 0) {
|
||||
this.allNoResources = optionsCmp
|
||||
optionsCmp = optionsCmp.map(item=>{
|
||||
return {id: item.id,name: item.name,fullName: item.res}
|
||||
optionsCmp = optionsCmp.map(item => {
|
||||
return { id: item.id, name: item.name, fullName: item.res }
|
||||
})
|
||||
optionsCmp.forEach(item=>{
|
||||
optionsCmp.forEach(item => {
|
||||
item.isNew = true
|
||||
})
|
||||
noResources[0].children = optionsCmp
|
||||
@ -307,57 +305,62 @@
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
//Watch the cacheParams
|
||||
// Watch the cacheParams
|
||||
cacheParams (val) {
|
||||
this.resourceNameVal = val
|
||||
this.$emit('on-cache-params', val);
|
||||
this.$emit('on-cache-params', val)
|
||||
},
|
||||
"master": {
|
||||
handler(code) {
|
||||
if(code == 'spark://'){
|
||||
this.masterUrlState = true;
|
||||
}else if(code == 'mesos://'){
|
||||
this.masterUrlState = true;
|
||||
}else{
|
||||
this.masterUrlState = false;
|
||||
this.masterUrl = ''
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
cacheParams () {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if(this.resourceList.length>0) {
|
||||
this.resourceList.forEach(v=>{
|
||||
this.options.forEach(v1=>{
|
||||
if(this.searchTree(v1,v)) {
|
||||
isResourceId.push(this.searchTree(v1,v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item=>{
|
||||
return {id: item.id,name: item.name,res: item.fullName}
|
||||
})
|
||||
}
|
||||
resourceIdArr (arr) {
|
||||
let result = []
|
||||
resourceIdArr.forEach(item=>{
|
||||
this.allNoResources.forEach(item1=>{
|
||||
if(item.id==item1.id) {
|
||||
arr.forEach(item => {
|
||||
this.allNoResources.forEach(item1 => {
|
||||
if (item.id === item1.id) {
|
||||
// resultBool = true
|
||||
result.push(item1)
|
||||
}
|
||||
})
|
||||
})
|
||||
this.noRes = result
|
||||
},
|
||||
master: {
|
||||
handler (code) {
|
||||
if (code === 'spark://') {
|
||||
this.masterUrlState = true
|
||||
} else if (code === 'mesos://') {
|
||||
this.masterUrlState = true
|
||||
} else {
|
||||
this.masterUrlState = false
|
||||
this.masterUrl = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
resourceIdArr () {
|
||||
let isResourceId = []
|
||||
let resourceIdArr = []
|
||||
if (this.resourceList.length > 0) {
|
||||
this.resourceList.forEach(v => {
|
||||
this.options.forEach(v1 => {
|
||||
if (this.searchTree(v1, v)) {
|
||||
isResourceId.push(this.searchTree(v1, v))
|
||||
}
|
||||
})
|
||||
})
|
||||
resourceIdArr = isResourceId.map(item => {
|
||||
return { id: item.id, name: item.name, res: item.fullName }
|
||||
})
|
||||
}
|
||||
return resourceIdArr
|
||||
},
|
||||
cacheParams () {
|
||||
return {
|
||||
resourceList: resourceIdArr,
|
||||
resourceList: this.resourceIdArr,
|
||||
localParams: this.localParams,
|
||||
deployMode: this.deployMode,
|
||||
master: this.master,
|
||||
masterUrl: this.masterUrl,
|
||||
queue:this.queue,
|
||||
queue: this.queue
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -370,7 +373,7 @@
|
||||
// Non-null objects represent backfill
|
||||
if (!_.isEmpty(o)) {
|
||||
this.master = o.params.master || 'yarn'
|
||||
this.deployMode = o.params.deployMode || 'client'
|
||||
this.deployMode = o.params.deployMode || 'client'
|
||||
this.masterUrl = o.params.masterUrl || ''
|
||||
this.queue = o.params.queue || 'default'
|
||||
this.rawScript = o.params.rawScript || ''
|
||||
@ -380,10 +383,10 @@
|
||||
let resourceList = o.params.resourceList || []
|
||||
if (resourceList.length) {
|
||||
_.map(resourceList, v => {
|
||||
if(!v.id) {
|
||||
this.store.dispatch('dag/getResourceId',{
|
||||
if (!v.id) {
|
||||
this.store.dispatch('dag/getResourceId', {
|
||||
type: 'FILE',
|
||||
fullName: '/'+v.res
|
||||
fullName: '/' + v.res
|
||||
}).then(res => {
|
||||
this.resourceList.push(res.id)
|
||||
this.dataProcess(backResource)
|
||||
@ -408,7 +411,7 @@
|
||||
},
|
||||
destroyed () {
|
||||
},
|
||||
components: { mLocalParams, mListBox, mResources, mScriptBox, Treeselect }
|
||||
components: { mLocalParams, mListBox, Treeselect }
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" rel="stylesheet/scss" scope>
|
||||
|
@ -35,10 +35,11 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import store from '@/conf/home/store'
|
||||
import { runningType } from '@/conf/home/pages/dag/_source/config'
|
||||
import { warningTypeList } from '@/conf/home/pages/projects/pages/definition/pages/list/_source/util'
|
||||
|
||||
|
||||
export default {
|
||||
name: 'starting-params-dag-index',
|
||||
data () {
|
||||
@ -69,16 +70,16 @@
|
||||
return '-'
|
||||
},
|
||||
_rtWorkerGroupName (id) {
|
||||
let o = _.filter(this.workerGroupList, v => v.id === id)
|
||||
let o = _.filter(this.workerGroupList, v => v.id === id)
|
||||
if (o && o.length) {
|
||||
return o[0].name
|
||||
}
|
||||
return '-'
|
||||
},
|
||||
_getNotifyGroupList () {
|
||||
this.store.dispatch('dag/getNotifyGroupList').then(res => {
|
||||
this.notifyGroupList = res
|
||||
})
|
||||
this.store.dispatch('dag/getNotifyGroupList').then(res => {
|
||||
this.notifyGroupList = res
|
||||
})
|
||||
},
|
||||
_getWorkerGroupList () {
|
||||
let stateWorkerGroupsList = this.store.state.security.workerGroupsListAll || []
|
||||
@ -92,7 +93,7 @@
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$route': {
|
||||
$route: {
|
||||
deep: true,
|
||||
handler () {
|
||||
this.isActive = false
|
||||
|
@ -18,7 +18,7 @@
|
||||
<el-select
|
||||
:disabled="isDetails"
|
||||
@change="_onChange"
|
||||
v-model="value"
|
||||
v-model="selectedValue"
|
||||
size="small"
|
||||
style="width: 180px">
|
||||
<el-option
|
||||
@ -35,6 +35,7 @@
|
||||
name: 'form-tenant',
|
||||
data () {
|
||||
return {
|
||||
selectedValue: this.value,
|
||||
itemList: []
|
||||
}
|
||||
},
|
||||
@ -49,23 +50,25 @@
|
||||
prop: 'value',
|
||||
event: 'tenantSelectEvent'
|
||||
},
|
||||
mounted() {
|
||||
let result = this.itemList.some(item=>{
|
||||
if(item.id == this.value) {
|
||||
mounted () {
|
||||
let result = this.itemList.some(item => {
|
||||
if (item.id === this.value) {
|
||||
return true
|
||||
}
|
||||
})
|
||||
if(!result) {
|
||||
this.value = 'default'
|
||||
})
|
||||
if (!result) {
|
||||
this.selectedValue = 'default'
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
_onChange (o) {
|
||||
this.value = o
|
||||
this.$emit('tenantSelectEvent', o)
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
value (val) {
|
||||
this.selectedValue = val
|
||||
}
|
||||
},
|
||||
created () {
|
||||
let stateTenantAllList = this.store.state.security.tenantAllList || []
|
||||
|
@ -91,7 +91,7 @@
|
||||
import mLocalParams from '../formModel/tasks/_source/localParams'
|
||||
import disabledState from '@/module/mixin/disabledState'
|
||||
import Affirm from '../jumpAffirm'
|
||||
import FormTenant from "./_source/selectTenant";
|
||||
import FormTenant from './_source/selectTenant'
|
||||
|
||||
export default {
|
||||
name: 'udp',
|
||||
@ -134,7 +134,7 @@
|
||||
}
|
||||
return true
|
||||
},
|
||||
_accuStore(){
|
||||
_accuStore () {
|
||||
this.store.commit('dag/setGlobalParams', _.cloneDeep(this.udpList))
|
||||
this.store.commit('dag/setName', _.cloneDeep(this.name))
|
||||
this.store.commit('dag/setTimeout', _.cloneDeep(this.timeout))
|
||||
@ -210,10 +210,9 @@
|
||||
this.tenantId = dag.tenantId
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
mounted () {},
|
||||
components: {FormTenant, mLocalParams }
|
||||
components: { FormTenant, mLocalParams }
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -37,7 +37,7 @@
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$route': {
|
||||
$route: {
|
||||
deep: true,
|
||||
handler () {
|
||||
this.isActive = false
|
||||
|
@ -41,8 +41,8 @@
|
||||
props: {},
|
||||
methods: {
|
||||
...mapMutations('dag', ['resetParams', 'setIsDetails']),
|
||||
...mapActions('dag', ['getProcessList','getProjectList', 'getResourcesList', 'getProcessDetails','getResourcesListJar']),
|
||||
...mapActions('security', ['getTenantList','getWorkerGroupsAll']),
|
||||
...mapActions('dag', ['getProcessList', 'getProjectList', 'getResourcesList', 'getProcessDetails', 'getResourcesListJar']),
|
||||
...mapActions('security', ['getTenantList', 'getWorkerGroupsAll']),
|
||||
/**
|
||||
* init
|
||||
*/
|
||||
@ -89,7 +89,7 @@
|
||||
},
|
||||
watch: {
|
||||
// Listening for routing changes
|
||||
'$route': {
|
||||
$route: {
|
||||
deep: true,
|
||||
handler () {
|
||||
this.init()
|
||||
|
@ -40,8 +40,8 @@
|
||||
props: {},
|
||||
methods: {
|
||||
...mapMutations('dag', ['resetParams']),
|
||||
...mapActions('dag', ['getProcessList','getProjectList', 'getResourcesList','getResourcesListJar','getResourcesListJar']),
|
||||
...mapActions('security', ['getTenantList','getWorkerGroupsAll']),
|
||||
...mapActions('dag', ['getProcessList', 'getProjectList', 'getResourcesList', 'getResourcesListJar', 'getResourcesListJar']),
|
||||
...mapActions('security', ['getTenantList', 'getWorkerGroupsAll']),
|
||||
/**
|
||||
* init
|
||||
*/
|
||||
@ -74,7 +74,7 @@
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$route': {
|
||||
$route: {
|
||||
deep: true,
|
||||
handler () {
|
||||
this.init()
|
||||
|
@ -43,8 +43,8 @@
|
||||
props: {},
|
||||
methods: {
|
||||
...mapMutations('dag', ['setIsDetails', 'resetParams']),
|
||||
...mapActions('dag', ['getProcessList','getProjectList', 'getResourcesList', 'getInstancedetail','getResourcesListJar']),
|
||||
...mapActions('security', ['getTenantList','getWorkerGroupsAll']),
|
||||
...mapActions('dag', ['getProcessList', 'getProjectList', 'getResourcesList', 'getInstancedetail', 'getResourcesListJar']),
|
||||
...mapActions('security', ['getTenantList', 'getWorkerGroupsAll']),
|
||||
/**
|
||||
* init
|
||||
*/
|
||||
@ -101,7 +101,7 @@
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$route': {
|
||||
$route: {
|
||||
deep: true,
|
||||
handler () {
|
||||
this.init()
|
||||
|
@ -152,8 +152,7 @@
|
||||
<script>
|
||||
import i18n from '@/module/i18n'
|
||||
import store from '@/conf/home/store'
|
||||
import {isJson} from '@/module/util/util'
|
||||
import mPopup from '@/module/components/popup/popup'
|
||||
import { isJson } from '@/module/util/util'
|
||||
import mListBoxF from '@/module/components/listBoxF/listBoxF'
|
||||
|
||||
export default {
|
||||
@ -176,7 +175,7 @@
|
||||
// data storage name
|
||||
database: '',
|
||||
// principal
|
||||
principal:'',
|
||||
principal: '',
|
||||
// database username
|
||||
userName: '',
|
||||
// Database password
|
||||
@ -190,8 +189,8 @@
|
||||
showPrincipal: true,
|
||||
showdDatabase: false,
|
||||
showConnectType: false,
|
||||
isShowPrincipal:true,
|
||||
prePortMapper:{},
|
||||
isShowPrincipal: true,
|
||||
prePortMapper: {},
|
||||
datasourceTypeList: [
|
||||
{
|
||||
value: 'MYSQL',
|
||||
@ -329,7 +328,7 @@
|
||||
return false
|
||||
}
|
||||
|
||||
if (!this.database && this.showdDatabase == false) {
|
||||
if (!this.database && this.showdDatabase === false) {
|
||||
this.$message.warning(`${i18n.$t('Please enter database name')}`)
|
||||
return false
|
||||
}
|
||||
@ -352,7 +351,7 @@
|
||||
if (this.item) {
|
||||
param.id = this.item.id
|
||||
}
|
||||
this.store.dispatch(`datasource/${this.item ? `updateDatasource` : `createDatasources`}`, param).then(res => {
|
||||
this.store.dispatch(`datasource/${this.item ? 'updateDatasource' : 'createDatasources'}`, param).then(res => {
|
||||
this.$message.success(res.msg)
|
||||
this.spinnerLoading = false
|
||||
this.$emit('onUpdate')
|
||||
@ -364,18 +363,17 @@
|
||||
/**
|
||||
* Get modified data
|
||||
*/
|
||||
_getEditDatasource() {
|
||||
this.store.dispatch('datasource/getEditDatasource', {id: this.item.id}).then(res => {
|
||||
_getEditDatasource () {
|
||||
this.store.dispatch('datasource/getEditDatasource', { id: this.item.id }).then(res => {
|
||||
this.type = res.type
|
||||
this.name = res.name
|
||||
this.note = res.note
|
||||
this.host = res.host
|
||||
|
||||
//When in Editpage, Prevent default value overwrite backfill value
|
||||
let that = this;
|
||||
// When in Editpage, Prevent default value overwrite backfill value
|
||||
setTimeout(() => {
|
||||
this.port = res.port
|
||||
},0)
|
||||
}, 0)
|
||||
|
||||
this.principal = res.principal
|
||||
this.database = res.database
|
||||
@ -390,24 +388,22 @@
|
||||
/**
|
||||
* Set default port for each type.
|
||||
*/
|
||||
_setDefaultValues(value) {
|
||||
|
||||
//Default type is MYSQL
|
||||
_setDefaultValues (value) {
|
||||
// Default type is MYSQL
|
||||
let type = this.type || 'MYSQL'
|
||||
|
||||
let defaultPort = this._getDefaultPort(type)
|
||||
|
||||
//Backfill the previous input from memcache
|
||||
// Backfill the previous input from memcache
|
||||
let mapperPort = this.prePortMapper[type]
|
||||
|
||||
this.port = mapperPort || defaultPort
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Get default port by type
|
||||
*/
|
||||
_getDefaultPort(type) {
|
||||
_getDefaultPort (type) {
|
||||
var defaultPort = ''
|
||||
switch (type) {
|
||||
case 'MYSQL':
|
||||
@ -439,10 +435,9 @@
|
||||
break
|
||||
default:
|
||||
break
|
||||
|
||||
}
|
||||
return defaultPort
|
||||
},
|
||||
}
|
||||
},
|
||||
created () {
|
||||
// Backfill
|
||||
@ -451,33 +446,32 @@
|
||||
}
|
||||
|
||||
this._setDefaultValues()
|
||||
|
||||
},
|
||||
watch: {
|
||||
type(value){
|
||||
if(value == 'POSTGRESQL') {
|
||||
this.showdDatabase = true;
|
||||
type (value) {
|
||||
if (value === 'POSTGRESQL') {
|
||||
this.showdDatabase = true
|
||||
} else {
|
||||
this.showdDatabase = false;
|
||||
this.showdDatabase = false
|
||||
}
|
||||
|
||||
if (value== 'ORACLE' && !this.item.id) {
|
||||
this.showConnectType = true;
|
||||
if (value === 'ORACLE' && !this.item.id) {
|
||||
this.showConnectType = true
|
||||
this.connectType = 'ORACLE_SERVICE_NAME'
|
||||
} else if(value== 'ORACLE' && this.item.id) {
|
||||
this.showConnectType = true;
|
||||
} else if (value === 'ORACLE' && this.item.id) {
|
||||
this.showConnectType = true
|
||||
} else {
|
||||
this.showConnectType = false;
|
||||
this.showConnectType = false
|
||||
}
|
||||
//Set default port for each type datasource
|
||||
// Set default port for each type datasource
|
||||
this._setDefaultValues(value)
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
this.store.dispatch('datasource/getKerberosStartupState').then(res => {
|
||||
this.isShowPrincipal=res
|
||||
if((value =='HIVE'||value == 'SPARK')&&this.isShowPrincipal== true){
|
||||
this.isShowPrincipal = res
|
||||
if ((value === 'HIVE' || value === 'SPARK') && this.isShowPrincipal === true) {
|
||||
this.showPrincipal = false
|
||||
}else{
|
||||
} else {
|
||||
this.showPrincipal = true
|
||||
}
|
||||
}).catch(e => {
|
||||
@ -490,14 +484,14 @@
|
||||
* Cache the previous input port for each type datasource
|
||||
* @param value
|
||||
*/
|
||||
port(value){
|
||||
port (value) {
|
||||
this.prePortMapper[this.type] = value
|
||||
}
|
||||
},
|
||||
|
||||
mounted () {
|
||||
},
|
||||
components: { mPopup, mListBoxF }
|
||||
components: { mListBoxF }
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -539,5 +533,4 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
@ -81,11 +81,11 @@
|
||||
// Number of pages
|
||||
pageNo: 1,
|
||||
// Search value
|
||||
searchVal: '',
|
||||
|
||||
searchVal: ''
|
||||
|
||||
},
|
||||
dialogVisible: false,
|
||||
item: {},
|
||||
item: {}
|
||||
}
|
||||
},
|
||||
mixins: [listUrlParamHandle],
|
||||
@ -128,8 +128,8 @@
|
||||
_getList (flag) {
|
||||
this.isLoading = !flag
|
||||
this.getDatasourcesListP(this.searchParams).then(res => {
|
||||
if(this.searchParams.pageNo>1 && res.totalList.length == 0) {
|
||||
this.searchParams.pageNo = this.searchParams.pageNo -1
|
||||
if (this.searchParams.pageNo > 1 && res.totalList.length === 0) {
|
||||
this.searchParams.pageNo = this.searchParams.pageNo - 1
|
||||
} else {
|
||||
this.datasourcesList = []
|
||||
this.datasourcesList = res.totalList
|
||||
@ -142,7 +142,7 @@
|
||||
},
|
||||
_onUpdate () {
|
||||
this._debounceGET('false')
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
// router
|
||||
|
@ -19,13 +19,12 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import mProjectHome from '@/conf/home/pages/projects/pages/index'
|
||||
import mListConstruction from '@/module/components/listConstruction/listConstruction'
|
||||
export default {
|
||||
name: 'home',
|
||||
components: { mProjectHome, mListConstruction },
|
||||
mounted() {
|
||||
|
||||
},
|
||||
}
|
||||
import mProjectHome from '@/conf/home/pages/projects/pages/index'
|
||||
export default {
|
||||
name: 'home',
|
||||
components: { mProjectHome },
|
||||
mounted () {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -25,9 +25,9 @@
|
||||
import mSecondaryMenu from '@/module/components/secondaryMenu/secondaryMenu'
|
||||
export default {
|
||||
name: 'monitor-index',
|
||||
mounted() {
|
||||
|
||||
mounted () {
|
||||
|
||||
},
|
||||
components: { mSecondaryMenu }
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@ -49,11 +49,6 @@
|
||||
<script>
|
||||
export default {
|
||||
name: 'zookeeper-list',
|
||||
data () {
|
||||
return {
|
||||
list: []
|
||||
}
|
||||
},
|
||||
props: {
|
||||
list: Array
|
||||
}
|
||||
@ -77,4 +72,3 @@
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
@ -79,41 +79,39 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { mapActions } from "vuex";
|
||||
import mList from "./_source/zookeeperList";
|
||||
import mSpin from "@/module/components/spin/spin";
|
||||
import mNoData from "@/module/components/noData/noData";
|
||||
import themeData from "@/module/echarts/themeData.json";
|
||||
import mListConstruction from "@/module/components/listConstruction/listConstruction";
|
||||
import { mapActions } from 'vuex'
|
||||
import mSpin from '@/module/components/spin/spin'
|
||||
import mNoData from '@/module/components/noData/noData'
|
||||
import themeData from '@/module/echarts/themeData.json'
|
||||
|
||||
export default {
|
||||
name: "servers-mysql",
|
||||
data() {
|
||||
return {
|
||||
isLoading: false,
|
||||
mysqlList: [],
|
||||
color: themeData.color
|
||||
};
|
||||
},
|
||||
props: {},
|
||||
methods: {
|
||||
...mapActions("monitor", ["getDatabaseData"])
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
this.isLoading = true;
|
||||
this.getDatabaseData()
|
||||
.then(res => {
|
||||
this.mysqlList = res;
|
||||
this.isLoading = false;
|
||||
})
|
||||
.catch(() => {
|
||||
this.isLoading = false;
|
||||
});
|
||||
},
|
||||
mounted() {},
|
||||
components: { mList, mListConstruction, mSpin, mNoData }
|
||||
};
|
||||
export default {
|
||||
name: 'servers-mysql',
|
||||
data () {
|
||||
return {
|
||||
isLoading: false,
|
||||
mysqlList: [],
|
||||
color: themeData.color
|
||||
}
|
||||
},
|
||||
props: {},
|
||||
methods: {
|
||||
...mapActions('monitor', ['getDatabaseData'])
|
||||
},
|
||||
watch: {},
|
||||
created () {
|
||||
this.isLoading = true
|
||||
this.getDatabaseData()
|
||||
.then(res => {
|
||||
this.mysqlList = res
|
||||
this.isLoading = false
|
||||
})
|
||||
.catch(() => {
|
||||
this.isLoading = false
|
||||
})
|
||||
},
|
||||
mounted () {},
|
||||
components: { mSpin, mNoData }
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" rel="stylesheet/scss">
|
||||
@import "./servers";
|
||||
@ -135,4 +133,4 @@ export default {
|
||||
color: #2a455b;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
@ -68,7 +68,6 @@
|
||||
import _ from 'lodash'
|
||||
import { mapActions } from 'vuex'
|
||||
import mGauge from './_source/gauge'
|
||||
import mList from './_source/zookeeperList'
|
||||
import mSpin from '@/module/components/spin/spin'
|
||||
import mNoData from '@/module/components/noData/noData'
|
||||
import themeData from '@/module/echarts/themeData.json'
|
||||
@ -95,7 +94,7 @@
|
||||
this.getMasterData().then(res => {
|
||||
this.masterList = _.map(res, (v, i) => {
|
||||
return _.assign(v, {
|
||||
id: v.host + "_" + v.id,
|
||||
id: v.host + '_' + v.id,
|
||||
resInfo: JSON.parse(v.resInfo)
|
||||
})
|
||||
})
|
||||
@ -104,7 +103,7 @@
|
||||
this.isLoading = false
|
||||
})
|
||||
},
|
||||
components: { mList, mListConstruction, mSpin, mNoData, mGauge }
|
||||
components: { mListConstruction, mSpin, mNoData, mGauge }
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" rel="stylesheet/scss">
|
||||
|
@ -67,14 +67,14 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import { mapActions } from 'vuex'
|
||||
import mSpin from '@/module/components/spin/spin'
|
||||
import mNoData from '@/module/components/noData/noData'
|
||||
import themeData from '@/module/echarts/themeData.json'
|
||||
import mListConstruction from '@/module/components/listConstruction/listConstruction'
|
||||
|
||||
export default {
|
||||
name: 'statistics',
|
||||
name: 'statistics',
|
||||
data () {
|
||||
return {
|
||||
isLoading: false,
|
||||
@ -83,12 +83,12 @@
|
||||
color: themeData.color
|
||||
}
|
||||
},
|
||||
props:{},
|
||||
props: {},
|
||||
methods: {
|
||||
//...mapActions('monitor', ['getDatabaseData'])
|
||||
// ...mapActions('monitor', ['getDatabaseData'])
|
||||
// ...mapActions('projects', ['getCommandStateCount']),
|
||||
...mapActions('projects', ['getQueueCount']),
|
||||
...mapActions('projects', ['getCommandStateCount']),
|
||||
...mapActions('projects', ['getCommandStateCount'])
|
||||
},
|
||||
watch: {},
|
||||
created () {
|
||||
@ -98,31 +98,31 @@
|
||||
this.isLoading = false
|
||||
}).catch(() => {
|
||||
this.isLoading = false
|
||||
})
|
||||
})
|
||||
|
||||
this.getCommandStateCount().then(res => {
|
||||
let normal = 0
|
||||
let error = 0
|
||||
_.forEach(res.data, (v, i) => {
|
||||
let key = _.keys(v)
|
||||
if(key[0] == 'errorCount') {
|
||||
if (key[0] === 'errorCount') {
|
||||
error = error + v.errorCount
|
||||
}
|
||||
if(key[1] == 'normalCount'){
|
||||
if (key[1] === 'normalCount') {
|
||||
normal = normal + v.normalCount
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
this.commandCountData = {
|
||||
'normalCount': normal,
|
||||
'errorCount' : error
|
||||
normalCount: normal,
|
||||
errorCount: error
|
||||
}
|
||||
}).catch( () => {
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
mounted () {
|
||||
},
|
||||
components: { mListConstruction, mSpin, mNoData }
|
||||
components: { mListConstruction, mSpin }
|
||||
}
|
||||
|
||||
</script>
|
||||
|
@ -73,7 +73,6 @@
|
||||
import _ from 'lodash'
|
||||
import { mapActions } from 'vuex'
|
||||
import mGauge from './_source/gauge'
|
||||
import mList from './_source/zookeeperList'
|
||||
import mSpin from '@/module/components/spin/spin'
|
||||
import mNoData from '@/module/components/noData/noData'
|
||||
import themeData from '@/module/echarts/themeData.json'
|
||||
@ -112,7 +111,7 @@
|
||||
this.getWorkerData().then(res => {
|
||||
this.workerList = _.map(res, (v, i) => {
|
||||
return _.assign(v, {
|
||||
id: v.host + "_" + v.id,
|
||||
id: v.host + '_' + v.id,
|
||||
resInfo: JSON.parse(v.resInfo)
|
||||
})
|
||||
})
|
||||
@ -121,7 +120,7 @@
|
||||
this.isLoading = true
|
||||
})
|
||||
},
|
||||
components: { mList, mListConstruction, mSpin, mNoData, mGauge, zookeeperDirectoriesPopup }
|
||||
components: { mListConstruction, mSpin, mNoData, mGauge, zookeeperDirectoriesPopup }
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" rel="stylesheet/scss">
|
||||
|
@ -94,14 +94,14 @@
|
||||
this.searchParams.startDate = val[0]
|
||||
this.searchParams.endDate = val[1]
|
||||
this.dataTime[0] = val[0]
|
||||
this.dataTime[1]= val[1]
|
||||
this.dataTime[1] = val[1]
|
||||
},
|
||||
/**
|
||||
* change state
|
||||
*/
|
||||
_onChangeState (val) {
|
||||
this.searchParams.stateType = val
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
},
|
||||
|
@ -83,7 +83,7 @@
|
||||
executorName: '',
|
||||
processInstanceName: ''
|
||||
},
|
||||
dataTime: [],
|
||||
dataTime: []
|
||||
}
|
||||
},
|
||||
props: {},
|
||||
@ -98,14 +98,14 @@
|
||||
this.searchParams.startDate = val[0]
|
||||
this.searchParams.endDate = val[1]
|
||||
this.dataTime[0] = val[0]
|
||||
this.dataTime[1]= val[1]
|
||||
this.dataTime[1] = val[1]
|
||||
},
|
||||
/**
|
||||
* change state
|
||||
*/
|
||||
_onChangeState (val) {
|
||||
this.searchParams.stateType = val
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
},
|
||||
|
@ -74,26 +74,26 @@
|
||||
stateList: [
|
||||
{
|
||||
label: `${this.$t('none')}`,
|
||||
code: ``
|
||||
code: ''
|
||||
},
|
||||
{
|
||||
label: `${this.$t('success')}`,
|
||||
code: `成功`
|
||||
code: '成功'
|
||||
},
|
||||
{
|
||||
label: `${this.$t('waiting')}`,
|
||||
code: `等待`
|
||||
code: '等待'
|
||||
},
|
||||
{
|
||||
label: `${this.$t('execution')}`,
|
||||
code: `执行中`
|
||||
code: '执行中'
|
||||
},
|
||||
{
|
||||
label: `${this.$t('finish')}`,
|
||||
code: `完成`
|
||||
code: '完成'
|
||||
}, {
|
||||
label: `${this.$t('failed')}`,
|
||||
code: `失败`
|
||||
code: '失败'
|
||||
}
|
||||
],
|
||||
searchParams: {
|
||||
@ -105,7 +105,7 @@
|
||||
startDate: '',
|
||||
endDate: ''
|
||||
},
|
||||
dataTime: [],
|
||||
dataTime: []
|
||||
}
|
||||
},
|
||||
props: {},
|
||||
@ -118,7 +118,7 @@
|
||||
*/
|
||||
_onChangeStartStop (val) {
|
||||
this.searchParams.startDate = val[0]
|
||||
this.searchParams.endDate = val[1]
|
||||
this.searchParams.endDate = val[1]
|
||||
},
|
||||
/**
|
||||
* change state
|
||||
@ -148,4 +148,4 @@
|
||||
},
|
||||
components: { mConditions }
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@ -88,4 +88,4 @@
|
||||
},
|
||||
components: { }
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@ -51,7 +51,6 @@
|
||||
import mSpin from '@/module/components/spin/spin'
|
||||
import mNoData from '@/module/components/noData/noData'
|
||||
import listUrlParamHandle from '@/module/mixin/listUrlParamHandle'
|
||||
import mSecondaryMenu from '@/module/components/secondaryMenu/secondaryMenu'
|
||||
import mListConstruction from '@/module/components/listConstruction/listConstruction'
|
||||
|
||||
export default {
|
||||
@ -119,6 +118,6 @@
|
||||
},
|
||||
mounted () {
|
||||
},
|
||||
components: { mList, mConditions, mSpin, mListConstruction, mSecondaryMenu, mNoData }
|
||||
components: { mList, mConditions, mSpin, mListConstruction, mNoData }
|
||||
}
|
||||
</script>
|
||||
|
@ -19,9 +19,8 @@
|
||||
</template>
|
||||
<script>
|
||||
import mCreateDag from '@/conf/home/pages/dag/index'
|
||||
import mSecondaryMenu from '@/module/components/secondaryMenu/secondaryMenu'
|
||||
export default {
|
||||
name: 'definition-create-index',
|
||||
components: { mCreateDag, mSecondaryMenu }
|
||||
components: { mCreateDag }
|
||||
}
|
||||
</script>
|
||||
|
@ -18,10 +18,9 @@
|
||||
<m-definition-details></m-definition-details>
|
||||
</template>
|
||||
<script>
|
||||
import mSecondaryMenu from '@/module/components/secondaryMenu/secondaryMenu'
|
||||
import mDefinitionDetails from '@/conf/home/pages/dag/definitionDetails.vue'
|
||||
export default {
|
||||
name: 'definition-details-index',
|
||||
components: { mDefinitionDetails, mSecondaryMenu }
|
||||
components: { mDefinitionDetails }
|
||||
}
|
||||
</script>
|
||||
|
@ -17,7 +17,7 @@
|
||||
<template>
|
||||
<div class="ans-input email-model">
|
||||
<div class="clearfix input-element" :class="disabled ? 'disabled' : ''">
|
||||
<span class="tag-wrapper" v-for="(item,$index) in activeList" :key="$index" :class="activeIndex === $index ? 'active' : ''">
|
||||
<span class="tag-wrapper" v-for="(item,$index) in activeListL" :key="$index" :class="activeIndex === $index ? 'active' : ''">
|
||||
<span class="tag-text">{{item}}</span>
|
||||
<em class="remove-tag el-icon-close" @click.stop="_del($index)" v-if="!disabled"></em>
|
||||
</span>
|
||||
@ -74,6 +74,7 @@
|
||||
tagModel: false,
|
||||
email: '',
|
||||
activeIndex: null,
|
||||
activeListL: _.cloneDeep(this.activeList),
|
||||
emailList: [],
|
||||
index: 0,
|
||||
emailWidth: 100,
|
||||
@ -100,18 +101,18 @@
|
||||
if (this.email === '') {
|
||||
return true
|
||||
}
|
||||
this.email = _.trim(this.email).replace(/(;$)|(;$)/g, "")
|
||||
this.email = _.trim(this.email).replace(/(;$)|(;$)/g, '')
|
||||
|
||||
let email = this.email
|
||||
|
||||
let is = (n) => {
|
||||
return _.some(_.cloneDeep(this.repeatData).concat(_.cloneDeep(this.activeList)), v => v === n)
|
||||
return _.some(_.cloneDeep(this.repeatData).concat(_.cloneDeep(this.activeListL)), v => v === n)
|
||||
}
|
||||
|
||||
if (isEmial(email)) {
|
||||
if (!is(email)) {
|
||||
this.emailWidth = 0
|
||||
this.activeList.push(email)
|
||||
this.activeListL.push(email)
|
||||
this.email = ''
|
||||
this._handlerEmailWitch()
|
||||
return true
|
||||
@ -132,7 +133,7 @@
|
||||
this.emailList = []
|
||||
this.isEmail = false
|
||||
} else {
|
||||
let a = _.cloneDeep(this.repeatData).concat(_.cloneDeep(this.activeList))
|
||||
let a = _.cloneDeep(this.repeatData).concat(_.cloneDeep(this.activeListL))
|
||||
let b = a.concat(emailList)
|
||||
let list = fuzzyQuery(b, val)
|
||||
this.emailList = _.uniqWith(list.length && list, _.isEqual)
|
||||
@ -161,11 +162,11 @@
|
||||
if (!this.isCn) {
|
||||
this.emailWidth = 0
|
||||
if (_.isInteger(this.activeIndex)) {
|
||||
this.activeList.pop()
|
||||
this.activeListL.pop()
|
||||
this.activeIndex = null
|
||||
} else {
|
||||
if (!this.email) {
|
||||
this.activeIndex = this.activeList.length - 1
|
||||
this.activeIndex = this.activeListL.length - 1
|
||||
}
|
||||
}
|
||||
this._handlerEmailWitch()
|
||||
@ -176,7 +177,7 @@
|
||||
*/
|
||||
_del (i) {
|
||||
this.emailWidth = 0
|
||||
this.activeList.splice(i, 1)
|
||||
this.activeListL.splice(i, 1)
|
||||
this._handlerEmailWitch()
|
||||
},
|
||||
/**
|
||||
@ -221,14 +222,14 @@
|
||||
this.email = ''
|
||||
|
||||
// Non-existing data
|
||||
if (_.filter(_.cloneDeep(this.repeatData).concat(_.cloneDeep(this.activeList)), v => v === item).length) {
|
||||
if (_.filter(_.cloneDeep(this.repeatData).concat(_.cloneDeep(this.activeListL)), v => v === item).length) {
|
||||
this.$message.warning(`${i18n.$t('Mailbox already exists! Recipients and copyers cannot repeat')}`)
|
||||
return
|
||||
}
|
||||
// Width initialization
|
||||
this.emailWidth = 0
|
||||
// Insert data
|
||||
this.activeList.push(item)
|
||||
this.activeListL.push(item)
|
||||
// Calculated width
|
||||
this._handlerEmailWitch()
|
||||
// Check mailbox index initialization
|
||||
@ -264,7 +265,12 @@
|
||||
this.activeIndex = null
|
||||
},
|
||||
activeList (val) {
|
||||
this.$emit('valueEvent', val)
|
||||
this.activeListL = _.cloneDeep(val)
|
||||
},
|
||||
activeListL (val) {
|
||||
if (!_.isEqual(val, this.activeList)) {
|
||||
this.$emit('valueEvent', val)
|
||||
}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
|
@ -190,8 +190,8 @@
|
||||
...mapActions('dag', ['editProcessState', 'getStartCheck', 'getReceiver', 'deleteDefinition', 'batchDeleteDefinition', 'exportDefinition', 'getProcessDefinitionVersionsPage', 'copyProcess', 'switchProcessDefinitionVersion', 'deleteProcessDefinitionVersion', 'moveProcess']),
|
||||
...mapActions('security', ['getWorkerGroupsAll']),
|
||||
|
||||
selectable(row,index) {
|
||||
if(row.releaseState === 'ONLINE') {
|
||||
selectable (row, index) {
|
||||
if (row.releaseState === 'ONLINE') {
|
||||
return false
|
||||
} else {
|
||||
return true
|
||||
@ -209,8 +209,8 @@
|
||||
_start (item) {
|
||||
this.getWorkerGroupsAll()
|
||||
this.getStartCheck({ processDefinitionId: item.id }).then(res => {
|
||||
this.startData = item
|
||||
this.startDialog = true
|
||||
this.startData = item
|
||||
this.startDialog = true
|
||||
}).catch(e => {
|
||||
this.$message.error(e.msg || '')
|
||||
})
|
||||
@ -239,11 +239,10 @@
|
||||
* timing
|
||||
*/
|
||||
_timing (item) {
|
||||
let self = this
|
||||
this._getReceiver(item.id).then(res => {
|
||||
this.timingData.item = item,
|
||||
this.timingData.receiversD = res.receivers,
|
||||
this.timingData.receiversCcD = res.receiversCc,
|
||||
this.timingData.item = item
|
||||
this.timingData.receiversD = res.receivers
|
||||
this.timingData.receiversCcD = res.receiversCc
|
||||
this.timingData.type = 'timing'
|
||||
this.timingDialog = true
|
||||
})
|
||||
@ -353,11 +352,11 @@
|
||||
* @param processDefinitionId the process definition id
|
||||
* @param fromThis fromThis
|
||||
*/
|
||||
mVersionSwitchProcessDefinitionVersion({ version, processDefinitionId, fromThis }) {
|
||||
mVersionSwitchProcessDefinitionVersion ({ version, processDefinitionId, fromThis }) {
|
||||
this.switchProcessDefinitionVersion({
|
||||
version: version,
|
||||
processDefinitionId: processDefinitionId
|
||||
}).then(res=>{
|
||||
}).then(res => {
|
||||
this.$message.success($t('Switch Version Successfully'))
|
||||
this.$router.push({ path: `/projects/definition/list/${processDefinitionId}` })
|
||||
}).catch(e => {
|
||||
@ -372,19 +371,19 @@
|
||||
* @param processDefinitionId the process definition id of page version
|
||||
* @param fromThis fromThis
|
||||
*/
|
||||
mVersionGetProcessDefinitionVersionsPage({ pageNo, pageSize, processDefinitionId, fromThis }) {
|
||||
mVersionGetProcessDefinitionVersionsPage ({ pageNo, pageSize, processDefinitionId, fromThis }) {
|
||||
this.getProcessDefinitionVersionsPage({
|
||||
pageNo: pageNo,
|
||||
pageSize: pageSize,
|
||||
processDefinitionId: processDefinitionId
|
||||
}).then(res=>{
|
||||
this.versionData.processDefinitionVersions = res.data.lists
|
||||
this.versionData.total = res.data.totalCount
|
||||
this.versionData.pageSize = res.data.pageSize
|
||||
this.versionData.pageNo = res.data.currentPage
|
||||
}).catch(e=>{
|
||||
this.$message.error(e.msg || '')
|
||||
})
|
||||
pageNo: pageNo,
|
||||
pageSize: pageSize,
|
||||
processDefinitionId: processDefinitionId
|
||||
}).then(res => {
|
||||
this.versionData.processDefinitionVersions = res.data.lists
|
||||
this.versionData.total = res.data.totalCount
|
||||
this.versionData.pageSize = res.data.pageSize
|
||||
this.versionData.pageNo = res.data.currentPage
|
||||
}).catch(e => {
|
||||
this.$message.error(e.msg || '')
|
||||
})
|
||||
},
|
||||
/**
|
||||
* delete one version of process definition
|
||||
@ -393,11 +392,11 @@
|
||||
* @param processDefinitionId the process definition id user want to delete
|
||||
* @param fromThis fromThis
|
||||
*/
|
||||
mVersionDeleteProcessDefinitionVersion({ version, processDefinitionId, fromThis }) {
|
||||
mVersionDeleteProcessDefinitionVersion ({ version, processDefinitionId, fromThis }) {
|
||||
this.deleteProcessDefinitionVersion({
|
||||
version: version,
|
||||
processDefinitionId: processDefinitionId
|
||||
}).then(res=>{
|
||||
}).then(res => {
|
||||
this.$message.success(res.msg || '')
|
||||
this.mVersionGetProcessDefinitionVersionsPage({
|
||||
pageNo: 1,
|
||||
@ -410,7 +409,6 @@
|
||||
})
|
||||
},
|
||||
_version (item) {
|
||||
let self = this
|
||||
this.getProcessDefinitionVersionsPage({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
@ -420,14 +418,13 @@
|
||||
let total = res.data.totalCount
|
||||
let pageSize = res.data.pageSize
|
||||
let pageNo = res.data.currentPage
|
||||
|
||||
this.versionData.processDefinition = item,
|
||||
this.versionData.processDefinitionVersions = processDefinitionVersions,
|
||||
this.versionData.total = total,
|
||||
this.versionData.pageNo = pageNo,
|
||||
|
||||
this.versionData.processDefinition = item
|
||||
this.versionData.processDefinitionVersions = processDefinitionVersions
|
||||
this.versionData.total = total
|
||||
this.versionData.pageNo = pageNo
|
||||
this.versionData.pageSize = pageSize
|
||||
this.drawer = true
|
||||
|
||||
}).catch(e => {
|
||||
this.$message.error(e.msg || '')
|
||||
})
|
||||
@ -436,7 +433,7 @@
|
||||
_batchExport () {
|
||||
this.exportDefinition({
|
||||
processDefinitionIds: this.strSelectIds,
|
||||
fileName: "process_"+new Date().getTime()
|
||||
fileName: 'process_' + new Date().getTime()
|
||||
}).then(res => {
|
||||
this._onUpdate()
|
||||
this.checkAll = false
|
||||
@ -451,11 +448,11 @@
|
||||
* Batch Copy
|
||||
*/
|
||||
_batchCopy () {
|
||||
this.relatedItemsDialog= true
|
||||
this.relatedItemsDialog = true
|
||||
this.tmp = false
|
||||
},
|
||||
onBatchCopy (item) {
|
||||
this._copyProcess({id: this.strSelectIds,projectId: item})
|
||||
this._copyProcess({ id: this.strSelectIds, projectId: item })
|
||||
this.relatedItemsDialog = false
|
||||
},
|
||||
closeRelatedItems () {
|
||||
@ -464,12 +461,12 @@
|
||||
/**
|
||||
* _batchMove
|
||||
*/
|
||||
_batchMove() {
|
||||
_batchMove () {
|
||||
this.tmp = true
|
||||
this.relatedItemsDialog = true
|
||||
},
|
||||
onBatchMove (item) {
|
||||
this._moveProcess({id: this.strSelectIds,projectId: item})
|
||||
this._moveProcess({ id: this.strSelectIds, projectId: item })
|
||||
this.relatedItemsDialog = false
|
||||
},
|
||||
/**
|
||||
@ -492,7 +489,7 @@
|
||||
*/
|
||||
_arrDelChange (v) {
|
||||
let arr = []
|
||||
arr = _.map(v, 'id');
|
||||
arr = _.map(v, 'id')
|
||||
this.strSelectIds = _.join(arr, ',')
|
||||
},
|
||||
/**
|
||||
|
@ -40,7 +40,6 @@
|
||||
</m-popup>
|
||||
</template>
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import i18n from '@/module/i18n'
|
||||
import store from '@/conf/home/store'
|
||||
import mPopup from '@/module/components/popup/popup'
|
||||
@ -56,39 +55,39 @@
|
||||
}
|
||||
},
|
||||
props: {
|
||||
tmp: Boolean
|
||||
tmp: Boolean
|
||||
},
|
||||
methods: {
|
||||
_ok () {
|
||||
if(this._verification()) {
|
||||
if(this.tmp) {
|
||||
this.$emit('onBatchMove',this.itemId)
|
||||
} else {
|
||||
this.$emit('onBatchCopy',this.itemId)
|
||||
}
|
||||
if (this._verification()) {
|
||||
if (this.tmp) {
|
||||
this.$emit('onBatchMove', this.itemId)
|
||||
} else {
|
||||
this.$emit('onBatchCopy', this.itemId)
|
||||
}
|
||||
}
|
||||
},
|
||||
_verification() {
|
||||
if(!this.itemId) {
|
||||
this.$message.warning(`${i18n.$t('Project name is required')}`)
|
||||
return false
|
||||
_verification () {
|
||||
if (!this.itemId) {
|
||||
this.$message.warning(`${i18n.$t('Project name is required')}`)
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
watch: {
|
||||
},
|
||||
created () {
|
||||
this.store.dispatch('dag/getAllItems', {}).then(res => {
|
||||
if(res.data.length> 0) {
|
||||
this.itemList = res.data
|
||||
}
|
||||
})
|
||||
this.store.dispatch('dag/getAllItems', {}).then(res => {
|
||||
if (res.data.length > 0) {
|
||||
this.itemList = res.data
|
||||
}
|
||||
})
|
||||
},
|
||||
mounted () {
|
||||
|
||||
},
|
||||
components: { mPopup, mListBoxF }
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@ -85,7 +85,7 @@
|
||||
style="width: 200px;"
|
||||
size="small"
|
||||
v-model="warningGroupId"
|
||||
:disabled="!notifyGroupList.length">
|
||||
:disabled="!notifyGroupList.length">
|
||||
<el-input slot="trigger" slot-scope="{ selectedModel }" readonly :placeholder="$t('Please select a notification group')" size="small" :value="selectedModel ? selectedModel.label : ''" style="width: 200px;" @on-click-icon.stop="warningGroupId = ''">
|
||||
<em slot="suffix" class="el-icon-error" style="font-size: 15px;cursor: pointer;" v-show="warningGroupId"></em>
|
||||
<em slot="suffix" class="el-icon-bottom" style="font-size: 12px;" v-show="!warningGroupId"></em>
|
||||
@ -163,7 +163,6 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import dayjs from 'dayjs'
|
||||
import mEmail from './email.vue'
|
||||
import store from '@/conf/home/store'
|
||||
@ -214,7 +213,7 @@
|
||||
scheduleTime: this.scheduleTime.length && this.scheduleTime.join(',') || '',
|
||||
failureStrategy: this.failureStrategy,
|
||||
warningType: this.warningType,
|
||||
warningGroupId: this.warningGroupId=='' ? 0 : this.warningGroupId,
|
||||
warningGroupId: this.warningGroupId === '' ? 0 : this.warningGroupId,
|
||||
execType: this.execType ? 'COMPLEMENT_DATA' : null,
|
||||
startNodeList: this.startNodeList,
|
||||
taskDependType: this.taskDependType,
|
||||
@ -242,10 +241,10 @@
|
||||
},
|
||||
_getNotifyGroupList () {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.store.dispatch('dag/getNotifyGroupList').then(res => {
|
||||
this.notifyGroupList = res
|
||||
resolve()
|
||||
})
|
||||
this.store.dispatch('dag/getNotifyGroupList').then(res => {
|
||||
this.notifyGroupList = res
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
},
|
||||
_getReceiver () {
|
||||
@ -277,7 +276,7 @@
|
||||
} else {
|
||||
this.store.dispatch('security/getWorkerGroupsAll').then(res => {
|
||||
this.$nextTick(() => {
|
||||
if(res.length>0) {
|
||||
if (res.length > 0) {
|
||||
this.workerGroup = res[0].id
|
||||
}
|
||||
})
|
||||
|
@ -228,7 +228,7 @@
|
||||
failureStrategy: this.failureStrategy,
|
||||
warningType: this.warningType,
|
||||
processInstancePriority: this.processInstancePriority,
|
||||
warningGroupId: this.warningGroupId =='' ? 0 : this.warningGroupId,
|
||||
warningGroupId: this.warningGroupId === '' ? 0 : this.warningGroupId,
|
||||
receivers: this.receivers.join(',') || '',
|
||||
receiversCc: this.receiversCc.join(',') || '',
|
||||
workerGroup: this.workerGroup
|
||||
@ -256,37 +256,36 @@
|
||||
},
|
||||
|
||||
_preview () {
|
||||
if (this._verification()) {
|
||||
let api = 'dag/previewSchedule'
|
||||
let searchParams = {
|
||||
schedule: JSON.stringify({
|
||||
startTime: this.scheduleTime[0],
|
||||
endTime: this.scheduleTime[1],
|
||||
crontab: this.crontab
|
||||
})
|
||||
}
|
||||
let msg = ''
|
||||
if (this._verification()) {
|
||||
let api = 'dag/previewSchedule'
|
||||
let searchParams = {
|
||||
schedule: JSON.stringify({
|
||||
startTime: this.scheduleTime[0],
|
||||
endTime: this.scheduleTime[1],
|
||||
crontab: this.crontab
|
||||
})
|
||||
}
|
||||
|
||||
this.store.dispatch(api, searchParams).then(res => {
|
||||
if (res.length) {
|
||||
this.previewTimes = res
|
||||
} else {
|
||||
this.$message.warning(`${i18n.$t('There is no data for this period of time')}`)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
this.store.dispatch(api, searchParams).then(res => {
|
||||
if (res.length) {
|
||||
this.previewTimes = res
|
||||
} else {
|
||||
this.$message.warning(`${i18n.$t('There is no data for this period of time')}`)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
_getNotifyGroupList () {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.store.dispatch('dag/getNotifyGroupList').then(res => {
|
||||
this.notifyGroupList = res
|
||||
if (this.notifyGroupList.length) {
|
||||
resolve()
|
||||
} else {
|
||||
reject(new Error(0))
|
||||
}
|
||||
})
|
||||
this.store.dispatch('dag/getNotifyGroupList').then(res => {
|
||||
this.notifyGroupList = res
|
||||
if (this.notifyGroupList.length) {
|
||||
resolve()
|
||||
} else {
|
||||
reject(new Error(0))
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
ok () {
|
||||
@ -302,7 +301,7 @@
|
||||
watch: {
|
||||
},
|
||||
created () {
|
||||
if(this.timingData.item.workerGroup===undefined) {
|
||||
if (this.timingData.item.workerGroup === undefined) {
|
||||
let stateWorkerGroupsList = this.store.state.security.workerGroupsListAll || []
|
||||
if (stateWorkerGroupsList.length) {
|
||||
this.workerGroup = stateWorkerGroupsList[0].id
|
||||
@ -316,22 +315,22 @@
|
||||
} else {
|
||||
this.workerGroup = this.timingData.item.workerGroup
|
||||
}
|
||||
if(this.timingData.item.crontab !== null){
|
||||
if (this.timingData.item.crontab !== null) {
|
||||
this.crontab = this.timingData.item.crontab
|
||||
}
|
||||
if(this.timingData.type == 'timing') {
|
||||
if (this.timingData.type === 'timing') {
|
||||
let date = new Date()
|
||||
let year = date.getFullYear()
|
||||
let month = date.getMonth() + 1
|
||||
let day = date.getDate()
|
||||
if (month < 10) {
|
||||
month = "0" + month;
|
||||
month = '0' + month
|
||||
}
|
||||
if (day < 10) {
|
||||
day = "0" + day;
|
||||
day = '0' + day
|
||||
}
|
||||
let startDate = year + "-" + month + "-" + day + ' ' + '00:00:00'
|
||||
let endDate = (year+100) + "-" + month + "-" + day + ' ' + '00:00:00'
|
||||
let startDate = year + '-' + month + '-' + day + ' ' + '00:00:00'
|
||||
let endDate = (year + 100) + '-' + month + '-' + day + ' ' + '00:00:00'
|
||||
let times = []
|
||||
times[0] = startDate
|
||||
times[1] = endDate
|
||||
@ -355,13 +354,13 @@
|
||||
// let list = _.filter(this.notifyGroupList, v => v.id === item.warningGroupId)
|
||||
this.warningGroupId = item.warningGroupId
|
||||
})
|
||||
}).catch(() => this.warningGroupId = '')
|
||||
}).catch(() => { this.warningGroupId = '' })
|
||||
} else {
|
||||
this._getNotifyGroupList().then(() => {
|
||||
this.$nextTick(() => {
|
||||
this.warningGroupId = ''
|
||||
})
|
||||
}).catch(() => this.warningGroupId = '')
|
||||
}).catch(() => { this.warningGroupId = '' })
|
||||
}
|
||||
},
|
||||
components: { vCrontab, mEmail, mPriority, mWorkerGroups }
|
||||
@ -419,10 +418,10 @@
|
||||
}
|
||||
}
|
||||
.x-date-packer-panel .x-date-packer-day .lattice label.bg-hover {
|
||||
background: #00BFFF!important;
|
||||
background: #00BFFF!important;
|
||||
margin-top: -4px;
|
||||
}
|
||||
.x-date-packer-panel .x-date-packer-day .lattice em:hover {
|
||||
background: #0098e1!important;
|
||||
background: #0098e1!important;
|
||||
}
|
||||
</style>
|
||||
|
@ -58,7 +58,6 @@
|
||||
import mNoData from '@/module/components/noData/noData'
|
||||
import listUrlParamHandle from '@/module/mixin/listUrlParamHandle'
|
||||
import mConditions from '@/module/components/conditions/conditions'
|
||||
import mSecondaryMenu from '@/module/components/secondaryMenu/secondaryMenu'
|
||||
import mListConstruction from '@/module/components/listConstruction/listConstruction'
|
||||
import { findComponentDownward } from '@/module/util/'
|
||||
|
||||
@ -109,15 +108,15 @@
|
||||
* get data list
|
||||
*/
|
||||
_getList (flag) {
|
||||
if(sessionStorage.getItem('isLeft')==0) {
|
||||
if (sessionStorage.getItem('isLeft') === 0) {
|
||||
this.isLeft = false
|
||||
} else {
|
||||
this.isLeft = true
|
||||
}
|
||||
this.isLoading = !flag
|
||||
this.getProcessListP(this.searchParams).then(res => {
|
||||
if(this.searchParams.pageNo>1 && res.totalList.length == 0) {
|
||||
this.searchParams.pageNo = this.searchParams.pageNo -1
|
||||
if (this.searchParams.pageNo > 1 && res.totalList.length === 0) {
|
||||
this.searchParams.pageNo = this.searchParams.pageNo - 1
|
||||
} else {
|
||||
this.processListP = []
|
||||
this.processListP = res.totalList
|
||||
@ -146,13 +145,13 @@
|
||||
created () {
|
||||
localStore.removeItem('subProcessId')
|
||||
},
|
||||
mounted() {
|
||||
|
||||
mounted () {
|
||||
|
||||
},
|
||||
beforeDestroy () {
|
||||
sessionStorage.setItem('isLeft',1)
|
||||
sessionStorage.setItem('isLeft', 1)
|
||||
},
|
||||
components: { mList, mConditions, mSpin, mListConstruction, mSecondaryMenu, mNoData }
|
||||
components: { mList, mConditions, mSpin, mListConstruction, mNoData }
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -185,4 +184,4 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
@ -82,7 +82,6 @@
|
||||
import mSpin from '@/module/components/spin/spin'
|
||||
import mNoData from '@/module/components/noData/noData'
|
||||
import { tasksType, tasksState } from '@/conf/home/pages/dag/_source/config'
|
||||
import mSecondaryMenu from '@/module/components/secondaryMenu/secondaryMenu'
|
||||
import mListConstruction from '@/module/components/listConstruction/listConstruction'
|
||||
|
||||
export default {
|
||||
@ -106,7 +105,7 @@
|
||||
props: {},
|
||||
methods: {
|
||||
...mapActions('dag', ['getViewTree']),
|
||||
_close(){
|
||||
_close () {
|
||||
this.$router.go(-1)
|
||||
},
|
||||
/**
|
||||
@ -203,7 +202,7 @@
|
||||
},
|
||||
mounted () {
|
||||
},
|
||||
components: { mSpin, mSecondaryMenu, mListConstruction, mNoData }
|
||||
components: { mSpin, mListConstruction, mNoData }
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -265,5 +264,4 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
@ -133,7 +133,7 @@
|
||||
props: {
|
||||
},
|
||||
methods: {
|
||||
...mapActions('dag', ['getScheduleList', 'scheduleOffline', 'scheduleOnline', 'getReceiver','deleteTiming']),
|
||||
...mapActions('dag', ['getScheduleList', 'scheduleOffline', 'scheduleOnline', 'getReceiver', 'deleteTiming']),
|
||||
/**
|
||||
* delete
|
||||
*/
|
||||
@ -260,7 +260,7 @@
|
||||
},
|
||||
closeTiming () {
|
||||
this.timingDialog = false
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created () {
|
||||
|
@ -28,15 +28,14 @@
|
||||
</template>
|
||||
<script>
|
||||
import mList from './_source/list'
|
||||
import mSecondaryMenu from '@/module/components/secondaryMenu/secondaryMenu'
|
||||
import mListConstruction from '@/module/components/listConstruction/listConstruction'
|
||||
export default {
|
||||
name: 'definition-timing-index',
|
||||
methods :{
|
||||
_close(){
|
||||
methods: {
|
||||
_close () {
|
||||
this.$router.go(-1)
|
||||
}
|
||||
},
|
||||
components: { mList, mListConstruction, mSecondaryMenu }
|
||||
components: { mList, mListConstruction }
|
||||
}
|
||||
</script>
|
||||
|
@ -70,7 +70,7 @@
|
||||
|
||||
},
|
||||
watch: {
|
||||
'searchParams': {
|
||||
searchParams: {
|
||||
deep: true,
|
||||
immediate: true,
|
||||
handler (o) {
|
||||
@ -91,4 +91,4 @@
|
||||
computed: {},
|
||||
components: { mNoData }
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@ -38,7 +38,7 @@
|
||||
return {
|
||||
isSpin: true,
|
||||
msg: true,
|
||||
parameter: {projectId: 0}
|
||||
parameter: { projectId: 0 }
|
||||
}
|
||||
},
|
||||
props: {
|
||||
@ -71,9 +71,9 @@
|
||||
},
|
||||
created () {
|
||||
this.isSpin = true
|
||||
this.parameter.projectId = this.projectId;
|
||||
this.parameter.projectId = this.projectId
|
||||
this.getDefineUserCount(this.parameter).then(res => {
|
||||
this.msg = res.data.count > 0 ? true : false
|
||||
this.msg = res.data.count > 0
|
||||
this.defineUserList = []
|
||||
this._handleDefineUser(res)
|
||||
this.isSpin = false
|
||||
|
@ -53,7 +53,6 @@
|
||||
import { pie } from './chartConfig'
|
||||
import Chart from '@/module/ana-charts'
|
||||
import echarts from 'echarts'
|
||||
import store from '@/conf/home/store'
|
||||
import mNoData from '@/module/components/noData/noData'
|
||||
import { stateType } from '@/conf/home/pages/projects/pages/_source/conditions/instance/common'
|
||||
export default {
|
||||
@ -75,7 +74,7 @@
|
||||
this.$router.push({
|
||||
name: 'projects-instance-list',
|
||||
query: {
|
||||
stateType: _.find(stateType, ['label', name])['code'],
|
||||
stateType: _.find(stateType, ['label', name]).code,
|
||||
startDate: this.searchParams.startDate,
|
||||
endDate: this.searchParams.endDate
|
||||
}
|
||||
@ -85,11 +84,11 @@
|
||||
let data = res.data.taskCountDtos
|
||||
this.processStateList = _.map(data, v => {
|
||||
return {
|
||||
key: _.find(stateType, ['code', v.taskStateType])['label'],
|
||||
key: _.find(stateType, ['code', v.taskStateType]).label,
|
||||
value: v.count
|
||||
}
|
||||
})
|
||||
const myChart = Chart.pie('#process-state-pie', this.processStateList, { title: '' })
|
||||
const myChart = Chart.pie('#process-state-pie', this.processStateList, { title: '' })
|
||||
myChart.echart.setOption(pie)
|
||||
// 首页不允许跳转
|
||||
if (this.searchParams.projectId) {
|
||||
@ -100,7 +99,7 @@
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'searchParams': {
|
||||
searchParams: {
|
||||
deep: true,
|
||||
immediate: true,
|
||||
handler (o) {
|
||||
@ -115,7 +114,7 @@
|
||||
})
|
||||
}
|
||||
},
|
||||
'$store.state.projects.sideBar': function() {
|
||||
'$store.state.projects.sideBar': function () {
|
||||
echarts.init(document.getElementById('process-state-pie')).resize()
|
||||
}
|
||||
},
|
||||
|
@ -29,7 +29,7 @@
|
||||
<th>{{$t('Number')}}</th>
|
||||
<th>{{$t('State')}}</th>
|
||||
</tr>
|
||||
<tr v-for="(item,$index) in queueList">
|
||||
<tr :key="$index" v-for="(item,$index) in queueList">
|
||||
<td><span>{{$index+1}}</span></td>
|
||||
<td><span><a href="javascript:" >{{item.value}}</a></span></td>
|
||||
<td><span class="ellipsis" style="width: 98%;" :title="item.key">{{item.key}}</span></td>
|
||||
@ -76,7 +76,7 @@
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'searchParams': {
|
||||
searchParams: {
|
||||
deep: true,
|
||||
immediate: true,
|
||||
handler (o) {
|
||||
@ -98,4 +98,4 @@
|
||||
},
|
||||
components: { mNoData }
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@ -1,150 +0,0 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
<template>
|
||||
<div class="task-ctatus-count-model">
|
||||
<div v-show="!msg">
|
||||
<div class="data-area" v-spin="isSpin" style="height: 430px;">
|
||||
<div class="col-md-7">
|
||||
<div id="task-status-pie" style="width:100%;height:260px;margin-top: 100px;"></div>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<div class="table-small-model">
|
||||
<table>
|
||||
<tr>
|
||||
<th width="40">{{$t('#')}}</th>
|
||||
<th>{{$t('Number')}}</th>
|
||||
<th>{{$t('State')}}</th>
|
||||
</tr>
|
||||
<tr v-for="(item,$index) in taskCtatusList" :key="$index">
|
||||
<td><span>{{$index+1}}</span></td>
|
||||
<td>
|
||||
<a v-if="currentName === 'home'" style="cursor: default">{{item.value}}</a>
|
||||
<span v-else>
|
||||
<a href="javascript:" @click="searchParams.projectId && _goTask(item.key)">{{item.value}}</a>
|
||||
</span>
|
||||
</td>
|
||||
<td><span class="ellipsis" style="width: 98%;" :title="item.key">{{item.key}}</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-show="msg">
|
||||
<m-no-data :msg="msg" v-if="msg" :height="430"></m-no-data>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import { mapActions } from 'vuex'
|
||||
import { pie } from './chartConfig'
|
||||
import Chart from '@/module/ana-charts'
|
||||
import echarts from 'echarts'
|
||||
import store from '@/conf/home/store'
|
||||
import mNoData from '@/module/components/noData/noData'
|
||||
import { stateType } from '@/conf/home/pages/projects/pages/_source/conditions/instance/common'
|
||||
|
||||
export default {
|
||||
name: 'task-ctatus-count',
|
||||
data () {
|
||||
return {
|
||||
isSpin: true,
|
||||
msg: '',
|
||||
taskCtatusList: [],
|
||||
currentName: ''
|
||||
}
|
||||
},
|
||||
props: {
|
||||
searchParams: Object
|
||||
},
|
||||
methods: {
|
||||
...mapActions('projects', ['getTaskCtatusCount']),
|
||||
_goTask (name) {
|
||||
this.$router.push({
|
||||
name: 'task-instance',
|
||||
query: {
|
||||
stateType: _.find(stateType, ['label', name])['code'],
|
||||
startDate: this.searchParams.startDate,
|
||||
endDate: this.searchParams.endDate
|
||||
}
|
||||
})
|
||||
},
|
||||
_handleTaskCtatus (res) {
|
||||
let data = res.data.taskCountDtos
|
||||
this.taskCtatusList = _.map(data, v => {
|
||||
return {
|
||||
key: _.find(stateType, ['code', v.taskStateType])['label'],
|
||||
value: v.count,
|
||||
type: 'type'
|
||||
}
|
||||
})
|
||||
const myChart = Chart.pie('#task-status-pie', this.taskCtatusList, { title: '' })
|
||||
myChart.echart.setOption(pie)
|
||||
|
||||
// 首页不允许跳转
|
||||
if (this.searchParams.projectId) {
|
||||
myChart.echart.on('click', e => {
|
||||
this._goTask(e.data.name)
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'searchParams': {
|
||||
deep: true,
|
||||
immediate: true,
|
||||
handler (o) {
|
||||
this.isSpin = true
|
||||
this.getTaskCtatusCount(o).then(res => {
|
||||
this.taskCtatusList = []
|
||||
this._handleTaskCtatus(res)
|
||||
this.isSpin = false
|
||||
}).catch(e => {
|
||||
this.msg = e.msg || 'error'
|
||||
this.isSpin = false
|
||||
})
|
||||
}
|
||||
},
|
||||
'$store.state.projects.sideBar': function() {
|
||||
echarts.init(document.getElementById('task-status-pie')).resize()
|
||||
}
|
||||
},
|
||||
beforeCreate () {
|
||||
},
|
||||
created () {
|
||||
this.currentName = this.$router.currentRoute.name
|
||||
},
|
||||
beforeMount () {
|
||||
},
|
||||
mounted () {
|
||||
},
|
||||
beforeUpdate () {
|
||||
},
|
||||
updated () {
|
||||
},
|
||||
beforeDestroy () {
|
||||
},
|
||||
destroyed () {
|
||||
},
|
||||
computed: {},
|
||||
components: { mNoData }
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" rel="stylesheet/scss">
|
||||
</style>
|
@ -74,7 +74,7 @@
|
||||
this.$router.push({
|
||||
name: 'task-instance',
|
||||
query: {
|
||||
stateType: _.find(stateType, ['label', name])['code'],
|
||||
stateType: _.find(stateType, ['label', name]).code,
|
||||
startDate: this.searchParams.startDate,
|
||||
endDate: this.searchParams.endDate
|
||||
}
|
||||
@ -85,7 +85,7 @@
|
||||
this.taskStatusList = _.map(data, v => {
|
||||
return {
|
||||
// CHECK!!
|
||||
key: _.find(stateType, ['code', v.taskStateType])['label'],
|
||||
key: _.find(stateType, ['code', v.taskStateType]).label,
|
||||
value: v.count,
|
||||
type: 'type'
|
||||
}
|
||||
@ -102,7 +102,7 @@
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'searchParams': {
|
||||
searchParams: {
|
||||
deep: true,
|
||||
immediate: true,
|
||||
handler (o) {
|
||||
|
@ -68,12 +68,9 @@
|
||||
<script>
|
||||
import dayjs from 'dayjs'
|
||||
import mDefineUserCount from './_source/defineUserCount'
|
||||
import mCommandStateCount from './_source/commandStateCount'
|
||||
import mTaskStatusCount from './_source/taskStatusCount'
|
||||
import mProcessStateCount from './_source/processStateCount'
|
||||
import mQueueCount from './_source/queueCount'
|
||||
import localStore from '@/module/util/localStorage'
|
||||
import mSecondaryMenu from '@/module/components/secondaryMenu/secondaryMenu'
|
||||
import mListConstruction from '@/module/components/listConstruction/listConstruction'
|
||||
|
||||
export default {
|
||||
@ -85,7 +82,7 @@
|
||||
startDate: '',
|
||||
endDate: ''
|
||||
},
|
||||
dataTime: [],
|
||||
dataTime: []
|
||||
}
|
||||
},
|
||||
props: {
|
||||
@ -103,13 +100,10 @@
|
||||
this.dataTime[1] = dayjs().format('YYYY-MM-DD HH:mm:ss')
|
||||
},
|
||||
components: {
|
||||
mSecondaryMenu,
|
||||
mListConstruction,
|
||||
mDefineUserCount,
|
||||
mCommandStateCount,
|
||||
mTaskStatusCount,
|
||||
mProcessStateCount,
|
||||
mQueueCount
|
||||
mProcessStateCount
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -21,4 +21,4 @@
|
||||
export default {
|
||||
name: 'process-instance-index'
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@ -18,13 +18,12 @@
|
||||
<m-instance-details></m-instance-details>
|
||||
</template>
|
||||
<script>
|
||||
import mSecondaryMenu from '@/module/components/secondaryMenu/secondaryMenu'
|
||||
import mInstanceDetails from '@/conf/home/pages/dag/instanceDetails.vue'
|
||||
export default {
|
||||
name: 'instance-details-index',
|
||||
data () {
|
||||
return {}
|
||||
},
|
||||
components: { mInstanceDetails, mSecondaryMenu }
|
||||
components: { mInstanceDetails }
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@ -47,8 +47,6 @@
|
||||
import mSpin from '@/module/components/spin/spin'
|
||||
import mNoData from '@/module/components/noData/noData'
|
||||
import { tasksState } from '@/conf/home/pages/dag/_source/config'
|
||||
import mConditions from '@/module/components/conditions/conditions'
|
||||
import mSecondaryMenu from '@/module/components/secondaryMenu/secondaryMenu'
|
||||
import mListConstruction from '@/module/components/listConstruction/listConstruction'
|
||||
|
||||
export default {
|
||||
@ -111,7 +109,7 @@
|
||||
destroyed () {
|
||||
},
|
||||
computed: {},
|
||||
components: { mConditions, mSecondaryMenu, mListConstruction, mSpin, mNoData }
|
||||
components: { mListConstruction, mSpin, mNoData }
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -78,7 +78,7 @@
|
||||
</span>
|
||||
</el-tooltip>
|
||||
<el-tooltip :content="scope.row.state === 'STOP' ? $t('Recovery Suspend') : $t('Stop')" placement="top" :enterable="false">
|
||||
<span><el-button type="warning" size="mini" :disabled="scope.row.state !== 'RUNNING_EXECUTION' && scope.row.state != 'STOP'" :icon="scope.row.state === 'STOP' ? 'el-icon-video-play' : 'el-icon-close'" @click="_stop(scope.row,scope.$index)" circle></el-button></span>
|
||||
<span><el-button type="warning" size="mini" :disabled="scope.row.state !== 'RUNNING_EXECUTION' && scope.row.state !== 'STOP'" :icon="scope.row.state === 'STOP' ? 'el-icon-video-play' : 'el-icon-close'" @click="_stop(scope.row,scope.$index)" circle></el-button></span>
|
||||
</el-tooltip>
|
||||
<el-tooltip :content="scope.row.state === 'PAUSE' ? $t('Recovery Suspend') : $t('Pause')" placement="top" :enterable="false">
|
||||
<span><el-button type="error" size="mini" :icon="scope.row.state === 'PAUSE' ? 'el-icon-video-play' : 'el-icon-video-pause'" :disabled="scope.row.state !== 'RUNNING_EXECUTION' && scope.row.state !== 'PAUSE'" @click="_suspend(scope.row,scope.$index)" circle></el-button></span>
|
||||
@ -154,7 +154,7 @@
|
||||
<span>
|
||||
<el-button
|
||||
style="padding: 0 3px"
|
||||
v-show="(scope.row.state === 'PAUSE' || scope.row.state == 'STOP') && buttonType === 'suspend'"
|
||||
v-show="(scope.row.state === 'PAUSE' || scope.row.state === 'STOP') && buttonType === 'suspend'"
|
||||
type="warning"
|
||||
size="mini"
|
||||
circle
|
||||
@ -162,10 +162,10 @@
|
||||
{{scope.row.count}}
|
||||
</el-button>
|
||||
</span>
|
||||
|
||||
|
||||
<!--Recovery Suspend-->
|
||||
<el-button
|
||||
v-show="(scope.row.state === 'PAUSE' || scope.row.state == 'STOP') && buttonType !== 'suspend'"
|
||||
v-show="(scope.row.state === 'PAUSE' || scope.row.state === 'STOP') && buttonType !== 'suspend'"
|
||||
type="warning"
|
||||
size="mini"
|
||||
circle
|
||||
@ -312,7 +312,7 @@
|
||||
* @param STOP
|
||||
*/
|
||||
_stop (item, index) {
|
||||
if(item.state == 'STOP') {
|
||||
if (item.state === 'STOP') {
|
||||
this._countDownFn({
|
||||
id: item.id,
|
||||
executeType: 'RECOVER_SUSPENDED_PROCESS',
|
||||
@ -443,7 +443,7 @@
|
||||
// },
|
||||
_arrDelChange (v) {
|
||||
let arr = []
|
||||
arr = _.map(v, 'id');
|
||||
arr = _.map(v, 'id')
|
||||
console.log(arr)
|
||||
this.strDelete = _.join(arr, ',')
|
||||
},
|
||||
|
@ -53,7 +53,6 @@
|
||||
import localStore from '@/module/util/localStorage'
|
||||
import { setUrlParams } from '@/module/util/routerUtil'
|
||||
import mNoData from '@/module/components/noData/noData'
|
||||
import mSecondaryMenu from '@/module/components/secondaryMenu/secondaryMenu'
|
||||
import mListConstruction from '@/module/components/listConstruction/listConstruction'
|
||||
import mInstanceConditions from '@/conf/home/pages/projects/pages/_source/conditions/instance/processInstance'
|
||||
|
||||
@ -108,7 +107,7 @@
|
||||
setUrlParams(this.searchParams)
|
||||
this._debounceGET()
|
||||
},
|
||||
_pageSize(val) {
|
||||
_pageSize (val) {
|
||||
this.searchParams.pageSize = val
|
||||
setUrlParams(this.searchParams)
|
||||
this._debounceGET()
|
||||
@ -119,8 +118,8 @@
|
||||
_getProcessInstanceListP (flag) {
|
||||
this.isLoading = !flag
|
||||
this.getProcessInstance(this.searchParams).then(res => {
|
||||
if(this.searchParams.pageNo>1 && res.totalList.length == 0) {
|
||||
this.searchParams.pageNo = this.searchParams.pageNo -1
|
||||
if (this.searchParams.pageNo > 1 && res.totalList.length === 0) {
|
||||
this.searchParams.pageNo = this.searchParams.pageNo - 1
|
||||
} else {
|
||||
this.processInstanceList = []
|
||||
this.processInstanceList = res.totalList
|
||||
@ -148,15 +147,15 @@
|
||||
* @desc Prevent functions from being called multiple times
|
||||
*/
|
||||
_debounceGET: _.debounce(function (flag) {
|
||||
if(sessionStorage.getItem('isLeft')==0) {
|
||||
if (sessionStorage.getItem('isLeft') === 0) {
|
||||
this.isLeft = false
|
||||
} else {
|
||||
this.isLeft = true
|
||||
}
|
||||
this._getProcessInstanceListP(flag)
|
||||
}, 100, {
|
||||
'leading': false,
|
||||
'trailing': true
|
||||
leading: false,
|
||||
trailing: true
|
||||
})
|
||||
},
|
||||
watch: {
|
||||
@ -169,7 +168,7 @@
|
||||
this.searchParams.pageNo = !_.isEmpty(a.query) && a.query.pageNo || 1
|
||||
}
|
||||
},
|
||||
'searchParams': {
|
||||
searchParams: {
|
||||
deep: true,
|
||||
handler () {
|
||||
this._debounceGET()
|
||||
@ -199,9 +198,9 @@
|
||||
beforeDestroy () {
|
||||
// Destruction wheel
|
||||
clearInterval(this.setIntervalP)
|
||||
sessionStorage.setItem('isLeft',1)
|
||||
sessionStorage.setItem('isLeft', 1)
|
||||
},
|
||||
components: { mList, mInstanceConditions, mSpin, mListConstruction, mSecondaryMenu, mNoData }
|
||||
components: { mList, mInstanceConditions, mSpin, mListConstruction, mNoData }
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
</template>
|
||||
<script>
|
||||
import echarts from 'echarts'
|
||||
import { mapActions, mapState, mapMutations } from 'vuex'
|
||||
import { mapState } from 'vuex'
|
||||
import graphGridOption from './graphGridOption'
|
||||
|
||||
export default {
|
||||
@ -35,7 +35,7 @@
|
||||
},
|
||||
methods: {
|
||||
init () {
|
||||
},
|
||||
}
|
||||
},
|
||||
created () {
|
||||
},
|
||||
@ -43,14 +43,14 @@
|
||||
const graphGrid = echarts.init(this.$refs['graph-grid'])
|
||||
graphGrid.setOption(graphGridOption(this.locations, this.connects, this.sourceWorkFlowId, this.isShowLabel), true)
|
||||
graphGrid.on('click', (params) => {
|
||||
// Jump to the definition page
|
||||
this.$router.push({ path: `/projects/definition/list/${params.data.id}`})
|
||||
});
|
||||
// Jump to the definition page
|
||||
this.$router.push({ path: `/projects/definition/list/${params.data.id}` })
|
||||
})
|
||||
},
|
||||
components: {},
|
||||
computed: {
|
||||
...mapState('kinship', ['locations', 'connects', 'sourceWorkFlowId'])
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
||||
v-tooltip.small.top.start="$t('Reset')"
|
||||
@click="reset"
|
||||
></el-button>
|
||||
<el-button
|
||||
<el-button
|
||||
icon="el-icon-view"
|
||||
size="mini"
|
||||
v-tooltip.small.top="$t('Dag label display control')"
|
||||
@ -55,15 +55,11 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import { mapActions, mapState } from 'vuex'
|
||||
import mSpin from '@/module/components/spin/spin'
|
||||
import mNoData from '@/module/components/noData/noData'
|
||||
import listUrlParamHandle from '@/module/mixin/listUrlParamHandle'
|
||||
import graphGrid from './_source/graphGrid.vue'
|
||||
|
||||
|
||||
|
||||
export default {
|
||||
name: 'projects-kinship-index',
|
||||
components: { graphGrid, mSpin, mNoData },
|
||||
@ -71,12 +67,12 @@
|
||||
return {
|
||||
isLoading: true,
|
||||
isShowLabel: true,
|
||||
currentItemName: '',
|
||||
currentItemName: ''
|
||||
}
|
||||
},
|
||||
props: {},
|
||||
methods: {
|
||||
...mapActions('kinship', ['getWorkFlowList','getWorkFlowDAG']),
|
||||
...mapActions('kinship', ['getWorkFlowList', 'getWorkFlowDAG']),
|
||||
/**
|
||||
* init
|
||||
*/
|
||||
@ -86,7 +82,7 @@
|
||||
Promise.all([
|
||||
// get process definition
|
||||
this.getWorkFlowList(),
|
||||
this.getWorkFlowDAG(),
|
||||
this.getWorkFlowDAG()
|
||||
]).then((data) => {
|
||||
this.isLoading = false
|
||||
}).catch(() => {
|
||||
@ -96,38 +92,38 @@
|
||||
/**
|
||||
* reset
|
||||
*/
|
||||
reset() {
|
||||
this.isLoading = true;
|
||||
reset () {
|
||||
this.isLoading = true
|
||||
this.$nextTick(() => {
|
||||
this.isLoading = false;
|
||||
this.isLoading = false
|
||||
})
|
||||
},
|
||||
async onChange(item) {
|
||||
const { value, label } = item || {};
|
||||
this.isLoading = true;
|
||||
this.currentItemName = label;
|
||||
async onChange (item) {
|
||||
const { value, label } = item || {}
|
||||
this.isLoading = true
|
||||
this.currentItemName = label
|
||||
try {
|
||||
await this.getWorkFlowDAG(value);
|
||||
await this.getWorkFlowDAG(value)
|
||||
} catch (error) {
|
||||
this.$message.error(error.msg || '')
|
||||
}
|
||||
this.isLoading = false;
|
||||
this.isLoading = false
|
||||
},
|
||||
tooltipOption(text) {
|
||||
tooltipOption (text) {
|
||||
return {
|
||||
text,
|
||||
maxWidth: '500px',
|
||||
placement: 'top',
|
||||
theme: 'dark',
|
||||
triggerEvent: 'mouseenter',
|
||||
large: false,
|
||||
large: false
|
||||
}
|
||||
},
|
||||
changeLabel() {
|
||||
this.isLoading = true;
|
||||
this.isShowLabel = !this.isShowLabel;
|
||||
changeLabel () {
|
||||
this.isLoading = true
|
||||
this.isShowLabel = !this.isShowLabel
|
||||
this.$nextTick(() => {
|
||||
this.isLoading = false;
|
||||
this.isLoading = false
|
||||
})
|
||||
}
|
||||
},
|
||||
@ -142,9 +138,9 @@
|
||||
},
|
||||
computed: {
|
||||
...mapState('kinship', ['locations', 'workList']),
|
||||
inputFocusStyle() {
|
||||
return `width:280px`
|
||||
},
|
||||
inputFocusStyle () {
|
||||
return 'width:280px'
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
}
|
||||
|
@ -80,7 +80,7 @@
|
||||
param.projectId = this.item.id
|
||||
}
|
||||
|
||||
this.$refs['popup'].spinnerLoading = true
|
||||
this.$refs.popup.spinnerLoading = true
|
||||
|
||||
this.store.dispatch(`projects/${this.item ? 'updateProjects' : 'createProjects'}`, param).then(res => {
|
||||
this.$emit('_onUpdate')
|
||||
@ -88,13 +88,13 @@
|
||||
message: res.msg,
|
||||
type: 'success',
|
||||
offset: 70
|
||||
});
|
||||
})
|
||||
setTimeout(() => {
|
||||
this.$refs['popup'].spinnerLoading = false
|
||||
this.$refs.popup.spinnerLoading = false
|
||||
}, 800)
|
||||
}).catch(e => {
|
||||
this.$message.error(e.msg || '')
|
||||
this.$refs['popup'].spinnerLoading = false
|
||||
this.$refs.popup.spinnerLoading = false
|
||||
})
|
||||
},
|
||||
_verification () {
|
||||
|
@ -90,7 +90,7 @@
|
||||
this.setProjectName(item.name)
|
||||
localStore.setItem('projectName', `${item.name}`)
|
||||
localStore.setItem('projectId', `${item.id}`)
|
||||
this.$router.push({ path: `/projects/index` })
|
||||
this.$router.push({ path: '/projects/index' })
|
||||
},
|
||||
/**
|
||||
* Delete Project
|
||||
@ -113,7 +113,7 @@
|
||||
*/
|
||||
_edit (item) {
|
||||
findComponentDownward(this.$root, 'projects-list')._create(item)
|
||||
},
|
||||
}
|
||||
|
||||
},
|
||||
watch: {
|
||||
|
@ -62,7 +62,6 @@
|
||||
import mConditions from '@/module/components/conditions/conditions'
|
||||
import mListConstruction from '@/module/components/listConstruction/listConstruction'
|
||||
|
||||
|
||||
export default {
|
||||
name: 'projects-list',
|
||||
data () {
|
||||
@ -108,8 +107,8 @@
|
||||
_getList (flag) {
|
||||
this.isLoading = !flag
|
||||
this.getProjectsList(this.searchParams).then(res => {
|
||||
if(this.searchParams.pageNo>1 && res.totalList.length == 0) {
|
||||
this.searchParams.pageNo = this.searchParams.pageNo -1
|
||||
if (this.searchParams.pageNo > 1 && res.totalList.length === 0) {
|
||||
this.searchParams.pageNo = this.searchParams.pageNo - 1
|
||||
} else {
|
||||
this.projectsList = []
|
||||
this.projectsList = res.totalList
|
||||
|
@ -122,7 +122,7 @@
|
||||
},
|
||||
|
||||
_forceSuccess (item) {
|
||||
this.forceTaskSuccess({taskInstanceId: item.id}).then(res => {
|
||||
this.forceTaskSuccess({ taskInstanceId: item.id }).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
} else {
|
||||
@ -134,7 +134,7 @@
|
||||
},
|
||||
_go (item) {
|
||||
this.$router.push({ path: `/projects/instance/list/${item.processInstanceId}` })
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
taskInstanceList (a) {
|
||||
@ -149,6 +149,6 @@
|
||||
mounted () {
|
||||
this.list = this.taskInstanceList
|
||||
},
|
||||
components: { mLog}
|
||||
components: { mLog }
|
||||
}
|
||||
</script>
|
||||
|
@ -53,7 +53,6 @@
|
||||
import mSpin from '@/module/components/spin/spin'
|
||||
import mNoData from '@/module/components/noData/noData'
|
||||
import listUrlParamHandle from '@/module/mixin/listUrlParamHandle'
|
||||
import mSecondaryMenu from '@/module/components/secondaryMenu/secondaryMenu'
|
||||
import mListConstruction from '@/module/components/listConstruction/listConstruction'
|
||||
import mInstanceConditions from '@/conf/home/pages/projects/pages/_source/conditions/instance/taskInstance'
|
||||
|
||||
@ -106,7 +105,7 @@
|
||||
_page (val) {
|
||||
this.searchParams.pageNo = val
|
||||
},
|
||||
_pageSize(val) {
|
||||
_pageSize (val) {
|
||||
this.searchParams.pageSize = val
|
||||
},
|
||||
/**
|
||||
@ -114,8 +113,8 @@
|
||||
*/
|
||||
_getList (flag) {
|
||||
this.isLoading = !flag
|
||||
if(this.searchParams.pageNo == undefined) {
|
||||
this.$router.push({ path: `/projects/index` })
|
||||
if (this.searchParams.pageNo === undefined) {
|
||||
this.$router.push({ path: '/projects/index' })
|
||||
return false
|
||||
}
|
||||
this.getTaskInstanceList(this.searchParams).then(res => {
|
||||
@ -132,15 +131,15 @@
|
||||
* @desc Prevent functions from being called multiple times
|
||||
*/
|
||||
_debounceGET: _.debounce(function (flag) {
|
||||
if(sessionStorage.getItem('isLeft')==0) {
|
||||
if (sessionStorage.getItem('isLeft') === 0) {
|
||||
this.isLeft = false
|
||||
} else {
|
||||
this.isLeft = true
|
||||
}
|
||||
this._getList(flag)
|
||||
}, 100, {
|
||||
'leading': false,
|
||||
'trailing': true
|
||||
leading: false,
|
||||
trailing: true
|
||||
})
|
||||
},
|
||||
watch: {
|
||||
@ -164,9 +163,9 @@
|
||||
beforeDestroy () {
|
||||
// Destruction wheel
|
||||
clearInterval(this.setIntervalP)
|
||||
sessionStorage.setItem('isLeft',1)
|
||||
sessionStorage.setItem('isLeft', 1)
|
||||
},
|
||||
components: { mList, mInstanceConditions, mSpin, mListConstruction, mSecondaryMenu, mNoData }
|
||||
components: { mList, mInstanceConditions, mSpin, mListConstruction, mNoData }
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -28,4 +28,4 @@
|
||||
name: 'timing-index',
|
||||
components: { mList, mListConstruction }
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@ -25,7 +25,7 @@
|
||||
export default {
|
||||
name: 'resource-index',
|
||||
components: { mSecondaryMenu },
|
||||
mounted() {
|
||||
},
|
||||
mounted () {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -20,7 +20,7 @@
|
||||
<script>
|
||||
export default {
|
||||
name: 'file-manage-index',
|
||||
mounted() {
|
||||
},
|
||||
mounted () {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -82,8 +82,6 @@
|
||||
import { handlerSuffix } from '../details/_source/utils'
|
||||
import codemirror from '../_source/codemirror'
|
||||
import mListBoxF from '@/module/components/listBoxF/listBoxF'
|
||||
import mSpin from '@/module/components/spin/spin'
|
||||
import mConditions from '@/module/components/conditions/conditions'
|
||||
import mListConstruction from '@/module/components/listConstruction/listConstruction'
|
||||
|
||||
let editor
|
||||
@ -136,7 +134,7 @@
|
||||
this.$message.warning(`${i18n.$t('Please enter the resource content')}`)
|
||||
return false
|
||||
}
|
||||
if (editor.doc.size>3000) {
|
||||
if (editor.doc.size > 3000) {
|
||||
this.$message.warning(`${i18n.$t('Resource content cannot exceed 3000 lines')}`)
|
||||
return false
|
||||
}
|
||||
@ -179,7 +177,7 @@
|
||||
editor.off($('.code-create-mirror'), 'keypress', this.keypress)
|
||||
},
|
||||
computed: {},
|
||||
components: { mListConstruction, mConditions, mSpin, mListBoxF }
|
||||
components: { mListConstruction, mListBoxF }
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -60,11 +60,7 @@
|
||||
import i18n from '@/module/i18n'
|
||||
import { mapActions } from 'vuex'
|
||||
import { folderList } from '../_source/common'
|
||||
import { handlerSuffix } from '../details/_source/utils'
|
||||
import mListBoxF from '@/module/components/listBoxF/listBoxF'
|
||||
import mSpin from '@/module/components/spin/spin'
|
||||
import mConditions from '@/module/components/conditions/conditions'
|
||||
import localStore from '@/module/util/localStorage'
|
||||
import mListConstruction from '@/module/components/listConstruction/listConstruction'
|
||||
|
||||
export default {
|
||||
@ -94,7 +90,7 @@
|
||||
this.$message.success(res.msg)
|
||||
setTimeout(() => {
|
||||
this.spinnerLoading = false
|
||||
this.$router.push({ path: `/resource/file`})
|
||||
this.$router.push({ path: '/resource/file' })
|
||||
}, 800)
|
||||
}).catch(e => {
|
||||
this.$message.error(e.msg || '')
|
||||
@ -109,7 +105,7 @@
|
||||
}
|
||||
|
||||
return true
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created () {
|
||||
@ -119,7 +115,7 @@
|
||||
destroyed () {
|
||||
},
|
||||
computed: {},
|
||||
components: { mListConstruction, mConditions, mSpin, mListBoxF }
|
||||
components: { mListConstruction, mListBoxF }
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -60,11 +60,7 @@
|
||||
import i18n from '@/module/i18n'
|
||||
import { mapActions } from 'vuex'
|
||||
import { folderList } from '../_source/common'
|
||||
import { handlerSuffix } from '../details/_source/utils'
|
||||
import mListBoxF from '@/module/components/listBoxF/listBoxF'
|
||||
import mSpin from '@/module/components/spin/spin'
|
||||
import mConditions from '@/module/components/conditions/conditions'
|
||||
import localStore from '@/module/util/localStorage'
|
||||
import mListConstruction from '@/module/components/listConstruction/listConstruction'
|
||||
|
||||
export default {
|
||||
@ -94,7 +90,7 @@
|
||||
this.$message.success(res.msg)
|
||||
setTimeout(() => {
|
||||
this.spinnerLoading = false
|
||||
this.$router.push({ path: `/resource/udf/resource`})
|
||||
this.$router.push({ path: '/resource/udf/resource' })
|
||||
}, 800)
|
||||
}).catch(e => {
|
||||
this.$message.error(e.msg || '')
|
||||
@ -108,7 +104,7 @@
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created () {
|
||||
@ -118,7 +114,7 @@
|
||||
destroyed () {
|
||||
},
|
||||
computed: {},
|
||||
components: { mListConstruction, mConditions, mSpin, mListBoxF }
|
||||
components: { mListConstruction, mListBoxF }
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -130,8 +130,8 @@
|
||||
|
||||
this._getViewResources()
|
||||
}, 1000, {
|
||||
'leading': false,
|
||||
'trailing': true
|
||||
leading: false,
|
||||
trailing: true
|
||||
}),
|
||||
/**
|
||||
* down
|
||||
@ -143,8 +143,8 @@
|
||||
|
||||
this._getViewResources()
|
||||
}, 1000, {
|
||||
'leading': false,
|
||||
'trailing': true
|
||||
leading: false,
|
||||
trailing: true
|
||||
}),
|
||||
/**
|
||||
* off handle
|
||||
|
@ -80,8 +80,8 @@
|
||||
...mapActions('resource', ['getViewResources', 'updateContent']),
|
||||
ok () {
|
||||
if (this._validation()) {
|
||||
this.spinnerLoading = true
|
||||
this.updateContent({
|
||||
this.spinnerLoading = true
|
||||
this.updateContent({
|
||||
id: this.$route.params.id,
|
||||
content: editor.getValue()
|
||||
}).then(res => {
|
||||
@ -97,7 +97,7 @@
|
||||
}
|
||||
},
|
||||
_validation () {
|
||||
if (editor.doc.size>3000) {
|
||||
if (editor.doc.size > 3000) {
|
||||
this.$message.warning(`${i18n.$t('Resource content cannot exceed 3000 lines')}`)
|
||||
return false
|
||||
}
|
||||
|
@ -111,7 +111,7 @@
|
||||
},
|
||||
_go (item) {
|
||||
localStore.setItem('file', `${item.alias}|${item.size}`)
|
||||
if(item.directory) {
|
||||
if (item.directory) {
|
||||
localStore.setItem('currentDir', `${item.fullName}`)
|
||||
this.$router.push({ path: `/resource/file/subdirectory/${item.id}` })
|
||||
} else {
|
||||
@ -142,12 +142,12 @@
|
||||
this.renameDialog = true
|
||||
},
|
||||
|
||||
onUpDate(item) {
|
||||
onUpDate (item) {
|
||||
this.$set(this.list, this.index, item)
|
||||
this.renameDialog = false
|
||||
},
|
||||
|
||||
close() {
|
||||
close () {
|
||||
this.renameDialog = false
|
||||
},
|
||||
|
||||
|
@ -47,7 +47,6 @@
|
||||
<script>
|
||||
import i18n from '@/module/i18n'
|
||||
import store from '@/conf/home/store'
|
||||
import localStore from '@/module/util/localStorage'
|
||||
import mPopup from '@/module/components/popup/popup'
|
||||
import mListBoxF from '@/module/components/listBoxF/listBoxF'
|
||||
export default {
|
||||
@ -66,12 +65,12 @@
|
||||
_ok (fn) {
|
||||
this._verification().then(res => {
|
||||
if (this.name === this.item.alias) {
|
||||
return new Promise((resolve,reject) => {
|
||||
this.description === this.item.description ? reject({msg:'内容未修改'}) : resolve()
|
||||
return new Promise((resolve, reject) => {
|
||||
this.description === this.item.description ? reject({ msg: '内容未修改' }) : resolve()
|
||||
})
|
||||
}else{
|
||||
} else {
|
||||
return this.store.dispatch('resource/resourceVerifyName', {
|
||||
fullName: '/'+this.name,
|
||||
fullName: '/' + this.name,
|
||||
type: 'FILE'
|
||||
})
|
||||
}
|
||||
@ -102,7 +101,7 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
close() {
|
||||
close () {
|
||||
this.$emit('close')
|
||||
}
|
||||
},
|
||||
@ -118,4 +117,4 @@
|
||||
},
|
||||
components: { mPopup, mListBoxF }
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@ -101,15 +101,15 @@
|
||||
this.searchParams.pageSize = val
|
||||
},
|
||||
_getList (flag) {
|
||||
if(sessionStorage.getItem('isLeft')==0) {
|
||||
if (sessionStorage.getItem('isLeft') === 0) {
|
||||
this.isLeft = false
|
||||
} else {
|
||||
this.isLeft = true
|
||||
}
|
||||
this.isLoading = !flag
|
||||
this.getResourcesListP(this.searchParams).then(res => {
|
||||
if(this.searchParams.pageNo>1 && res.totalList.length == 0) {
|
||||
this.searchParams.pageNo = this.searchParams.pageNo -1
|
||||
if (this.searchParams.pageNo > 1 && res.totalList.length === 0) {
|
||||
this.searchParams.pageNo = this.searchParams.pageNo - 1
|
||||
} else {
|
||||
this.fileResourcesList = res.totalList
|
||||
this.total = res.total
|
||||
@ -124,7 +124,7 @@
|
||||
this.searchParams.searchVal = ''
|
||||
this._debounceGET()
|
||||
},
|
||||
_onUpdate () {
|
||||
_onUpdate () {
|
||||
this._debounceGET()
|
||||
}
|
||||
},
|
||||
@ -140,7 +140,7 @@
|
||||
mounted () {
|
||||
},
|
||||
beforeDestroy () {
|
||||
sessionStorage.setItem('isLeft',1)
|
||||
sessionStorage.setItem('isLeft', 1)
|
||||
},
|
||||
components: { mListConstruction, mConditions, mList, mSpin, mNoData }
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user