commit
This commit is contained in:
+3
-1
@@ -1,5 +1,7 @@
|
||||
package io.v.nutz.sys.controllers.platform.sys.club.regist;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.wizzer.framework.page.Pagination;
|
||||
import io.v.nutz.base.annontation.ViReturn;
|
||||
import io.v.nutz.base.utils.Roles;
|
||||
@@ -112,8 +114,8 @@ public class ClubXghReplyController {
|
||||
dao.insert(userRoles);
|
||||
sysUserService.clearCache();
|
||||
sysRoleService.clearCache();
|
||||
club.setFoundTime(StrUtil.blankToDefault(sys_club.getFoundTime(), DateUtil.now()));
|
||||
}
|
||||
club.setFoundTime(sys_club.getFoundTime());
|
||||
club.setSchoolReplyFile(sys_club.getSchoolReplyFile());
|
||||
club.setXghAuditId(audit.getId());
|
||||
dao.updateIgnoreNull(club);
|
||||
|
||||
@@ -248,4 +248,12 @@ module.exports = {
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
.el-descriptions-item__label {
|
||||
min-width: 200px !important;
|
||||
}
|
||||
|
||||
.el-descriptions .is-bordered .el-descriptions-item__cell {
|
||||
min-width: 200px !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -199,239 +199,7 @@ layout("/layouts/platform.html"){
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<el-tabs v-model="infoActive" id="join_tab">
|
||||
<el-tab-pane name="first" label="协会信息">
|
||||
<el-descriptions class="margin-top" title="" :column="3" border>
|
||||
<el-descriptions-item :span="3">
|
||||
<template slot="label">协会名称</template>
|
||||
<div v-html="detailData.name"></div>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="成立时间">
|
||||
{{detailData.foundtime}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="协会编码">
|
||||
{{detailData.code}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="协会类型">
|
||||
{{detailData.typename}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="发起人">
|
||||
{{detailData.sponsorname}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">报名联系人</template>
|
||||
{{detailData.fzrname}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">所属单位</template>
|
||||
{{detailData.fzr_unit_name}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">联系人电话</template>
|
||||
{{detailData.concatpersonmobile}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">联系人邮箱</template>
|
||||
{{detailData.concatpersonemail}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">会费标准</template>
|
||||
{{detailData.dues_standard}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">当前人数</template>
|
||||
{{detailData.cynum}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :span="2"></el-descriptions-item>
|
||||
<el-descriptions-item :span="3">
|
||||
<template slot="label">协会介绍</template>
|
||||
<div class="text-left" v-html="detailData.stjs"></div>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :span="3">
|
||||
<template slot="label">协会宗旨</template>
|
||||
<div class="text-left" v-html="detailData.stzz"></div>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item span="3.5">
|
||||
<template slot="label">钉钉二维码</template>
|
||||
<file-upload v-if="detailData.qqgroupcode && detailData.qqgroupcode.length > 0"
|
||||
:files="JSON.parse(detailData.qqgroupcode)"
|
||||
:view="true"></file-upload>
|
||||
</el-descriptions-item>
|
||||
<!--<el-descriptions-item span="2">
|
||||
<template slot="label">微信群二维码</template>
|
||||
<file-upload v-if="detailData.wechatgroupcode && detailData.wechatgroupcode.length > 0"
|
||||
:files="JSON.parse(detailData.wechatgroupcode)"
|
||||
:view="true"></file-upload>
|
||||
</el-descriptions-item>-->
|
||||
<el-descriptions-item span="1.5">
|
||||
<template slot="label">协会章程</template>
|
||||
<file-upload v-if="detailData.rulesfile && detailData.rulesfile.length > 0"
|
||||
:files="JSON.parse(detailData.rulesfile)"
|
||||
:view="true"></file-upload>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item span="2">
|
||||
<template slot="label">年度活动计划</template>
|
||||
<file-upload v-if="detailData.yearplanfile && detailData.yearplanfile.length > 0"
|
||||
:files="JSON.parse(detailData.yearplanfile)"
|
||||
:view="true"></file-upload>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane v-if="viewType === 'join'" name="second" label="个人信息">
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-position="top"
|
||||
label-width="120px">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="username" label="姓名">
|
||||
<el-input v-model="formData.username" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="sex" label="性别">
|
||||
<el-input v-model="formData.sex" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="birthday" label="出生年月">
|
||||
<el-date-picker
|
||||
v-model="formData.birthday"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
style="width: 100%"
|
||||
placeholder="请选择出生年月">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="birthPlace" label="出生地">
|
||||
<el-input v-model="formData.birthPlace"
|
||||
placeholder="请填写出生地"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="education" label="文化程度">
|
||||
<el-input v-model="formData.education" placeholder="请填写文化程度"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="hobby" label="爱好">
|
||||
<el-input v-model="formData.hobby" placeholder="请填写爱好"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="unitName" label="工作部门">
|
||||
<el-input v-model="formData.unitName" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="position" label="职务">
|
||||
<el-input v-model="formData.position" placeholder="请填写职务"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="mobile" label="电话">
|
||||
<el-input v-model="formData.mobile" placeholder="请填写电话"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="email" label="电子邮箱">
|
||||
<el-input v-model="formData.email" placeholder="请填写电子邮箱"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="homeAddress" label="家庭住址">
|
||||
<el-input v-model="formData.homeAddress" placeholder="请填写家庭住址"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="QQNumber" label="QQ">
|
||||
<el-input v-model="formData.QQNumber" placeholder="请填写QQ"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="bodyHeight" label="身高">
|
||||
<el-input v-model="formData.bodyHeight" placeholder="请填写身高"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="bodyWeight" label="体重">
|
||||
<el-input v-model="formData.bodyWeight" placeholder="请填写体重"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="health" label="身体状况">
|
||||
<el-input v-model="formData.health" placeholder="请填写身体状况"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="sport" label="经常从事的运动">
|
||||
<el-input v-model="formData.sport" placeholder="请填写经常从事的运动"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="medicalHistory" label="是否有过特殊病史">
|
||||
<el-radio-group v-model="formData.medicalHistory">
|
||||
<el-radio :label="true" border>是</el-radio>
|
||||
<el-radio :label="false" border>否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="joinActivity" label="是否愿意参加本协会的活动">
|
||||
<el-radio-group v-model="formData.joinActivity">
|
||||
<el-radio :label="true" border>是</el-radio>
|
||||
<el-radio :label="false" border>否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item prop="otherThing" label="是否有特别需要说明的问题(身体或心理)">
|
||||
<el-input maxlength="500" v-model="formData.otherThing"
|
||||
placeholder="如有,请填写特别需要说明的问题"
|
||||
type="textarea" :autosize="{ minRows: 4, maxRows: 8}"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item prop="remark" label="备注">
|
||||
<el-input maxlength="100" v-model="formData.remark" placeholder="请填写备注"
|
||||
type="textarea" :autosize="{ minRows: 4, maxRows: 8}"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item prop="photo" label="两寸登记照">
|
||||
<image-Upload :height="50" :limit="1" :file-type="['png', 'jpg']" :file-size="1"
|
||||
v-model="formData.photo"></image-Upload>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div style="float: right;margin: 20px 0">
|
||||
<el-button @click="doSubmit()" type="primary">申请加入</el-button>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<club-regist-info ref="info"></club-regist-info>
|
||||
</template>
|
||||
|
||||
<template #edit>
|
||||
@@ -682,8 +450,6 @@ layout("/layouts/platform.html"){
|
||||
familyRelation: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
familyMobile: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
},
|
||||
infoActive: 'first',
|
||||
detailData: {},
|
||||
activeName: 'false',
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
@@ -699,9 +465,11 @@ layout("/layouts/platform.html"){
|
||||
hasJoinCount: 0,
|
||||
noJoinCount: 0,
|
||||
clickRow: {},
|
||||
viewType: '',
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'club-regist-info': httpVueLoader('/components/club/clubRegistInfo.vue'),
|
||||
},
|
||||
methods: {
|
||||
async yearAudit(row) {
|
||||
this.$confirm('您确定要提交今年的年审吗?', '提示', {
|
||||
@@ -777,39 +545,12 @@ layout("/layouts/platform.html"){
|
||||
});
|
||||
},
|
||||
openDetail(row, type) {
|
||||
this.viewType = type
|
||||
this.infoActive = type === 'view' ? 'first' : 'second'
|
||||
if (type === 'join') {
|
||||
this.formData = {
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
loginname: "${@shiro.getPrincipalProperty('loginname')}",
|
||||
sex: "${@shiro.getPrincipalProperty('sex')}",
|
||||
birthday: "${@shiro.getPrincipalProperty('birthday')}",
|
||||
birthPlace: "${@shiro.getPrincipalProperty('birthPlace')}",
|
||||
education: "${@shiro.getPrincipalProperty('education')}",
|
||||
hobby: "${@shiro.getPrincipalProperty('hobby')}",
|
||||
unitName: "${@shiro.getPrincipalProperty('unit').getName()}",
|
||||
position: "${@shiro.getPrincipalProperty('position')}",
|
||||
mobile: "${@shiro.getPrincipalProperty('mobile')}",
|
||||
email: "${@shiro.getPrincipalProperty('email')}",
|
||||
homeAddress: "${@shiro.getPrincipalProperty('homeAddress')}",
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.form.clearValidate()
|
||||
})
|
||||
}
|
||||
this.clickRow = row
|
||||
$.get(base + "/platform/sys/club/mange/findOne", {id: row.id}, (data) => {
|
||||
if (data.code === 0) {
|
||||
this.detailData = data.data
|
||||
this.$refs.guava.view()
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
const {id} = row
|
||||
this.$refs.guava.view()
|
||||
this.$nextTick(() => {
|
||||
this.$refs.info.getInfo(id)
|
||||
})
|
||||
},
|
||||
|
||||
openApply(row) {
|
||||
|
||||
@@ -37,6 +37,19 @@ layout("/layouts/platform.html"){
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="协会类型" prop="type">
|
||||
<el-select v-model="formData.type" style="width: 100%"
|
||||
placeholder="请选择协会类型">
|
||||
<el-option
|
||||
v-for="item in typeOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.code">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row gutter="30">
|
||||
<el-col :span="12">
|
||||
@@ -53,19 +66,7 @@ layout("/layouts/platform.html"){
|
||||
</el-row>
|
||||
|
||||
<el-row gutter="30">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="协会类型" prop="type">
|
||||
<el-select v-model="formData.type" style="width: 100%"
|
||||
placeholder="请选择协会类型">
|
||||
<el-option
|
||||
v-for="item in typeOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.code">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<!--<el-col :span="12">
|
||||
<el-form-item label="会费标准" prop="dues_standard">
|
||||
<el-input placeholder="请填写会费标准" v-model="formData.dues_standard"></el-input>
|
||||
@@ -190,7 +191,7 @@ layout("/layouts/platform.html"){
|
||||
<el-option
|
||||
v-for="item in userOptions"
|
||||
:key="item.id"
|
||||
:label="item.username"
|
||||
:label="item.username + ' - ' + item.unitname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@@ -290,7 +291,7 @@ layout("/layouts/platform.html"){
|
||||
<el-button v-if="activeName === '1'" type="primary" @click="activeName = '2'">下一步</el-button>
|
||||
<el-button v-if="activeName === '2'" type="primary" @click="activeName = '3'">下一步</el-button>
|
||||
<el-button type="primary" @click="doHandle(true)">保存</el-button>
|
||||
<el-button type="primary" @click="doHandle(false)">提交</el-button>
|
||||
<el-button :disabled="activeName !== '3'" type="primary" @click="doHandle(false)">提交</el-button>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</guava>
|
||||
@@ -524,6 +525,10 @@ layout("/layouts/platform.html"){
|
||||
this.$message.warning('请填写理事机构信息')
|
||||
return
|
||||
}
|
||||
if (!flag && this.managePerson.length < 3) {
|
||||
this.$message.warning('理事机构成员要求不少于3人')
|
||||
return
|
||||
}
|
||||
const cloneData = clone(this.formData)
|
||||
let array = []
|
||||
if(this.formData.sponsor) {
|
||||
|
||||
Reference in New Issue
Block a user