增加流程部署功能

pull/59/head
smallchill 7 years ago
parent 634e14c910
commit 8af7d66399
  1. 16
      src/api/flow/flow.js
  2. 20
      src/util/flow.js
  3. 12
      src/util/func.js
  4. 40
      src/views/flow/deploy.vue
  5. 2
      src/views/flow/follow.vue
  6. 5
      src/views/flow/manager.vue
  7. 7
      src/views/flow/model.vue
  8. 6
      src/views/work/claim.vue
  9. 6
      src/views/work/done.vue
  10. 6
      src/views/work/send.vue
  11. 6
      src/views/work/start.vue
  12. 8
      src/views/work/todo.vue

@ -63,6 +63,22 @@ export const changeState = (params) => {
}) })
} }
export const deployUpload = (category, files) => {
const formData = new FormData();
formData.append('category', category);
files.forEach(file => {
formData.append('files', file);
});
return request({
headers: {
"Content-Type": "multipart/form-data"
},
url: '/api/blade-flow/manager/deploy-upload',
method: 'post',
data: formData
})
}
export const deleteDeployment = (deploymentIds) => { export const deleteDeployment = (deploymentIds) => {
return request({ return request({
url: '/api/blade-flow/manager/delete-deployment', url: '/api/blade-flow/manager/delete-deployment',

@ -0,0 +1,20 @@
/**
* 工作流统一分类格式
* @param category 分类字典号
* @returns {string}
*/
export function flowCategory(category) {
return `flow_${category}`;
}
/**
* 根据key获取流程路由
* @param routes
* @param key
*/
export function flowRoute(routes, key) {
const data = routes.filter(d => {
return d.routeKey === key;
});
return data.length === 0 ? [] : data[0].routeValue;
}

@ -78,15 +78,3 @@ export function split(str) {
return str ? String(str).split(',') : ''; return str ? String(str).split(',') : '';
} }
/**
* 根据key获取流程路由
* @param routes
* @param key
*/
export function getFlowRoute(routes, key) {
const data = routes.filter(d => {
return d.routeKey === key;
});
return data.length === 0 ? [] : data[0].routeValue;
}

@ -5,14 +5,20 @@
</template> </template>
<script> <script>
import {deployUpload} from "@/api/flow/flow";
import {flowCategory} from "@/util/flow";
export default { export default {
data() { data() {
return { return {
form: { form: {
flowCategory: '',
imgUrl: [], imgUrl: [],
file: {},
}, },
option: { option: {
labelWidth: 120, labelWidth: 120,
menuBtn: false,
column: [ column: [
{ {
label: '流程类型', label: '流程类型',
@ -38,28 +44,44 @@
loadText: '附件上传中,请稍等', loadText: '附件上传中,请稍等',
span: 24, span: 24,
propsHttp: { propsHttp: {
res: 'data.0' res: 'data'
}, },
tip: '请上传 bpmn20.xml 标准格式文件', tip: '请上传 bpmn20.xml 标准格式文件',
action: '/api/blade-flow/manager/check-upload'
}, },
] ]
} }
} }
}, },
methods: { methods: {
uploadBefore(file, done, loading) { uploadBefore(file, done) {
console.log(file) this.$message.success('部署开始')
this.file = file;
done() done()
this.$message.success('上传前的方法')
}, },
uploadAfter(res, done, loading) { uploadAfter(res, done, loading) {
console.log(res) 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() done()
this.$message.success('上传后的方法') } else {
}, this.$message.error(data.msg);
submit() { loading()
this.$message.success('当前数据' + JSON.stringify(this.form))
} }
})
} else {
this.$message.warning('请上传 bpmn20.xml 标准格式文件');
loading()
return false;
}
},
} }
} }
</script> </script>

@ -34,8 +34,8 @@
</template> </template>
<script> <script>
import {followList, deleteProcessInstance} from "@/api/flow/flow";
import {mapGetters} from "vuex"; import {mapGetters} from "vuex";
import {followList, deleteProcessInstance} from "@/api/flow/flow";
export default { export default {
data() { data() {

@ -103,8 +103,9 @@
</template> </template>
<script> <script>
import {managerList, changeState, deleteDeployment} from "@/api/flow/flow";
import {mapGetters} from "vuex"; import {mapGetters} from "vuex";
import {managerList, changeState, deleteDeployment} from "@/api/flow/flow";
import {flowCategory} from "@/util/flow";
export default { export default {
data() { data() {
@ -292,7 +293,7 @@
onLoad(page, params = {}) { onLoad(page, params = {}) {
const values = { const values = {
...params, ...params,
category: (params.category) ? `flow_${params.category}` : null category: (params.category) ? flowCategory(params.category) : null
} }
managerList(page.currentPage, page.pageSize, values).then(res => { managerList(page.currentPage, page.pageSize, values).then(res => {
const data = res.data.data; const data = res.data.data;

@ -110,10 +110,11 @@
</template> </template>
<script> <script>
import {getDictionary} from "@/api/system/dict";
import {modelList, removeModel, deployModel} from "@/api/flow/flow";
import {mapGetters} from "vuex"; import {mapGetters} from "vuex";
import website from '@/config/website'; import website from '@/config/website';
import {getDictionary} from "@/api/system/dict";
import {modelList, removeModel, deployModel} from "@/api/flow/flow";
import {flowCategory} from "@/util/flow";
export default { export default {
data() { data() {
@ -237,7 +238,7 @@
}); });
return; return;
} }
deployModel({ modelId: this.selectionId, category: `flow_${this.categoryValue}` }).then(res =>{ deployModel({ modelId: this.selectionId, category: flowCategory(this.categoryValue) }).then(res =>{
const data = res.data; const data = res.data;
if (data.success) { if (data.success) {
this.$message({ this.$message({

@ -63,7 +63,7 @@
<script> <script>
import {mapGetters} from "vuex"; import {mapGetters} from "vuex";
import {claimList, claimTask} from "@/api/work/work"; import {claimList, claimTask} from "@/api/work/work";
import {getFlowRoute} from "@/util/func"; import {flowCategory, flowRoute} from "@/util/flow";
export default { export default {
data() { data() {
@ -165,7 +165,7 @@
}); });
}, },
handleDetail(row) { handleDetail(row) {
this.$router.push({path: `/work/process/${getFlowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}`}); this.$router.push({path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}`});
}, },
handleImage(row) { handleImage(row) {
this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`; this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`;
@ -174,7 +174,7 @@
onLoad(page, params = {}) { onLoad(page, params = {}) {
const values = { const values = {
...params, ...params,
category: (params.category) ? `flow_${params.category}` : null category: (params.category) ? flowCategory(params.category) : null
} }
claimList(page.currentPage, page.pageSize, values).then(res => { claimList(page.currentPage, page.pageSize, values).then(res => {
const data = res.data.data; const data = res.data.data;

@ -56,7 +56,7 @@
<script> <script>
import {mapGetters} from "vuex"; import {mapGetters} from "vuex";
import {doneList} from "@/api/work/work"; import {doneList} from "@/api/work/work";
import {getFlowRoute} from "@/util/func"; import {flowCategory, flowRoute} from "@/util/flow";
export default { export default {
data() { data() {
@ -141,7 +141,7 @@
this.selectionList = list; this.selectionList = list;
}, },
handleDetail(row) { handleDetail(row) {
this.$router.push({ path: `/work/process/${getFlowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}` }); this.$router.push({path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}`});
}, },
handleImage(row) { handleImage(row) {
this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`; this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`;
@ -150,7 +150,7 @@
onLoad(page, params = {}) { onLoad(page, params = {}) {
const values = { const values = {
...params, ...params,
category: (params.category) ? `flow_${params.category}` : null category: (params.category) ? flowCategory(params.category) : null
} }
doneList(page.currentPage, page.pageSize, values).then(res => { doneList(page.currentPage, page.pageSize, values).then(res => {
const data = res.data.data; const data = res.data.data;

@ -60,7 +60,7 @@
<script> <script>
import {mapGetters} from "vuex"; import {mapGetters} from "vuex";
import {sendList} from "@/api/work/work"; import {sendList} from "@/api/work/work";
import {getFlowRoute} from "@/util/func"; import {flowCategory,flowRoute} from "@/util/flow";
export default { export default {
data() { data() {
@ -150,7 +150,7 @@
this.selectionList = list; this.selectionList = list;
}, },
handleDetail(row) { handleDetail(row) {
this.$router.push({ path: `/work/process/${getFlowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}` }); this.$router.push({ path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}` });
}, },
handleImage(row) { handleImage(row) {
this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`; this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`;
@ -159,7 +159,7 @@
onLoad(page, params = {}) { onLoad(page, params = {}) {
const values = { const values = {
...params, ...params,
category: (params.category) ? `flow_${params.category}` : null category: (params.category) ? flowCategory(params.category) : null
} }
sendList(page.currentPage, page.pageSize, values).then(res => { sendList(page.currentPage, page.pageSize, values).then(res => {
const data = res.data.data; const data = res.data.data;

@ -64,7 +64,7 @@
<script> <script>
import {mapGetters} from "vuex"; import {mapGetters} from "vuex";
import {startList} from "@/api/work/work"; import {startList} from "@/api/work/work";
import {getFlowRoute} from "@/util/func"; import {flowCategory,flowRoute} from "@/util/flow";
export default { export default {
data() { data() {
@ -154,7 +154,7 @@
}, },
handleStart(row) { handleStart(row) {
console.log(this.flowRoutes) console.log(this.flowRoutes)
this.$router.push({path: `/work/process/${getFlowRoute(this.flowRoutes, row.category)}/form/${row.id}`}); this.$router.push({path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/form/${row.id}`});
}, },
handleImage(row) { handleImage(row) {
this.flowUrl = `/api/blade-flow/process/resource-view?processDefinitionId=${row.id}`; this.flowUrl = `/api/blade-flow/process/resource-view?processDefinitionId=${row.id}`;
@ -163,7 +163,7 @@
onLoad(page, params = {}) { onLoad(page, params = {}) {
const values = { const values = {
...params, ...params,
category: (params.category) ? `flow_${params.category}` : null category: (params.category) ? flowCategory(params.category) : null
} }
startList(page.currentPage, page.pageSize, values).then(res => { startList(page.currentPage, page.pageSize, values).then(res => {
const data = res.data.data; const data = res.data.data;

@ -63,7 +63,7 @@
<script> <script>
import {mapGetters} from "vuex"; import {mapGetters} from "vuex";
import {todoList} from "@/api/work/work"; import {todoList} from "@/api/work/work";
import {getFlowRoute} from "@/util/func"; import {flowCategory,flowRoute} from "@/util/flow";
export default { export default {
data() { data() {
@ -148,10 +148,10 @@
this.selectionList = list; this.selectionList = list;
}, },
handleWork(row) { handleWork(row) {
this.$router.push({ path: `/work/process/${getFlowRoute(this.flowRoutes, row.category)}/handle/${row.taskId}/${row.processInstanceId}/${row.businessId}` }); this.$router.push({ path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/handle/${row.taskId}/${row.processInstanceId}/${row.businessId}` });
}, },
handleDetail(row) { handleDetail(row) {
this.$router.push({ path: `/work/process/${getFlowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}` }); this.$router.push({ path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}` });
}, },
handleImage(row) { handleImage(row) {
this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`; this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`;
@ -160,7 +160,7 @@
onLoad(page, params = {}) { onLoad(page, params = {}) {
const values = { const values = {
...params, ...params,
category: (params.category) ? `flow_${params.category}` : null category: (params.category) ? flowCategory(params.category) : null
} }
todoList(page.currentPage, page.pageSize, values).then(res => { todoList(page.currentPage, page.pageSize, values).then(res => {
const data = res.data.data; const data = res.data.data;

Loading…
Cancel
Save