qa-prevention-gwj-vue/src/views/oneCompany/reflection/components/flowStep.vue

108 lines
2.9 KiB
Vue

<template>
<el-dialog
v-if="visible"
:visible.sync="visible"
:v-loading="loading"
:before-close="handleClose"
:append-to-body="true"
:title="title"
width="60%">
<el-steps :space="200" :active="+step" direction="vertical" finish-status="success">
<el-step v-for="item in list" :key="item.INDEX" :value="item.INDEX" :title="item.INDEX">
<template slot="description">
<el-card class="box-card" style="width: 900px;">
<div slot="header" class="clearfix">
<span>审批节点</span>
</div>
<div>
<el-row>
<el-col>
审批人:{{ item.APPOINT_USER_NAME }}
</el-col>
<el-col v-if="item.INDEX !== step">
审批人公司:{{ item.APPOINT_CORP_NAME }}
</el-col>
<el-col>
审批人部门:{{ item.APPOINT_DEPARTMENT_NAME }}
</el-col>
<el-col v-if="item.INDEX !== step">
审批状态:{{ item.APPOINT_STATUS === '1' ? '同意' : item.APPOINT_STATUS === '0' ? '不同意' : '' }}
</el-col>
<el-col v-if="item.INDEX !== step">
审批时间:{{ item.APPOINT_TIME }}
</el-col>
<el-col v-if="item.APPOINT_OPINION && item.INDEX !== step">
审批意见:{{ item.APPOINT_OPINION }}
</el-col>
</el-row>
</div>
</el-card>
</template>
</el-step>
</el-steps>
<div slot="footer" class="dialog-footer">
<el-button @click="closeWindow"> </el-button>
</div>
</el-dialog>
</template>
<script>
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import { requestFN } from '@/utils/request'
export default {
props: {
corpInfo: {
type: String,
default: ''
}
},
data() {
return {
visible: false,
loading: false,
list: [],
title: '审批流程',
form: {
XGF_USER_ID: ''
},
step: 0
}
},
methods: {
init(e) {
this.form.XGF_USER_ID = e.XGF_USER_ID
this.getInfo()
},
getInfo() {
requestFN(
'/xgf/user/getApproveInfo', this.form
).then((data) => {
this.list = data.flow.info
this.step = data.flow.STEP
if (data.flow.endFlag === '1') {
this.title = '审批中'
}
if (data.flow.endFlag === '2') {
this.title = '审批结束'
}
if (data.flow.endFlag === '-2') {
this.title = '审批驳回'
}
this.visible = true
this.loading = false
}).catch((e) => {
console.log(e)
})
},
handleClose() {
this.visible = false
this.$emit('finish', '')
},
closeWindow() {
this.handleClose()
}
}
}
</script>