Commit 0fbdb113 authored by 周远喜's avatar 周远喜

工作流设计。

parent 24ad6b62
......@@ -8305,9 +8305,9 @@
}
},
"gojs": {
"version": "2.1.15",
"resolved": "http://r.cnpmjs.org/gojs/download/gojs-2.1.15.tgz",
"integrity": "sha1-r56WmFimOOa4EnYEKCYO1SRM94M="
"version": "2.1.19",
"resolved": "https://registry.npmjs.org/gojs/-/gojs-2.1.19.tgz",
"integrity": "sha512-K2sJlmNdU5PacFQTPK4QMMaxjl+MSNlM3Nr5Okh7cI37EAFHZ/XVccNojYOV6v7Q9RSDDGFZbExfgniqS5kTww=="
},
"good-listener": {
"version": "1.2.2",
......
......@@ -23,7 +23,7 @@
"echarts-liquidfill": "^2.0.5",
"gantt-elastic": "^1.0.11",
"gantt-elastic-header": "^0.1.11",
"gojs": "^2.1.10",
"gojs": "^2.1.19",
"iview-loader": "^1.3.0",
"iview-pro": "file:./iview-pro",
"js-cookie": "^2.2.1",
......
import Api from '@/plugins/request'
export default {
index: `${workflowUrl}/schema/getpaged`,
paged(params) {
return Api.post(`${workflowUrl}/schema/getpaged`, params);
},
get(params) {
return Api.get(`${workflowUrl}/schema/get`, params);
},
create(params) {
return Api.post(`${workflowUrl}/schema/create`, params);
},
update(params) {
return Api.post(`${workflowUrl}/schema/update`, params);
},
disable(params) { //禁用
return Api.post(`${workflowUrl}/schema/disable`, params);
},
enable(params) { //启用
return Api.post(`${workflowUrl}/schema/enable`, params);
},
delete(params) { //删除:
return Api.delete(`${workflowUrl}/schema/delete`, {
params: params
});
},
detail(params) { //流程设计
return Api.get(`${workflowUrl}/schema/detail`, params);
},
getNode(params) { //流程设计编辑回显
return Api.get(`${workflowUrl}/node/get`, params);
},
updateNode(params) { //流程设计编辑保存
return Api.post(`${workflowUrl}/node/update`, params);
},
}
\ No newline at end of file
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="90">
<Row>
<!-- <Col :span="12">
<FormItem :label="l('formId')" prop="formId">
<InputNumber v-model="entity.formId"></InputNumber>
</FormItem>
</Col> -->
<Col :span="24">
<FormItem :label="l('name')" prop="name">
<Input v-model="entity.name"></Input>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('operation')" prop="operation">
<Dictionary code="workflow.form.audit.type" v-model="entity.operation" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('rejectOption')" prop="rejectOption">
<Dictionary code="workflow.schema.rejectType" v-model="entity.rejectOption" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('category')" prop="category">
<Dictionary code="workflow.schema.nodeCategory" v-model="entity.category" type="radio"></Dictionary>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('roleIdList')" prop="roleIdList">
<RoleSelect v-model="entity.roleIdList" multiple />
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('userIdList')" prop="userIdList">
<UserSelect v-model="entity.userIdList" multiple />
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('isFixed')" prop="category">
<Checkbox v-model="entity.isFixed">固定</Checkbox>(固定后,审批人员不能修改。)
</FormItem>
</Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
</template>
<script>
import Api from './api'
export default {
name: 'Edit',
data() {
return {
disabled: false,
entity: {name:''},
rules: {
// formId: [{ required: true, message: '必填', trigger: 'change' }],
name: [{ required: true, message: '必填', trigger: 'blur' }]
// rejectOption: [{ required: true, message: '必填', trigger: 'change' }],
// category: [{ required: true, message: '必填', trigger: 'change' }],
// nodeCategory: [{ required: true, message: '必填', trigger: 'change' }]
}
}
},
props: {
eid: Number
},
created(){
if(this.eid>0){
this.load(this.eid);
}
},
methods: {
load(v) {
Api.getNode({ id: v }).then((r) => {
this.entity = r.result
this.entity.userIdList=r.result.userIds||[]
var roleIds=[];
if(r.result.roleList){
r.result.roleList.map(u=>{
roleIds.push(u.id);
})
}
this.entity.roleIdList=roleIds;
// this.$set(this.entity,r.result)
// this.$emit('on-load')
})
},
handleSubmit() {
this.$refs.form.validate((v) => {
if (v) {
console.warn(this.entity);
if(this.entity.userIdList.length+this.entity.roleIdList.length==0){
this.$Message.error('审批人或者审批角色至少选择一个。')
return;
}
this.disabled = true
Api.updateNode(this.entity)
.then((r) => {
this.disabled = false
if (r.success) {
this.$Message.success('保存成功')
this.$emit('on-ok',this.entity)
} else {
this.$Message.error('保存失败')
}
})
.catch((err) => {
this.disabled = false
this.$Message.error('保存失败')
})
}else{
debugger;
this.$Message.error('异常')
}
})
},
handleClose() {
this.$emit('on-close')
},
l(key) {
key = 'node' + '.' + key
return this.$t(key)
}
},
watch: {
eid(v) {
if (v >0) {
this.load(v)
console.log(v)
}
}
}
}
</script>
This diff is collapsed.
......@@ -61,8 +61,12 @@ export default {
async fetch({ store, params }) {
await store.dispatch('loadDictionary') // 加载数据字典
},
mounted(){
this.load(this.eid)
},
methods: {
load(v) {
alert(v)
Api.detail({ id: v }).then((r) => {
this.nodes = r.result.nodes
// this.$emit('on-load')
......
......@@ -24,8 +24,11 @@
<Modal v-model="editModal" title="编辑" footer-hide :mask-closable="false">
<Edit :eid="curId" @on-close="cancel" @on-ok="addOk" />
</Modal>
<Modal v-model="designModal" title="流程设计" :mask-closable="false" fullscreen footer-hide>
<!-- <Modal v-model="designModal" title="流程设计" :mask-closable="false" fullscreen footer-hide>
<Design :eid="curId" />
</Modal> -->
<Modal v-model="designModal" title="流程设计" :mask-closable="false" fullscreen footer-hide>
<component :is="flowDesign" :eid="curId" />
</Modal>
<!-- <Modal
v-model="deletelModal"
......@@ -60,14 +63,14 @@
import Api from './api'
import Add from './add'
import Edit from './edit'
import Design from './design'
// import Design from './design'
import Search from './search'
export default {
name: 'list',
components: {
Add,
Edit,
Design,
// Design,
Search
},
data() {
......@@ -81,6 +84,8 @@ export default {
// value: userInfo.userId
// }
},
flowModal:false,
flowDesign:null,
addModal: false,
editModal: false,
designModal: false,
......@@ -174,6 +179,14 @@ export default {
on: { click: () => this.design(params.row.id) }
},
'流程'
),
h(
'op',
{
attrs: { oprate: 'add' },
on: { click: () => this.flow(params.row.id) }
},
'流程2'
),
h(
'op',
......@@ -217,6 +230,12 @@ export default {
design(id) {
this.designModal = true
this.curId = id
this.flowDesign=()=>import('./design')
},
flow(id) {
this.designModal = true
this.curId = id
this.flowDesign=()=>import('../flow')
},
edit(id) {
this.editModal = true
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment