first commit

This commit is contained in:
2026-09-20 15:46:34 +08:00
parent 72fb5eae10
commit e558339dcc
3340 changed files with 671310 additions and 251 deletions
@@ -0,0 +1,370 @@
<!--#
layout("/mobile/platform.html"){
#-->
<style>
.van-index-bar__sidebar {
display: none;
}
.van-doc-card {
margin: 14px;
padding: 12px 12px 12px 12px;
background-color: #fff;
border-radius: 10px;
box-shadow: 0 8px 12px #ebedf0;
line-height: 20px;
font-size: 13px;
position: relative;
}
.van-divider {
margin: 6px 0 6px 0px;
border-color: lightgray;
}
.van-doc-card .van-button--small {
height: 26px;
}
.van-button--small {
border-radius: revert;
width: 40%;
height: 30px;
}
.van-col {
line-height: 24px;
}
.title_span {
font-size: 16px;
font-weight: bold;
position: absolute;
left: -1px;
top: 11px;
color: #1867b0;
}
.title {
font-size: 13px;
font-weight: bold;
flex: 1;
overflow: hidden;
white-space: nowrap;
}
.cus_overflow {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.van-dropdown-menu__item {
flex: auto;
}
.userPopup {
height: 80%;
background-color: #f6f7f9;
font-size: 14px;
}
.audit_icon {
font-size: 24px;
position: absolute;
font-weight: bolder;
right: 0;
}
.userPopup .van-cell {
padding: 10px 0px;
}
</style>
<div id="app" v-cloak>
<m-page-loading v-if="mLoading"></m-page-loading>
<!--top栏-->
<van-nav-bar
title="协会审核"
left-arrow
placeholder
fixed
@click-left="history.go(-1)"
safe-area-inset-top
></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.applyType" :options="applyTypeOptions"
@change="doSearch"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.clubType" :options="typeOptions"
@change="doSearch"></van-dropdown-item>
</van-dropdown-menu>
</div>
<!--列表-->
<div style="margin-top: 116px">
<van-list
v-model="loading"
:finished="finished" :immediate-check="false" @load="onLoad"
:finished-text="tableData.length>0?'没有更多了':''"
>
<div class="van-doc-card" v-for="o in tableData">
<div @click="openView(o.id)">
<div style="display: flex; justify-content: space-between">
<div style="width: 74%">
<div class="van-ellipsis title">
<span class="title_span">|</span>
<span>{{o.name}}</span>
</div>
<div style="color: grey">{{o.location}}</div>
</div>
<!--<div style="color: #1867b0; white-space: nowrap;">
<span v-if="o.status==1">待协会审核</span>
<span v-if="o.status==2" style="color: red">协会拒绝</span>
<span v-if="o.status==3">待校工会审核</span>
<span v-if="o.status==4" style="color: red">校工会拒绝</span>
<span v-if="o.status==5" style="color: green">审核通过</span>
</div>-->
</div>
<!--<div style="margin-top: 4px">
<van-row>
<van-col span="12"><span style="color: grey">联&ensp;系&ensp;人:</span>{{o.fzrname}}</van-col>
<van-col span="12"><span style="color: grey">电&emsp;&emsp;话:</span>{{o.fzr_mobile}}</van-col>
</van-row>
<van-row>
<van-col span="12"><span style="color: grey">会费标准:</span>{{o.dues_standard}}</van-col>
<van-col span="12"><span style="color: grey">限定人数:</span>{{o.number}}人</van-col>
</van-row>
</div>-->
<van-divider></van-divider>
<div style="display: flex; justify-content: flex-end">
<div>
<van-button @click.stop="getAuditList(o)" class="cus_button"
type="primary" size="small" color="#1867b0"
style="margin-right: 8px; width: auto;">已审{{o.has_audit}}</van-button>
<van-button @click.stop="openView(o)" class="cus_button"
type="primary" size="small" color="#1867b0"
style="margin-right: 8px; width: auto;">未审{{o.no_audit}}</van-button>
</div>
</div>
</div>
</div>
</van-list>
<van-empty
v-if="mLoading==false&&tableData.length==0"
class="custom-image"
image="/none.svg"
description="暂无数据"
></van-empty>
</div>
<!--审核人员-->
<van-action-sheet v-model:show="userShow" title="申请人员列表" class="userPopup" @close="popClose">
<div class="content">
<div class="van-doc-card">
<div style="display: flex; justify-content: space-between; margin-bottom: 10px">
<div v-if="queryType === 'notAudit'">
<van-tag @click="checkAll()" plain type="primary" size="large">全选</van-tag>
<van-tag @click="toggleAll()" plain type="primary" size="large" style="margin-left: 6px">反选</van-tag>
</div>
</div>
<van-checkbox-group v-model="result" ref="checkboxGroup" v-if="userList !== null">
<van-cell-group>
<van-cell
v-for="(obj, index) in userList"
clickable class="cus_cell"
:key="obj.id"
@click="toggle(index)">
<span style="display: inline-block; width: 86px">{{obj.username}}</span>
<span class="unit">{{obj.unitname}}</span>
<br/>
<span style="display: inline-block; width: 85px">{{obj.sex}}</span>
<span style="display: inline-block;">{{obj.loginname}}</span>
<van-icon class="audit_icon" color="green" v-if="queryType === 'hasAudit' && obj.auditstate === true" name="passed"></van-icon>
<van-icon class="audit_icon" color="grey" v-if="queryType === 'hasAudit' && obj.auditstate === false" name="close"></van-icon>
<template #right-icon v-if="queryType === 'notAudit'">
<van-checkbox :name="obj.id" ref="checkboxes"></van-checkbox>
</template>
</van-cell>
</van-cell-group>
</van-checkbox-group>
<div v-else style="margin-top: 4px; text-align: center">暂无请假人员</div>
</div>
<div v-if="queryType === 'notAudit'" style="display: flex; justify-content: space-evenly; position: fixed; bottom: 56px; width: 95%">
<van-button @click="audit('many', 'reject')" color="#ff976a" size="small" style="height: 38px">驳回</van-button>
<van-button @click="audit('many', 'pass')" color="#1867b0" size="small" style="height: 38px">通过</van-button>
</div>
<div v-if="queryType === 'notAudit'" style="display: flex; justify-content: space-evenly; position: fixed; bottom: 10px; width: 95%">
<van-button @click="audit('all', 'reject')" color="#ff976a" size="small" style="height: 38px">一键全部驳回</van-button>
<van-button @click="audit('all', 'pass')" color="#1867b0" size="small" style="height: 38px">一键全部通过</van-button>
</div>
</div>
</van-action-sheet>
</div>
<script>
<!--# include("/platform/meeting/includeJs/meetingUtil.js"){} #-->
const meetUtil = new meetingUtil()
const vue = new Vue({
el: '#app',
mixins: [mobileMixins],
data() {
return {
queryType: '',
result: [],
userList: [],
userShow: false,
clickRow: {},
typeOptions: [],
type: '',
auditType: '',
applyTypeOptions: [
{text: '申请加入', value: '1'},
{text: '申请退会', value: '2'},
],
}
},
methods: {
async audit (type, auditType) {
if (type === 'many' && this.result.length === 0) {
vant.Toast('请先选择人员')
return
}
const str = type === 'many' ? '您选择了' + this.result.length + '个人,请确认您的选择!' : '您确定要一键全部审核吗?'
vant.Dialog.confirm({title: '提示', message: str,}).then(async () => {
let idList = this.result
if (type === 'all') {
idList = this.userList.map(o => o.id)
}
const resp = await $.post('/platform/sys/club/sh/check', {
ids: JSON.stringify(idList),
flag: auditType === 'pass',
type: 1,
applyType: this.pageForm.applyType,
})
if (resp.code === 0) {
this.doSearch()
}
vant.Toast(resp.msg)
this.userShow = false
}).catch(() => {});
},
checkAll() {
this.$refs.checkboxGroup.children.forEach(item => item.toggle(true))
},
toggleAll() {
this.$refs.checkboxGroup.children.forEach(item => item.toggle())
},
toggle(index) {
this.$refs.checkboxes[index].toggle();
},
popClose() {
this.$nextTick(function () {
if (this.$refs.checkboxes !== undefined) {
this.$refs.checkboxes.forEach(item => item.toggle(false));
}
})
},
async getAuditList(o) {
this.queryType = 'hasAudit'
const resp = await $.post('/platform/sys/club/sh/getClubUser', {
id: o.id,
auditType: 'hasAudit',
type: 1,
applyType: this.pageForm.applyType,
})
if (resp.code === 0) {
this.userList = resp.data
if (this.userList.length === 0) {
vant.Toast('暂无已审人员')
} else {
this.userList.sort((a, b) => {
return b.auditstate - a.auditstate
})
this.userShow = true
}
}
},
async openView(o) {
this.queryType = 'notAudit'
this.userList = []
const resp = await $.post('/platform/sys/club/sh/getClubUser', {
id: o.id,
auditType: 'notAudit',
type: 1,
applyType: this.pageForm.applyType,
})
if (resp.code === 0) {
this.userList = resp.data
this.userClickList = []
if (this.userList.length === 0) {
vant.Toast('暂无申请人员')
} else {
this.userShow = true
}
return
}
vant.Toast('系统错误,请联系管理员')
},
doSearch() {
this.pageForm.pageNumber = 1
this.tableData = []
this.finished = false
this.onLoad()
},
async onLoad() {
this.loading = true
this.pageForm.type = 1
$.post('/platform/sys/club/sh/getMyClub', 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 created() {
const data = await getClubType()
data.forEach(item => {
this.typeOptions.push({text: item.name, value: item.code})
})
this.typeOptions.unshift({text: '全部类型'})
this.$set(this.pageForm, "clubType", this.typeOptions[0].value)
this.$set(this.pageForm, "applyType", '1')
this.onLoad()
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,308 @@
<!--#
layout("/mobile/platform.html"){
#-->
<style>
.van-index-bar__sidebar {
display: none;
}
.van-doc-card {
margin: 14px;
padding: 12px 12px 12px 12px;
background-color: #fff;
border-radius: 10px;
box-shadow: 0 8px 12px #ebedf0;
line-height: 20px;
font-size: 13px;
position: relative;
}
.van-divider {
margin: 6px 0 6px 0px;
border-color: lightgray;
}
.van-button--small {
height: 26px;
}
.van-col {
line-height: 24px;
}
.title_span {
font-size: 16px;
font-weight: bold;
position: absolute;
left: -1px;
top: 11px;
color: #1867b0;
}
.title {
font-size: 13px;
font-weight: bold;
flex: 1;
overflow: hidden;
white-space: nowrap;
}
.cus_overflow {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.van-dropdown-menu__item {
flex: auto;
}
</style>
<div id="app" v-cloak>
<m-page-loading v-if="mLoading"></m-page-loading>
<!--top栏-->
<van-nav-bar
title="加入协会"
left-arrow
placeholder
fixed
@click-left="history.go(-1)"
safe-area-inset-top
></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.isjr" :options="clubType"
@change="doSearch"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.clubType" :options="typeOptions"
@change="doSearch"></van-dropdown-item>
</van-dropdown-menu>
</div>
<!--列表-->
<div style="margin-top: 116px">
<van-list
v-model="loading"
:finished="finished" :immediate-check="false" @load="onLoad"
:finished-text="tableData.length>0?'没有更多了':''"
>
<div class="van-doc-card" v-for="o in tableData">
<div @click="openView(o.id)">
<div style="display: flex; justify-content: space-between">
<div style="width: 74%">
<div class="van-ellipsis title">
<span class="title_span">|</span>
<span>{{o.name}}</span>
</div>
<div style="color: grey">{{o.location}}</div>
</div>
</div>
<div style="margin-top: 4px">
<!--<van-row>
<van-col span="12">
<span style="color: grey">联&ensp;系&ensp;人:</span>
<span>{{o.fzrname}}</span>
</van-col>
<van-col span="12">
<span style="color: grey">电&emsp;&emsp;话:</span>
<span>{{o.fzr_mobile}}</span>
</van-col>
</van-row>
<van-row>
<van-col span="12">
<span style="color: grey">会费标准:</span>
<span>{{o.dues_standard}}</span>
</van-col>
<van-col span="12">
<span style="color: grey">限定人数:</span>
<span>{{o.number}}人</span>
</van-col>
</van-row>-->
<van-row>
<van-col span="12" class="cus_overflow">
<span style="color: grey">入会状态:</span>
<span v-if="o.status==1">待协会审核</span>
<span v-if="o.status==2" style="color: red">协会拒绝</span>
<span v-if="o.status==3">待校工会审核</span>
<span v-if="o.status==4" style="color: red">校工会拒绝</span>
<span v-if="o.status==5" style="color: green">审核通过</span>
<span v-if="!o.status">暂未申请</span>
</van-col>
<van-col span="12" class="cus_overflow">
<span style="color: grey">退会状态:</span>
<span v-if="o.exitstatus==1">待协会审核</span>
<span v-if="o.exitstatus==2" style="color: red">协会拒绝</span>
<span v-if="o.exitstatus==3">待校工会审核</span>
<span v-if="o.exitstatus==4" style="color: red">校工会拒绝</span>
<span v-if="o.exitstatus==5" style="color: green">审核通过</span>
<span v-if="!o.exitstatus">暂未申请</span>
</van-col>
</van-row>
</div>
<van-divider></van-divider>
<div style="display: flex; justify-content: flex-end">
<div>
<van-button @click="rollback(o)" color="#1867b0"
size="small" style="margin-right: 8px" type="primary"
v-if="pageForm.isjr === true && o.status==1">
撤销加入申请
</van-button>
<van-button @click="needJoin(o)"
color="#1867b0" v-if="pageForm.isjr === false"
size="small" style="margin-right: 8px" type="primary">
我要加入
</van-button>
<van-button @click="cancelExitClub(o)" color="#1867b0"
size="small" style="margin-right: 8px" type="primary"
v-if="pageForm.isjr === true && o.status!=1 && o.exitstatus==1">
撤销退会申请
</van-button>
<van-button @click="exitClub(o)"
color="#1867b0" v-if="pageForm.isjr === true && o.exitstatus!=1"
size="small" style="margin-right: 8px" type="primary">
我要退会
</van-button>
</div>
</div>
</div>
</div>
</van-list>
<van-empty
v-if="mLoading==false&&tableData.length==0"
class="custom-image"
image="/none.svg"
description="暂无数据"
></van-empty>
</div>
</div>
<script>
<!--# include("/platform/meeting/includeJs/meetingUtil.js"){} #-->
const meetUtil = new meetingUtil()
const vue = new Vue({
el: '#app',
mixins: [mobileMixins],
data() {
return {
clickRow: {},
typeOptions: [],
clubType: [{text: '未加入', value: false}, {text: '已加入', value: true}],
}
},
methods: {
exitClub(row) {
vant.Dialog.confirm({title: '提示', message: '您确定要申请退会吗?',}).then(async () => {
const resp = await $.post('/platform/sys/club/sq/exitClub', {id: row.id})
if (resp.code === 0) {
this.doSearch()
}
vant.Toast(resp.msg)
}).catch(() => {})
},
cancelExitClub(id) {
vant.Dialog.confirm({title: '提示', message: '您确定要撤销退会申请吗?',}).then(async () => {
const resp = await $.post('/platform/sys/club/sq/cancelExitClub', {id: id})
if (resp.code === 0) {
this.doSearch()
}
vant.Toast(resp.msg)
}).catch(() => {})
},
openView(id) {
},
doSearch() {
this.pageForm.pageNumber = 1
this.tableData = []
this.finished = false
this.onLoad()
},
async onLoad() {
this.loading = true
$.post('/platform/sys/club/sq/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 needJoin(o) {
this.clickRow = o
const {code, data} = await $.post('/platform/sys/club/sq/getInClubByCurUser')
let str = '您还没有参加协会'
if (data && data.length > 0) {
str = '您已经加入了'
data.forEach((item) => {
str += '【' + item.name + '】'
})
}
str += ',请确认是否申请加入【' + o.name + '】?'
vant.Dialog.confirm({title: '提示', message: str,}).then(() => {
const id = o.id
$.post("/platform/sys/club/sq/submit", {id}, (data) => {
if (data.code === 0) {
vant.Toast('提交申请成功');
this.doSearch();
} else {
vant.Toast(data.msg);
}
}, "json");
}).catch(() => {});
},
rollback(o) {
vant.Dialog.confirm({title: '提示', message: '请确定是否撤销申请?',}).then(() => {
const id = o.id
$.post("/platform/sys/club/sq/revocation", {id}, (data) => {
if (data.code === 0) {
vant.Toast('撤销申请成功');
this.doSearch();
} else {
vant.Toast(data.msg);
}
}, "json");
}).catch(() => {});
}
},
async created() {
const data = await getClubType()
data.forEach(item => {
this.typeOptions.push({text: item.name, value: item.code})
})
this.typeOptions.unshift({text: '全部类型'})
this.$set(this.pageForm, "clubType", this.typeOptions[0].value)
this.$set(this.pageForm, "isjr", this.clubType[0].value)
this.pageForm.searchName = 'club.name'
this.onLoad()
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,385 @@
<!--#
layout("/mobile/platform.html"){
#-->
<style>
.van-index-bar__sidebar {
display: none;
}
.van-doc-card {
margin: 14px;
padding: 12px 12px 12px 12px;
background-color: #fff;
border-radius: 10px;
box-shadow: 0 8px 12px #ebedf0;
line-height: 20px;
font-size: 13px;
position: relative;
}
.van-divider {
margin: 6px 0 6px 0px;
border-color: lightgray;
}
.van-doc-card .van-button--small {
border-radius: 8px;
width: 60px !important;
height: 28px;
}
.van-col {
line-height: 24px;
}
.title_span {
font-size: 16px;
font-weight: bold;
position: absolute;
left: -1px;
top: 11px;
color: #1867b0;
}
.title {
font-size: 13px;
font-weight: bold;
flex: 1;
overflow: hidden;
white-space: nowrap;
}
.cus_overflow {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.van-dropdown-menu__item {
flex: auto;
}
.userPopup {
height: 90%;
background-color: #f6f7f9;
font-size: 14px;
}
.audit_icon {
font-size: 24px;
position: absolute;
font-weight: bolder;
right: 0;
top: 60px;
}
.userPopup .van-cell {
padding: 10px 0;
}
.van-radio-group {
width: 100%;
justify-content: center;
margin: 10px;
}
.van-cell-group__title {
padding: 5px 0 5px 0;
}
.van-form .van-field__control {
text-align: right;
}
</style>
<div id="app" v-cloak>
<m-page-loading v-if="mLoading"></m-page-loading>
<!--top栏-->
<van-nav-bar
title="会长审核"
left-arrow
placeholder
fixed
@click-left="history.go(-1)"
safe-area-inset-top
></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.applyType" :options="applyTypeOptions"
@change="doSearch"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.radioType" :options="auditOptions"
@change="doSearch"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.clubId" :options="clubOptions"
@change="doSearch"></van-dropdown-item>
</van-dropdown-menu>
</div>
<!--列表-->
<div style="margin-top: 116px">
<van-list
v-model="loading"
:finished="finished" :immediate-check="false" @load="onLoad"
:finished-text="tableData.length>0?'没有更多了':''"
>
<div class="van-doc-card" v-for="o in tableData">
<div>
<div style="display: flex; justify-content: space-between">
<div style="width: 74%">
<div class="van-ellipsis title">
<span class="title_span">|</span>
<span>{{o.username}}</span>
</div>
<div style="color: #1867b0;"></div>
</div>
</div>
<van-divider></van-divider>
<div style="margin-top: 10px">
<van-row>
<van-col span="24">
<span style="color: grey">协会名称:</span>
<span>{{o.clubname}}</span>
</van-col>
</van-row>
<van-row>
<van-col span="24">
<span style="color: grey">工&emsp;&emsp;号:</span>
<span>{{o.loginname}}</span>
</van-col>
</van-row>
<van-row>
<van-col span="24">
<span style="color: grey">所属单位:</span>
<span>{{o.unitname}}</span>
</van-col>
</van-row>
<van-row>
<van-col span="24">
<span style="color: grey">申请时间:</span>
<span>{{o.applytime}}</span>
</van-col>
</van-row>
</div>
<div style="display: flex; justify-content: flex-end; margin-top: 4px">
<div>
<van-button @click.stop="openView(o)"
type="primary" size="small" color="#1867b0"
style="margin-right: 8px; width: auto;">
查看
</van-button>
<van-button @click.stop="openAudit(o)" v-if="o.status == 3"
type="primary" size="small" color="#1867b0"
style="margin-right: 8px; width: auto;">
审核
</van-button>
</div>
</div>
</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 class="info-show" v-model="infoShow" get-container="#app" position="right" :style="{ height: '100%', width: '100%' }">
<van-nav-bar
title="详细信息"
left-arrow
placeholder
fixed
@click-left="infoShow = false"
safe-area-inset-top
></van-nav-bar>
<club-user-apply-info ref="applyInfo" :handle="handle">
<template #handle>
<div class="van-cell-group__title">
<div class="van-sidebar-item van-sidebar-item--select">
会长审核
</div>
</div>
<van-form class="van-form">
<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="请输入审核意见"
></van-field>
<!--<van-field label="审核签字" required style="flex-flow: column">
<template #label>
<div class="mb10">审核签字</div>
</template>
<template #input>
<mobile-sign ref="signature" v-model="formData.auditSign"></mobile-sign>
</template>
</van-field>-->
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
<van-col span="12">
<van-button :color="themeColor" plain block @click="doReview(false)">拒 绝
</van-button>
</van-col>
<van-col span="12">
<van-button :color="themeColor" block @click="doReview(true)">通 过
</van-button>
</van-col>
</van-row>
</van-form>
</template>
</club-user-apply-info>
</van-popup>
</div>
<script>
const vue = new Vue({
el: '#app',
mixins: [mobileMixins],
data() {
return {
handle: false,
clubOptions: [],
auditOptions: [
{text: '全部', value: 1},
{text: '已审核', value: 2},
{text: '未审核', value: 3},
],
pageForm: {
radioType: 3
},
infoShow: false,
formData: {},
applyTypeOptions: [
{text: '申请加入', value: '1'},
{text: '申请退会', value: '2'},
],
}
},
components: {
'club-user-apply-info': httpVueLoader('/components/mobile/club/mobileClubUserApplyInfo.vue?v=1.0.1'),
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
},
methods: {
openAudit(row) {
this.formData = {
id: row.id,
auditTime: moment().format('YYYY-MM-DD'),
username: "${@shiro.getPrincipalProperty('username')}",
auditOpinion: null,
auditSign: ""
}
this.infoShow = true
this.handle = true
this.$nextTick(() => {
this.$refs.applyInfo.getInfo(row.id)
})
},
openView(row) {
this.infoShow = true
this.handle = false
this.$nextTick(() => {
this.$refs.applyInfo.getInfo(row.id)
})
},
async doReview(flag) {
if (!this.formData.auditOpinion) {
vant.Toast('请填写审核意见');
return
}
/*if (this.$refs.signature.checkNull()) {
vant.Toast('请签字')
return
}*/
const confirm = await vant.Dialog.confirm({
title: '提示',
message: '您确定要审核吗?',
})
if (confirm === 'confirm') {
//this.$refs.signature.submitSign()
this.formData.flag = flag
this.formData.type = 2
this.formData.applyType = this.pageForm.applyType
const resp = await $.post('/platform/sys/club/sh/check', this.formData)
if (resp.code === 0) {
this.doSearch()
this.infoShow = false
}
vant.Toast(resp.msg)
}
},
doSearch() {
this.pageForm.pageNumber = 1
this.tableData = []
this.finished = false
this.onLoad()
},
async onLoad() {
this.loading = true
this.pageForm.type = 2
$.post('/platform/sys/club/sh/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 getMyMangeClub() {
const {data} = await $.get("/platform/sys/club/users/getMyMangeClub")
return data
},
},
async created() {
const data = await this.getMyMangeClub()
data.forEach(item => {
this.clubOptions.push({text: item.name, value: item.id})
})
this.clubOptions.unshift({text: '全部协会'})
this.$set(this.pageForm, "applyType", '1')
this.onLoad()
}
})
</script>
<!--#
}
#-->