This commit is contained in:
@jyuhsin
2026-01-22 17:32:06 +08:00
parent c50bcbf869
commit 6a07605b39
27 changed files with 515 additions and 41 deletions
@@ -76,6 +76,30 @@ layout("/layouts/platform.html"){
<el-option v-for="item in clubList" :key="item.id" :label="item.clubName" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="届数" prop="period">
<el-select v-model="formData.period" style="width: 100%" placeholder="请选择届数">
<el-option label="一届" value="一届"></el-option>
<el-option label="二届" value="二届"></el-option>
<el-option label="三届" value="三届"></el-option>
<el-option label="四届" value="四届"></el-option>
<el-option label="五届" value="五届"></el-option>
<el-option label="六届" value="六届"></el-option>
<el-option label="七届" value="七届"></el-option>
<el-option label="八届" value="八届"></el-option>
<el-option label="九届" value="九届"></el-option>
<el-option label="十届" value="十届"></el-option>
<el-option label="十一届" value="十一届"></el-option>
<el-option label="十二届" value="十二届"></el-option>
<el-option label="十三届" value="十三届"></el-option>
<el-option label="十四届" value="十四届"></el-option>
<el-option label="十五届" value="十五届"></el-option>
<el-option label="十六届" value="十六届"></el-option>
<el-option label="十七届" value="十七届"></el-option>
<el-option label="十八届" value="十八届"></el-option>
<el-option label="十九届" value="十九届"></el-option>
<el-option label="二十届" value="二十届"></el-option>
</el-select>
</el-form-item>
<el-form-item label="协会成员" prop="userId">
<el-select v-model="formData.userId" @change="userChange" placeholder="请选择协会成员" filterable clearable style="width: 100%">
<el-option v-for="item,index in userList" :key="index" :label="item.userName" :value="item.userId"></el-option>
@@ -126,6 +150,7 @@ layout("/layouts/platform.html"){
clubId: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
userId: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
nowRoleCode: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
period: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
},
viewData: {},
}
@@ -84,6 +84,12 @@ layout("/layouts/platform.html"){
<span v-else>{{ row.userState }}</span>
</template>
</el-table-column>
<el-table-column label="当前状态" prop="count" sortable show-overflow-tooltip>
<template v-slot="{ row }">
<el-tag v-if="row.count > 0" size="mini" type="success">在会</el-tag>
<el-tag v-else size="mini" type="danger">退会</el-tag>
</template>
</el-table-column>
<el-table-column label="拨付状态" prop="assign" show-overflow-tooltip>
<template slot="header" slot-scope="scope">
<el-tooltip placement="bottom">
@@ -94,7 +100,7 @@ layout("/layouts/platform.html"){
第三步:如果是“退休”状态但未有退休日期信息,判定无领取资格;<br/>
第四步:如果是“退休”状态且填写了退休日期,当您的退休年份 ≥ 缴费记录年份(无缴费年份则按今年算)时,判定有资格,反之则无。
</div>
<span>是否拨付<i class="el-icon-question"></i></span>
<span>拨付状态<i class="el-icon-question"></i></span>
</el-tooltip>
</template>
<template v-slot="{ row }">
@@ -66,6 +66,7 @@ layout("/layouts/platform.html"){
<template #edit_func>
<snaker-start slot="header" label="" define_key="XHHJBG"></snaker-start>
</template>
<template #edit>
<el-form :model="formData" ref="formRef" size="small" label-width="80px" :rules="formRules">
<el-form-item label="协会名称" prop="clubId">
@@ -73,28 +74,69 @@ layout("/layouts/platform.html"){
<el-option v-for="item in clubList" :key="item.id" :label="item.clubName" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="届数" prop="period">
<el-select v-model="formData.period" style="width: 100%" placeholder="请选择届数">
<el-option label="一届" value="一届"></el-option>
<el-option label="二届" value="二届"></el-option>
<el-option label="三届" value="三届"></el-option>
<el-option label="四届" value="四届"></el-option>
<el-option label="五届" value="五届"></el-option>
<el-option label="六届" value="六届"></el-option>
<el-option label="七届" value="七届"></el-option>
<el-option label="八届" value="八届"></el-option>
<el-option label="九届" value="九届"></el-option>
<el-option label="十届" value="十届"></el-option>
<el-option label="十一届" value="十一届"></el-option>
<el-option label="十二届" value="十二届"></el-option>
<el-option label="十三届" value="十三届"></el-option>
<el-option label="十四届" value="十四届"></el-option>
<el-option label="十五届" value="十五届"></el-option>
<el-option label="十六届" value="十六届"></el-option>
<el-option label="十七届" value="十七届"></el-option>
<el-option label="十八届" value="十八届"></el-option>
<el-option label="十九届" value="十九届"></el-option>
<el-option label="二十届" value="二十届"></el-option>
</el-select>
</el-form-item>
<el-form-item label="换届报告" prop="files">
<span class="form-item-tooltip">
(说明:请上传经原会长、秘书长签字后的PDF版(或JPG版)换届报告)
</span>
<file-upload
:value.sync="formData.files"
:upload_number="1"
upload_result_category="array"
complete_result
upload_mode="drag"
accept=".doc,.docx,.pdf"
accept=".jpg,.pdf"
></file-upload>
</el-form-item>
</el-form>
<div style="float: right;margin: 20px 0">
<el-button @click="$refs.guava.index()">取 消</el-button>
<el-button type="primary" @click="onSubmit" v-if="!taskId">提 交</el-button>
<el-button type="primary" @click="onFinishTask" v-else>提 交</el-button>
</div>
</template>
<template #edit_footer>
<el-button @click="$refs.guava.index()">取 消</el-button>
<el-button type="primary" @click="onSubmit" v-if="!taskId">提 交</el-button>
<el-button type="primary" @click="onFinishTask" v-else>提 交</el-button>
</template>
<template #view>
<info ref="infoRef"></info>
</template>
</guava>
<el-dialog width="40%" :visible.sync="tooltipDialogVisible" title="上传换届报告温馨提示">
<el-result icon="warning" title="温馨提示">
<template slot="subTitle">
换届报告需要经<label style="font-weight: bold">原会长、秘书长</label>签字,并将签字后的PDF版(或JPG版)上传至智慧工会备案。
<br/>
经校工会审批后,社团方可在系统内进行人员身份信息变更。
</template>
</el-result>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="tooltipDialogVisible = false">确定</el-button>
</span>
</el-dialog>
</div>
<script nonce="${cspNonce!}">
@@ -114,8 +156,10 @@ layout("/layouts/platform.html"){
formRules: {
clubId: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
files: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
period: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
},
viewData: {},
tooltipDialogVisible: true,
}
},
methods: {
@@ -178,7 +178,10 @@ layout("/layouts/platform.html"){
return
}
this.$confirm("您确定要提交申请吗?", "提示", { type: "warning" }).then(() => {
this.$axios.post("/platform/club/join/apply/submit", this.formData).then((res) => {
this.$axios.post("/platform/club/join/apply/submit", {
data: JSON.stringify(this.formData),
mode: true
}).then((res) => {
if (res.code === 0) {
commonUtil.pjaxPush('/platform/club/join/mine')
this.$message.success(res.msg)
@@ -198,7 +201,7 @@ layout("/layouts/platform.html"){
this.$confirm("您确定要提交申请吗?", "提示", { type: "warning" }).then(() => {
this.$axios.post('/platform/club/join/apply/submitAgain', {
data: JSON.stringify(this.formData),
taskId: GetQueryString("taskId")
taskId: GetQueryString("taskId"),
}).then(res => {
if (res.code === 0) {
this.$message.success(res.msg)
@@ -29,6 +29,13 @@ layout("/layouts/platform.html"){
<el-option v-for="item in unitList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</search-item>
<search-item label="申请类型">
<el-select v-model="pageForm.mode" placeholder="请选择申请类型" filterable clearable style="width: 100%">
<el-option label="全部" :value="null"></el-option>
<el-option label="申请加入" :value="true"></el-option>
<el-option label="申请退出" :value="false"></el-option>
</el-select>
</search-item>
</search>
</el-card>
@@ -78,7 +85,7 @@ layout("/layouts/platform.html"){
{{formData.taskName}}
</div>
<el-form :model="formData" ref="formRef" label-width="80px" :rules="formRules" label-suffix="">
<el-form-item label="缴费状态" prop="payed"
<el-form-item v-if="formData.mode === true" label="缴费状态" prop="payed"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<span class="form-item-tooltip">
(说明:请确认{{ formData.userName }}当年是否缴费)
@@ -121,7 +128,8 @@ layout("/layouts/platform.html"){
unitId: "",
year: new Date().getFullYear().toString(),
searchKeyword: "",
type: ""
type: "",
mode: null,
},
unionList: [],
unitList: [],
@@ -141,7 +149,8 @@ layout("/layouts/platform.html"){
processTaskId: row.taskId,
taskName: row.curTaskName,
tf_payed: false,
userName: row.userName
userName: row.userName,
mode: row.mode
}
this.showApprovalForm = true
this.$refs.infoRef.onOpen(row)
@@ -50,6 +50,7 @@ layout("/layouts/platform.html"){
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="openDetail(scope.row)">查看</el-button>
<el-button size="mini" v-if="hasJoin === false" type="primary" @click="doSubmit(scope.row)">申请加入</el-button>
<el-button size="mini" v-else type="danger" @click="onExit(scope.row)">申请退出</el-button>
</template>
</el-table-column>
</el-table>
@@ -114,6 +115,23 @@ layout("/layouts/platform.html"){
}
},
methods: {
onExit(row) {
this.$confirm("您确定要申请退出" + row.clubName + "吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.$axios.post('/platform/club/join/apply/submit', {
data: JSON.stringify(row),
mode: false,
}).then(res => {
if (res.code === 0) {
this.$message.success(res.msg)
commonUtil.pjaxPush('/platform/club/join/mine')
}
})
})
},
async doSubmit(row) {
this.$axios.post("/platform/club/join/apply/checkApplyClub", { clubId: row.id }).then((res) => {
if (res.code === 0) {
@@ -42,7 +42,8 @@ layout("/layouts/platform.html"){
<el-table-column label="操作" width="300">
<template v-slot="{row}">
<el-button @click="openView(row)" size="mini" type="primary">查看</el-button>
<el-button v-if="row.taskKey === 'startTask' || !row.instanceId" @click="onEdit(row)" size="mini" type="primary">编辑</el-button>
<el-button v-if="(row.taskKey === 'startTask' || !row.instanceId) && row.mode === true" @click="onEdit(row)" size="mini" type="primary">编辑</el-button>
<el-button v-if="(row.taskKey === 'startTask' || !row.instanceId) && row.mode === false" @click="exitSubmitAgain(row)" size="mini" type="primary">提交</el-button>
<el-button v-if="row.canRevoke" size="mini" type="danger" @click="onRevoke(row)">撤回</el-button>
<el-button v-if="row.taskKey === 'startTask' || !row.instanceId" @click="onDelete(row.id)" size="mini" type="danger">
删除
@@ -72,6 +73,24 @@ layout("/layouts/platform.html"){
return {}
},
methods: {
exitSubmitAgain(row) {
this.$confirm("您确定要提交申请吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(async () => {
const res = await this.$axios.post("/platform/club/join/apply/info", {id: row.id})
this.$axios.post('/platform/club/join/apply/submitAgain', {
data: JSON.stringify(res.data),
taskId: row.startTaskId,
}).then(res => {
if (res.code === 0) {
this.$message.success(res.msg)
this.doSearch()
}
})
})
},
onRevoke(row) {
this.$confirm("您确定要撤回吗?", "提示", {
confirmButtonText: "确定",
@@ -46,6 +46,7 @@ layout("/layouts/platform.html"){
<el-table-column label="操作" width="250px">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="openDetail(scope.row)">查看</el-button>
<el-button size="mini" type="danger" @click="onExit(scope.row)">申请退出</el-button>
</template>
</el-table-column>
</el-table>
@@ -109,6 +110,23 @@ layout("/layouts/platform.html"){
}
},
methods: {
onExit(row) {
this.$confirm("您确定要申请退出" + row.clubName + "吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.$axios.post('/platform/club/join/apply/submit', {
data: JSON.stringify(row),
mode: false,
}).then(res => {
if (res.code === 0) {
this.$message.success(res.msg)
commonUtil.pjaxPush('/platform/club/join/mine')
}
})
})
},
async openDetail(row) {
this.$refs.guava.view(() => {
this.activeName = '1'