build : 流程演示
This commit is contained in:
@@ -26,6 +26,13 @@ export const agreeTask = (data) => {
|
|||||||
data: data
|
data: data
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
export const rejectTask = (data) => {
|
||||||
|
return request({
|
||||||
|
url: `/workflow/mosr/process/task/reject`,
|
||||||
|
method: "post",
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
export const addRequirement = (data) => {
|
export const addRequirement = (data) => {
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
<file-upload @getFile="getFile"/>
|
<file-upload @getFile="getFile"/>
|
||||||
<div class="approval-record">
|
<div class="approval-record">
|
||||||
<baseTitle title="流程"></baseTitle>
|
<baseTitle title="流程"></baseTitle>
|
||||||
<process-diagram-viewer v-if="processDiagramViewer"/>
|
<process-diagram-viewer mode="view" v-if="processDiagramViewer" />
|
||||||
<!-- <div class="process" id="approvalRecord">-->
|
<!-- <div class="process" id="approvalRecord">-->
|
||||||
<!-- <process-tree ref="processTree" mode="view" id-name="approvalRecord"/>-->
|
<!-- <process-tree ref="processTree" mode="view" id-name="approvalRecord"/>-->
|
||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
|
|||||||
@@ -60,16 +60,16 @@
|
|||||||
<div class="approval-record">
|
<div class="approval-record">
|
||||||
<baseTitle title="审批记录"></baseTitle>
|
<baseTitle title="审批记录"></baseTitle>
|
||||||
<div class="process">
|
<div class="process">
|
||||||
<operation-render :operation-list="processInstanceData.operationList"
|
<operation-render v-if="processDiagramViewer" :operation-list="processInstanceData.operationList"
|
||||||
:state="'4'"/>
|
:state="'4'"/>
|
||||||
<!-- <process-diagram-viewer v-if="processDiagramViewer"/>-->
|
<process-diagram-viewer v-if="processDiagramViewer"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- </el-col>-->
|
<!-- </el-col>-->
|
||||||
<!-- </el-row>-->
|
<!-- </el-row>-->
|
||||||
</el-form>
|
</el-form>
|
||||||
<div class="oper-page-btn" v-if="processInstanceData.taskId">
|
<div class="oper-page-btn" v-if="processInstanceData.taskId">
|
||||||
<el-button @click="handleBack">驳回</el-button>
|
<el-button @click="handleReject">驳回</el-button>
|
||||||
<el-button color="#DED0B2" @click="handleSubmit">同意</el-button>
|
<el-button color="#DED0B2" @click="handleSubmit">同意</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
import OperationRender from '@/views/workflow/common/OperationRender.vue'
|
import OperationRender from '@/views/workflow/common/OperationRender.vue'
|
||||||
import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.vue'
|
import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.vue'
|
||||||
import {useProcessStore} from '@/stores/processStore.js';
|
import {useProcessStore} from '@/stores/processStore.js';
|
||||||
import {getInfo, agreeTask} from "@/api/project-demand/index.js";
|
import {getInfo, agreeTask, rejectTask} from "@/api/project-demand/index.js";
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const form = ref();
|
const form = ref();
|
||||||
@@ -130,6 +130,15 @@ const handleSubmit = () => {
|
|||||||
console.log(res)
|
console.log(res)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
const handleReject = () => {
|
||||||
|
let approve = {
|
||||||
|
taskId: processInstanceData.value.taskId,
|
||||||
|
auditOpinion : auditOpinion.value,
|
||||||
|
}
|
||||||
|
rejectTask(approve).then(res => {
|
||||||
|
console.log(res)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const init = async () => {
|
const init = async () => {
|
||||||
getInfo(route.query.id).then(res => {
|
getInfo(route.query.id).then(res => {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<div style="margin-top: 40px">
|
<div style="margin-top: 40px">
|
||||||
<div :style="'transform: scale('+ scale / 100 +');'">
|
<div :style="'transform: scale('+ scale / 100 +');'">
|
||||||
<div id="previewProcess">
|
<div id="previewProcess">
|
||||||
<process-tree mode="preview" ref="processTreePreview" id-name="previewProcess"/>
|
<process-tree :mode="mode" ref="processTreePreview" id-name="previewProcess"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -20,6 +20,12 @@ import ProcessTree from '@/views/workflow/process/ProcessTree.vue'
|
|||||||
|
|
||||||
const processTreePreview = ref()
|
const processTreePreview = ref()
|
||||||
const scale = ref(100)
|
const scale = ref(100)
|
||||||
|
const props = defineProps({
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: 'preview'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
nextTick(()=>{
|
nextTick(()=>{
|
||||||
processTreePreview.value.init()
|
processTreePreview.value.init()
|
||||||
|
|||||||
@@ -38,6 +38,10 @@ const props = defineProps({
|
|||||||
userInfo: {
|
userInfo: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default: []
|
default: []
|
||||||
|
},
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: 'design'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -17,24 +17,28 @@
|
|||||||
</el-icon>
|
</el-icon>
|
||||||
<template v-if="selectUser.show && mode === 'view'">
|
<template v-if="selectUser.show && mode === 'view'">
|
||||||
<div class="avatar_button">
|
<div class="avatar_button">
|
||||||
<avatar-ellipsis :row="3" v-if="userInfo.length > 0" :user-info="userInfo"/>
|
<avatar-ellipsis :row="3" v-if="userInfo.length > 0" :mode="mode" :user-info="userInfo"/>
|
||||||
<el-button type="primary" :icon="Plus" circle/>
|
<el-button type="primary" :icon="Plus" circle/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="showAvatar">
|
<template v-else-if="showAvatar">
|
||||||
<span class="placeholder" v-if="userInfo.length === 0">{{ placeholder }}</span>
|
<span class="placeholder" v-if="userInfo.length === 0">{{ placeholder }}</span>
|
||||||
<div v-else v-for="item in userInfo" class="circle-user">
|
|
||||||
<span>{{ item.name }}</span>
|
<avatar-ellipsis :row="3" v-if="userInfo.length > 0" :mode="mode" :user-info="userInfo"/>
|
||||||
<el-button v-if="item.state==='RUNNING'" type="warning" loading circle class="circle-icon"></el-button>
|
|
||||||
<el-button v-else-if="item.state==='UNACTIVATED'" type="info" :icon="More" circle
|
|
||||||
class="circle-icon"></el-button>
|
<!-- <div v-else v-for="item in userInfo" class="circle-user">-->
|
||||||
<el-button v-else type="success" :icon="Check" circle class="circle-icon"></el-button>
|
<!-- <span>{{ item.name }}</span>-->
|
||||||
</div>
|
<!-- <el-button v-if="item.state==='RUNNING'" type="warning" loading circle class="circle-icon"></el-button>-->
|
||||||
|
<!-- <el-button v-else-if="item.state==='UNACTIVATED'" type="info" :icon="More" circle-->
|
||||||
|
<!-- class="circle-icon"></el-button>-->
|
||||||
|
<!-- <el-button v-else type="success" :icon="Check" circle class="circle-icon"></el-button>-->
|
||||||
|
<!-- </div>-->
|
||||||
<!-- <avatar-ellipsis :row="3" :user-info="userInfo"/>-->
|
<!-- <avatar-ellipsis :row="3" :user-info="userInfo"/>-->
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<span class="placeholder" v-if="(content || '').trim() === ''">{{ placeholder }}</span>
|
<span class="placeholder" v-if="(content || '').trim() === ''">{{ placeholder }}</span>
|
||||||
<ellipsis :row="3" :content="content" v-else/>
|
<ellipsis :row="3" :content="content" :mode="mode" v-else/>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<div class="node-error" v-if="showError">
|
<div class="node-error" v-if="showError">
|
||||||
|
|||||||
Reference in New Issue
Block a user