This commit is contained in:
Air 2024-07-30 18:16:05 +08:00
parent 9cafbc6073
commit e536e708ca
4 changed files with 255 additions and 54 deletions

179
src/pages/tweets/index.vue Normal file
View File

@ -0,0 +1,179 @@
<template>
<t-card :bordered="false">
<div class="form-step-container">
<t-tabs v-model="state" @change="tabIndexChange">
<t-tab-panel :value="2" label="已通过" :destroyOnHide="false"></t-tab-panel>
<t-tab-panel :value="1" label="待审核" :destroyOnHide="false"></t-tab-panel>
<t-tab-panel :value="3" label="已拒绝" :destroyOnHide="false"></t-tab-panel>
</t-tabs>
<t-table
rowKey="index"
:data="list"
:columns="columns"
:stripe="false"
:bordered="false"
:hover="true"
size="large"
table-layout="auto"
cellEmptyContent="-"
:pagination="pagination"
>
<template #member_info="{ row }">
<div>{{row.member.nikename}}</div>
</template>
<template #files="{ row }">
<a v-for="item in row.files" :href="$store.state.user.apiUrl+item" target="_blank">
<img :src="$store.state.user.apiUrl+item" style="width: 100px;margin-right: 10px"/>
</a>
</template>
<template #this_top="{ row }">
<t-tag v-if="row.is_top==0" theme="success" @click="topNews(row)" style="cursor: pointer">点击置顶</t-tag>
<t-tag v-if="row.is_top>0" theme="warning" @click="topNews(row)" style="cursor: pointer">取消置顶</t-tag>
</template>
<template #select="{ row }">
<t-space :size="0">
<t-popconfirm v-if="row.status==1" content="确定要审核通过吗?" @confirm="review(row,1)">
<t-button theme="primary">通过</t-button>
</t-popconfirm>
<t-popconfirm v-if="row.status==1" theme="danger" @confirm="review(row,2)">
<template slot="content">
<p class="title">拒绝理由</p>
<p class="describe" style="margin-top: 10px">
<t-input v-model="reason" placeholder="请输入拒绝理由"/>
</p>
</template>
<t-button theme="warning" style="margin: 0px 10px">拒绝</t-button>
</t-popconfirm>
<t-popconfirm content="确认删除吗?" @confirm="del(row)">
<t-button theme="danger">删除</t-button>
</t-popconfirm>
</t-space>
</template>
</t-table>
<div style="margin-top: 30px">
<t-pagination
:total="pagination.total"
:page-size="pagination.size"
@current-change="onCurrentChange"
:showPageSize="false"
></t-pagination>
</div>
</div>
</t-card>
</template>
<script lang="ts">
import store from "@/store";
export default {
data() {
return {
state: 2,
list: [],
reason:'',
columns: [
{colKey: 'title', title: '标题', align: 'center'},
{colKey: 'content', title: '内容', align: 'center'},
{colKey: 'member_info', title: '发布者', align: 'center'},
{colKey: 'files', title: '图片', align: 'center'},
{colKey: 'createtime', title: '创建时间', align: 'center'},
{colKey: 'this_top', title: '置顶', align: 'center'},
{colKey: 'select', title: '操作', width: 200},
],
pagination: {
page: 1,
size: 10,
total: 0,
},
}
},
mounted() {
//this.member_id=this.$route.query.id;
if(typeof (store.state.user.association)=='object'){
this.association=store.state.user.association;
}else{
this.association=JSON.parse(store.state.user.association);
}
this.getList();
//this.getGory();
},
methods: {
tabIndexChange(index){
this.state=index;
this.pagination.page=1;
this.getList();
},
topNews(row){
console.log(row);
this.$request
.post('/tweets/pin', {id: row.id})
.then((res) => {
if (res.code == 1) {
this.$message.success('置顶成功');
this.getList();
} else {
this.$message.error(res.msg);
}
console.log(res);
})
.catch((e) => {
console.log(e);
});
},
review(d,type){
console.log(d);
this.$request
.post('/tweets/review', {id: d.id,status:type,reason:this.reason})
.then((res) => {
if (res.code == 1) {
this.$message.success(res.msg);
this.getList();
} else {
this.$message.error(res.msg);
}
console.log(res);
})
.catch((e) => {
console.log(e);
});
},
del(d) {
console.log(d);
this.$request
.post('/tweets/destroy', {id: d.id})
.then((res) => {
if (res.code == 1) {
this.$message.success('删除成功!');
this.pagination.page=1;
this.getList();
} else {
this.$message.error(res.msg);
}
console.log(res);
})
.catch((e) => {
console.log(e);
});
},
onCurrentChange(d){
this.page=d;
this.getList();
},
getList() {
this.$request
.post("/tweets/index", {state:this.state,page: this.pagination.page, size: this.pagination.size})
.then((res) => {
console.log(res);
if (res.code == 1) {
this.list = res.data.data;
this.pagination.total = res.data.total;
}
})
.catch((e) => {
console.log(e);
});
},
}
}
</script>

