commit
This commit is contained in:
+5
@@ -52,6 +52,11 @@ public class MemberChangeBranchUnionAuditController {
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/h5")
|
||||
@Ok("beetl:/mobile/member/change/branchUnionAudit/index.html")
|
||||
@RequiresPermissions("member.change.branchUnion.audit")
|
||||
public void h5Index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@RequiresPermissions("member.change.branchUnion.audit")
|
||||
|
||||
+5
-1
@@ -46,13 +46,17 @@ public class MemberChangeSchoolUnionAuditController {
|
||||
@Inject
|
||||
private SysLocalProcessService localProcessService;
|
||||
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/member/change/schoolUnionAudit/index.html")
|
||||
@RequiresPermissions("member.change.schoolUnion.audit")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/h5")
|
||||
@Ok("beetl:/mobile/member/change/schoolUnionAudit/index.html")
|
||||
@RequiresPermissions("member.change.schoolUnion.audit")
|
||||
public void h5Index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@RequiresPermissions("member.change.schoolUnion.audit")
|
||||
|
||||
@@ -0,0 +1,340 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
.van-doc-card {
|
||||
margin: 14px;
|
||||
padding: 12px;
|
||||
background-color: #fff;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
line-height: 20px;
|
||||
font-size: 12px;
|
||||
position: relative;
|
||||
}
|
||||
.flex {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.content {
|
||||
margin-top: 10px;
|
||||
line-height: 20px;
|
||||
}
|
||||
.label_content{
|
||||
color: grey;
|
||||
}
|
||||
.title_content {
|
||||
font-size: 14px;
|
||||
}
|
||||
.van-doc-card .van-button--small {
|
||||
min-width: 60px;
|
||||
height: 26px;
|
||||
padding: 0 8px;
|
||||
font-size: 12px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
.footer_content {
|
||||
text-align: right;
|
||||
}
|
||||
.van-popup {
|
||||
background-color: #F9F9F9;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<van-nav-bar title="会员变更分工会审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyword"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入姓名或工号进行查询"
|
||||
>
|
||||
</van-search>
|
||||
<van-dropdown-menu>
|
||||
<van-dropdown-item v-model="pageForm.audit" :options="auditOptions"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unitId" :options="unitOptions"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unionId" :options="unionOptions"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.personType" :options="personTypeOptions"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 120px">
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
|
||||
<div class="van-doc-card" v-for="o in tableData">
|
||||
<div class="title_content flex">
|
||||
<div>{{o.username + '-' + o.loginname}}</div>
|
||||
<div style="color: #0e5996">{{o.stateName}}</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div>
|
||||
<span class="label_content">人员类型:</span>
|
||||
<span>{{o.personType}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="label_content">所属单位:</span>
|
||||
<span>{{o.unitName}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="label_content">所属工会:</span>
|
||||
<span>{{o.unionName}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="label_content">申请时间:</span>
|
||||
<span>{{o.applyDateTime}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="label_content">变更类型:</span>
|
||||
<span @click.stop="openView(o)" style="color: #0e5996">
|
||||
{{getChangeTypes(o.changeTypes)}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_content">
|
||||
<van-button @click.stop="openView(o)" color="#1867b0" size="small" type="primary">
|
||||
查看
|
||||
</van-button>
|
||||
<van-button v-if="o.applyStateId === 10020"
|
||||
@click.stop="openAudit(o)" color="#1867b0" size="small" type="primary">
|
||||
审核
|
||||
</van-button>
|
||||
<van-button v-if="[10030, 10050].includes(o.applyStateId)"
|
||||
@click.stop="doRevoke(o)" size="small" type="danger">
|
||||
撤回
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</van-list>
|
||||
<van-empty
|
||||
v-if="mLoading==false&&tableData.length==0"
|
||||
class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据"
|
||||
></van-empty>
|
||||
</div>
|
||||
|
||||
<van-popup :style="{ height: '100%',width: '100%'}" position="right" safe-area-inset-bottom
|
||||
v-model="memberChangeInfoPopup">
|
||||
<van-nav-bar @click-left="memberChangeInfoPopup=false" left-arrow
|
||||
title="操作详情"></van-nav-bar>
|
||||
<member-change-info ref="memberChangeInfoRef" :type="openType">
|
||||
<template #extra>
|
||||
<van-tab name="99" title="分工会审核" v-if="openType === 'audit'">
|
||||
<van-form ref="approvalFormRef" :show-error-message="false">
|
||||
<van-field
|
||||
readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人"
|
||||
></van-field>
|
||||
|
||||
<van-field v-model="formData.auditTime" label="审核时间" readonly></van-field>
|
||||
|
||||
<van-field v-model="formData.auditOpinion"
|
||||
required
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
</van-form>
|
||||
|
||||
<div style="display: flex;justify-content: center;" class="audit mt10">
|
||||
<van-button type="danger" @click="doApproval(2)" size="small">
|
||||
退回重新申请
|
||||
</van-button>
|
||||
<van-button color="#1867b0" @click="doApproval(0)" size="small">
|
||||
拒绝申请
|
||||
</van-button>
|
||||
<van-button color="#1867b0" @click="doApproval(1)" size="small">
|
||||
同意申请
|
||||
</van-button>
|
||||
</div>
|
||||
</van-tab>
|
||||
</template>
|
||||
</member-change-info>
|
||||
</van-popup>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
<!--#include("../common/memberChangeInfo.js"){}#-->
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
openType: 'view',
|
||||
memberChangeInfoPopup: false,
|
||||
pageForm: {
|
||||
audit: false,
|
||||
unionId: '',
|
||||
unitId: '',
|
||||
personType: '',
|
||||
},
|
||||
changeTypeData: [],
|
||||
unitOptions: [],
|
||||
unionOptions: [],
|
||||
personTypeOptions: [],
|
||||
formData: {},
|
||||
auditOptions: [
|
||||
{text: '未审核', value: false},
|
||||
{text: '已审核', value: true},
|
||||
],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'member-change-info': MEMBER_CHANGE_INFO,
|
||||
},
|
||||
methods: {
|
||||
async doRevoke(row) {
|
||||
const confirm = await vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '确定要撤回该申请吗?',
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
const resp = await $.post('/platform/member/change/branchUnion/audit/doRevoke', {id: row.id})
|
||||
if (resp.code === 0) {
|
||||
vant.Toast(resp.msg)
|
||||
this.doSearch()
|
||||
} else {
|
||||
vant.Toast(resp.msg)
|
||||
}
|
||||
}
|
||||
},
|
||||
async doApproval(approvalType) {
|
||||
this.$refs.approvalFormRef.validate().then(async () => {
|
||||
let msg = '确定要通过此条申请吗?'
|
||||
if (approvalType === 0) {
|
||||
msg = '拒绝后不可撤回,确定要拒绝此条申请吗?'
|
||||
} else if (approvalType === 2) {
|
||||
msg = '确定要退回此条申请吗?'
|
||||
}
|
||||
const confirm = await vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: msg,
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
this.formData.auditType = approvalType
|
||||
const resp = await $.post('/platform/member/change/branchUnion/audit/approval', {
|
||||
audit: JSON.stringify(this.formData),
|
||||
id: this.formData.id
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
vant.Toast(resp.msg)
|
||||
this.memberChangeInfoPopup = false
|
||||
this.doSearch()
|
||||
} else {
|
||||
vant.Toast(resp.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
openView(row) {
|
||||
this.openType = 'view'
|
||||
this.memberChangeInfoPopup = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.memberChangeInfoRef.onOpen(row.id)
|
||||
})
|
||||
},
|
||||
openAudit(row) {
|
||||
this.openType = 'audit'
|
||||
this.formData.id = row.id
|
||||
this.formData.username = "${@shiro.getPrincipalProperty('username')}"
|
||||
this.formData.auditTime = moment().format('YYYY-MM-DD HH:mm:ss')
|
||||
this.memberChangeInfoPopup = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.memberChangeInfoRef.onOpen(row.id)
|
||||
})
|
||||
},
|
||||
getChangeTypes(changeTypes){
|
||||
const changeTypesList = JSON.parse(changeTypes)
|
||||
if (changeTypesList) {
|
||||
if (!changeTypesList || changeTypesList.length === 0 || !this.changeTypeData || this.changeTypeData.length === 0) return null
|
||||
return changeTypesList
|
||||
.map((v) => {
|
||||
return this.changeTypeData.find((item) => item.type === v).changeTypeName
|
||||
})
|
||||
.join(",")
|
||||
}
|
||||
return null
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.tableData = []
|
||||
this.finished = false
|
||||
this.onLoad()
|
||||
},
|
||||
onLoad() {
|
||||
this.loading = true
|
||||
$.post('/platform/member/change/branchUnion/audit/pageData', this.pageForm).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
this.finished = true
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
async getUnionList(){
|
||||
const {data} = await $.get("/platform/vi/common/unions")
|
||||
data.forEach(v => {
|
||||
v.text = v.unionname
|
||||
v.value = v.id
|
||||
})
|
||||
data.unshift({text: "全部工会", value: ''})
|
||||
this.unionOptions = data
|
||||
},
|
||||
async getUnitList(unionId) {
|
||||
const {data} = await $.get("/platform/vi/common/units", {unionId})
|
||||
data.forEach(v => {
|
||||
v.text = v.name
|
||||
v.value = v.id
|
||||
})
|
||||
data.unshift({text: "全部单位", value: ''})
|
||||
this.unitOptions = data
|
||||
},
|
||||
async getPersonTypeList() {
|
||||
const data = await getDictOptions("PERSON_TYPE")
|
||||
data.forEach(v => {
|
||||
v.text = v.name
|
||||
v.value = v.code
|
||||
})
|
||||
data.unshift({text: "全部类型", value: ''})
|
||||
this.personTypeOptions = data
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.changeTypeData = await getEnumOptions("MemberChangeType")
|
||||
await this.getUnionList()
|
||||
await this.getUnitList()
|
||||
await this.getPersonTypeList()
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,125 @@
|
||||
const MEMBER_CHANGE_INFO = {
|
||||
template: /*language=HTML*/ `
|
||||
<div class="change_info">
|
||||
<van-tabs v-model="active" :ellipsis="false">
|
||||
<van-tab title="基础信息" class="mb10">
|
||||
<van-cell-group>
|
||||
<van-cell title="工号" :value="viewData.loginname" />
|
||||
<van-cell title="姓名" :value="viewData.username" />
|
||||
<van-cell title="性别" :value="viewData.sex" />
|
||||
<van-cell title="民族" :value="viewData.nation" />
|
||||
<van-cell title="出生日期" :value="viewData.birthday ? moment(viewData.birthday).format('YYYY年MM月DD日') : '暂无'" />
|
||||
<van-cell title="政治面貌" :value="viewData.political" />
|
||||
<van-cell title="学历" :value="viewData.education" />
|
||||
<van-cell title="学位" :value="viewData.academicDegree" />
|
||||
<van-cell title="党政职务" :value="viewData.position" />
|
||||
<van-cell title="工作单位" :value="viewData.unitname" />
|
||||
<van-cell title="所属工会" :value="viewData.unionname" />
|
||||
<van-cell title="所属校区" :value="viewData.campus" />
|
||||
<van-cell title="身份证号码" :value="viewData.idCard" />
|
||||
<van-cell title="联系电话" :value="viewData.mobile" />
|
||||
<van-cell title="电子邮箱" :value="viewData.email" />
|
||||
<van-cell title="在职状态" :value="viewData.userState" />
|
||||
<van-cell title="人员类型" :value="viewData.personType" />
|
||||
<van-cell title="人员性质" :value="viewData.preparedBy" />
|
||||
<van-cell title="会员状态" :value="viewData.member ? '会员' : '非会员'" />
|
||||
<van-cell title="福利会员状态" :value="viewData.welfareMember ? '福利会员' : '非福利会员'" />
|
||||
<van-cell title="个人简况">
|
||||
<div v-if="viewData.vita" class="text-left" v-html="viewData.vita"></div>
|
||||
<span v-else>无数据</span>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</van-tab>
|
||||
<van-tab title="变更信息" class="mb10">
|
||||
<div v-if="viewData.changeInfos.length > 0" v-for="(row,index) in viewData.changeInfos">
|
||||
<div class="van-sidebar-item van-sidebar-item--select" style="font-size: 18px">
|
||||
{{ index + 1 }}
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-cell title="变更字段" :value="row.fieldName" />
|
||||
<van-cell title="原数据">
|
||||
<div v-html="row.sourceValue"></div>
|
||||
</van-cell>
|
||||
<van-cell title="新数据">
|
||||
<div v-html="row.newValue"></div>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
<van-empty
|
||||
v-if="viewData.changeInfos.length === 0"
|
||||
class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据"
|
||||
></van-empty>
|
||||
</van-tab>
|
||||
<van-tab title="分工会审核信息" v-if="viewData.branchAudit">
|
||||
<van-cell-group>
|
||||
<van-cell title="审核人员" :value="viewData.branchAudit.username" />
|
||||
<van-cell title="审核时间" :value="viewData.branchAudit.auditTime" />
|
||||
<van-cell title="审核意见" :value="viewData.branchAudit.auditOpinion" />
|
||||
</van-cell-group>
|
||||
</van-tab>
|
||||
<van-tab title="校工会审核信息" v-if="viewData.schoolAudit">
|
||||
<van-cell-group>
|
||||
<van-cell title="审核人员" :value="viewData.schoolAudit.username" />
|
||||
<van-cell title="审核时间" :value="viewData.schoolAudit.auditTime" />
|
||||
<van-cell title="审核意见" :value="viewData.schoolAudit.auditOpinion" />
|
||||
</van-cell-group>
|
||||
</van-tab>
|
||||
<slot name="extra"></slot>
|
||||
</van-tabs>
|
||||
</div>
|
||||
`,
|
||||
mixins: [mobileMixins],
|
||||
props: {
|
||||
type: {
|
||||
type: String,
|
||||
default: 'view'
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return{
|
||||
active: 0,
|
||||
viewData: {
|
||||
changeInfos: [],
|
||||
schoolAudit: {},
|
||||
branchAudit: {}
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async onOpen(id){
|
||||
if(this.type === 'audit') {
|
||||
this.active = '99'
|
||||
}
|
||||
const resp = await $.post('/platform/member/change/mine/findMemberChangeRecord', {id})
|
||||
if (resp.code === 0) {
|
||||
this.viewData = resp.data
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
|
||||
},
|
||||
style: /*language=CSS*/`
|
||||
.change_info .van-empty {
|
||||
background-color: transparent !important;
|
||||
position: relative !important;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 0 !important;
|
||||
top: 0 !important;
|
||||
left: 0 !important;
|
||||
transform: none !important;
|
||||
}
|
||||
.audit .van-button--small {
|
||||
min-width: 60px !important;
|
||||
height: 30px !important;
|
||||
padding: 0 8px !important;
|
||||
font-size: 12px !important;
|
||||
border-radius: 6px !important;
|
||||
margin-right: 10px !important;
|
||||
}
|
||||
`
|
||||
}
|
||||
|
||||
@@ -0,0 +1,340 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
.van-doc-card {
|
||||
margin: 14px;
|
||||
padding: 12px;
|
||||
background-color: #fff;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
line-height: 20px;
|
||||
font-size: 12px;
|
||||
position: relative;
|
||||
}
|
||||
.flex {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.content {
|
||||
margin-top: 10px;
|
||||
line-height: 20px;
|
||||
}
|
||||
.label_content{
|
||||
color: grey;
|
||||
}
|
||||
.title_content {
|
||||
font-size: 14px;
|
||||
}
|
||||
.van-doc-card .van-button--small {
|
||||
min-width: 60px;
|
||||
height: 26px;
|
||||
padding: 0 8px;
|
||||
font-size: 12px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
.footer_content {
|
||||
text-align: right;
|
||||
}
|
||||
.van-popup {
|
||||
background-color: #F9F9F9;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<van-nav-bar title="会员变更校工会审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyword"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入姓名或工号进行查询"
|
||||
>
|
||||
</van-search>
|
||||
<van-dropdown-menu>
|
||||
<van-dropdown-item v-model="pageForm.audit" :options="auditOptions"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unitId" :options="unitOptions"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unionId" :options="unionOptions"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.personType" :options="personTypeOptions"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 120px">
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
|
||||
<div class="van-doc-card" v-for="o in tableData">
|
||||
<div class="title_content flex">
|
||||
<div>{{o.username + '-' + o.loginname}}</div>
|
||||
<div style="color: #0e5996">{{o.stateName}}</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div>
|
||||
<span class="label_content">人员类型:</span>
|
||||
<span>{{o.personType}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="label_content">所属单位:</span>
|
||||
<span>{{o.unitName}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="label_content">所属工会:</span>
|
||||
<span>{{o.unionName}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="label_content">申请时间:</span>
|
||||
<span>{{o.applyDateTime}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="label_content">变更类型:</span>
|
||||
<span @click.stop="openView(o)" style="color: #0e5996">
|
||||
{{getChangeTypes(o.changeTypes)}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_content">
|
||||
<van-button @click.stop="openView(o)" color="#1867b0" size="small" type="primary">
|
||||
查看
|
||||
</van-button>
|
||||
<van-button v-if="o.applyStateId === 10050"
|
||||
@click.stop="openAudit(o)" color="#1867b0" size="small" type="primary">
|
||||
审核
|
||||
</van-button>
|
||||
<van-button v-if="[10060].includes(o.applyStateId)"
|
||||
@click.stop="doRevoke(o)" size="small" type="danger">
|
||||
撤回
|
||||
</van-button>
|
||||
</div>`1
|
||||
</div>
|
||||
|
||||
</van-list>
|
||||
<van-empty
|
||||
v-if="mLoading==false&&tableData.length==0"
|
||||
class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据"
|
||||
></van-empty>
|
||||
</div>
|
||||
|
||||
<van-popup :style="{ height: '100%',width: '100%'}" position="right" safe-area-inset-bottom
|
||||
v-model="memberChangeInfoPopup">
|
||||
<van-nav-bar @click-left="memberChangeInfoPopup=false" left-arrow
|
||||
title="操作详情"></van-nav-bar>
|
||||
<member-change-info ref="memberChangeInfoRef" :type="openType">
|
||||
<template #extra>
|
||||
<van-tab name="99" title="校工会审核" v-if="openType === 'audit'">
|
||||
<van-form ref="approvalFormRef" :show-error-message="false">
|
||||
<van-field
|
||||
readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人"
|
||||
></van-field>
|
||||
|
||||
<van-field v-model="formData.auditTime" label="审核时间" readonly></van-field>
|
||||
|
||||
<van-field v-model="formData.auditOpinion"
|
||||
required
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
</van-form>
|
||||
|
||||
<div style="display: flex;justify-content: center;" class="audit mt10">
|
||||
<van-button type="danger" @click="doApproval(2)" size="small">
|
||||
退回重新申请
|
||||
</van-button>
|
||||
<van-button color="#1867b0" @click="doApproval(0)" size="small">
|
||||
拒绝申请
|
||||
</van-button>
|
||||
<van-button color="#1867b0" @click="doApproval(1)" size="small">
|
||||
同意申请
|
||||
</van-button>
|
||||
</div>
|
||||
</van-tab>
|
||||
</template>
|
||||
</member-change-info>
|
||||
</van-popup>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
<!--#include("../common/memberChangeInfo.js"){}#-->
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
openType: 'view',
|
||||
memberChangeInfoPopup: false,
|
||||
pageForm: {
|
||||
audit: false,
|
||||
unionId: '',
|
||||
unitId: '',
|
||||
personType: '',
|
||||
},
|
||||
changeTypeData: [],
|
||||
unitOptions: [],
|
||||
unionOptions: [],
|
||||
personTypeOptions: [],
|
||||
formData: {},
|
||||
auditOptions: [
|
||||
{text: '未审核', value: false},
|
||||
{text: '已审核', value: true},
|
||||
],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'member-change-info': MEMBER_CHANGE_INFO,
|
||||
},
|
||||
methods: {
|
||||
async doRevoke(row) {
|
||||
const confirm = await vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '确定要撤回该申请吗?',
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
const resp = await $.post('/platform/member/change/schoolUnion/audit/doRevoke', {id: row.id})
|
||||
if (resp.code === 0) {
|
||||
vant.Toast(resp.msg)
|
||||
this.doSearch()
|
||||
} else {
|
||||
vant.Toast(resp.msg)
|
||||
}
|
||||
}
|
||||
},
|
||||
async doApproval(approvalType) {
|
||||
this.$refs.approvalFormRef.validate().then(async () => {
|
||||
let msg = '确定要通过此条申请吗?'
|
||||
if (approvalType === 0) {
|
||||
msg = '拒绝后不可撤回,确定要拒绝此条申请吗?'
|
||||
} else if (approvalType === 2) {
|
||||
msg = '确定要退回此条申请吗?'
|
||||
}
|
||||
const confirm = await vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: msg,
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
this.formData.auditType = approvalType
|
||||
const resp = await $.post('/platform/member/change/schoolUnion/audit/approval', {
|
||||
audit: JSON.stringify(this.formData),
|
||||
id: this.formData.id
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
vant.Toast(resp.msg)
|
||||
this.memberChangeInfoPopup = false
|
||||
this.doSearch()
|
||||
} else {
|
||||
vant.Toast(resp.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
openView(row) {
|
||||
this.openType = 'view'
|
||||
this.memberChangeInfoPopup = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.memberChangeInfoRef.onOpen(row.id)
|
||||
})
|
||||
},
|
||||
openAudit(row) {
|
||||
this.openType = 'audit'
|
||||
this.formData.id = row.id
|
||||
this.formData.username = "${@shiro.getPrincipalProperty('username')}"
|
||||
this.formData.auditTime = moment().format('YYYY-MM-DD HH:mm:ss')
|
||||
this.memberChangeInfoPopup = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.memberChangeInfoRef.onOpen(row.id)
|
||||
})
|
||||
},
|
||||
getChangeTypes(changeTypes){
|
||||
const changeTypesList = JSON.parse(changeTypes)
|
||||
if (changeTypesList) {
|
||||
if (!changeTypesList || changeTypesList.length === 0 || !this.changeTypeData || this.changeTypeData.length === 0) return null
|
||||
return changeTypesList
|
||||
.map((v) => {
|
||||
return this.changeTypeData.find((item) => item.type === v).changeTypeName
|
||||
})
|
||||
.join(",")
|
||||
}
|
||||
return null
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.tableData = []
|
||||
this.finished = false
|
||||
this.onLoad()
|
||||
},
|
||||
onLoad() {
|
||||
this.loading = true
|
||||
$.post('/platform/member/change/schoolUnion/audit/pageData', this.pageForm).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
this.finished = true
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
async getUnionList(){
|
||||
const {data} = await $.get("/platform/vi/common/unions")
|
||||
data.forEach(v => {
|
||||
v.text = v.unionname
|
||||
v.value = v.id
|
||||
})
|
||||
data.unshift({text: "全部工会", value: ''})
|
||||
this.unionOptions = data
|
||||
},
|
||||
async getUnitList(unionId) {
|
||||
const {data} = await $.get("/platform/vi/common/units", {unionId})
|
||||
data.forEach(v => {
|
||||
v.text = v.name
|
||||
v.value = v.id
|
||||
})
|
||||
data.unshift({text: "全部单位", value: ''})
|
||||
this.unitOptions = data
|
||||
},
|
||||
async getPersonTypeList() {
|
||||
const data = await getDictOptions("PERSON_TYPE")
|
||||
data.forEach(v => {
|
||||
v.text = v.name
|
||||
v.value = v.code
|
||||
})
|
||||
data.unshift({text: "全部类型", value: ''})
|
||||
this.personTypeOptions = data
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.changeTypeData = await getEnumOptions("MemberChangeType")
|
||||
await this.getUnionList()
|
||||
await this.getUnitList()
|
||||
await this.getPersonTypeList()
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
Reference in New Issue
Block a user