|
@@ -25,7 +25,7 @@
|
|
|
:wrapperClosable="false"
|
|
|
>
|
|
|
<!-- fix the bug that Element-ui(2.13.2) auto focus on the first input -->
|
|
|
- <div style="width:0px;height:0px;overflow:hidden;">
|
|
|
+ <div style="width: 0px; height: 0px; overflow: hidden">
|
|
|
<el-input type="text" />
|
|
|
</div>
|
|
|
<m-form-model
|
|
@@ -69,6 +69,13 @@
|
|
|
@closeVersion="closeVersion"
|
|
|
></m-versions>
|
|
|
</el-drawer>
|
|
|
+ <m-log
|
|
|
+ v-if="type === 'instance' && logDialog"
|
|
|
+ :item="logTaskInstance"
|
|
|
+ source='dag'
|
|
|
+ :task-instance-id="logTaskInstance.id"
|
|
|
+ @close="closeLogDialog"
|
|
|
+ ></m-log>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -82,6 +89,7 @@
|
|
|
import mStart from '../../projects/pages/definition/pages/list/_source/start.vue'
|
|
|
import edgeEditModel from './canvas/edgeEditModel.vue'
|
|
|
import mVersions from '../../projects/pages/definition/pages/list/_source/versions.vue'
|
|
|
+ import mLog from './formModel/log.vue'
|
|
|
|
|
|
const DEFAULT_NODE_DATA = {
|
|
|
id: null,
|
|
@@ -99,7 +107,8 @@
|
|
|
mUdp,
|
|
|
mStart,
|
|
|
edgeEditModel,
|
|
|
- mVersions
|
|
|
+ mVersions,
|
|
|
+ mLog
|
|
|
},
|
|
|
provide () {
|
|
|
return {
|
|
@@ -140,7 +149,11 @@
|
|
|
// the task status refresh timer
|
|
|
statusTimer: null,
|
|
|
// the process instance id
|
|
|
- instanceId: -1
|
|
|
+ instanceId: -1,
|
|
|
+ // log dialog
|
|
|
+ logDialog: false,
|
|
|
+ logTaskInstance: null,
|
|
|
+ taskInstances: []
|
|
|
}
|
|
|
},
|
|
|
mounted () {
|
|
@@ -294,61 +307,63 @@
|
|
|
tasks: tasks,
|
|
|
locations: locations
|
|
|
})
|
|
|
- }).then((res) => {
|
|
|
- if (this.verifyConditions(res.tasks)) {
|
|
|
- this.loading(true)
|
|
|
- const definitionCode = this.definitionCode
|
|
|
- if (definitionCode) {
|
|
|
- // Edit
|
|
|
- return this[
|
|
|
- this.type === 'instance' ? 'updateInstance' : 'updateDefinition'
|
|
|
- ](definitionCode)
|
|
|
- .then((res) => {
|
|
|
- this.$message({
|
|
|
- message: res.msg,
|
|
|
- type: 'success',
|
|
|
- offset: 80
|
|
|
- })
|
|
|
- if (this.type === 'instance') {
|
|
|
- this.$router.push({
|
|
|
- path: `/projects/${this.projectCode}/instance/list`
|
|
|
- })
|
|
|
- } else {
|
|
|
- this.$router.push({
|
|
|
- path: `/projects/${this.projectCode}/definition/list`
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ if (this.verifyConditions(res.tasks)) {
|
|
|
+ this.loading(true)
|
|
|
+ const definitionCode = this.definitionCode
|
|
|
+ if (definitionCode) {
|
|
|
+ // Edit
|
|
|
+ return this[
|
|
|
+ this.type === 'instance' ? 'updateInstance' : 'updateDefinition'
|
|
|
+ ](definitionCode)
|
|
|
+ .then((res) => {
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'success',
|
|
|
+ offset: 80
|
|
|
})
|
|
|
- }
|
|
|
- })
|
|
|
- .catch((e) => {
|
|
|
- this.$message.error(e.msg || '')
|
|
|
- })
|
|
|
- .finally((e) => {
|
|
|
- this.loading(false)
|
|
|
- })
|
|
|
- } else {
|
|
|
- // Create
|
|
|
- return this.saveDAGchart()
|
|
|
- .then((res) => {
|
|
|
- this.$message.success(res.msg)
|
|
|
- // source @/conf/home/pages/dag/_source/editAffirmModel/index.js
|
|
|
- if (sourceType !== 'affirm') {
|
|
|
- // Jump process definition
|
|
|
- this.$router.push({ name: 'projects-definition-list' })
|
|
|
- }
|
|
|
- })
|
|
|
- .catch((e) => {
|
|
|
- this.setName('')
|
|
|
- this.$message.error(e.msg || '')
|
|
|
- })
|
|
|
- .finally((e) => {
|
|
|
- this.loading(false)
|
|
|
- })
|
|
|
+ if (this.type === 'instance') {
|
|
|
+ this.$router.push({
|
|
|
+ path: `/projects/${this.projectCode}/instance/list`
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$router.push({
|
|
|
+ path: `/projects/${this.projectCode}/definition/list`
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ this.$message.error(e.msg || '')
|
|
|
+ })
|
|
|
+ .finally((e) => {
|
|
|
+ this.loading(false)
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ // Create
|
|
|
+ return this.saveDAGchart()
|
|
|
+ .then((res) => {
|
|
|
+ this.$message.success(res.msg)
|
|
|
+ // source @/conf/home/pages/dag/_source/editAffirmModel/index.js
|
|
|
+ if (sourceType !== 'affirm') {
|
|
|
+ // Jump process definition
|
|
|
+ this.$router.push({ name: 'projects-definition-list' })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ this.setName('')
|
|
|
+ this.$message.error(e.msg || '')
|
|
|
+ })
|
|
|
+ .finally((e) => {
|
|
|
+ this.loading(false)
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- }).catch((err) => {
|
|
|
- let msg = typeof err === 'string' ? err : (err.msg || '')
|
|
|
- this.$message.error(msg)
|
|
|
- })
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ let msg = typeof err === 'string' ? err : err.msg || ''
|
|
|
+ this.$message.error(msg)
|
|
|
+ })
|
|
|
},
|
|
|
verifyConditions (value) {
|
|
|
let tasks = value
|
|
@@ -432,31 +447,35 @@
|
|
|
tasksMap[task.code] = task
|
|
|
})
|
|
|
|
|
|
- const headEdges = tasks.filter(task => !preTaskMap[task.code]).map((task) => {
|
|
|
- return {
|
|
|
- name: '',
|
|
|
- preTaskCode: 0,
|
|
|
- preTaskVersion: 0,
|
|
|
- postTaskCode: task.code,
|
|
|
- postTaskVersion: task.version || 0,
|
|
|
- // conditionType and conditionParams are reserved
|
|
|
- conditionType: 0,
|
|
|
- conditionParams: {}
|
|
|
- }
|
|
|
- })
|
|
|
+ const headEdges = tasks
|
|
|
+ .filter((task) => !preTaskMap[task.code])
|
|
|
+ .map((task) => {
|
|
|
+ return {
|
|
|
+ name: '',
|
|
|
+ preTaskCode: 0,
|
|
|
+ preTaskVersion: 0,
|
|
|
+ postTaskCode: task.code,
|
|
|
+ postTaskVersion: task.version || 0,
|
|
|
+ // conditionType and conditionParams are reserved
|
|
|
+ conditionType: 0,
|
|
|
+ conditionParams: {}
|
|
|
+ }
|
|
|
+ })
|
|
|
|
|
|
- return edges.map(edge => {
|
|
|
- return {
|
|
|
- name: edge.label,
|
|
|
- preTaskCode: edge.sourceId,
|
|
|
- preTaskVersion: tasksMap[edge.sourceId].version || 0,
|
|
|
- postTaskCode: edge.targetId,
|
|
|
- postTaskVersion: tasksMap[edge.targetId].version || 0,
|
|
|
- // conditionType and conditionParams are reserved
|
|
|
- conditionType: 0,
|
|
|
- conditionParams: {}
|
|
|
- }
|
|
|
- }).concat(headEdges)
|
|
|
+ return edges
|
|
|
+ .map((edge) => {
|
|
|
+ return {
|
|
|
+ name: edge.label,
|
|
|
+ preTaskCode: edge.sourceId,
|
|
|
+ preTaskVersion: tasksMap[edge.sourceId].version || 0,
|
|
|
+ postTaskCode: edge.targetId,
|
|
|
+ postTaskVersion: tasksMap[edge.targetId].version || 0,
|
|
|
+ // conditionType and conditionParams are reserved
|
|
|
+ conditionType: 0,
|
|
|
+ conditionParams: {}
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .concat(headEdges)
|
|
|
},
|
|
|
backfill () {
|
|
|
const tasks = this.tasks
|
|
@@ -479,8 +498,10 @@
|
|
|
})
|
|
|
},
|
|
|
toSubProcess ({ subProcessCode, subInstanceId }) {
|
|
|
- const tarIdentifier = this.type === 'instance' ? subInstanceId : subProcessCode
|
|
|
- const curIdentifier = this.type === 'instance' ? this.instanceId : this.definitionCode
|
|
|
+ const tarIdentifier =
|
|
|
+ this.type === 'instance' ? subInstanceId : subProcessCode
|
|
|
+ const curIdentifier =
|
|
|
+ this.type === 'instance' ? this.instanceId : this.definitionCode
|
|
|
let subs = []
|
|
|
let olds = this.$route.query.subs
|
|
|
if (olds) {
|
|
@@ -532,6 +553,7 @@
|
|
|
this.$message(this.$t('Refresh status succeeded'))
|
|
|
const { taskList } = res.data
|
|
|
if (taskList) {
|
|
|
+ this.taskInstances = taskList
|
|
|
taskList.forEach((taskInstance) => {
|
|
|
this.$refs.canvas.setNodeStatus({
|
|
|
code: taskInstance.taskCode,
|
|
@@ -598,42 +620,67 @@
|
|
|
this.switchProcessDefinitionVersion({
|
|
|
version: version,
|
|
|
code: processDefinitionCode
|
|
|
- }).then(res => {
|
|
|
- this.$message.success($t('Switch Version Successfully'))
|
|
|
- this.closeVersion()
|
|
|
- this.definitionDetails.init()
|
|
|
- }).catch(e => {
|
|
|
- this.$message.error(e.msg || '')
|
|
|
})
|
|
|
+ .then((res) => {
|
|
|
+ this.$message.success($t('Switch Version Successfully'))
|
|
|
+ this.closeVersion()
|
|
|
+ this.definitionDetails.init()
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ this.$message.error(e.msg || '')
|
|
|
+ })
|
|
|
},
|
|
|
getProcessVersions ({ pageNo, pageSize, processDefinitionCode }) {
|
|
|
this.getProcessDefinitionVersionsPage({
|
|
|
pageNo: pageNo,
|
|
|
pageSize: pageSize,
|
|
|
code: processDefinitionCode
|
|
|
- }).then(res => {
|
|
|
- this.versionData.processDefinitionVersions = res.data.totalList
|
|
|
- this.versionData.total = res.data.total
|
|
|
- this.versionData.pageSize = res.data.pageSize
|
|
|
- this.versionData.pageNo = res.data.currentPage
|
|
|
- }).catch(e => {
|
|
|
- this.$message.error(e.msg || '')
|
|
|
})
|
|
|
+ .then((res) => {
|
|
|
+ this.versionData.processDefinitionVersions = res.data.totalList
|
|
|
+ this.versionData.total = res.data.total
|
|
|
+ this.versionData.pageSize = res.data.pageSize
|
|
|
+ this.versionData.pageNo = res.data.currentPage
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ this.$message.error(e.msg || '')
|
|
|
+ })
|
|
|
},
|
|
|
deleteProcessVersion ({ version, processDefinitionCode }) {
|
|
|
this.deleteProcessDefinitionVersion({
|
|
|
version: version,
|
|
|
code: processDefinitionCode
|
|
|
- }).then(res => {
|
|
|
- this.$message.success(res.msg || '')
|
|
|
- this.getProcessVersions({
|
|
|
- pageNo: 1,
|
|
|
- pageSize: 10,
|
|
|
- processDefinitionCode: processDefinitionCode
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ this.$message.success(res.msg || '')
|
|
|
+ this.getProcessVersions({
|
|
|
+ pageNo: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ processDefinitionCode: processDefinitionCode
|
|
|
+ })
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ this.$message.error(e.msg || '')
|
|
|
})
|
|
|
- }).catch(e => {
|
|
|
- this.$message.error(e.msg || '')
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * Log dialog
|
|
|
+ */
|
|
|
+ closeLogDialog () {
|
|
|
+ this.logDialog = false
|
|
|
+ this.logTaskInstance = null
|
|
|
+ },
|
|
|
+ showLogDialog (taskDefinitionCode) {
|
|
|
+ const taskInstance = this.taskInstances.find(taskInstance => {
|
|
|
+ return taskInstance.taskCode === taskDefinitionCode
|
|
|
})
|
|
|
+ if (taskInstance) {
|
|
|
+ this.logTaskInstance = {
|
|
|
+ id: taskInstance.id,
|
|
|
+ type: taskInstance.taskType
|
|
|
+ }
|
|
|
+ this.logDialog = true
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|