|
@@ -109,6 +109,22 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="clearfix list">
|
|
|
+ <div class="text">
|
|
|
+ <span>{{$t('Startup parameter')}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="cont" style="width: 688px;">
|
|
|
+ <div style="padding-top: 6px;">
|
|
|
+ <m-local-params
|
|
|
+ ref="refLocalParams"
|
|
|
+ @on-local-params="_onLocalParams"
|
|
|
+ :udp-list="udpList"
|
|
|
+ :hide="false"
|
|
|
+ :isStartProcess="true">
|
|
|
+ </m-local-params>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<template v-if="execType">
|
|
|
<div class="clearfix list" style="margin:-6px 0 16px 0">
|
|
|
<div class="text">
|
|
@@ -147,11 +163,15 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
+ import _ from 'lodash'
|
|
|
import dayjs from 'dayjs'
|
|
|
import store from '@/conf/home/store'
|
|
|
import { warningTypeList } from './util'
|
|
|
import mPriority from '@/module/components/priority/priority'
|
|
|
import mWorkerGroups from '@/conf/home/pages/dag/_source/formModel/_source/workerGroups'
|
|
|
+ import mLocalParams from '@/conf/home/pages/dag/_source/formModel/tasks/_source/localParams'
|
|
|
+ import disabledState from '@/module/mixin/disabledState'
|
|
|
+ import { mapMutations } from 'vuex'
|
|
|
|
|
|
export default {
|
|
|
name: 'start-process',
|
|
@@ -171,10 +191,13 @@
|
|
|
taskDependType: 'TASK_POST',
|
|
|
runMode: 'RUN_MODE_SERIAL',
|
|
|
processInstancePriority: 'MEDIUM',
|
|
|
- workerGroup: 'default'
|
|
|
-
|
|
|
+ workerGroup: 'default',
|
|
|
+ // Global custom parameters
|
|
|
+ definitionGlobalParams: [],
|
|
|
+ udpList: []
|
|
|
}
|
|
|
},
|
|
|
+ mixins: [disabledState],
|
|
|
props: {
|
|
|
startData: Object,
|
|
|
startNodeList: {
|
|
@@ -184,11 +207,21 @@
|
|
|
sourceType: String
|
|
|
},
|
|
|
methods: {
|
|
|
+ ...mapMutations('dag', ['setIsDetails', 'resetParams']),
|
|
|
+ _onLocalParams (a) {
|
|
|
+ this.udpList = a
|
|
|
+ },
|
|
|
_datepicker (val) {
|
|
|
this.scheduleTime = val
|
|
|
},
|
|
|
_start () {
|
|
|
this.spinnerLoading = true
|
|
|
+ let startParams = {}
|
|
|
+ for (const item of this.udpList) {
|
|
|
+ if (item.value !== '') {
|
|
|
+ startParams[item.prop] = item.value
|
|
|
+ }
|
|
|
+ }
|
|
|
let param = {
|
|
|
processDefinitionId: this.startData.id,
|
|
|
scheduleTime: this.scheduleTime.length && this.scheduleTime.join(',') || '',
|
|
@@ -200,7 +233,8 @@
|
|
|
taskDependType: this.taskDependType,
|
|
|
runMode: this.runMode,
|
|
|
processInstancePriority: this.processInstancePriority,
|
|
|
- workerGroup: this.workerGroup
|
|
|
+ workerGroup: this.workerGroup,
|
|
|
+ startParams: !_.isEmpty(startParams) ? JSON.stringify(startParams) : ''
|
|
|
}
|
|
|
// Executed from the specified node
|
|
|
if (this.sourceType === 'contextmenu') {
|
|
@@ -209,6 +243,8 @@
|
|
|
this.store.dispatch('dag/processStart', param).then(res => {
|
|
|
this.$message.success(res.msg)
|
|
|
this.$emit('onUpdateStart')
|
|
|
+ // recovery
|
|
|
+ this.udpList = _.cloneDeep(this.definitionGlobalParams)
|
|
|
setTimeout(() => {
|
|
|
this.spinnerLoading = false
|
|
|
this.close()
|
|
@@ -226,6 +262,13 @@
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
+ _getGlobalParams () {
|
|
|
+ this.setIsDetails(true)
|
|
|
+ this.store.dispatch('dag/getProcessDetails', this.startData.id).then(res => {
|
|
|
+ this.definitionGlobalParams = _.cloneDeep(this.store.state.dag.globalParams)
|
|
|
+ this.udpList = _.cloneDeep(this.store.state.dag.globalParams)
|
|
|
+ })
|
|
|
+ },
|
|
|
ok () {
|
|
|
this._start()
|
|
|
},
|
|
@@ -241,6 +284,7 @@
|
|
|
created () {
|
|
|
this.warningType = this.warningTypeList[0].id
|
|
|
this.workflowName = this.startData.name
|
|
|
+ this._getGlobalParams()
|
|
|
let stateWorkerGroupsList = this.store.state.security.workerGroupsListAll || []
|
|
|
if (stateWorkerGroupsList.length) {
|
|
|
this.workerGroup = stateWorkerGroupsList[0].id
|
|
@@ -263,7 +307,7 @@
|
|
|
this.workflowName = this.startData.name
|
|
|
},
|
|
|
computed: {},
|
|
|
- components: { mPriority, mWorkerGroups }
|
|
|
+ components: { mPriority, mWorkerGroups, mLocalParams }
|
|
|
}
|
|
|
</script>
|
|
|
|