Merge remote-tracking branch 'origin/2024年1月24日测试' into 2024年1月24日测试

2024年2月1日V1.0.53.2
zhaoyu 2024-01-30 17:43:37 +08:00
commit d343fab8cc
6 changed files with 311 additions and 8 deletions

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,107 @@
<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>

View File

@ -39,9 +39,11 @@
<el-table-column prop="USERNAME" label="用户名" align="center"/> <el-table-column prop="USERNAME" label="用户名" align="center"/>
<el-table-column prop="NAME" label="姓名" align="center"/> <el-table-column prop="NAME" label="姓名" align="center"/>
<el-table-column prop="BELONG_TO_CORP_NAME" label="外派公司名称" align="center"/> <el-table-column prop="BELONG_TO_CORP_NAME" label="外派公司名称" align="center"/>
<el-table-column label="操作" align="center" width="250"> <el-table-column label="操作" align="center" width="450">
<template slot-scope="{row}"> <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="handleShow(row)"></el-button>
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleFlowShow(row)"></el-button>
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleFlowStepShow(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'" type="primary" icon="el-icon-s-claim" size="mini" @click="approve([row])"></el-button>
<el-button v-if="false" type="success" icon="el-icon-edit" size="mini" @click="getUserInfo(row)"></el-button> <el-button v-if="false" type="success" icon="el-icon-edit" size="mini" @click="getUserInfo(row)"></el-button>
</template> </template>
@ -56,6 +58,8 @@
<user ref="userInfo" append-to-body/> <user ref="userInfo" append-to-body/>
<user-info ref="userInfos" append-to-body/> <user-info ref="userInfos" append-to-body/>
<send-util ref="sendUtil" append-to-body @refresh="getList"/> <send-util ref="sendUtil" append-to-body @refresh="getList"/>
<flow-info-list ref="flowInfo"/>
<flow-step ref="flowStep" />
</div> </div>
</template> </template>
@ -68,9 +72,11 @@ import apply from './apply'
import user from './user.vue' import user from './user.vue'
import SendUtil from './sendUtil.vue' import SendUtil from './sendUtil.vue'
import UserInfo from '../../flowApply/components/userInfo.vue' import UserInfo from '../../flowApply/components/userInfo.vue'
import FlowInfoList from './flowInfoList.vue'
import FlowStep from './flowStep.vue'
export default { export default {
components: { UserInfo, SendUtil, Pagination, apply, vueQr, user }, components: { FlowStep, FlowInfoList, UserInfo, SendUtil, Pagination, apply, vueQr, user },
directives: { waves }, directives: { waves },
data() { data() {
return { return {
@ -162,6 +168,12 @@ export default {
handleShow(row) { handleShow(row) {
this.$refs.userInfos.init(row) this.$refs.userInfos.init(row)
}, },
handleFlowShow(row) {
this.$refs.flowInfo.init(row)
},
handleFlowStepShow(row) {
this.$refs.flowStep.init(row)
},
approve(row) { approve(row) {
this.$refs.sendUtil.init(row) this.$refs.sendUtil.init(row)
}, },

View File

@ -5,7 +5,7 @@
<el-row :gutter="12"> <el-row :gutter="12">
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="STATUS" label="是否通过: "> <el-form-item prop="STATUS" label="是否通过: ">
<el-select v-model="form.STATUS" style="width: 300px" placeholder="请选择"> <el-select v-model="form.STATUS" filterable style="width: 300px" placeholder="请选择">
<el-option label="是" value="1"/> <el-option label="是" value="1"/>
<el-option label="否" value="0"/> <el-option label="否" value="0"/>
</el-select> </el-select>
@ -20,7 +20,7 @@
placeholder="请选择部门" placeholder="请选择部门"
no-options-text="暂无数据" no-options-text="暂无数据"
no-children-text="暂无数据" no-children-text="暂无数据"
style="width: 100%;" style="width: 300px"
@select="getPeopleList($event)" @select="getPeopleList($event)"
/> />
</el-form-item> </el-form-item>
@ -129,10 +129,10 @@ export default {
} }
} else { } else {
this.isShow = true this.isShow = true
if (this.info.FLOWS_STEP === 0 || this.info.FLOWS_STEP === 3 || this.info.FLOWS_STEP === 4) { if (this.info.FLOWS_STEP === 2 || this.info.FLOWS_STEP === 3) {
await this.getDepartmentTree() await this.getDepartmentTree()
this.corpFlag = false this.corpFlag = false
if (this.info.FLOWS_STEP === 4) { if (this.info.FLOWS_STEP === 3) {
this.isShow = false this.isShow = false
} }
} else { } else {
@ -152,6 +152,7 @@ export default {
this.$message.success('推送成功') this.$message.success('推送成功')
this.visible = false this.visible = false
this.$emit('refresh', '') this.$emit('refresh', '')
this.handleClose()
}) })
.catch((e) => { .catch((e) => {
console.log(e) console.log(e)
@ -236,6 +237,7 @@ export default {
APPOINT_DEPARTMENT_NAME: '', APPOINT_DEPARTMENT_NAME: '',
APPOINT_USER_ID: '', APPOINT_USER_ID: '',
APPOINT_USER_NAME: '', APPOINT_USER_NAME: '',
OPINION: '',
user: '', user: '',
list: [], list: [],
tm: new Date().getTime() tm: new Date().getTime()

View File

@ -41,9 +41,11 @@
<el-table-column prop="USERNAME" label="用户名" align="center"/> <el-table-column prop="USERNAME" label="用户名" align="center"/>
<el-table-column prop="NAME" label="姓名" align="center"/> <el-table-column prop="NAME" label="姓名" align="center"/>
<el-table-column prop="BELONG_TO_CORP_NAME" label="外派公司名称" align="center"/> <el-table-column prop="BELONG_TO_CORP_NAME" label="外派公司名称" align="center"/>
<el-table-column label="操作" align="center" width="150"> <el-table-column label="操作" align="center" width="350">
<template slot-scope="{row}"> <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="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="false" type="primary" icon="el-icon-s-claim" size="mini" @click="approve([row])"></el-button> <el-button v-if="false" type="primary" icon="el-icon-s-claim" size="mini" @click="approve([row])"></el-button>
<el-button v-if="false" type="success" icon="el-icon-edit" size="mini" @click="getUserInfo(row)"></el-button> <el-button v-if="false" type="success" icon="el-icon-edit" size="mini" @click="getUserInfo(row)"></el-button>
</template> </template>
@ -59,6 +61,8 @@
<user-info ref="userInfos" append-to-body/> <user-info ref="userInfos" append-to-body/>
<send-util ref="sendUtil" append-to-body @refresh="getList"/> <send-util ref="sendUtil" append-to-body @refresh="getList"/>
<apply ref="apply" append-to-body @refresh="getList"/> <apply ref="apply" append-to-body @refresh="getList"/>
<flow-info-list ref="flowInfo" />
<flow-step ref="flowStep" append-to-body/>
</div> </div>
</template> </template>
@ -71,9 +75,11 @@ import apply from './apply'
import user from './user.vue' import user from './user.vue'
import SendUtil from './sendUtil.vue' import SendUtil from './sendUtil.vue'
import UserInfo from '../../flowApply/components/userInfo.vue' import UserInfo from '../../flowApply/components/userInfo.vue'
import FlowStep from '../../flow/components/flowStep.vue'
import FlowInfoList from '../../flow/components/flowInfoList.vue'
export default { export default {
components: { UserInfo, SendUtil, Pagination, apply, vueQr, user }, components: { FlowInfoList, FlowStep, UserInfo, SendUtil, Pagination, apply, vueQr, user },
directives: { waves }, directives: { waves },
data() { data() {
return { return {
@ -156,6 +162,12 @@ export default {
handleShow(row) { handleShow(row) {
this.$refs.userInfos.init(row) this.$refs.userInfos.init(row)
}, },
handleShowStep(row) {
this.$refs.flowStep.init(row)
},
handleShowFlow(row) {
this.$refs.flowInfo.init(row)
},
approve(row) { approve(row) {
this.$refs.sendUtil.init(row) this.$refs.sendUtil.init(row)
}, },