This commit is contained in:
王创世 2025-02-21 14:21:51 +08:00
parent bac93446f4
commit f5fbcae5c3
5 changed files with 996 additions and 727 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,7 @@
<template> <template>
<t-card title="会员列表" :bordered="false"> <t-card title="会员列表" :bordered="false">
<div class="form-step-container"> <div class="form-step-container">
<t-form <t-form ref="form" :data="formData" :label-width="80" @submit="onSubmit" :style="{ marginBottom: '30px' }">
ref="form"
:data="formData"
:label-width="80"
@submit="onSubmit"
:style="{ marginBottom: '30px' }"
>
<t-row> <t-row>
<t-form-item label="会员姓名" name="nikename"> <t-form-item label="会员姓名" name="nikename">
<t-input <t-input
@ -22,13 +16,14 @@
<t-input <t-input
v-model="formData.phone" v-model="formData.phone"
class="form-item-content" class="form-item-content"
placeholder="请输入手机号" style="width: 150px" placeholder="请输入手机号"
style="width: 150px"
/> />
</t-form-item> </t-form-item>
<t-form-item label="职务" name="phone"> <t-form-item label="职务" name="phone">
<t-select v-model="formData.position_id" style="width: 150px"> <t-select v-model="formData.position_id" style="width: 150px">
<t-option label="全部" value=""/> <t-option label="全部" value="" />
<t-option v-for="(item,index) in positionList" :label="item.position_name" :value="item.id"/> <t-option v-for="(item, index) in positionList" :label="item.position_name" :value="item.id" />
</t-select> </t-select>
</t-form-item> </t-form-item>
<t-form-item label="区域" name="phone"> <t-form-item label="区域" name="phone">
@ -36,26 +31,27 @@
</t-form-item> </t-form-item>
<t-form-item label="届数" name="phone"> <t-form-item label="届数" name="phone">
<t-select v-model="formData.number_of_sessions" style="width: 150px"> <t-select v-model="formData.number_of_sessions" style="width: 150px">
<t-option label="全部" :value="0"/> <t-option label="全部" :value="0" />
<t-option label="第十二届" :value="12"/> <t-option label="第十二届" :value="12" />
</t-select> </t-select>
</t-form-item> </t-form-item>
<div> <div>
<t-space> <t-space>
<t-button theme="primary" type="submit" :style="{ marginLeft: '8px' }"> 查询</t-button> <t-button theme="primary" type="submit" :style="{ marginLeft: '8px' }"> 查询</t-button>
<t-button theme="success" @click="()=>$router.push('/user/user_add')"> 新增会员</t-button> <t-button theme="success" @click="() => $router.push('/user/user_add')"> 新增会员</t-button>
<t-button @click="dow" theme="primary">{{ selectedRowKeys.length > 0 ? '选中导出' : '导出全部' }} <t-button @click="dow" theme="primary"
>{{ selectedRowKeys.length > 0 ? '选中导出' : '导出全部' }}
</t-button> </t-button>
</t-space> </t-space>
</div> </div>
</t-row> </t-row>
</t-form> </t-form>
<!-- <t-tabs v-model="tabIndex" @change="tabIndexChange">--> <!-- <t-tabs v-model="tabIndex" @change="tabIndexChange">-->
<!-- <t-tab-panel :value="1" label="正式会员" :destroyOnHide="false"></t-tab-panel>--> <!-- <t-tab-panel :value="1" label="正式会员" :destroyOnHide="false"></t-tab-panel>-->
<!-- <t-tab-panel :value="0" label="待审核" :destroyOnHide="false"></t-tab-panel>--> <!-- <t-tab-panel :value="0" label="待审核" :destroyOnHide="false"></t-tab-panel>-->
<!-- <t-tab-panel :value="3" label="待缴纳会费" :destroyOnHide="false"></t-tab-panel>--> <!-- <t-tab-panel :value="3" label="待缴纳会费" :destroyOnHide="false"></t-tab-panel>-->
<!-- <t-tab-panel :value="2" label="已拒绝" :destroyOnHide="false"></t-tab-panel>--> <!-- <t-tab-panel :value="2" label="已拒绝" :destroyOnHide="false"></t-tab-panel>-->
<!-- </t-tabs>--> <!-- </t-tabs>-->
<t-table <t-table
row-key="member_id" row-key="member_id"
:data="list" :data="list"
@ -70,26 +66,31 @@
@select-change="rehandleSelectChange" @select-change="rehandleSelectChange"
> >
<template #photo_image="{ row }"> <template #photo_image="{ row }">
<img v-if="row.photo_image" :src="$store.state.user.apiUrl+row.photo_image" style="width: 50px;height: 50px"> <img
v-if="row.photo_image"
:src="$store.state.user.apiUrl + row.photo_image"
style="width: 50px; height: 50px"
/>
</template> </template>
<template #gender="{ row }"> <template #gender="{ row }">
{{ row.gender == 1 ? "男" : "女" }} {{ row.gender == 1 ? '男' : '女' }}
</template> </template>
<template #if_xianshi="{ row }"> <template #if_xianshi="{ row }">
<t-tag theme="primary" v-if="row.if_xianshi==0">待审核</t-tag> <t-tag theme="primary" v-if="row.if_xianshi == 0">待审核</t-tag>
<t-tag theme="success" v-if="row.if_xianshi==1">正式会员</t-tag> <t-tag theme="success" v-if="row.if_xianshi == 1">正式会员</t-tag>
<t-tag theme="warning" v-if="row.if_xianshi==3">未缴纳会费</t-tag> <t-tag theme="warning" v-if="row.if_xianshi == 3">未缴纳会费</t-tag>
<t-tag theme="danger" v-if="row.if_xianshi==2">申请已被拒绝</t-tag> <t-tag theme="danger" v-if="row.if_xianshi == 2">申请已被拒绝</t-tag>
</template> </template>
<template #select="{ row }"> <template #select="{ row }">
<t-space size="24px"> <t-space size="24px">
<t-button theme="default" v-if="row.if_xianshi==1||row.if_xianshi==2" @click="openUrl(row.member_id)"> <t-button theme="default" v-if="row.if_xianshi == 1 || row.if_xianshi == 2" @click="openUrl(row.member_id)">
详细信息 详细信息
</t-button> </t-button>
<t-button theme="default" v-if="row.if_xianshi==0||row.if_xianshi==3" @click="openUrl(row.member_id)">审核 <t-button theme="default" v-if="row.if_xianshi == 0 || row.if_xianshi == 3" @click="openUrl(row.member_id)"
>审核
</t-button> </t-button>
<t-button @click="()=>$router.push('/user/user_edit?id='+row.member_id)">编辑</t-button> <t-button @click="() => $router.push('/user/user_edit?id=' + row.member_id)">编辑</t-button>
<t-popconfirm v-if="row.if_xianshi==1" content="确认要改为待审核状态吗?" @confirm="hidden(row)"> <t-popconfirm v-if="row.if_xianshi == 1" content="确认要改为待审核状态吗?" @confirm="hidden(row)">
<t-button theme="warning">隐藏</t-button> <t-button theme="warning">隐藏</t-button>
</t-popconfirm> </t-popconfirm>
<t-popconfirm content="确认要删除吗?" @confirm="del(row)"> <t-popconfirm content="确认要删除吗?" @confirm="del(row)">
@ -111,10 +112,10 @@
</t-card> </t-card>
</template> </template>
<script lang="ts"> <script lang="ts">
import store from "@/store"; import store from '@/store';
import {toInteger} from "lodash"; import { toInteger } from 'lodash';
import {CloudDownloadIcon} from 'tdesign-icons-vue'; import { CloudDownloadIcon } from 'tdesign-icons-vue';
import router from "@/router"; import router from '@/router';
export default { export default {
components: { components: {
@ -132,15 +133,15 @@ export default {
type: 'multiple', type: 'multiple',
width: 50, width: 50,
}, },
{colKey: 'member_id', title: '会员ID'}, { colKey: 'member_id', title: '会员ID' },
{colKey: 'photo_image', title: '形象照'}, { colKey: 'photo_image', title: '形象照' },
{colKey: 'nikename', title: '会员姓名'}, { colKey: 'nikename', title: '会员姓名' },
{colKey: 'position_name', title: '职位'}, { colKey: 'position_name', title: '职位' },
{colKey: 'region_name', title: '区域'}, { colKey: 'region_name', title: '区域' },
{colKey: 'phone', title: '手机号'}, { colKey: 'phone', title: '手机号' },
{colKey: 'nation', title: '民族'}, { colKey: 'nation', title: '民族' },
{colKey: 'if_xianshi', title: '状态'}, { colKey: 'if_xianshi', title: '状态' },
{colKey: 'select', title: '操作', width: 200}, { colKey: 'select', title: '操作', width: 200 },
], ],
total: 0, total: 0,
page: 1, page: 1,
@ -154,11 +155,10 @@ export default {
}, },
positionList: [], positionList: [],
region_list: [], region_list: [],
} };
}, },
mounted() { mounted() {
if (typeof this.$store.state.user.association == 'object') {
if (typeof (this.$store.state.user.association) == 'object') {
this.association = this.$store.state.user.association; this.association = this.$store.state.user.association;
} else { } else {
this.association = JSON.parse(this.$store.state.user.association); this.association = JSON.parse(this.$store.state.user.association);
@ -167,7 +167,7 @@ export default {
if (page) { if (page) {
this.page = toInteger(page); this.page = toInteger(page);
} }
var tab=this.$route.name.slice(-1); var tab = this.$route.name.slice(-1);
this.tabIndex = toInteger(tab); this.tabIndex = toInteger(tab);
// console.log(this.tabIndex); // console.log(this.tabIndex);
// console.log(tab); // console.log(tab);
@ -180,7 +180,7 @@ export default {
this.getRegion(); this.getRegion();
}, },
methods: { methods: {
rehandleSelectChange(value, {selectedRowData}) { rehandleSelectChange(value, { selectedRowData }) {
this.selectedRowKeys = value; this.selectedRowKeys = value;
console.log(value, selectedRowData); console.log(value, selectedRowData);
}, },
@ -190,12 +190,18 @@ export default {
ids = JSON.stringify(this.selectedRowKeys); ids = JSON.stringify(this.selectedRowKeys);
} }
var token = store.state.user.token; var token = store.state.user.token;
window.location.href = "https://hnyea.0rui.cn/api/excel_controller/memberexport?token=" + token + "&ids=" + ids+"&if_xianshi="+this.tabIndex; window.location.href =
'https://hnyea.0rui.cn/api/excel_controller/memberexport?token=' +
token +
'&ids=' +
ids +
'&if_xianshi=' +
this.tabIndex;
}, },
hidden(row){ hidden(row) {
console.log(row); console.log(row);
this.$request this.$request
.post("/member/examinelist",{member_id:row.member_id,if_xianshi:0}) .post('/member/examinelist', { member_id: row.member_id, if_xianshi: 0 })
.then((res) => { .then((res) => {
console.log(res); console.log(res);
this.page = 1; this.page = 1;
@ -209,7 +215,7 @@ export default {
}, },
getRegion() { getRegion() {
this.$request this.$request
.post("/region") .post('/region')
.then((res) => { .then((res) => {
console.log(res); console.log(res);
if (res.code == 1) { if (res.code == 1) {
@ -222,7 +228,7 @@ export default {
}, },
getPositionList() { getPositionList() {
this.$request this.$request
.post("/position") .post('/position')
.then((res) => { .then((res) => {
console.log(res); console.log(res);
this.positionList = res.data; this.positionList = res.data;
@ -242,7 +248,7 @@ export default {
}, },
del(row) { del(row) {
this.$request this.$request
.post("/member/del", {member_id: row.member_id}) .post('/member/del', { member_id: row.member_id })
.then((res) => { .then((res) => {
console.log(res); console.log(res);
if (res.code == 1) { if (res.code == 1) {
@ -270,7 +276,7 @@ export default {
this.formData.size = this.size; this.formData.size = this.size;
this.formData.if_xianshi = this.tabIndex; this.formData.if_xianshi = this.tabIndex;
this.$request this.$request
.post("/member", this.formData) .post('/member', this.formData)
.then((res) => { .then((res) => {
console.log(res); console.log(res);
this.list = res.data.ret; this.list = res.data.ret;
@ -286,9 +292,7 @@ export default {
sessionStorage.setItem('sUserPage', 1); sessionStorage.setItem('sUserPage', 1);
this.getList(); this.getList();
}, },
} },
} };
</script> </script>
<style scoped lang="less"> <style scoped lang="less"></style>
</style>

View File

@ -31,7 +31,7 @@
</template> </template>
<template v-if="info.reporting_method==2"> <template v-if="info.reporting_method==2">
<td>推荐人姓名</td> <td>推荐人姓名</td>
<td>{{ info.recommendation_id }}</td> <td>{{ info.recommendation_name }}</td>
<td>推荐人单位及职务</td> <td>推荐人单位及职务</td>
<td>{{ info.recommendation_content }}</td> <td>{{ info.recommendation_content }}</td>
</template> </template>
@ -438,7 +438,6 @@ export default {
}, },
methods: { methods: {
getInfo() { getInfo() {
this.$request this.$request
.post("/member/find", {member_id: this.member_id}) .post("/member/find", {member_id: this.member_id})
.then((res) => { .then((res) => {
@ -448,8 +447,6 @@ export default {
key.other_contacts = key.other_contacts!=''?JSON.parse(key.other_contacts):''; key.other_contacts = key.other_contacts!=''?JSON.parse(key.other_contacts):'';
key.tuanweifuzerenxinxi = key.tuanweifuzerenxinxi!=''?JSON.parse(key.tuanweifuzerenxinxi):''; key.tuanweifuzerenxinxi = key.tuanweifuzerenxinxi!=''?JSON.parse(key.tuanweifuzerenxinxi):'';
this.info = key; this.info = key;
console.log(key);
}) })
.catch((e) => { .catch((e) => {
console.log(e); console.log(e);

View File

@ -1,8 +1,8 @@
import axios from 'axios'; import axios from 'axios';
import store from '../store'; import store from '../store';
//const API_HOST = env === 'mock' ? '/' : proxy[env].API; // 如果是mock模式 就不配置host 会走本地Mock拦截 //const API_HOST = env === 'mock' ? '/' : proxy[env].API; // 如果是mock模式 就不配置host 会走本地Mock拦截
const API_HOST = 'https://hnyea.0rui.cn/api/'; //const API_HOST = 'https://hnyea.0rui.cn/api/';
//const API_HOST ="/api/"; const API_HOST = '/api/';
const CODE = { const CODE = {
LOGIN_TIMEOUT: 1000000, LOGIN_TIMEOUT: 1000000,
REQUEST_SUCCESS: 0, REQUEST_SUCCESS: 0,