This commit is contained in:
Air 2024-08-16 18:17:40 +08:00
parent 5f1c578b5f
commit 09c561c845
7 changed files with 302 additions and 189 deletions

View File

@ -123,7 +123,7 @@ export default {
review(d,type){
console.log(d);
this.$request
.post('/tweets/review', {id: d.id,status:type,reason:this.reason})
.post('/tweets/review', {id: d.id,status:type,reason:this.reason,member_id:d.member_id})
.then((res) => {
if (res.code == 1) {
this.$message.success(res.msg);

View File

@ -24,9 +24,10 @@
</t-select>
</t-form-item>
<t-form-item label="区域" name="region_id">
<t-select v-model="formData.region_id" :style="{ width: '200px' }">
<t-option v-for="(item,index) in region_list" :label="item.region_name" :value="item.id"></t-option>
</t-select>
<!-- <t-select v-model="formData.region_id" :style="{ width: '200px' }">-->
<!-- <t-option v-for="(item,index) in region_list" :label="item.region_name" :value="item.id"></t-option>-->
<!-- </t-select>-->
<t-cascader v-model="formData.region_id" :options="region_list" clearable @change="onChange"></t-cascader>
</t-form-item>
</t-form>
</div>
@ -94,8 +95,8 @@
<!-- <t-form-item label="意向协会职务" name="position">-->
<!-- <t-input v-model="formData.position" placeholder="请输入意向协会职务"></t-input>-->
<!-- </t-form-item>-->
<t-form-item label="自我介绍" name="introduction">
<t-textarea placeholder="请输入自我介绍" :autosize="{ minRows: 3, maxRows: 5 }"
<t-form-item label="个人简介" name="introduction">
<t-textarea placeholder="请输入个人简介" :autosize="{ minRows: 3, maxRows: 5 }"
v-model="formData.introduction"/>
</t-form-item>
<t-form-item label="主要成就以及获奖情况" name="achievement_award">
@ -746,6 +747,8 @@ getRegion() {
// }
// }
this.formData.member_id = this.id;
console.log(this.formData);
return;
this.$request
.post("/member/update", this.formData)
.then((res) => {

View File

@ -9,54 +9,48 @@
:style="{ marginBottom: '30px' }"
>
<t-row>
<t-col :span="8">
<t-row :gutter="[16, 24]">
<t-col :flex="2">
<t-form-item label="会员姓名" name="nikename">
<t-input
v-model="formData.nikename"
class="form-item-content"
type="search"
placeholder="请输入会员姓名"
:style="{ minWidth: '134px' }"
/>
</t-form-item>
</t-col>
<t-col :flex="2">
<t-form-item label="手机号" name="phone">
<t-input
v-model="formData.phone"
class="form-item-content"
placeholder="请输入手机号"
:style="{ minWidth: '134px' }"
/>
</t-form-item>
</t-col>
<t-col :flex="3">
<t-form-item label="职务" name="phone">
<t-select v-model="formData.position_id" style="width: 200px">
<t-option label="全部" value="" />
<t-option v-for="(item,index) in positionList" :label="item.position_name" :value="item.id" />
</t-select>
</t-form-item>
</t-col>
<t-col :flex="3">
<t-form-item label="区域" name="phone">
<t-select v-model="formData.region_id" style="width: 200px">
<t-option label="全部" value="" />
<t-option v-for="(item,index) in region_list" :label="item.region_name" :value="item.id" />
</t-select>
</t-form-item>
</t-col>
</t-row>
</t-col>
<t-col :span="2" class="operation-container">
<t-button theme="primary" type="submit" :style="{ marginLeft: '8px' }"> 查询</t-button>
</t-col>
<t-col :span="2" style="text-align: right">
<t-button @click="()=>$router.push('/user/user_add')"> 新增会员</t-button>
</t-col>
<t-form-item label="会员姓名" name="nikename">
<t-input
v-model="formData.nikename"
class="form-item-content"
type="search"
placeholder="请输入会员姓名"
/>
</t-form-item>
<t-form-item label="手机号" name="phone">
<t-input
v-model="formData.phone"
class="form-item-content"
placeholder="请输入手机号"
/>
</t-form-item>
<t-form-item label="职务" name="phone">
<t-select v-model="formData.position_id" style="width: 200px">
<t-option label="全部" value=""/>
<t-option v-for="(item,index) in positionList" :label="item.position_name" :value="item.id"/>
</t-select>
</t-form-item>
<t-form-item label="区域" name="phone">
<t-select v-model="formData.region_id" style="width: 200px">
<t-option label="全部" value=""/>
<t-option v-for="(item,index) in region_list" :label="item.region_name" :value="item.id"/>
</t-select>
</t-form-item>
<t-form-item label="届数" name="phone">
<t-select v-model="formData.number_of_sessions" style="width: 200px">
<t-option label="全部" :value="0"/>
<t-option label="第十二届" :value="12"/>
</t-select>
</t-form-item>
<div>
<t-space>
<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 @click="dow" shape="circle" theme="primary">
<cloud-download-icon slot="icon" />
</t-button>
</t-space>
</div>
</t-row>
</t-form>
<t-tabs v-model="tabIndex" @change="tabIndexChange">
@ -80,7 +74,7 @@
<img v-if="row.photo_image" :src="$store.state.user.apiUrl+row.photo_image" style="width: 50px;height: 50px">
</template>
<template #gender="{ row }">
{{row.gender==1?"男":"女"}}
{{ row.gender == 1 ? "男" : "女" }}
</template>
<template #if_xianshi="{ row }">
<t-tag theme="primary" v-if="row.if_xianshi==0">待审核</t-tag>
@ -89,8 +83,11 @@
</template>
<template #select="{ row }">
<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>
<t-button theme="default" v-if="row.if_xianshi==0||row.if_xianshi==3" @click="openUrl(row.member_id)">审核</t-button>
<t-button theme="default" v-if="row.if_xianshi==1||row.if_xianshi==2" @click="openUrl(row.member_id)">
详细信息
</t-button>
<t-button theme="default" v-if="row.if_xianshi==0||row.if_xianshi==3" @click="openUrl(row.member_id)">审核
</t-button>
<t-button @click="()=>$router.push('/user/user_edit?id='+row.member_id)">编辑</t-button>
<t-popconfirm content="确认要删除吗?" @confirm="del(row)">
<t-button theme="warning">删除</t-button>
@ -102,6 +99,7 @@
<t-pagination
:total="total"
:page-size="size"
:current="page"
@current-change="onCurrentChange"
:showPageSize="false"
></t-pagination>
@ -111,48 +109,65 @@
</template>
<script lang="ts">
import store from "@/store";
import {toInteger} from "lodash";
import {CloudDownloadIcon} from 'tdesign-icons-vue';
export default {
components: {
CloudDownloadIcon,
},
data() {
return {
association:{},
list:[],
tabIndex:1,
columns:[
{ colKey: 'member_id', title: '会员ID'},
{ colKey: 'photo_image', title: '形象照'},
{ colKey: 'nikename', title: '会员姓名'},
{ colKey: 'position_name', title: '职位'},
{ colKey: 'region_name', title: '区域'},
{ colKey: 'phone', title: '手机号'},
{ colKey: 'nation', title: '民族'},
{ colKey: 'if_xianshi', title: '状态'},
{ colKey: 'select', title: '操作',width: 200},
association: {},
list: [],
tabIndex: 1,
columns: [
{colKey: 'member_id', title: '会员ID'},
{colKey: 'photo_image', title: '形象照'},
{colKey: 'nikename', title: '会员姓名'},
{colKey: 'position_name', title: '职位'},
{colKey: 'region_name', title: '区域'},
{colKey: 'phone', title: '手机号'},
{colKey: 'nation', title: '民族'},
{colKey: 'if_xianshi', title: '状态'},
{colKey: 'select', title: '操作', width: 200},
],
total:0,
page:1,
size:10,
formData:{
position_id:'',
region_id:'',
total: 0,
page: 1,
size: 10,
formData: {
position_id: '',
region_id: '',
nikename: '',
phone: ''
phone: '',
number_of_sessions:0,
},
positionList:[],
region_list:[],
positionList: [],
region_list: [],
}
},
mounted() {
if(typeof (this.$store.state.user.association)=='object'){
this.association=this.$store.state.user.association;
}else{
this.association=JSON.parse(this.$store.state.user.association);
if (typeof (this.$store.state.user.association) == 'object') {
this.association = this.$store.state.user.association;
} else {
this.association = JSON.parse(this.$store.state.user.association);
}
const page = sessionStorage.getItem('sUserPage');
if (page) {
this.page = toInteger(page);
}
const Tab = sessionStorage.getItem('sUserTab');
if (Tab) {
this.tabIndex = toInteger(Tab);
}
this.getList();
this.getPositionList();
this.getRegion();
},
methods: {
dow(){
var token = store.state.user.token;
window.location.href="https://hnyea.0rui.cn/api/excel_controller/memberexport?token="+token;
},
getRegion() {
this.$request
.post("/region")
@ -177,54 +192,59 @@ export default {
console.log(e);
});
},
tabIndexChange(d){
tabIndexChange(d) {
console.log(d);
this.page=1;
this.total=0;
this.list=[];
sessionStorage.setItem('sUserPage', 1);
sessionStorage.setItem('sUserTab', d);
this.page = 1;
this.total = 0;
this.list = [];
this.getList();
},
del(row){
this.$request
.post("/member/del",{member_id:row.member_id})
.then( (res) => {
console.log(res);
if (res.code==1){
this.$message.success(res.msg);
}else{
this.$message.error(res.msg);
}
this.getList();
})
.catch((e) => {
console.log(e);
});
},
onCurrentChange(d){
this.page=d;
this.getList();
},
openUrl(member_id){
this.$router.push('/user/user_info?id='+member_id);
},
getList() {
this.formData.page=this.page;
this.formData.size=this.size;
this.formData.if_xianshi=this.tabIndex;
del(row) {
this.$request
.post("/member",this.formData)
.then( (res) => {
.post("/member/del", {member_id: row.member_id})
.then((res) => {
console.log(res);
this.list=res.data.ret;
this.total=res.data.count;
if (res.code == 1) {
this.$message.success(res.msg);
} else {
this.$message.error(res.msg);
}
this.getList();
})
.catch((e) => {
console.log(e);
});
},
onSubmit(){
this.page=1;
this.list=[];
onCurrentChange(d) {
this.page = d;
sessionStorage.setItem('sUserPage', d);
sessionStorage.setItem('sUserTab', this.tabIndex);
this.getList();
},
openUrl(member_id) {
this.$router.push('/user/user_info?id=' + member_id);
},
getList() {
this.formData.page = this.page;
this.formData.size = this.size;
this.formData.if_xianshi = this.tabIndex;
this.$request
.post("/member", this.formData)
.then((res) => {
console.log(res);
this.list = res.data.ret;
this.total = res.data.count;
})
.catch((e) => {
console.log(e);
});
},
onSubmit() {
this.page = 1;
this.list = [];
sessionStorage.setItem('sUserPage', 1);
this.getList();
},
}

View File

@ -60,7 +60,7 @@
<t-descriptions-item label="毕业院校" :content="info.institution"></t-descriptions-item>
<t-descriptions-item label="学历" :content="info.education"></t-descriptions-item>
<t-descriptions-item label="学位" :content="info.academic_degree"></t-descriptions-item>
<t-descriptions-item :span="3" label="自我介绍">
<t-descriptions-item :span="3" label="个人简介">
<div slot="content" style="width: 600px;">
{{info.introduction}}
</div>

View File

@ -44,18 +44,34 @@
<t-dialog header="申请详情" :visible="infoMode" :onClose="onCloseMy" :closeOnOverlayClick="false" :cancelBtn="null" :confirmBtn="null" width="800px">
<t-space direction="vertical">
<t-descriptions :label-style="{ width: '200px', textAlign: 'left' }" bordered :column="2">
<t-descriptions-item label="申请人">{{ info.header.name }}</t-descriptions-item>
<t-descriptions-item label="公司名称">{{ info.header.unit }}</t-descriptions-item>
<t-descriptions-item label="纳税人识别号">{{ info.header.taxpayer_identification_number }}
<t-descriptions-item label="申请人">{{ info.name }}</t-descriptions-item>
<t-descriptions-item label="公司名称">{{ info.unit }}</t-descriptions-item>
<t-descriptions-item label="纳税人识别号">{{ info.taxpayer_identification_number }}
</t-descriptions-item>
<t-descriptions-item label="单位地址">{{ info.header.unit_address }}</t-descriptions-item>
<t-descriptions-item label="单位电话">{{ info.header.telephone }}</t-descriptions-item>
<t-descriptions-item label="银行基本户账号">{{ info.header.bank_basic_account_number }}</t-descriptions-item>
<t-descriptions-item label="开户行">{{ info.header.bank }}</t-descriptions-item>
<t-descriptions-item label="发票类别">{{ info.invoice_type==1?'普票':'专票' }}</t-descriptions-item>
<t-descriptions-item label="单位地址">{{ info.unit_address }}</t-descriptions-item>
<t-descriptions-item label="单位电话">{{ info.telephone }}</t-descriptions-item>
<t-descriptions-item label="银行基本户账号">{{ info.bank_basic_account_number }}</t-descriptions-item>
<t-descriptions-item label="开户行">{{ info.bank }}</t-descriptions-item>
<t-descriptions-item label="发票金额">{{ info.money }} </t-descriptions-item>
<t-descriptions-item label="支付凭证">
<t-image-viewer :images="[$store.state.user.apiUrl+info.voucher]" :closeOnEscKeydown="false">
<template #trigger="{ open }">
<div style="cursor: pointer" @click="open">
<img v-if="info.voucher!=''&&info.voucher!=null" :src="$store.state.user.apiUrl+info.voucher" style="width: 200px;">
</div>
</template>
</t-image-viewer>
</t-descriptions-item>
<t-descriptions-item label="发票图片">
<img v-if="invoice_image!=''&&invoice_image!=null" :src="$store.state.user.apiUrl+invoice_image" style="width: 200px;">
<t-image-viewer :images="[$store.state.user.apiUrl+invoice_image]" :closeOnEscKeydown="false">
<template #trigger="{ open }">
<div style="cursor: pointer" @click="open">
<img v-if="invoice_image!=''&&invoice_image!=null" :src="$store.state.user.apiUrl+invoice_image" style="width: 200px;">
</div>
</template>
</t-image-viewer>
<t-upload
:action="$store.state.user.apiUrl+'/api/common/upload'"
v-model="invoice_image_show"
@ -97,9 +113,7 @@ export default {
total: 0,
size: 10,
list: [],
info: {
header: {}
},
info: {},
this_id:0,
member_id:0,
reason:'',

View File

@ -1,28 +1,55 @@
<template>
<t-card :bordered="false">
<div class="form-step-container">
<t-button @click="add">新增</t-button>
<t-table
rowKey="index"
<div>
<t-tree
ref="tree"
:data="list"
:columns="columns"
:stripe="false"
:bordered="false"
:hover="true"
size="large"
table-layout="auto"
cellEmptyContent="-"
hover
:checkable="false"
:w="300"
:transition="true"
:expand-on-click-node="false"
:line="true"
:icon="true"
:expandMutex="true"
:expandOnClickNode="true"
>
<template #select="{ row }">
<t-space size="24px" v-if="row.id!=0">
<t-button theme="warning" @click="edit(row)">编辑</t-button>
<t-popconfirm content="确认删除吗?" @confirm="del(row)">
<t-button theme="danger" >删除</t-button>
</t-popconfirm>
</t-space>
<template #label="{ node }">
<div style="display: flex;align-items: center;">
<div style="padding:10px;font-size: 16px;">{{ node.label }}</div>
<!-- <div style="margin-left: 50px">-->
<!-- <t-space>-->
<!-- <t-button v-if="node.data.children" size="small" variant="base" @click="append(node)">添加区县</t-button>-->
<!-- <t-button size="small" variant="base" theme="danger" @click="remove(node)">删除</t-button>-->
<!-- </t-space>-->
<!-- </div>-->
</div>
</template>
</t-table>
</t-tree>
</div>
<!-- <div class="form-step-container">-->
<!-- <t-button @click="add">新增</t-button>-->
<!-- <t-table-->
<!-- rowKey="index"-->
<!-- :data="list"-->
<!-- :columns="columns"-->
<!-- :stripe="false"-->
<!-- :bordered="false"-->
<!-- :hover="true"-->
<!-- size="large"-->
<!-- table-layout="auto"-->
<!-- cellEmptyContent="-"-->
<!-- >-->
<!-- <template #select="{ row }">-->
<!-- <t-space size="24px" v-if="row.id!=0">-->
<!-- <t-button theme="warning" @click="edit(row)">编辑</t-button>-->
<!-- <t-popconfirm content="确认删除吗?" @confirm="del(row)">-->
<!-- <t-button theme="danger" >删除</t-button>-->
<!-- </t-popconfirm>-->
<!-- </t-space>-->
<!-- </template>-->
<!-- </t-table>-->
<!-- </div>-->
<t-dialog header="新增区域" :visible="addMode" :onClose="onCloseMy" @confirm="onSubmit">
<t-form>
<t-form-item label="区域名称" name="region_name">
@ -40,8 +67,54 @@ export default {
region_name: '',
addMode: false,
isEdit: false,
editID:0,
editID: 0,
list: [],
items: [
{
label: '洛阳市',
children: [
{
label: '老城区',
},
{
label: '瀍河区',
},
],
},
{
label: '第一段',
children: [
{
label: '第二段',
},
{
label: '第二段',
},
],
},
{
label: '第一段',
children: [
{
label: '第二段',
},
{
label: '第二段',
},
],
},
{
label: '第一段',
children: [
{
label: '第二段',
},
{
label: '第二段',
},
],
},
],
columns: [
{colKey: 'region_name', title: '区域名称'},
{colKey: 'select', title: '操作', width: 200},
@ -49,19 +122,22 @@ export default {
}
},
mounted() {
//this.member_id=this.$route.query.id;
// this.member_id=this.$route.query.id;
this.getList();
},
methods: {
del(d){
append(node) {
console.log(node);
},
del(d) {
console.log(d);
this.$request
.post('/region/del',{id:d.id})
.post('/region/del', {id: d.id})
.then((res) => {
if(res.code==1){
if (res.code == 1) {
this.$message.success(res.msg);
this.getList();
}else {
} else {
this.$message.error(res.msg);
}
console.log(res);
@ -70,20 +146,20 @@ export default {
console.log(e);
});
},
add(){
this.region_name= '';
this.addMode=true;
this.isEdit=false;
add() {
this.region_name = '';
this.addMode = true;
this.isEdit = false;
},
edit(d){
this.editID=d.id;
this.region_name=d.region_name;
this.addMode=true;
this.isEdit=true;
edit(d) {
this.editID = d.id;
this.region_name = d.region_name;
this.addMode = true;
this.isEdit = true;
},
getList() {
this.$request
.post("/region")
.post("/region",{pid:0})
.then((res) => {
console.log(res);
this.list = res.data;
@ -97,18 +173,18 @@ export default {
this.$message.error('区域名称不能为空');
return;
}
var url='/region/add';
if(this.isEdit){
url='/region/update';
let url = '/region/add';
if (this.isEdit) {
url = '/region/update';
}
this.$request
.post(url,{region_name:this.region_name,id:this.editID})
.post(url, {region_name: this.region_name, id: this.editID})
.then((res) => {
if(res.code==1){
if (res.code == 1) {
this.$message.success(res.msg);
this.addMode=false;
this.addMode = false;
this.getList();
}else {
} else {
this.$message.error(res.msg);
}
console.log(res);

View File

@ -58,12 +58,12 @@ export default [
component: () => import('@/pages/user/user_invoice.vue'),
meta: {title: '会员发票管理'},
},
{
path: 'user_edit_shen',
name: 'userEditShen',
component: () => import('@/pages/user/user_edit_shen.vue'),
meta: {title: '编辑信息审核'},
},
// {
// path: 'user_edit_shen',
// name: 'userEditShen',
// component: () => import('@/pages/user/user_edit_shen.vue'),
// meta: {title: '编辑信息审核'},
// },
],
},
{
@ -159,12 +159,12 @@ export default [
component: () => import('@/pages/association/index.vue'),
meta: {title: '关于我们'},
},
{
path: 'system',
name: 'systemIndex',
component: () => import('@/pages/association/system.vue'),
meta: {title: '系统设置'},
}
// {
// path: 'system',
// name: 'systemIndex',
// component: () => import('@/pages/association/system.vue'),
// meta: {title: '系统设置'},
// }
],
}