bladex前端ui项目,基于avue-cli2.0开发
包含基础工作流,不包含表单设计器
https://git.javablade.com/blade/Saber
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.3 KiB
87 lines
2.3 KiB
<template> |
|
<basic-container> |
|
<avue-form :option="option" v-model="form" :upload-before="uploadBefore" :upload-after="uploadAfter"></avue-form> |
|
</basic-container> |
|
</template> |
|
|
|
<script> |
|
import {deployUpload} from "@/api/flow/flow"; |
|
import {flowCategory} from "@/util/flow"; |
|
|
|
export default { |
|
data() { |
|
return { |
|
form: { |
|
flowCategory: '', |
|
imgUrl: [], |
|
file: {}, |
|
}, |
|
option: { |
|
labelWidth: 120, |
|
menuBtn: false, |
|
column: [ |
|
{ |
|
label: '流程类型', |
|
prop: 'flowCategory', |
|
type: 'select', |
|
dicUrl: `/api/blade-system/dict/dictionary?code=flow`, |
|
props: { |
|
label: "dictValue", |
|
value: "dictKey" |
|
}, |
|
rules: [ |
|
{ |
|
required: true, |
|
message: '请选择流程类型', |
|
trigger: 'blur' |
|
} |
|
] |
|
}, |
|
{ |
|
label: '附件上传', |
|
prop: 'imgUrl', |
|
type: 'upload', |
|
loadText: '附件上传中,请稍等', |
|
span: 24, |
|
propsHttp: { |
|
res: 'data' |
|
}, |
|
tip: '请上传 bpmn20.xml 标准格式文件', |
|
action: '/api/blade-flow/manager/check-upload' |
|
}, |
|
] |
|
} |
|
} |
|
}, |
|
methods: { |
|
uploadBefore(file, done) { |
|
this.$message.success('部署开始') |
|
this.file = file; |
|
done() |
|
}, |
|
uploadAfter(res, done, loading) { |
|
if (!this.form.flowCategory) { |
|
this.$message.warning('清先选择流程类型'); |
|
loading() |
|
return false; |
|
} |
|
if (res.success) { |
|
deployUpload(flowCategory(this.form.flowCategory), [this.file]).then(res => { |
|
const data = res.data; |
|
if (data.success) { |
|
this.$message.success('部署结束') |
|
done() |
|
} else { |
|
this.$message.error(data.msg); |
|
loading() |
|
} |
|
}) |
|
} else { |
|
this.$message.warning('请上传 bpmn20.xml 标准格式文件'); |
|
loading() |
|
return false; |
|
} |
|
}, |
|
} |
|
} |
|
</script>
|
|
|