View File

@ -62,6 +62,7 @@
<t-tabs v-model="tabIndex" @change="tabIndexChange">
<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="3" label="待缴纳会费" :destroyOnHide="false"></t-tab-panel>
<t-tab-panel :value="2" label="已拒绝" :destroyOnHide="false"></t-tab-panel>
</t-tabs>
<t-table

View File

@ -1,7 +1,12 @@
<template>
<div class="detail-base">
<t-card title="基本信息" :bordered="false" class="info-block">
<t-descriptions :column="4">
<t-card title="" :bordered="false" class="info-block" style="padding: 30px">
<t-steps :current="0" readonly>
<t-step-item title="信息审核" content="提交的信息审核"></t-step-item>
<t-step-item title="会费缴纳" content="等待会费缴纳"></t-step-item>
<t-step-item title="成功入会" content="已成功入会"></t-step-item>
</t-steps>
<t-descriptions :column="3" bordered layout="horizontal" item-layout="horizontal" style="margin-top: 40px">
<t-descriptions-item label="形象照">
<div slot="content">
<t-image-viewer v-model="visible" :draggable="true" mode="modeless" :images="[$store.state.user.apiUrl+info.photo_image]">
@ -13,32 +18,6 @@
</t-image-viewer>
</div>
</t-descriptions-item>
<t-descriptions-item label="会员姓名" :content="info.nikename"></t-descriptions-item>
<t-descriptions-item label="职位" :content="info.position_name"></t-descriptions-item>
<t-descriptions-item label="行业" :content="info.industry_id==-1?'其他行业':info.industry_name"></t-descriptions-item>
<t-descriptions-item label="区域" :content="info.region_name"></t-descriptions-item>
<t-descriptions-item label="手机号" :content="info.phone"></t-descriptions-item>
<t-descriptions-item label="性别">
<div slot="content">
{{info.gender==1?"男":"女"}}
</div>
</t-descriptions-item>
<t-descriptions-item label="出生日期" :content="info.birth_time"></t-descriptions-item>
<t-descriptions-item label="籍贯" :content="info.jiguan"></t-descriptions-item>
<t-descriptions-item label="民族" :content="info.nation"></t-descriptions-item>
<t-descriptions-item label="政治面貌" :content="info.political"></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.academic_degree"></t-descriptions-item>
<t-descriptions-item label="自我介绍">
<div slot="content" style="width: 600px;">
{{info.introduction}}
</div>
</t-descriptions-item>
</t-descriptions>
</t-card>
<t-card title="个人信息" :bordered="false" class="info-block">
<t-descriptions :column="2">
<t-descriptions-item label="身份证正面照">
<div slot="content">
<t-image-viewer v-model="visibleZm" :draggable="true" mode="modeless" :images="[$store.state.user.apiUrl+info.cardz_image]">
@ -61,19 +40,40 @@
</t-image-viewer>
</div>
</t-descriptions-item>
<t-descriptions-item label="会员姓名" :content="info.nikename"></t-descriptions-item>
<t-descriptions-item label="身份证号码" :content="info.card_number"></t-descriptions-item>
<!-- <t-descriptions-item label="工作单位" :content="info.work_unit"></t-descriptions-item>-->
<t-descriptions-item label="单位职务" :content="info.unit_position"></t-descriptions-item>
<t-descriptions-item label="手机号" :content="info.phone"></t-descriptions-item>
<t-descriptions-item label="出生日期" :content="info.birth_time"></t-descriptions-item>
<t-descriptions-item label="职位" :content="info.position_name"></t-descriptions-item>
<t-descriptions-item label="行业" :content="info.industry_id==-1?'其他行业':info.industry_name"></t-descriptions-item>
<t-descriptions-item label="区域" :content="info.region_name"></t-descriptions-item>
<t-descriptions-item label="微信号" :content="info.wx_number"></t-descriptions-item>
<t-descriptions-item label="性别">
<div slot="content">
{{info.gender==1?"男":"女"}}
</div>
</t-descriptions-item>
<t-descriptions-item label="籍贯" :content="info.jiguan"></t-descriptions-item>
<t-descriptions-item label="民族" :content="info.nation"></t-descriptions-item>
<t-descriptions-item label="政治面貌" :content="info.political"></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.academic_degree"></t-descriptions-item>
<t-descriptions-item :span="3" label="自我介绍">
<div slot="content" style="width: 600px;">
{{info.introduction}}
</div>
</t-descriptions-item>
<!-- <t-descriptions-item label="工作单位" :content="info.work_unit"></t-descriptions-item>-->
<t-descriptions-item label="单位职务" :content="info.unit_position"></t-descriptions-item>
<t-descriptions-item label="邮箱地址" :content="info.mailbox"></t-descriptions-item>
<t-descriptions-item label="固定电话" :content="info.fixed_telephone"></t-descriptions-item>
<t-descriptions-item label="其他社会职务" :content="info.other_social_positions"></t-descriptions-item>
<t-descriptions-item label="其他联系人" :content="info.other_contacts"></t-descriptions-item>
<t-descriptions-item label="主要成就以及获奖情况" :content="info.achievement_award"></t-descriptions-item>
</t-descriptions>
</t-card>
<t-card title="企业信息" :bordered="false" class="info-block">
<t-descriptions :column="2">
<t-descriptions-item label="营业执照">
<div slot="content">
<t-image-viewer v-model="visibleZz" :draggable="true" mode="modeless" :images="[$store.state.user.apiUrl+info.business_license_image]">
@ -110,11 +110,11 @@
<t-descriptions-item label="上年度纳税额" :content="!info.previous_tax?'':info.previous_tax+'万'"></t-descriptions-item>
<t-descriptions-item label="上年度净利润" :content="!info.previous_profit?'':info.previous_profit+'万'"></t-descriptions-item>
<t-descriptions-item label="上年度公益性捐赠支出" :content="!info.previous_donation?'':info.previous_donation+'万'"></t-descriptions-item>
<t-descriptions-item label="企业介绍" >
<div slot="content" style="width: 300px;">
{{info.enterprise_Introduction}}
</div>
</t-descriptions-item>
<t-descriptions-item label="企业介绍" >
<div slot="content" style="width: 300px;">
{{info.enterprise_Introduction}}
</div>
</t-descriptions-item>
<t-descriptions-item label="业务介绍" :content="info.introdiction"></t-descriptions-item>
<t-descriptions-item label="企业所获荣誉以及专利" :content="info.enterorise_honor"></t-descriptions-item>
<t-descriptions-item label="其他企业任职情况" :content="info.qitaqiyerenzhiqingkuang"></t-descriptions-item>
@ -145,17 +145,22 @@
<t-descriptions-item label="建团时间" :content="info.jiantuan_time"></t-descriptions-item>
</template>
</t-descriptions>
<div style="text-align: center" v-if="info.if_xianshi==0">
<t-popconfirm content="确认拒绝申请吗?" @confirm="tgSelect(2)">
<t-button theme="danger">拒绝</t-button>
<div v-if="info.if_xianshi==0" style="text-align: center;margin-top: 50px">
<t-popconfirm theme="danger" @confirm="tgSelect(2)">
<template slot="content">
<p class="title">拒绝理由</p>
<p class="describe" style="margin-top: 10px">
<t-input v-model="reason" placeholder="请输入拒绝理由"/>
</p>
</template>
<t-button theme="danger" size="large" style="margin: 0px 10px">审核拒绝</t-button>
</t-popconfirm>
<t-popconfirm content="确认通过审核吗?" @confirm="tgSelect(1)">
<t-button theme="primary" style="margin-left: 20px">通过审核</t-button>
<t-popconfirm content="确认通过审核吗?" @confirm="tgSelect(3)">
<t-button theme="primary" size="large" style="margin-left: 20px">通过审核</t-button>
</t-popconfirm>
</div>
</t-card>
</div>
</div>
</template>
<script lang="ts">
export default {
@ -170,6 +175,7 @@ export default {
visiblelogo:false,
info:{},
member_id:0,
reason:'',
}
},
mounted() {
@ -190,7 +196,7 @@ export default {
},
tgSelect(type){
this.$request
.post("/member/update",{member_id:this.member_id,if_xianshi:type})
.post("/member/update",{member_id:this.member_id,if_xianshi:type,reason:this.reason})
.then( (res) => {
console.log(res);
if (res.code==1){

View File

@ -1,4 +1,4 @@
import {ViewModuleIcon, UsergroupIcon, ViewListIcon, ChartBubbleIcon, HomeIcon, HelpIcon} from 'tdesign-icons-vue';
import {ViewModuleIcon, UsergroupIcon, ViewListIcon, ChartBubbleIcon, HomeIcon, HelpIcon,UserAvatarIcon} from 'tdesign-icons-vue';
import Layout from '@/layouts/index.vue';
@ -87,6 +87,21 @@ export default [
}
],
},
{
path: '/tweets',
name: 'tweets',
component: Layout,
redirect: '/tweets/index',
meta: {title: '青企圈', icon: UserAvatarIcon},
children: [
{
path: 'index',
name: 'tweetsIndex',
component: () => import('@/pages/tweets/index.vue'),
meta: {title: '内容列表'},
},
],
},
{
path: '/news',
name: 'news',
@ -94,12 +109,12 @@ export default [
redirect: '/news/news_index',
meta: {title: '新闻文章', icon: ViewListIcon},
children: [
{
path: 'wechat_index',
name: 'wechatIndex',
component: () => import('@/pages/news/wechat_index.vue'),
meta: {title: '公众号内容管理'},
},
// {
// path: 'wechat_index',
// name: 'wechatIndex',
// component: () => import('@/pages/news/wechat_index.vue'),
// meta: {title: '公众号内容管理'},
// },
{
path: 'news_index',
name: 'newsIndex',