289 lines
12 KiB
HTML
289 lines
12 KiB
HTML
<!--#
|
||
layout("/layouts/platform.html"){
|
||
#-->
|
||
|
||
|
||
<style>
|
||
.v-body {
|
||
display: flex;
|
||
width: 100%;
|
||
height: 100%;
|
||
justify-content: center;
|
||
align-items: center;
|
||
background-color: #f0f2f5;
|
||
}
|
||
|
||
.v-card {
|
||
width: calc(100% - 0px);
|
||
height: calc(100% - 0px);
|
||
position: relative;
|
||
}
|
||
|
||
.transition-row {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.transition-item {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
|
||
.demo-table-expand {
|
||
font-size: 0;
|
||
}
|
||
|
||
.demo-table-expand label {
|
||
color: #99a9bf;
|
||
}
|
||
|
||
|
||
</style>
|
||
|
||
<div id="app" v-cloak>
|
||
<guava ref="guava" style="width: 100%;height: 100%">
|
||
<template>
|
||
<div class="v-body">
|
||
<el-card class="v-card" shadow="never">
|
||
<el-tabs v-model="activeName">
|
||
<el-tab-pane label="申请入会" name="first">
|
||
<div style="display: flex;width: 100%;height: 100%;align-items: center;justify-content: center;position: relative;padding: 10px">
|
||
<el-card style="width: 500px">
|
||
<div slot="header" class="clearfix">
|
||
<h4>工会信息</h4>
|
||
</div>
|
||
<div v-loading="unionInfoLoading">
|
||
<el-form label-suffix=":" label-width="120px">
|
||
<el-form-item label="工会名称">{{unionInfo.unionname}}</el-form-item>
|
||
<el-form-item label="工会编码">{{unionInfo.unioncode}}</el-form-item>
|
||
<el-form-item label="工会负责人">{{unionInfo.manager}}</el-form-item>
|
||
<el-form-item label="联系电话">{{unionInfo.telephone}}</el-form-item>
|
||
<el-form-item label="加入方式">
|
||
<el-radio-group v-model="memberStates">
|
||
<el-radio :label="1">新增</el-radio>
|
||
<el-radio :label="2">转入</el-radio>
|
||
</el-radio-group>
|
||
</el-form-item>
|
||
</el-form>
|
||
<el-button :disabled="!((unionInfo.apply||unionInfo.reApply)&&reading)"
|
||
type="primary"
|
||
@click="apply"
|
||
style="width: 70%;margin-left: 15%;margin-top: 20px">
|
||
<span v-if="unionInfo.apply||unionInfo.reApply">{{unionInfo.reApply?'重新申请':'申请加入'}}</span>
|
||
<span v-else-if="unionInfo.record">{{unionInfo.record.stateName}}</span>
|
||
<span v-else>您已是会员</span>
|
||
</el-button>
|
||
|
||
<el-radio style="width: 70%;margin-left: 15%;margin-top: 20px;color: #F56C6C"
|
||
v-model="reading" :label="true">
|
||
阅读须知:我自愿加入工会
|
||
</el-radio>
|
||
|
||
</div>
|
||
</el-card>
|
||
</div>
|
||
|
||
</el-tab-pane>
|
||
|
||
<el-tab-pane label="个人信息" name="second">
|
||
<div style="padding: 0 8%;padding-top: 50px">
|
||
<member ref="memberInfo" :id="'${@shiro.getPrincipalProperty('id')}'" view></member>
|
||
</div>
|
||
</el-tab-pane>
|
||
|
||
<el-tab-pane label="申请记录" name="third">
|
||
|
||
<el-table :data="unionInfo.records" style="width: 100%" row-key="id"
|
||
@expand-change="onExpand">
|
||
<el-table-column type="expand">
|
||
<template slot-scope="{row}">
|
||
|
||
<el-form class="demo-table-expand" v-loading="row.loading"
|
||
label-position="right" label-suffix=":" label-width="120px">
|
||
<el-form>
|
||
<el-form-item label="院级工会审核信息 " label-width="180px"
|
||
class="view-header">
|
||
</el-form-item>
|
||
</el-form>
|
||
|
||
<el-row :gutter="20" v-if="row.info&&row.info.unionAudit">
|
||
<el-col :span="12">
|
||
<el-form-item label="审核人员">
|
||
<span>{{ row.info.unionAudit.username }}</span>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<el-form-item label="审核时间">
|
||
<span>{{ row.info.unionAudit.auditTime }}</span>
|
||
</el-form-item>
|
||
</el-col>
|
||
|
||
<el-col :span="24">
|
||
<el-form-item label="审核意见">
|
||
<span>{{ row.info.unionAudit.auditOpinion }}</span>
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row>
|
||
|
||
<el-row v-else type="flex" justify="center">
|
||
<el-form-item label="暂无审核信息">
|
||
</el-form-item>
|
||
</el-row>
|
||
|
||
<el-form>
|
||
<el-form-item label="校工会审核信息 " label-width="180px"
|
||
class="view-header">
|
||
</el-form-item>
|
||
</el-form>
|
||
|
||
<el-row :gutter="20" v-if="row.info&&row.info.schoolAudit">
|
||
<el-col :span="12">
|
||
<el-form-item label="审核人员">
|
||
<span>{{ row.info.schoolAudit.username }}</span>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<el-form-item label="审核时间">
|
||
<span>{{ row.info.schoolAudit.auditTime }}</span>
|
||
</el-form-item>
|
||
</el-col>
|
||
|
||
<el-col :span="24">
|
||
<el-form-item label="审核意见">
|
||
<span>{{ row.info.schoolAudit.auditOpinion }}</span>
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row>
|
||
|
||
<el-row v-else type="flex" justify="center">
|
||
<el-form-item label="暂无审核信息">
|
||
</el-form-item>
|
||
</el-row>
|
||
|
||
</el-form>
|
||
</template>
|
||
</el-table-column>
|
||
|
||
<el-table-column align="center" header-align="center" label="序号"
|
||
type="index"></el-table-column>
|
||
|
||
<el-table-column label="申请人" prop="username" header-align="center"
|
||
align="center"></el-table-column>
|
||
|
||
<el-table-column label="申请时间" prop="applyTime" header-align="center"
|
||
align="center"></el-table-column>
|
||
|
||
<el-table-column label="工会" prop="unionname" header-align="center"
|
||
align="center"></el-table-column>
|
||
|
||
<el-table-column label="状态" prop="stateId" header-align="center"
|
||
align="center">
|
||
<template scope="{row}">
|
||
<span :style="'color:'+row.stateColor">{{ row.stateName }}</span>
|
||
</template>
|
||
</el-table-column>
|
||
|
||
</el-table>
|
||
|
||
</el-tab-pane>
|
||
</el-tabs>
|
||
</el-card>
|
||
</div>
|
||
</template>
|
||
|
||
<template #edit_func>
|
||
<el-button type="primary" @click="$refs.member.save()">提交</el-button>
|
||
</template>
|
||
|
||
<template #edit>
|
||
<member ref="member" :id="'${@shiro.getPrincipalProperty('id')}'" @save="doApply"></member>
|
||
</template>
|
||
|
||
<template #view>
|
||
|
||
</template>
|
||
</guava>
|
||
|
||
|
||
</div>
|
||
|
||
<script>
|
||
const vue = new Vue({
|
||
el: '#app',
|
||
mixins: [initTableMixins],
|
||
data() {
|
||
return {
|
||
reading: false,
|
||
activeName: 'first',
|
||
unionInfoLoading: true,
|
||
unionInfo: {},
|
||
memberStates: 1
|
||
}
|
||
},
|
||
components: {
|
||
'guava': httpVueLoader('/components/plugins/Guava.vue?v=1.0.0'),
|
||
'member': httpVueLoader('/components/member/MemberInfo.vue?v=1.0.3'),
|
||
},
|
||
methods: {
|
||
|
||
async onExpand(row) {
|
||
this.$set(row, "loading", true)
|
||
|
||
const resp = await $.get("/platform/member/common/findApplyInfo", {id: row.id})
|
||
|
||
requestLaterFun(resp, (data) => {
|
||
this.$set(row, "info", data)
|
||
}, () => {
|
||
this.$set(row, "info", {})
|
||
}, () => {
|
||
this.$set(row, "loading", false)
|
||
})
|
||
|
||
},
|
||
|
||
async doApply(user) {
|
||
console.log(this.reading)
|
||
|
||
if (!this.reading) {
|
||
this.$notify.warning({title: '提示', message: '请勾选阅读须知'});
|
||
return
|
||
}
|
||
|
||
const resp = await $.get(loc() + "/doApply", {memberStates: this.memberStates})
|
||
|
||
requestLaterFun(resp, () => {
|
||
this.getUnionInfo()
|
||
this.$refs.memberInfo.getUserInfo()
|
||
this.$refs.guava.index()
|
||
})
|
||
},
|
||
|
||
apply() {
|
||
this.$refs.guava.edit()
|
||
},
|
||
|
||
async getUnionInfo() {
|
||
this.unionInfoLoading = true
|
||
const resp = await $.get(loc() + "/unionInfo")
|
||
requestLaterFun(resp, (data) => {
|
||
this.unionInfo = data
|
||
}, () => {
|
||
this.$notify.error({
|
||
title: '错误',
|
||
message: '获取信息失败'
|
||
});
|
||
}, () => {
|
||
this.unionInfoLoading = false
|
||
})
|
||
},
|
||
},
|
||
async created() {
|
||
this.getUnionInfo()
|
||
}
|
||
})
|
||
</script>
|
||
<!--#
|
||
}
|
||
#-->
|