企业端、股份端,相关方人员详情信息代码同步

2024年1月24日测试
liujun 2024-01-30 13:49:13 +08:00
parent 07de513dc5
commit 656614a79b
5 changed files with 309 additions and 14 deletions

View File

@ -90,17 +90,22 @@
.el-dialog__title{
font-size: 16px;
}
//使cardclass="box-card a"class
.el-card{
&:not(.a){
// card
.el-card__header {
padding: 12px 20px;
color: #000;
&::before{
content: '';
position: absolute;
left: 0;
height: 20px;
width: 6px;
background-color: #1890ff;
}
}
}
}
// card
.el-card__header {
padding: 12px 20px;
color: #000;
}
.el-card__header::before{
content: '';
position: absolute;
left: 0;
height: 20px;
width: 6px;
background-color: #1890ff;
}

View File

@ -0,0 +1,83 @@
<template>
<el-dialog
v-if="visible"
:visible.sync="visible"
:before-close="handleClose"
:append-to-body="appendToBody"
title="审批流程"
width="60%">
<el-steps :space="200" :active="list.length" direction="vertical" finish-status="success">
<el-step v-for="item in list" :key="item.FLOW_DETAIL_ID" :value="item.FLOW_DETAIL_ID" :title="item.SORT">
<template slot="description">
<el-card class="box-card" style="width: 900px;">
<div slot="header" class="clearfix">
<span>{{ item.STEP_NAME }}</span>
</div>
<div>
<el-row>
<el-col v-if="item.APPROVER_NAME">
审批人{{ item.APPROVER_NAME }}
</el-col>
<el-col>
审批状态{{ item.PASS_FLAG === '1' ? '同意' : '不同意' }}
</el-col>
<el-col>
审批人归属公司{{ item.APPROVER_CORPINFO_NAME }}
</el-col>
<el-col>
审批时间{{ item.APPROVER_TIME }}
</el-col>
<el-col v-if="item.APPROVER_OPINION">
审批意见{{ item.APPROVER_OPINION }}
</el-col>
<el-col v-if="item.END_FLAG === '1'" style="color: red; font-weight: bold;font-size: large">
审批结束
</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'
export default {
props: {
appendToBody: {
type: Boolean,
default: false
}
},
data() {
return {
visible: false,
loading: false,
list: [],
form: {
XGF_USER_ID: ''
}
}
},
methods: {
init(e) {
this.visible = true
this.loading = false
this.list = e.flow
},
handleClose() {
this.visible = false
this.$emit('finish', '')
},
closeWindow() {
this.handleClose()
}
}
}
</script>

View File

@ -0,0 +1,87 @@
<template>
<el-dialog
v-if="visible"
:visible.sync="visible"
:before-close="handleClose"
:append-to-body="true"
title="审批流程"
width="60%">
<el-table
ref="multipleTable"
:data="list"
:header-cell-style="{'font-weight': 'bold','color': '#000'}"
tooltip-effect="dark"
border
fit
highlight-current-row>
<el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column prop="CREATOR_TIME" label="用户名" align="center"/>
<el-table-column label="操作" align="center" width="250">
<template slot-scope="{row}">
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row)"></el-button>
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click="closeWindow"> </el-button>
</div>
<flow-info ref="flowInfo" append-to-body/>
</el-dialog>
</template>
<script>
import { requestFN } from '@/utils/request'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import FlowInfo from './flowInfo.vue'
export default {
components: {
FlowInfo,
Treeselect
},
props: {
corpInfo: {
type: String,
default: ''
}
},
data() {
return {
visible: false,
loading: false,
list: [],
form: {
XGF_USER_ID: ''
}
}
},
methods: {
init(e) {
this.visible = true
this.loading = false
this.form.XGF_USER_ID = e.XGF_USER_ID
this.getInfo()
},
getInfo() {
requestFN(
'/xgf/user/getApproveInfo', this.form
).then((data) => {
this.list = data.list
}).catch((e) => {
console.log(e)
})
},
handleShow(row) {
this.$refs.flowInfo.init(row)
},
handleClose() {
this.visible = false
this.$emit('finish', '')
},
closeWindow() {
this.handleClose()
}
}
}
</script>

View File

@ -0,0 +1,108 @@
<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 a" style="width: 900px;">
<div slot="header" class="clearfix">
<span>审批节点</span>
</div>
<div>
<el-row>
<el-col>
审批人{{ item.APPOINT_USER_NAME }}
</el-col>
<el-col>
审批人公司{{ 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.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>
<el-button :loading="loading" type="primary" @click="save"> </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>

View File

@ -42,6 +42,8 @@
<el-table-column label="操作" align="center" width="350">
<template slot-scope="{row}">
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row)"></el-button>
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShowStep(row)"></el-button>
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShowFlow(row)"></el-button>
<el-button v-if="row.power_flag === '1'" type="primary" icon="el-icon-s-claim" size="mini" @click="approve([row])"></el-button>
<el-button v-if="row.power_flag === '1' && row.FLOWS_STEP === 2" type="primary" icon="el-icon-s-claim" size="mini" @click="entrust([row])"></el-button>
<el-button v-if="false" type="success" icon="el-icon-edit" size="mini" @click="getUserInfo(row)"></el-button>
@ -58,6 +60,8 @@
<user-info ref="userInfos" append-to-body/>
<send-util ref="sendUtil" append-to-body @refresh="getList"/>
<entrust ref="entrust" append-to-body @refresh="getList"/>
<flow-step ref="step" append-to-body/>
<flow-info-list ref="flowInfoList" />
</div>
</template>
@ -71,9 +75,11 @@ import user from './user.vue'
import SendUtil from './sendUtil.vue'
import UserInfo from '../../flow_audit/userInfo.vue'
import Entrust from './entrust.vue'
import FlowStep from '../../flow/components/flowStep.vue'
import FlowInfoList from '../../flow/components/flowInfoList.vue'
export default {
components: { Entrust, UserInfo, SendUtil, Pagination, apply, vueQr, user },
components: { FlowInfoList, FlowStep, Entrust, UserInfo, SendUtil, Pagination, apply, vueQr, user },
directives: { waves },
data() {
return {
@ -163,6 +169,12 @@ export default {
handleShow(row) {
this.$refs.userInfos.init(row)
},
handleShowStep(row) {
this.$refs.step.init(row)
},
handleShowFlow(row) {
this.$refs.flowInfoList.init(row)
},
approve(row) {
this.$refs.sendUtil.init(row)
},