This commit is contained in:
王创世 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){ review(d,type){
console.log(d); console.log(d);
this.$request 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) => { .then((res) => {
if (res.code == 1) { if (res.code == 1) {
this.$message.success(res.msg); this.$message.success(res.msg);

View File

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

View File

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

View File

@ -60,7 +60,7 @@
<t-descriptions-item label="毕业院校" :content="info.institution"></t-descriptions-item> <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.education"></t-descriptions-item>
<t-descriptions-item label="学位" :content="info.academic_degree"></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;"> <div slot="content" style="width: 600px;">
{{info.introduction}} {{info.introduction}}
</div> </div>

View File

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

View File

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

View File

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