| New file |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-form |
| | | ref="form" |
| | | :option="option" |
| | | v-model="form" |
| | | :upload-before="uploadBefore" |
| | | :upload-after="uploadAfter" |
| | | /> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import { deployUpload } from '@/api/flow/flow'; |
| | | import { flowCategory } from '@/utils/flow'; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | form: { |
| | | flowCategory: '', |
| | | tenantId: '', |
| | | flowFile: [], |
| | | file: {}, |
| | | }, |
| | | option: { |
| | | labelWidth: 120, |
| | | menuBtn: false, |
| | | column: [ |
| | | { |
| | | label: '流程类型', |
| | | prop: 'flowCategory', |
| | | type: 'select', |
| | | dicUrl: `/blade-system/dict/dictionary?code=flow`, |
| | | props: { |
| | | label: 'dictValue', |
| | | value: 'dictKey', |
| | | }, |
| | | row: true, |
| | | span: 12, |
| | | dataType: 'number', |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: '请选择流程类型', |
| | | trigger: 'blur', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: '流程模式', |
| | | prop: 'flowMode', |
| | | type: 'radio', |
| | | dicData: [ |
| | | { |
| | | label: '通用流程', |
| | | value: 1, |
| | | }, |
| | | { |
| | | label: '定制流程', |
| | | value: 2, |
| | | }, |
| | | ], |
| | | value: 1, |
| | | row: true, |
| | | span: 12, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: '请选择流程模式', |
| | | trigger: 'blur', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: '所属租户', |
| | | prop: 'tenantId', |
| | | type: 'tree', |
| | | multiple: true, |
| | | dicUrl: '/blade-system/tenant/select', |
| | | props: { |
| | | label: 'tenantName', |
| | | value: 'tenantId', |
| | | }, |
| | | display: false, |
| | | row: true, |
| | | span: 12, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: '请选择所属租户', |
| | | trigger: 'blur', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: '附件上传', |
| | | prop: 'flowFile', |
| | | type: 'upload', |
| | | loadText: '附件上传中,请稍等', |
| | | span: 24, |
| | | propsHttp: { |
| | | res: 'data', |
| | | }, |
| | | tip: '请上传 bpmn20.xml 标准格式文件', |
| | | action: '/blade-flow/manager/check-upload', |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | watch: { |
| | | 'form.flowMode'() { |
| | | this.$refs.form.option.column.filter(item => { |
| | | if (item.prop === 'tenantId') { |
| | | item.display = this.form.flowMode === 2; |
| | | } |
| | | }); |
| | | }, |
| | | }, |
| | | 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 (this.form.flowMode === 2 && !this.form.tenantId) { |
| | | this.$message.warning('清先选择对应租户'); |
| | | loading(); |
| | | return false; |
| | | } |
| | | if (res.success) { |
| | | deployUpload( |
| | | flowCategory(this.form.flowCategory), |
| | | this.form.tenantId ? this.form.tenantId.join(',') : '', |
| | | [this.file] |
| | | ).then(res => { |
| | | const data = res.data; |
| | | if (data.success) { |
| | | done(); |
| | | } else { |
| | | this.$message.error(data.msg); |
| | | loading(); |
| | | } |
| | | }); |
| | | } else { |
| | | this.$message.warning('请上传 bpmn20.xml 标准格式文件'); |
| | | loading(); |
| | | return false; |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |