|
|
|
|
@ -1,235 +1,245 @@
|
|
|
|
|
<template>
|
|
|
|
|
<div class="fater-body-show"> <!-- 主容器 -->
|
|
|
|
|
<el-card shadow="never"> <!-- 使用 Element UI 的卡片组件 -->
|
|
|
|
|
<div class="fater-body-show">
|
|
|
|
|
<el-card shadow="never">
|
|
|
|
|
<div
|
|
|
|
|
class="el-card-header"
|
|
|
|
|
slot="header"
|
|
|
|
|
style="font-size: 26px" <!-- 卡片头部样式 -->
|
|
|
|
|
style="font-size: 26px"
|
|
|
|
|
>
|
|
|
|
|
<i class="iconfont icon-r-find" style="font-size: 26px"></i> <!-- 图标 -->
|
|
|
|
|
信息查询 <!-- 卡片标题 -->
|
|
|
|
|
<i class="iconfont icon-r-find" style="font-size: 26px"></i>
|
|
|
|
|
信息查询
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<el-form :inline="true" :model="qryForm"> <!-- 使用 Element UI 的表单组件,设置为行内模式 -->
|
|
|
|
|
<el-form-item> <!-- 表单项 -->
|
|
|
|
|
<el-form :inline="true" :model="qryForm">
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="qryForm.name" <!-- 双向绑定查询表单的社团名称 -->
|
|
|
|
|
placeholder="输入社团名称…" <!-- 输入框提示文本 -->
|
|
|
|
|
autocomplete="off" <!-- 关闭自动完成功能 -->
|
|
|
|
|
v-model="qryForm.name"
|
|
|
|
|
placeholder="输入社团名称…"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item> <!-- 表单项 -->
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="qryForm.typeId" <!-- 双向绑定查询表单的社团类型 -->
|
|
|
|
|
placeholder="请选择社团类型" <!-- 下拉框提示文本 -->
|
|
|
|
|
v-model="qryForm.typeId"
|
|
|
|
|
placeholder="请选择社团类型"
|
|
|
|
|
>
|
|
|
|
|
<el-option label="查看全部" value=""></el-option> <!-- 默认选项 -->
|
|
|
|
|
<el-option label="查看全部" value=""></el-option>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="(item, index) in teamTypes" <!-- 遍历社团类型 -->
|
|
|
|
|
:key="index" <!-- 唯一键 -->
|
|
|
|
|
:label="item.name" <!-- 显示的标签 -->
|
|
|
|
|
:value="item.id" <!-- 选中的值 -->
|
|
|
|
|
v-for="(item, index) in teamTypes"
|
|
|
|
|
:key="index"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item> <!-- 表单项 -->
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<el-button
|
|
|
|
|
type="primary" <!-- 按钮类型 -->
|
|
|
|
|
@click="getPageLikeInfo()" <!-- 点击事件,调用查询方法 -->
|
|
|
|
|
style="font-size: 18px" <!-- 按钮样式 -->
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="getPageLikeInfo()"
|
|
|
|
|
style="font-size: 18px"
|
|
|
|
|
>
|
|
|
|
|
搜索</el-button> <!-- 按钮文本 -->
|
|
|
|
|
搜索</el-button
|
|
|
|
|
>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
</div>
|
|
|
|
|
</el-card>
|
|
|
|
|
|
|
|
|
|
<el-card shadow="never"> <!-- 另一个卡片组件 -->
|
|
|
|
|
<div v-if="userType == 0" slot="header"> <!-- 根据用户类型显示新增按钮 -->
|
|
|
|
|
<el-card shadow="never">
|
|
|
|
|
<div v-if="userType == 0" slot="header">
|
|
|
|
|
<el-button
|
|
|
|
|
type="primary" <!-- 按钮类型 -->
|
|
|
|
|
style="font-size: 18px" <!-- 按钮样式 -->
|
|
|
|
|
@click="showAddWin()" <!-- 点击事件,显示添加窗口 -->
|
|
|
|
|
type="primary"
|
|
|
|
|
style="font-size: 18px"
|
|
|
|
|
@click="showAddWin()"
|
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
新增</el-button
|
|
|
|
|
>
|
|
|
|
|
新增</el-button> <!-- 按钮文本 -->
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<el-table
|
|
|
|
|
v-loading="loading" <!-- 加载状态 -->
|
|
|
|
|
element-loading-text="拼命加载中" <!-- 加载文本 -->
|
|
|
|
|
element-loading-spinner="el-icon-loading" <!-- 加载图标 -->
|
|
|
|
|
element-loading-background="rgba(124, 124, 124, 0.8)" <!-- 加载背景 -->
|
|
|
|
|
:data="pageInfos" <!-- 表格数据 -->
|
|
|
|
|
border <!-- 表格边框 -->
|
|
|
|
|
v-loading="loading"
|
|
|
|
|
element-loading-text="拼命加载中"
|
|
|
|
|
element-loading-spinner="el-icon-loading"
|
|
|
|
|
element-loading-background="rgba(124, 124, 124, 0.8)"
|
|
|
|
|
:data="pageInfos"
|
|
|
|
|
border
|
|
|
|
|
>
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center" <!-- 列内容居中 -->
|
|
|
|
|
type="index" <!-- 索引列 -->
|
|
|
|
|
align="center"
|
|
|
|
|
type="index"
|
|
|
|
|
></el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center" <!-- 列内容居中 -->
|
|
|
|
|
prop="name" <!-- 数据字段 -->
|
|
|
|
|
label="社团名称" <!-- 列标题 -->
|
|
|
|
|
align="center"
|
|
|
|
|
prop="name"
|
|
|
|
|
label="社团名称"
|
|
|
|
|
></el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center" <!-- 列内容居中 -->
|
|
|
|
|
prop="typeName" <!-- 数据字段 -->
|
|
|
|
|
label="社团类型" <!-- 列标题 -->
|
|
|
|
|
align="center"
|
|
|
|
|
prop="typeName"
|
|
|
|
|
label="社团类型"
|
|
|
|
|
></el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center" <!-- 列内容居中 -->
|
|
|
|
|
prop="managerName" <!-- 数据字段 -->
|
|
|
|
|
label="社团团长" <!-- 列标题 -->
|
|
|
|
|
align="center"
|
|
|
|
|
prop="managerName"
|
|
|
|
|
label="社团团长"
|
|
|
|
|
></el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center" <!-- 列内容居中 -->
|
|
|
|
|
prop="createTime" <!-- 数据字段 -->
|
|
|
|
|
label="建立时间" <!-- 列标题 -->
|
|
|
|
|
align="center"
|
|
|
|
|
prop="createTime"
|
|
|
|
|
label="建立时间"
|
|
|
|
|
></el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
align="center" <!-- 列内容居中 -->
|
|
|
|
|
prop="total" <!-- 数据字段 -->
|
|
|
|
|
label="社团人数" <!-- 列标题 -->
|
|
|
|
|
align="center"
|
|
|
|
|
prop="total"
|
|
|
|
|
label="社团人数"
|
|
|
|
|
></el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
v-if="userType == 0" <!-- 根据用户类型显示操作列 -->
|
|
|
|
|
align="center" <!-- 列内容居中 -->
|
|
|
|
|
width="250" <!-- 列宽 -->
|
|
|
|
|
label="操作处理" <!-- 列标题 -->
|
|
|
|
|
fixed="right" <!-- 固定在右侧 -->
|
|
|
|
|
v-if="userType == 0"
|
|
|
|
|
align="center"
|
|
|
|
|
width="250"
|
|
|
|
|
label="操作处理"
|
|
|
|
|
fixed="right"
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope"> <!-- 自定义列内容 -->
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<el-button
|
|
|
|
|
type="primary" <!-- 按钮类型 -->
|
|
|
|
|
style="font-size: 18px" <!-- 按钮样式 -->
|
|
|
|
|
@click="showUpdWin(scope.row)" <!-- 点击事件,显示编辑窗口 -->
|
|
|
|
|
type="primary"
|
|
|
|
|
style="font-size: 18px"
|
|
|
|
|
@click="showUpdWin(scope.row)"
|
|
|
|
|
>
|
|
|
|
|
编辑</el-button> <!-- 按钮文本 -->
|
|
|
|
|
编辑</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
type="danger" <!-- 按钮类型 -->
|
|
|
|
|
style="font-size: 18px" <!-- 按钮样式 -->
|
|
|
|
|
@click="delInfo(scope.row.id)" <!-- 点击事件,删除信息 -->
|
|
|
|
|
type="danger"
|
|
|
|
|
style="font-size: 18px"
|
|
|
|
|
@click="delInfo(scope.row.id)"
|
|
|
|
|
>
|
|
|
|
|
删除</el-button> <!-- 按钮文本 -->
|
|
|
|
|
删除</el-button
|
|
|
|
|
>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
v-if="userType == 2" <!-- 根据用户类型显示申请列 -->
|
|
|
|
|
align="center" <!-- 列内容居中 -->
|
|
|
|
|
label="操作处理" <!-- 列标题 -->
|
|
|
|
|
fixed="right" <!-- 固定在右侧 -->
|
|
|
|
|
width="140" <!-- 列宽 -->
|
|
|
|
|
v-if="userType == 2"
|
|
|
|
|
align="center"
|
|
|
|
|
label="操作处理"
|
|
|
|
|
fixed="right"
|
|
|
|
|
width="140"
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope"> <!-- 自定义列内容 -->
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<el-button
|
|
|
|
|
type="primary" <!-- 按钮类型 -->
|
|
|
|
|
style="font-size: 18px" <!-- 按钮样式 -->
|
|
|
|
|
@click="apply(scope.row.id)" <!-- 点击事件,申请加入社团 -->
|
|
|
|
|
type="primary"
|
|
|
|
|
style="font-size: 18px"
|
|
|
|
|
@click="apply(scope.row.id)"
|
|
|
|
|
>
|
|
|
|
|
申请</el-button> <!-- 按钮文本 -->
|
|
|
|
|
申请</el-button
|
|
|
|
|
>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
<el-pagination
|
|
|
|
|
v-if="pageTotal >= 0" <!-- 根据总页数显示分页 -->
|
|
|
|
|
style="margin-top: 15px" <!-- 分页样式 -->
|
|
|
|
|
@size-change="handleSizeChange" <!-- 页大小变化事件 -->
|
|
|
|
|
@current-change="handleCurrentChange" <!-- 当前页变化事件 -->
|
|
|
|
|
:current-page="pageIndex" <!-- 当前页 -->
|
|
|
|
|
:page-sizes="[5, 10, 20, 50]" <!-- 可选的每页条数 -->
|
|
|
|
|
:page-size="pageSize" <!-- 每页条数 -->
|
|
|
|
|
layout="total, sizes, prev, pager, next, jumper" <!-- 分页布局 -->
|
|
|
|
|
:total="totalInfo" <!-- 总条数 -->
|
|
|
|
|
v-if="pageTotal >= 0"
|
|
|
|
|
style="margin-top: 15px"
|
|
|
|
|
@size-change="handleSizeChange"
|
|
|
|
|
@current-change="handleCurrentChange"
|
|
|
|
|
:current-page="pageIndex"
|
|
|
|
|
:page-sizes="[5, 10, 20, 50]"
|
|
|
|
|
:page-size="pageSize"
|
|
|
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
|
|
|
:total="totalInfo"
|
|
|
|
|
>
|
|
|
|
|
</el-pagination>
|
|
|
|
|
</div>
|
|
|
|
|
</el-card>
|
|
|
|
|
|
|
|
|
|
<el-dialog title="添加信息" width="600px" :visible.sync="showAddFlag"> <!-- 添加信息对话框 -->
|
|
|
|
|
<el-form label-width="90px" :model="teamsForm"> <!-- 表单组件 -->
|
|
|
|
|
<el-form-item label="社团名称"> <!-- 表单项 -->
|
|
|
|
|
<el-dialog title="添加信息" width="600px" :visible.sync="showAddFlag">
|
|
|
|
|
<el-form label-width="90px" :model="teamsForm">
|
|
|
|
|
<el-form-item label="社团名称">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="teamsForm.name" <!-- 双向绑定社团名称 -->
|
|
|
|
|
placeholder="请输入社团名称…" <!-- 输入框提示文本 -->
|
|
|
|
|
autocomplete="off" <!-- 关闭自动完成功能 -->
|
|
|
|
|
v-model="teamsForm.name"
|
|
|
|
|
placeholder="请输入社团名称…"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="社团类型"> <!-- 表单项 -->
|
|
|
|
|
<el-form-item label="社团类型">
|
|
|
|
|
<el-select
|
|
|
|
|
style="width: 100%" <!-- 下拉框样式 -->
|
|
|
|
|
v-model="teamsForm.typeId" <!-- 双向绑定社团类型 -->
|
|
|
|
|
placeholder="请选择社团类型" <!-- 下拉框提示文本 -->
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
v-model="teamsForm.typeId"
|
|
|
|
|
placeholder="请选择社团类型"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="(item, index) in teamTypes" <!-- 遍历社团类型 -->
|
|
|
|
|
:key="index" <!-- 唯一键 -->
|
|
|
|
|
:label="item.name" <!-- 显示的标签 -->
|
|
|
|
|
:value="item.id" <!-- 选中的值 -->
|
|
|
|
|
v-for="(item, index) in teamTypes"
|
|
|
|
|
:key="index"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="社团团长ID"> <!-- 表单项 -->
|
|
|
|
|
<el-form-item label="社团团长ID">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="teamsForm.manager" <!-- 双向绑定社团团长ID -->
|
|
|
|
|
placeholder="请输入社团管理员ID…" <!-- 输入框提示文本 -->
|
|
|
|
|
autocomplete="off" <!-- 关闭自动完成功能 -->
|
|
|
|
|
v-model="teamsForm.manager"
|
|
|
|
|
placeholder="请输入社团管理员ID…"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<div slot="footer" class="dialog-footer"> <!-- 对话框底部 -->
|
|
|
|
|
<el-button @click="showAddFlag = false" style="font-size: 18px" <!-- 取消按钮 -->
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button @click="showAddFlag = false" style="font-size: 18px"
|
|
|
|
|
>
|
|
|
|
|
取 消</el-button>
|
|
|
|
|
取 消</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
type="primary" <!-- 确定按钮类型 -->
|
|
|
|
|
@click="addInfo()" <!-- 点击事件,添加信息 -->
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="addInfo()"
|
|
|
|
|
style="font-size: 18px"
|
|
|
|
|
>
|
|
|
|
|
确 定</el-button> <!-- 按钮文本 -->
|
|
|
|
|
确 定</el-button
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
<el-dialog title="修改信息" width="600px" :visible.sync="showUpdFlag"> <!-- 修改信息对话框 -->
|
|
|
|
|
<el-form label-width="90px" :model="teamsForm"> <!-- 表单组件 -->
|
|
|
|
|
<el-form-item label="社团名称"> <!-- 表单项 -->
|
|
|
|
|
<el-dialog title="修改信息" width="600px" :visible.sync="showUpdFlag">
|
|
|
|
|
<el-form label-width="90px" :model="teamsForm">
|
|
|
|
|
<el-form-item label="社团名称">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="teamsForm.name" <!-- 双向绑定社团名称 -->
|
|
|
|
|
placeholder="请输入社团名称…" <!-- 输入框提示文本 -->
|
|
|
|
|
autocomplete="off" <!-- 关闭自动完成功能 -->
|
|
|
|
|
v-model="teamsForm.name"
|
|
|
|
|
placeholder="请输入社团名称…"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="社团类型"> <!-- 表单项 -->
|
|
|
|
|
<el-form-item label="社团类型">
|
|
|
|
|
<el-select
|
|
|
|
|
style="width: 100%" <!-- 下拉框样式 -->
|
|
|
|
|
v-model="teamsForm.typeId" <!-- 双向绑定社团类型 -->
|
|
|
|
|
placeholder="请选择社团类型" <!-- 下拉框提示文本 -->
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
v-model="teamsForm.typeId"
|
|
|
|
|
placeholder="请选择社团类型"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="(item, index) in teamTypes" <!-- 遍历社团类型 -->
|
|
|
|
|
:key="index" <!-- 唯一键 -->
|
|
|
|
|
:label="item.name" <!-- 显示的标签 -->
|
|
|
|
|
:value="item.id" <!-- 选中的值 -->
|
|
|
|
|
v-for="(item, index) in teamTypes"
|
|
|
|
|
:key="index"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="社团团长ID"> <!-- 表单项 -->
|
|
|
|
|
<el-form-item label="社团团长ID">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="teamsForm.manager" <!-- 双向绑定社团团长ID -->
|
|
|
|
|
placeholder="请输入社团管理员ID…" <!-- 输入框提示文本 -->
|
|
|
|
|
autocomplete="off" <!-- 关闭自动完成功能 -->
|
|
|
|
|
v-model="teamsForm.manager"
|
|
|
|
|
placeholder="请输入社团管理员ID…"
|
|
|
|
|
autocomplete="off"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<div slot="footer" class="dialog-footer"> <!-- 对话框底部 -->
|
|
|
|
|
<el-button @click="showUpdFlag = false" style="font-size: 18px" <!-- 取消按钮 -->
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button @click="showUpdFlag = false" style="font-size: 18px"
|
|
|
|
|
>
|
|
|
|
|
取 消</el-button>
|
|
|
|
|
取 消</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
type="primary" <!-- 确定按钮类型 -->
|
|
|
|
|
@click="updInfo()" <!-- 点击事件,更新信息 -->
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="updInfo()"
|
|
|
|
|
style="font-size: 18px"
|
|
|
|
|
>
|
|
|
|
|
确 定</el-button> <!-- 按钮文本 -->
|
|
|
|
|
确 定</el-button
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
</div>
|
|
|
|
|
@ -240,190 +250,193 @@
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import {
|
|
|
|
|
getAllTypes, // 导入获取所有社团类型的 API
|
|
|
|
|
getPageTeams, // 导入获取社团分页信息的 API
|
|
|
|
|
getLoginUser, // 导入获取登录用户信息的 API
|
|
|
|
|
addTeams, // 导入添加社团的 API
|
|
|
|
|
updTeams, // 导入更新社团的 API
|
|
|
|
|
delTeams, // 导入删除社团的 API
|
|
|
|
|
addApplyLogs, // 导入添加申请日志的 API
|
|
|
|
|
} from "../../api"; // 从 API 文件导入所有相关函数
|
|
|
|
|
getAllTypes,
|
|
|
|
|
getPageTeams,
|
|
|
|
|
getLoginUser,
|
|
|
|
|
addTeams,
|
|
|
|
|
updTeams,
|
|
|
|
|
delTeams,
|
|
|
|
|
addApplyLogs,
|
|
|
|
|
} from "../../api";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
teamTypes: [], // 存储社团类型
|
|
|
|
|
userType: "", // 存储用户类型
|
|
|
|
|
pageInfos: [], // 存储分页数据
|
|
|
|
|
pageIndex: 1, // 当前页索引
|
|
|
|
|
pageSize: 10, // 每页显示条数
|
|
|
|
|
pageTotal: 0, // 总页数
|
|
|
|
|
totalInfo: 0, // 总条数
|
|
|
|
|
loading: true, // 加载状态
|
|
|
|
|
showAddFlag: false, // 控制添加对话框显示
|
|
|
|
|
showUpdFlag: false, // 控制修改对话框显示
|
|
|
|
|
qryForm: { // 查询表单数据
|
|
|
|
|
name: "", // 社团名称
|
|
|
|
|
typeId: "", // 社团类型ID
|
|
|
|
|
token: this.$store.state.token, // 用户token
|
|
|
|
|
teamTypes: [],
|
|
|
|
|
userType: "",
|
|
|
|
|
pageInfos: [],
|
|
|
|
|
pageIndex: 1,
|
|
|
|
|
pageSize: 10,
|
|
|
|
|
pageTotal: 0,
|
|
|
|
|
totalInfo: 0,
|
|
|
|
|
loading: true,
|
|
|
|
|
showAddFlag: false,
|
|
|
|
|
showUpdFlag: false,
|
|
|
|
|
qryForm: {
|
|
|
|
|
name: "",
|
|
|
|
|
typeId: "",
|
|
|
|
|
token: this.$store.state.token,
|
|
|
|
|
},
|
|
|
|
|
teamsForm: { // 社团表单数据
|
|
|
|
|
id: "", // 社团ID
|
|
|
|
|
name: "", // 社团名称
|
|
|
|
|
total: 1, // 社团人数
|
|
|
|
|
manager: "", // 社团团长ID
|
|
|
|
|
typeId: "", // 社团类型ID
|
|
|
|
|
teamsForm: {
|
|
|
|
|
id: "",
|
|
|
|
|
name: "",
|
|
|
|
|
total: 1,
|
|
|
|
|
manager: "",
|
|
|
|
|
typeId: "",
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
getPageInfo(pageIndex, pageSize) { // 获取分页信息
|
|
|
|
|
getPageInfo(pageIndex, pageSize) {
|
|
|
|
|
getPageTeams(pageIndex, pageSize, this.qryForm.token).then(
|
|
|
|
|
(resp) => {
|
|
|
|
|
this.pageInfos = resp.data.data; // 设置分页数据
|
|
|
|
|
this.pageIndex = resp.data.pageIndex; // 设置当前页
|
|
|
|
|
this.pageSize = resp.data.pageSize; // 设置每页条数
|
|
|
|
|
this.pageTotal = resp.data.pageTotal; // 设置总页数
|
|
|
|
|
this.totalInfo = resp.data.count; // 设置总条数
|
|
|
|
|
this.pageInfos = resp.data.data;
|
|
|
|
|
this.pageIndex = resp.data.pageIndex;
|
|
|
|
|
this.pageSize = resp.data.pageSize;
|
|
|
|
|
this.pageTotal = resp.data.pageTotal;
|
|
|
|
|
this.totalInfo = resp.data.count;
|
|
|
|
|
|
|
|
|
|
this.loading = false; // 结束加载状态
|
|
|
|
|
this.loading = false;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
getPageLikeInfo() { // 根据查询条件获取分页信息
|
|
|
|
|
getPageLikeInfo() {
|
|
|
|
|
getPageTeams(
|
|
|
|
|
1, // 从第一页开始
|
|
|
|
|
this.pageSize, // 每页条数
|
|
|
|
|
this.qryForm.token, // 用户token
|
|
|
|
|
this.qryForm.name, // 社团名称
|
|
|
|
|
this.qryForm.typeId // 社团类型ID
|
|
|
|
|
1,
|
|
|
|
|
this.pageSize,
|
|
|
|
|
this.qryForm.token,
|
|
|
|
|
this.qryForm.name,
|
|
|
|
|
this.qryForm.typeId
|
|
|
|
|
).then((resp) => {
|
|
|
|
|
this.pageInfos = resp.data.data; // 设置分页数据
|
|
|
|
|
this.pageIndex = resp.data.pageIndex; // 设置当前页
|
|
|
|
|
this.pageSize = resp.data.pageSize; // 设置每页条数
|
|
|
|
|
this.totalInfo = resp.data.count; // 设置总条数
|
|
|
|
|
this.pageTotal = resp.data.pageTotal; // 设置总页数
|
|
|
|
|
this.loading = false; // 结束加载状态
|
|
|
|
|
this.pageInfos = resp.data.data;
|
|
|
|
|
this.pageIndex = resp.data.pageIndex;
|
|
|
|
|
this.pageSize = resp.data.pageSize;
|
|
|
|
|
this.totalInfo = resp.data.count;
|
|
|
|
|
this.pageTotal = resp.data.pageTotal;
|
|
|
|
|
this.loading = false;
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleSizeChange(pageSize) { // 处理每页条数变化
|
|
|
|
|
handleSizeChange(pageSize) {
|
|
|
|
|
this.getPageInfo(
|
|
|
|
|
this.pageIndex, // 当前页
|
|
|
|
|
pageSize, // 新的每页条数
|
|
|
|
|
this.qryForm.token, // 用户token
|
|
|
|
|
this.qryForm.name, // 社团名称
|
|
|
|
|
this.qryForm.typeId // 社团类型ID
|
|
|
|
|
this.pageIndex,
|
|
|
|
|
pageSize,
|
|
|
|
|
this.qryForm.token,
|
|
|
|
|
this.qryForm.name,
|
|
|
|
|
this.qryForm.typeId
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
handleCurrentChange(pageIndex) { // 处理当前页变化
|
|
|
|
|
handleCurrentChange(pageIndex) {
|
|
|
|
|
this.getPageInfo(
|
|
|
|
|
pageIndex, // 新的当前页
|
|
|
|
|
this.pageSize, // 每页条数
|
|
|
|
|
this.qryForm.token, // 用户token
|
|
|
|
|
this.qryForm.name, // 社团名称
|
|
|
|
|
this.qryForm.typeId // 社团类型ID
|
|
|
|
|
pageIndex,
|
|
|
|
|
this.pageSize,
|
|
|
|
|
this.qryForm.token,
|
|
|
|
|
this.qryForm.name,
|
|
|
|
|
this.qryForm.typeId
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
initForm() { // 初始化社团表单
|
|
|
|
|
initForm() {
|
|
|
|
|
this.teamsForm = {
|
|
|
|
|
id: "", // 社团ID
|
|
|
|
|
name: "", // 社团名称
|
|
|
|
|
total: 1, // 社团人数
|
|
|
|
|
manager: "", // 社团团长ID
|
|
|
|
|
typeId: "", // 社团类型ID
|
|
|
|
|
id: "",
|
|
|
|
|
name: "",
|
|
|
|
|
total: 1,
|
|
|
|
|
manager: "",
|
|
|
|
|
typeId: "",
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
showAddWin() { // 显示添加窗口
|
|
|
|
|
this.initForm(); // 初始化表单
|
|
|
|
|
this.showAddFlag = true; // 设置显示标志
|
|
|
|
|
showAddWin() {
|
|
|
|
|
this.initForm();
|
|
|
|
|
this.showAddFlag = true;
|
|
|
|
|
},
|
|
|
|
|
showUpdWin(row) { // 显示修改窗口
|
|
|
|
|
this.teamsForm = row; // 设置表单数据为当前行数据
|
|
|
|
|
this.showUpdFlag = true; // 设置显示标志
|
|
|
|
|
showUpdWin(row) {
|
|
|
|
|
this.teamsForm = row;
|
|
|
|
|
this.showUpdFlag = true;
|
|
|
|
|
},
|
|
|
|
|
addInfo() { // 添加社团信息
|
|
|
|
|
addInfo() {
|
|
|
|
|
addTeams(this.teamsForm).then((resp) => {
|
|
|
|
|
if (resp.code == 0) { // 如果添加成功
|
|
|
|
|
if (resp.code == 0) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: resp.msg, // 提示信息
|
|
|
|
|
type: "success", // 提示类型
|
|
|
|
|
message: resp.msg,
|
|
|
|
|
type: "success",
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.getPageInfo(1, this.pageSize, this.qryForm.token); // 刷新分页信息
|
|
|
|
|
this.getPageInfo(1, this.pageSize, this.qryForm.token);
|
|
|
|
|
|
|
|
|
|
this.showAddFlag = false; // 关闭添加对话框
|
|
|
|
|
this.showAddFlag = false;
|
|
|
|
|
} else {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: resp.msg, // 提示信息
|
|
|
|
|
type: "warning", // 提示类型
|
|
|
|
|
message: resp.msg,
|
|
|
|
|
type: "warning",
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
updInfo() { // 更新社团信息
|
|
|
|
|
updInfo() {
|
|
|
|
|
updTeams(this.teamsForm).then((resp) => {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: resp.msg, // 提示信息
|
|
|
|
|
type: "success", // 提示类型
|
|
|
|
|
message: resp.msg,
|
|
|
|
|
type: "success",
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.getPageInfo(1, this.pageSize, this.qryForm.token); // 刷新分页信息
|
|
|
|
|
this.getPageInfo(1, this.pageSize, this.qryForm.token);
|
|
|
|
|
|
|
|
|
|
this.showUpdFlag = false; // 关闭修改对话框
|
|
|
|
|
this.showUpdFlag = false;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
delInfo(id) { // 删除社团信息
|
|
|
|
|
this.$confirm("即将删除相关信息, 是否继续?", "提示", { // 确认删除提示
|
|
|
|
|
confirmButtonText: "确定", // 确认按钮文本
|
|
|
|
|
cancelButtonText: "取消", // 取消按钮文本
|
|
|
|
|
type: "warning", // 提示类型
|
|
|
|
|
delInfo(id) {
|
|
|
|
|
this.$confirm("即将删除相关信息, 是否继续?", "提示", {
|
|
|
|
|
confirmButtonText: "确定",
|
|
|
|
|
cancelButtonText: "取消",
|
|
|
|
|
type: "warning",
|
|
|
|
|
}).then(() => {
|
|
|
|
|
delTeams(id).then((resp) => { // 调用删除 API
|
|
|
|
|
delTeams(id).then((resp) => {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: resp.msg, // 提示信息
|
|
|
|
|
type: "success", // 提示类型
|
|
|
|
|
message: resp.msg,
|
|
|
|
|
type: "success",
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.getPageInfo(1, this.pageSize, this.qryForm.token); // 刷新分页信息
|
|
|
|
|
this.getPageInfo(1, this.pageSize, this.qryForm.token);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
apply(id) { // 申请加入社团
|
|
|
|
|
this.$confirm("确认申请加入社团吗", "提示", { // 确认申请提示
|
|
|
|
|
confirmButtonText: "确定", // 确认按钮文本
|
|
|
|
|
cancelButtonText: "取消", // 取消按钮文本
|
|
|
|
|
type: "warning", // 提示类型
|
|
|
|
|
apply(id) {
|
|
|
|
|
this.$confirm("确认申请加入社团吗", "提示", {
|
|
|
|
|
confirmButtonText: "确定",
|
|
|
|
|
cancelButtonText: "取消",
|
|
|
|
|
type: "warning",
|
|
|
|
|
}).then(() => {
|
|
|
|
|
addApplyLogs({ // 添加申请日志
|
|
|
|
|
teamId: id, // 社团ID
|
|
|
|
|
status: 0, // 申请状态
|
|
|
|
|
token: this.$store.state.token, // 用户token
|
|
|
|
|
addApplyLogs({
|
|
|
|
|
teamId: id,
|
|
|
|
|
status: 0,
|
|
|
|
|
token: this.$store.state.token,
|
|
|
|
|
}).then((resp) => {
|
|
|
|
|
if (resp.code == 0) { // 如果申请成功
|
|
|
|
|
if (resp.code == 0) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: "申请已提交,请耐心等待", // 提示信息
|
|
|
|
|
type: "success", // 提示类型
|
|
|
|
|
message: "申请已提交,请耐心等待",
|
|
|
|
|
type: "success",
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.getPageInfo(1, this.pageSize, this.qryForm.token); // 刷新分页信息
|
|
|
|
|
this.getPageInfo(1, this.pageSize, this.qryForm.token);
|
|
|
|
|
} else {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: resp.msg, // 提示信息
|
|
|
|
|
type: "warning", // 提示类型
|
|
|
|
|
message: resp.msg,
|
|
|
|
|
type: "warning",
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
mounted() { // 组件挂载后执行
|
|
|
|
|
this.getPageInfo(1, this.pageSize, this.qryForm.token); // 获取初始分页信息
|
|
|
|
|
mounted() {
|
|
|
|
|
this.getPageInfo(1, this.pageSize, this.qryForm.token);
|
|
|
|
|
|
|
|
|
|
getAllTypes().then((resp) => { // 获取所有社团类型
|
|
|
|
|
this.teamTypes = resp.data; // 设置社团类型
|
|
|
|
|
getAllTypes().then((resp) => {
|
|
|
|
|
this.teamTypes = resp.data;
|
|
|
|
|
});
|
|
|
|
|
getLoginUser(this.$store.state.token).then((resp) => { // 获取登录用户信息
|
|
|
|
|
this.userType = resp.data.type; // 设置用户类型
|
|
|
|
|
getLoginUser(this.$store.state.token).then((resp) => {
|
|
|
|
|
this.userType = resp.data.type;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|