相关方人员信息打回

liujun-2024-06-06-相关方新需求
liujun 2024-06-12 08:51:17 +08:00
parent 1d31175ca9
commit 257a8d5d23
1 changed files with 143 additions and 9 deletions

View File

@ -1,6 +1,13 @@
<template>
<div>
<el-dialog v-loading = "loading" :visible.sync="visible" :append-to-body="appendToBody" :before-close="beforeClose" title="审批" width="1200px" destroy-on-close>
<el-dialog
v-loading="loading"
:visible.sync="visible"
:append-to-body="appendToBody"
:before-close="beforeClose"
title="审批"
width="1200px"
destroy-on-close>
<el-form ref="form" :model="form" :rules="rules" label-width="200px" label-position="right" type="flex">
<el-row :gutter="12">
<el-col :span="12">
@ -33,16 +40,86 @@
<el-input v-model="form.OPINION" :rows="2" type="textarea" placeholder="填写审批意见"/>
</el-form-item>
</el-col>
<el-col v-if="form.STATUS === '0' && showStepFlag" :span="24">
<el-form-item v-if="form.STATUS === '0'" prop="BACK_NAME" label="打回至:">
<div>{{ form.BACK_NAME }}</div>
</el-form-item>
</el-col>
<el-col v-if="form.STATUS === '0' && showStepFlag" :span="24">
<el-steps :space="200" :active="+step" finish-status="success">
<el-step>
<template slot="description">
<el-card
class="box-card"
style="margin-top: 10px"
@click.native="backPoint('-1',info.BELONG_TO_CORP_NAME)">
<div icon="el-icon-aim"/>
<div slot="header" class="clearfix">
<span>相关方端</span>
</div>
<div>
企业名称{{ info.BELONG_TO_CORP_NAME }}
</div>
</el-card>
</template>
</el-step>
<el-step v-for="item in list" :key="item.INDEX" :value="item.INDEX">
<template slot="description">
<el-card
class="box-card"
style="margin-top: 10px"
@click.native="backPoint(item.INDEX, item.APPOINT_USER_NAME)">
<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>
</el-col>
<el-col v-if="form.STATUS === '1' && !form.STEP " :span="12">
<el-form-item v-if="form.STATUS === '1'" prop="APPOINT_USER_ID" label="指定监管部门审批人:">
<el-select v-model="form.user" style="width: 300px" placeholder="请选择" @change="chooseUser">
<el-option v-for="item in peopleList" :key="item.USER_ID" :value="JSON.stringify(item)" :label="item.NAME"/>
<el-option
v-for="item in peopleList"
:key="item.USER_ID"
:value="JSON.stringify(item)"
:label="item.NAME"/>
</el-select>
</el-form-item>
</el-col>
<el-col v-if="form.STATUS === '1' && !form.STEP " :span="12">
<el-form-item v-if="form.STATUS === '1'" prop="LIMIT_END_TIME" label="指定培训有效截至时间:">
<el-date-picker v-model="form.LIMIT_END_TIME" value-format="yyyy-MM-dd" type="date" placeholder="选择日期" style="width:300px "/>
<el-date-picker
v-model="form.LIMIT_END_TIME"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
style="width:300px "/>
</el-form-item>
</el-col>
<el-col v-if="form.STATUS === '1' && form.TYPE === '2'" :span="12">
@ -103,7 +180,9 @@ export default {
list: [],
isShow: true,
info: {},
TYPE: null
TYPE: null,
BACK_NAME: '',
BACK_STEP: ''
},
rules: {
STATUS: [
@ -120,6 +199,9 @@ export default {
],
LIMIT_END_TIME: [
{ required: true, message: '请选择指定培训有效截至时间', trigger: 'change' }
],
BACK_NAME: [
{ required: true, message: '请填选择回节点', trigger: 'change' }
]
},
heirloom: {},
@ -133,7 +215,15 @@ export default {
},
departmentTree: [],
peopleList: []
peopleList: [],
info: {},
list: [
{
INDEX: '-1'
}
],
step: 0,
showStepFlag: false
}
},
methods: {
@ -142,6 +232,14 @@ export default {
this.visible = true
this.heirloom = JSON.stringify(e)
this.form.list = JSON.stringify(e)
const list = JSON.parse(this.heirloom)
if (list.length === 1) {
this.info = JSON.parse(this.heirloom)[0]
this.form.BACK_NAME = this.info.BELONG_TO_CORP_NAME
this.form.BACK_STEP = '-1'
this.showStepFlag = true
}
// turefalse
this.form.STEP = (e[0].FLOWS_STEP === 2) || (e[0].FLOWS_STEP === 1 && e[0].FLOWS_TYPE === '2')
this.form.TYEP = e[0].FLOWS_TYPE
@ -157,10 +255,15 @@ export default {
this.loading = true
requestFN('/xgf/user/approveMax', this.form)
.then((data) => {
if (data.code === '0') {
this.$message.success('推送成功')
this.visible = false
this.$emit('refresh', '')
this.handleClose()
} else {
this.$message.error(data.errorMessage)
}
this.loading = false
})
.catch((e) => {
@ -250,6 +353,7 @@ export default {
tm: new Date().getTime()
}
this.visible = false
this.showStepFlag = false
},
beforeClose() {
this.visible = false
@ -272,6 +376,36 @@ export default {
this.form.APPOINT_USER_NAME = ''
this.form.OPINION = ''
this.form.user = ''
if (this.form.STATUS === '0') {
this.getInfo()
}
},
getInfo() {
const info = JSON.parse(this.heirloom)[0]
requestFN(
'/xgf/user/getApproveInfo', { XGF_USER_ID: info.XGF_USER_ID }
).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)
})
},
backPoint(num, name) {
this.form.BACK_STEP = num
this.form.BACK_NAME = name
this.$forceUpdate()
}
}
}