Compare commits
6 Commits
9a4d47c1cd
...
824cca2457
Author | SHA1 | Date | |
---|---|---|---|
824cca2457 | |||
f5fbcae5c3 | |||
bac93446f4 | |||
31a9d5ba98 | |||
3ef4949d6d | |||
c6650e3743 |
@ -13,10 +13,10 @@
|
|||||||
<t-input size="large" placeholder="请输入活动标题" v-model="addForm.activity_name"
|
<t-input size="large" placeholder="请输入活动标题" v-model="addForm.activity_name"
|
||||||
:style="{ width: '480px' }"/>
|
:style="{ width: '480px' }"/>
|
||||||
</t-form-item>
|
</t-form-item>
|
||||||
<t-form-item label="活动简介" name="activity_desc">
|
<!-- <t-form-item label="活动简介" name="activity_desc">
|
||||||
<t-input size="large" placeholder="请输入活动简介" v-model="addForm.activity_desc"
|
<t-input size="large" placeholder="请输入活动简介" v-model="addForm.activity_desc"
|
||||||
:style="{ width: '480px' }"/>
|
:style="{ width: '480px' }"/>
|
||||||
</t-form-item>
|
</t-form-item> -->
|
||||||
<t-form-item label="活动地址" name="activity_location">
|
<t-form-item label="活动地址" name="activity_location">
|
||||||
<t-input size="large" placeholder="请输入活动地址" v-model="addForm.activity_location"
|
<t-input size="large" placeholder="请输入活动地址" v-model="addForm.activity_location"
|
||||||
:style="{ width: '480px' }"/>
|
:style="{ width: '480px' }"/>
|
||||||
@ -29,12 +29,12 @@
|
|||||||
<!-- <t-option key="4" label="学习培训" value="4"/>-->
|
<!-- <t-option key="4" label="学习培训" value="4"/>-->
|
||||||
<!-- </t-select>-->
|
<!-- </t-select>-->
|
||||||
<!-- </t-form-item>-->
|
<!-- </t-form-item>-->
|
||||||
<t-form-item label="显示报名人" name="if_display_registrants">
|
<!-- <t-form-item label="显示报名人" name="if_display_registrants">
|
||||||
<t-select size="large" v-model="addForm.if_display_registrants" :style="{ width: '480px' }">
|
<t-select size="large" v-model="addForm.if_display_registrants" :style="{ width: '480px' }">
|
||||||
<t-option key="1" label="显示" value="1"/>
|
<t-option key="1" label="显示" value="1"/>
|
||||||
<t-option key="2" label="不显示" value="2"/>
|
<t-option key="2" label="不显示" value="2"/>
|
||||||
</t-select>
|
</t-select>
|
||||||
</t-form-item>
|
</t-form-item> -->
|
||||||
<t-form-item label="报名范围" name="range">
|
<t-form-item label="报名范围" name="range">
|
||||||
<t-select size="large" v-model="addForm.range" :style="{ width: '480px' }">
|
<t-select size="large" v-model="addForm.range" :style="{ width: '480px' }">
|
||||||
<t-option key="1" label="会员" value="1"/>
|
<t-option key="1" label="会员" value="1"/>
|
||||||
@ -92,7 +92,7 @@
|
|||||||
:sizeLimit="{ size: 50, unit: 'MB', message: '视频大小不超过50MB' }"
|
:sizeLimit="{ size: 50, unit: 'MB', message: '视频大小不超过50MB' }"
|
||||||
></t-upload>
|
></t-upload>
|
||||||
</t-form-item>
|
</t-form-item>
|
||||||
<t-form-item label="活动简介" name="activity_desc">
|
<t-form-item label="活动详情" name="activity_desc">
|
||||||
<div style="border: 1px solid #ccc;width: 100%;">
|
<div style="border: 1px solid #ccc;width: 100%;">
|
||||||
<!-- 工具栏 -->
|
<!-- 工具栏 -->
|
||||||
<Toolbar
|
<Toolbar
|
||||||
@ -180,7 +180,7 @@ export default {
|
|||||||
activity_content: '',
|
activity_content: '',
|
||||||
activity_location: '',
|
activity_location: '',
|
||||||
activity_type: null,
|
activity_type: null,
|
||||||
if_display_registrants: null,
|
if_display_registrants: 2,
|
||||||
signup_start_time: '',
|
signup_start_time: '',
|
||||||
signup_end_time: '',
|
signup_end_time: '',
|
||||||
if_auditing: '1',
|
if_auditing: '1',
|
||||||
@ -276,10 +276,10 @@ export default {
|
|||||||
this.$message.error('活动标题不能为空');
|
this.$message.error('活动标题不能为空');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (this.addForm.activity_desc == '') {
|
// if (this.addForm.activity_desc == '') {
|
||||||
this.$message.error('活动简介不能为空');
|
// this.$message.error('活动简介不能为空');
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
if (this.addForm.activity_type == null) {
|
if (this.addForm.activity_type == null) {
|
||||||
this.$message.error('活动类别不能为空');
|
this.$message.error('活动类别不能为空');
|
||||||
return;
|
return;
|
||||||
|
@ -7,10 +7,10 @@
|
|||||||
<t-input size="large" placeholder="请输入活动标题" v-model="addForm.activity_name"
|
<t-input size="large" placeholder="请输入活动标题" v-model="addForm.activity_name"
|
||||||
:style="{ width: '480px' }"/>
|
:style="{ width: '480px' }"/>
|
||||||
</t-form-item>
|
</t-form-item>
|
||||||
<t-form-item label="活动简介" name="activity_desc">
|
<!-- <t-form-item label="活动简介" name="activity_desc">
|
||||||
<t-input size="large" placeholder="请输入活动简介" v-model="addForm.activity_desc"
|
<t-input size="large" placeholder="请输入活动简介" v-model="addForm.activity_desc"
|
||||||
:style="{ width: '480px' }"/>
|
:style="{ width: '480px' }"/>
|
||||||
</t-form-item>
|
</t-form-item> -->
|
||||||
<t-form-item label="活动地址" name="activity_location">
|
<t-form-item label="活动地址" name="activity_location">
|
||||||
<t-input size="large" placeholder="请输入活动地址" v-model="addForm.activity_location"
|
<t-input size="large" placeholder="请输入活动地址" v-model="addForm.activity_location"
|
||||||
:style="{ width: '480px' }"/>
|
:style="{ width: '480px' }"/>
|
||||||
@ -23,12 +23,12 @@
|
|||||||
<!-- <t-option key="4" label="学习培训" value="4"/>-->
|
<!-- <t-option key="4" label="学习培训" value="4"/>-->
|
||||||
<!-- </t-select>-->
|
<!-- </t-select>-->
|
||||||
<!-- </t-form-item>-->
|
<!-- </t-form-item>-->
|
||||||
<t-form-item label="显示报名人" name="if_display_registrants">
|
<!-- <t-form-item label="显示报名人" name="if_display_registrants">
|
||||||
<t-select size="large" v-model="addForm.if_display_registrants" :style="{ width: '480px' }">
|
<t-select size="large" v-model="addForm.if_display_registrants" :style="{ width: '480px' }">
|
||||||
<t-option key="1" label="显示" value="1"/>
|
<t-option key="1" label="显示" value="1"/>
|
||||||
<t-option key="2" label="不显示" value="2"/>
|
<t-option key="2" label="不显示" value="2"/>
|
||||||
</t-select>
|
</t-select>
|
||||||
</t-form-item>
|
</t-form-item> -->
|
||||||
<t-form-item label="报名范围" name="range">
|
<t-form-item label="报名范围" name="range">
|
||||||
<t-select size="large" v-model="addForm.range" :style="{ width: '480px' }">
|
<t-select size="large" v-model="addForm.range" :style="{ width: '480px' }">
|
||||||
<t-option key="1" label="会员" value="1"/>
|
<t-option key="1" label="会员" value="1"/>
|
||||||
@ -87,7 +87,7 @@
|
|||||||
:sizeLimit="{ size: 50, unit: 'MB', message: '视频大小不超过50MB' }"
|
:sizeLimit="{ size: 50, unit: 'MB', message: '视频大小不超过50MB' }"
|
||||||
></t-upload>
|
></t-upload>
|
||||||
</t-form-item>
|
</t-form-item>
|
||||||
<t-form-item label="活动简介" name="activity_desc">
|
<t-form-item label="活动详情" name="activity_desc">
|
||||||
<div style="border: 1px solid #ccc;width: 100%;">
|
<div style="border: 1px solid #ccc;width: 100%;">
|
||||||
<!-- 工具栏 -->
|
<!-- 工具栏 -->
|
||||||
<Toolbar
|
<Toolbar
|
||||||
@ -313,10 +313,10 @@ export default {
|
|||||||
this.$message.error('活动标题不能为空');
|
this.$message.error('活动标题不能为空');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (this.addForm.activity_desc == '') {
|
// if (this.addForm.activity_desc == '') {
|
||||||
this.$message.error('活动简介不能为空');
|
// this.$message.error('活动简介不能为空');
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
if (this.addForm.activity_type == null) {
|
if (this.addForm.activity_type == null) {
|
||||||
this.$message.error('活动类别不能为空');
|
this.$message.error('活动类别不能为空');
|
||||||
return;
|
return;
|
||||||
|
@ -117,6 +117,12 @@
|
|||||||
<CloudDownloadIcon slot="icon"/>
|
<CloudDownloadIcon slot="icon"/>
|
||||||
导出
|
导出
|
||||||
</t-button>
|
</t-button>
|
||||||
|
<!-- <t-dropdown :options="options">
|
||||||
|
<t-button>
|
||||||
|
<CloudDownloadIcon slot="icon"/>
|
||||||
|
导出
|
||||||
|
</t-button>
|
||||||
|
</t-dropdown> -->
|
||||||
</div>
|
</div>
|
||||||
<div v-if="infoIfAuditing==2">
|
<div v-if="infoIfAuditing==2">
|
||||||
<t-tabs v-model="InfotabIndex" @change="InfotabIndexChange">
|
<t-tabs v-model="InfotabIndex" @change="InfotabIndexChange">
|
||||||
@ -457,6 +463,32 @@ export default {
|
|||||||
getType: 3,
|
getType: 3,
|
||||||
infoIfAuditing: 1,//否
|
infoIfAuditing: 1,//否
|
||||||
association: {},
|
association: {},
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
content: '全部名单',
|
||||||
|
value: 1,
|
||||||
|
onClick: () => {
|
||||||
|
const token = store.state.user.token;
|
||||||
|
window.open(store.state.user.apiUrl + '/api/excel_controller/applicationexport?id=' + this.infoId + "&token=" + token+"&type=4");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: '已通过',
|
||||||
|
value: 2,
|
||||||
|
onClick: () => {
|
||||||
|
const token = store.state.user.token;
|
||||||
|
window.open(store.state.user.apiUrl + '/api/excel_controller/applicationexport?id=' + this.infoId + "&token=" + token+"&type=2");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: '已拒绝',
|
||||||
|
value: 3,
|
||||||
|
onClick: () => {
|
||||||
|
const token = store.state.user.token;
|
||||||
|
window.open(store.state.user.apiUrl + '/api/excel_controller/applicationexport?id=' + this.infoId + "&token=" + token+"&type=3");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
|
@ -24,27 +24,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</t-card>
|
</t-card>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import store from "@/store";
|
import store from '@/store';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
list: [],
|
list: [],
|
||||||
columns: [
|
columns: [
|
||||||
{colKey: 'name', title: '姓名', align: 'center', width: 300},
|
{ colKey: 'name', title: '姓名', align: 'center', width: 300 },
|
||||||
{colKey: 'phone', title: '联系方式', align: 'center'},
|
{ colKey: 'phone', title: '联系方式', align: 'center' },
|
||||||
{colKey: 'text', title: '内容', align: 'center'},
|
{ colKey: 'text', title: '内容', align: 'center' },
|
||||||
{colKey: 'createtime', title: '留言时间', align: 'center'},
|
{ colKey: 'createtime', title: '留言时间', align: 'center' },
|
||||||
],
|
],
|
||||||
pagination: {
|
pagination: {
|
||||||
page: 1,
|
page: 1,
|
||||||
size: 10,
|
size: 10,
|
||||||
total: 0,
|
total: 0,
|
||||||
},
|
},
|
||||||
}
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getList();
|
this.getList();
|
||||||
@ -57,19 +56,18 @@ export default {
|
|||||||
|
|
||||||
getList() {
|
getList() {
|
||||||
this.$request
|
this.$request
|
||||||
.post("/pc_leave_message/index", {page: this.pagination.page, size: this.pagination.size})
|
.post('/pc_leave_message/index', { page: this.pagination.page, size: this.pagination.size })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
if (res.code == 1) {
|
if (res.code == 1) {
|
||||||
this.list = res.data.ret;
|
this.list = res.data.ret;
|
||||||
this.pagination.total = res.data.count;
|
this.pagination.total = res.data.count;
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
File diff suppressed because it is too large
Load Diff
271
src/pages/tweets/detail.vue
Normal file
271
src/pages/tweets/detail.vue
Normal file
@ -0,0 +1,271 @@
|
|||||||
|
<template>
|
||||||
|
<t-card title="青企圈详情" :bordered="false">
|
||||||
|
<template #actions>
|
||||||
|
<t-button theme="default" @click="goBack">返回列表</t-button>
|
||||||
|
</template>
|
||||||
|
<div v-if="loading" class="loading-container">
|
||||||
|
<t-loading />
|
||||||
|
</div>
|
||||||
|
<div v-else class="tweet-detail-container">
|
||||||
|
<div class="tweet-header">
|
||||||
|
<h2 class="tweet-title">{{ detail.title }}</h2>
|
||||||
|
<div class="tweet-meta">
|
||||||
|
<span class="author">发布者: {{ detail.member?.nikename || '未知' }}</span>
|
||||||
|
<span class="time">发布时间: {{ detail.createtime }}</span>
|
||||||
|
<t-tag v-if="detail.is_top > 0" theme="warning">置顶</t-tag>
|
||||||
|
<t-tag v-if="detail.status == 1" theme="warning">待审核</t-tag>
|
||||||
|
<t-tag v-if="detail.status == 2" theme="success">已通过</t-tag>
|
||||||
|
<t-tag v-if="detail.status == 3" theme="danger">已拒绝</t-tag>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tweet-content">
|
||||||
|
{{ detail.content }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tweet-images" v-if="detail.files && detail.files.length > 0">
|
||||||
|
<h3>图片附件</h3>
|
||||||
|
<t-image-viewer v-model="visible" :images="detail.files">
|
||||||
|
<template #trigger="{ open }">
|
||||||
|
<div class="image-grid">
|
||||||
|
<div
|
||||||
|
v-for="(image, index) in detail.files"
|
||||||
|
:key="index"
|
||||||
|
class="image-item"
|
||||||
|
@click="open"
|
||||||
|
>
|
||||||
|
<img :src="image" :alt="`附件图片${index+1}`" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</t-image-viewer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tweet-actions" v-if="detail.status == 1">
|
||||||
|
<t-space>
|
||||||
|
<t-popconfirm content="确定要审核通过吗?" @confirm="review(1)">
|
||||||
|
<t-button theme="primary">通过</t-button>
|
||||||
|
</t-popconfirm>
|
||||||
|
<t-popconfirm theme="danger" @confirm="review(2)">
|
||||||
|
<template #content>
|
||||||
|
<p class="title">拒绝理由</p>
|
||||||
|
<p class="describe" style="margin-top: 10px">
|
||||||
|
<t-input v-model="reason" placeholder="请输入拒绝理由"/>
|
||||||
|
</p>
|
||||||
|
</template>
|
||||||
|
<t-button theme="warning">拒绝</t-button>
|
||||||
|
</t-popconfirm>
|
||||||
|
</t-space>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tweet-actions">
|
||||||
|
<t-space>
|
||||||
|
<t-button v-if="detail.is_top == 0" theme="success" @click="topNews">置顶</t-button>
|
||||||
|
<t-button v-else theme="warning" @click="topNews">取消置顶</t-button>
|
||||||
|
<t-popconfirm content="确认删除吗?" @confirm="del">
|
||||||
|
<t-button theme="danger">删除</t-button>
|
||||||
|
</t-popconfirm>
|
||||||
|
</t-space>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</t-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import store from "@/store";
|
||||||
|
|
||||||
|
interface StoreState {
|
||||||
|
user: {
|
||||||
|
apiUrl: string;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'TweetDetail',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: true,
|
||||||
|
id: null,
|
||||||
|
detail: {},
|
||||||
|
visible: false,
|
||||||
|
reason: '',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.id = this.$route.params.id || this.$route.query.id;
|
||||||
|
if (!this.id) {
|
||||||
|
this.$message.error('参数错误,未找到对应的青企圈信息');
|
||||||
|
this.goBack();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.getDetail();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
goBack() {
|
||||||
|
this.$router.push('/tweets/index');
|
||||||
|
},
|
||||||
|
getDetail() {
|
||||||
|
this.loading = true;
|
||||||
|
this.$request
|
||||||
|
.post('/tweets/detail', { id: this.id })
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 1) {
|
||||||
|
let detail = res.data;
|
||||||
|
// 处理图片URL
|
||||||
|
const apiUrl = (store.state as unknown as StoreState).user.apiUrl;
|
||||||
|
if (detail.files && detail.files.length > 0) {
|
||||||
|
detail.files = detail.files.map(file => apiUrl + file);
|
||||||
|
} else {
|
||||||
|
detail.files = [];
|
||||||
|
}
|
||||||
|
this.detail = detail;
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg || '获取详情失败');
|
||||||
|
setTimeout(() => {
|
||||||
|
this.goBack();
|
||||||
|
}, 1500);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((e) => {
|
||||||
|
console.error(e);
|
||||||
|
this.$message.error('获取详情失败');
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
topNews() {
|
||||||
|
this.$request
|
||||||
|
.post('/tweets/pin', { id: this.id })
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 1) {
|
||||||
|
this.$message.success(this.detail.is_top > 0 ? '取消置顶成功' : '置顶成功');
|
||||||
|
this.getDetail();
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((e) => {
|
||||||
|
console.error(e);
|
||||||
|
this.$message.error('操作失败');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
review(type) {
|
||||||
|
this.$request
|
||||||
|
.post('/tweets/review', {
|
||||||
|
id: this.id,
|
||||||
|
status: type,
|
||||||
|
reason: this.reason,
|
||||||
|
member_id: this.detail.member_id
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 1) {
|
||||||
|
this.$message.success(res.msg || '审核操作成功');
|
||||||
|
this.getDetail();
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((e) => {
|
||||||
|
console.error(e);
|
||||||
|
this.$message.error('审核操作失败');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
del() {
|
||||||
|
this.$request
|
||||||
|
.post('/tweets/destroy', { id: this.id })
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 1) {
|
||||||
|
this.$message.success('删除成功!');
|
||||||
|
this.goBack();
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((e) => {
|
||||||
|
console.error(e);
|
||||||
|
this.$message.error('删除失败');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.loading-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 50px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-detail-container {
|
||||||
|
padding: 20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-header {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
padding-bottom: 15px;
|
||||||
|
border-bottom: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-title {
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-meta {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 15px;
|
||||||
|
color: #666;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-content {
|
||||||
|
margin-bottom: 30px;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 1.6;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-images {
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-images h3 {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-grid {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 10px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-item {
|
||||||
|
width: 150px;
|
||||||
|
height: 150px;
|
||||||
|
overflow: hidden;
|
||||||
|
border-radius: 4px;
|
||||||
|
border: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-item img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
transition: transform 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-item:hover img {
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-actions {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
</style>
|
@ -25,7 +25,7 @@
|
|||||||
<!-- <a v-for="item in row.files" :href="$store.state.user.apiUrl+item" target="_blank">-->
|
<!-- <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"/>-->
|
<!-- <img :src="$store.state.user.apiUrl+item" style="width: 100px;margin-right: 10px"/>-->
|
||||||
<!-- </a>-->
|
<!-- </a>-->
|
||||||
<t-image-viewer v-model="visible[rowIndex]" :images="row.files" @close="delViewer(index)">
|
<t-image-viewer v-model="visible[rowIndex]" :images="row.files" @close="delViewer(rowIndex)">
|
||||||
<template #trigger="{ open }">
|
<template #trigger="{ open }">
|
||||||
<div @click="open" style="cursor: pointer" v-if="row.files.length>0">
|
<div @click="open" style="cursor: pointer" v-if="row.files.length>0">
|
||||||
<img alt="test" :src="row.files[0]" style="width: 200px"/>
|
<img alt="test" :src="row.files[0]" style="width: 200px"/>
|
||||||
@ -40,8 +40,9 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #select="{ row }">
|
<template #select="{ row }">
|
||||||
<t-space :size="0">
|
<t-space :size="0">
|
||||||
|
<t-button theme="primary" @click="viewDetail(row)" style="margin-right: 10px">详情</t-button>
|
||||||
<t-popconfirm v-if="row.status==1" content="确定要审核通过吗?" @confirm="review(row,1)">
|
<t-popconfirm v-if="row.status==1" content="确定要审核通过吗?" @confirm="review(row,1)">
|
||||||
<t-button theme="primary">通过</t-button>
|
<t-button theme="success">通过</t-button>
|
||||||
</t-popconfirm>
|
</t-popconfirm>
|
||||||
<t-popconfirm v-if="row.status==1" theme="danger" @confirm="review(row,2)">
|
<t-popconfirm v-if="row.status==1" theme="danger" @confirm="review(row,2)">
|
||||||
<template slot="content">
|
<template slot="content">
|
||||||
@ -67,6 +68,50 @@
|
|||||||
></t-pagination>
|
></t-pagination>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 添加详情弹窗 -->
|
||||||
|
<t-dialog
|
||||||
|
:visible.sync="detailVisible"
|
||||||
|
header="青企圈详情"
|
||||||
|
:width="800"
|
||||||
|
:footer="false"
|
||||||
|
>
|
||||||
|
<div v-if="detailLoading" class="loading-container">
|
||||||
|
<t-loading />
|
||||||
|
</div>
|
||||||
|
<div v-else class="tweet-detail-container">
|
||||||
|
<div class="tweet-header">
|
||||||
|
<div class="tweet-meta">
|
||||||
|
<span class="author">发布者: {{ detailInfo.member?.nikename || '未知' }}</span>
|
||||||
|
<span class="time">发布时间: {{ detailInfo.createtime }}</span>
|
||||||
|
<t-tag v-if="detailInfo.is_top > 0" theme="warning">置顶</t-tag>
|
||||||
|
<t-tag v-if="detailInfo.status == 1" theme="warning">待审核</t-tag>
|
||||||
|
<t-tag v-if="detailInfo.status == 2" theme="success">已通过</t-tag>
|
||||||
|
<t-tag v-if="detailInfo.status == 3" theme="danger">已拒绝</t-tag>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tweet-content" v-html="detailInfo.content"></div>
|
||||||
|
|
||||||
|
<div class="tweet-images" v-if="detailInfo.files && detailInfo.files.length > 0">
|
||||||
|
<h3>图片附件</h3>
|
||||||
|
<t-image-viewer v-model="detailImageVisible" :images="detailInfo.files">
|
||||||
|
<template #trigger="{ open }">
|
||||||
|
<div class="image-grid">
|
||||||
|
<div
|
||||||
|
v-for="(image, index) in detailInfo.files"
|
||||||
|
:key="index"
|
||||||
|
class="image-item"
|
||||||
|
@click="open"
|
||||||
|
>
|
||||||
|
<img :src="image" :alt="`附件图片${index+1}`" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</t-image-viewer>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</t-dialog>
|
||||||
</t-card>
|
</t-card>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
@ -74,6 +119,14 @@
|
|||||||
import store from "@/store";
|
import store from "@/store";
|
||||||
import {toInteger} from "lodash";
|
import {toInteger} from "lodash";
|
||||||
|
|
||||||
|
// 添加类型声明
|
||||||
|
interface StoreState {
|
||||||
|
user: {
|
||||||
|
association: any;
|
||||||
|
apiUrl: string;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -81,6 +134,13 @@ export default {
|
|||||||
state: 2,
|
state: 2,
|
||||||
list: [],
|
list: [],
|
||||||
reason:'',
|
reason:'',
|
||||||
|
association: null,
|
||||||
|
// 详情弹窗相关
|
||||||
|
detailVisible: false,
|
||||||
|
detailLoading: false,
|
||||||
|
detailInfo: {},
|
||||||
|
detailImageVisible: false,
|
||||||
|
currentDetailId: null,
|
||||||
columns: [
|
columns: [
|
||||||
{colKey: 'title', title: '标题', align: 'center'},
|
{colKey: 'title', title: '标题', align: 'center'},
|
||||||
{colKey: 'content', title: '内容', align: 'center'},
|
{colKey: 'content', title: '内容', align: 'center'},
|
||||||
@ -109,13 +169,14 @@ export default {
|
|||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
delViewer(d){
|
delViewer(rowIndex){
|
||||||
console.log(d);
|
console.log(rowIndex);
|
||||||
},
|
},
|
||||||
tabIndexChange(index){
|
viewDetail(row) {
|
||||||
this.state=index;
|
// 修改为打开弹窗而不是导航
|
||||||
this.pagination.page=1;
|
this.currentDetailId = row.id;
|
||||||
this.getList();
|
this.detailVisible = true;
|
||||||
|
this.detailInfo = row;
|
||||||
},
|
},
|
||||||
topNews(row){
|
topNews(row){
|
||||||
console.log(row);
|
console.log(row);
|
||||||
@ -180,7 +241,7 @@ export default {
|
|||||||
console.log(res);
|
console.log(res);
|
||||||
if (res.code == 1) {
|
if (res.code == 1) {
|
||||||
var list = res.data.paginator.data;
|
var list = res.data.paginator.data;
|
||||||
const apiUrl = store.state.user.apiUrl; // 假设这是你的 API URL
|
const apiUrl = (store.state as unknown as StoreState).user.apiUrl;
|
||||||
const transformedSelectList = list.map(item => ({
|
const transformedSelectList = list.map(item => ({
|
||||||
...item, // 保留其他所有属性
|
...item, // 保留其他所有属性
|
||||||
files: item.files.length > 0 ? item.files.map(file => apiUrl + file) : []
|
files: item.files.length > 0 ? item.files.map(file => apiUrl + file) : []
|
||||||
@ -196,6 +257,136 @@ export default {
|
|||||||
console.log(e);
|
console.log(e);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
topNewsDetail() {
|
||||||
|
this.$request
|
||||||
|
.post('/tweets/pin', { id: this.currentDetailId })
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 1) {
|
||||||
|
this.$message.success(this.detailInfo.is_top > 0 ? '取消置顶成功' : '置顶成功');
|
||||||
|
this.getDetailInfo(); // 刷新详情
|
||||||
|
this.getList(); // 刷新列表
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((e) => {
|
||||||
|
console.error(e);
|
||||||
|
this.$message.error('操作失败');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
reviewDetail(type) {
|
||||||
|
this.$request
|
||||||
|
.post('/tweets/review', {
|
||||||
|
id: this.currentDetailId,
|
||||||
|
status: type,
|
||||||
|
reason: this.reason,
|
||||||
|
member_id: this.detailInfo.member_id
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 1) {
|
||||||
|
this.$message.success(res.msg || '审核操作成功');
|
||||||
|
this.detailVisible = false; // 关闭弹窗
|
||||||
|
this.getList(); // 刷新列表
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((e) => {
|
||||||
|
console.error(e);
|
||||||
|
this.$message.error('审核操作失败');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
delDetail() {
|
||||||
|
this.$request
|
||||||
|
.post('/tweets/destroy', { id: this.currentDetailId })
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 1) {
|
||||||
|
this.$message.success('删除成功!');
|
||||||
|
this.detailVisible = false; // 关闭弹窗
|
||||||
|
this.getList(); // 刷新列表
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((e) => {
|
||||||
|
console.error(e);
|
||||||
|
this.$message.error('删除失败');
|
||||||
|
});
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
/* 详情弹窗样式 */
|
||||||
|
.loading-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 50px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-detail-container {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-header {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
padding-bottom: 15px;
|
||||||
|
border-bottom: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-meta {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 15px;
|
||||||
|
color: #666;
|
||||||
|
font-size: 14px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-content {
|
||||||
|
margin-bottom: 30px;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 1.6;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-images {
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-images h3 {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-grid {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 10px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-item {
|
||||||
|
width: 120px;
|
||||||
|
overflow: hidden;
|
||||||
|
border-radius: 4px;
|
||||||
|
border: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-item img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
transition: transform 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-item:hover img {
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tweet-actions {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -15,23 +15,28 @@
|
|||||||
:hover="true"
|
:hover="true"
|
||||||
size="large"
|
size="large"
|
||||||
table-layout="auto"
|
table-layout="auto"
|
||||||
cellEmptyContent="-" c
|
cellEmptyContent="-"
|
||||||
|
c
|
||||||
>
|
>
|
||||||
<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="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==0" @click="openMode(row,1)">审核</t-button>
|
<t-button theme="default" v-if="row.if_xianshi == 0" @click="openMode(row, 1)">审核</t-button>
|
||||||
<t-button theme="default" v-if="row.if_xianshi!=0" @click="openMode(row,0)">详情</t-button>
|
<t-button theme="default" v-if="row.if_xianshi != 0" @click="openMode(row, 0)">详情</t-button>
|
||||||
</t-space>
|
</t-space>
|
||||||
</template>
|
</template>
|
||||||
</t-table>
|
</t-table>
|
||||||
@ -44,110 +49,202 @@
|
|||||||
></t-pagination>
|
></t-pagination>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<t-dialog header="信息审核" :confirmBtn="null" :visible="ShenMode" :onClose="onCloseMy" :cancelBtn="null"
|
<t-dialog
|
||||||
width="1000px" top="50px">
|
header="信息审核"
|
||||||
<div style="text-align: center;width: 900px;height: 700px;margin: 0 auto;position: relative;overflow-y: scroll;">
|
:confirmBtn="null"
|
||||||
|
:visible="ShenMode"
|
||||||
|
:onClose="onCloseMy"
|
||||||
|
:cancelBtn="null"
|
||||||
|
width="1000px"
|
||||||
|
top="50px"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
style="text-align: center; width: 900px; height: 700px; margin: 0 auto; position: relative; overflow-y: scroll"
|
||||||
|
>
|
||||||
<t-space direction="vertical">
|
<t-space direction="vertical">
|
||||||
<t-row>
|
<t-row>
|
||||||
<t-col :span="2">
|
<t-col :span="2">
|
||||||
<div style="font-size: 16px;font-weight: 600">类别</div>
|
<div style="font-size: 16px; font-weight: 600">类别</div>
|
||||||
</t-col>
|
</t-col>
|
||||||
<t-col :span="4">
|
<t-col :span="4">
|
||||||
<div style="font-size: 16px;font-weight: 600">原信息</div>
|
<div style="font-size: 16px; font-weight: 600">原信息</div>
|
||||||
</t-col>
|
|
||||||
<t-col :span="2">
|
|
||||||
</t-col>
|
</t-col>
|
||||||
|
<t-col :span="2"> </t-col>
|
||||||
<t-col :span="4">
|
<t-col :span="4">
|
||||||
<div style="font-size: 16px;font-weight: 600">新信息</div>
|
<div style="font-size: 16px; font-weight: 600">新信息</div>
|
||||||
</t-col>
|
</t-col>
|
||||||
</t-row>
|
</t-row>
|
||||||
<t-row style="font-size: 16px">
|
<t-row style="font-size: 16px">
|
||||||
<t-col :span="2">
|
<t-col :span="2">
|
||||||
<t-space direction="vertical">
|
<t-space direction="vertical">
|
||||||
<div style="height: 100px;text-align: center;line-height: 100px" v-if="typeof (updateInfo.member_log.background_image) !='undefined'">名片背景图:</div>
|
<div
|
||||||
<div style="height: 100px;text-align: center;line-height: 100px" v-if="typeof (updateInfo.member_log.photo_image) !='undefined'">形象照:</div>
|
style="height: 100px; text-align: center; line-height: 100px"
|
||||||
<div v-if="typeof (updateInfo.member_log.position_name) !='undefined'">协会职务:</div>
|
v-if="typeof updateInfo.member_log.background_image != 'undefined'"
|
||||||
<div v-if="typeof (updateInfo.member_log.nikename) !='undefined'">姓名:</div>
|
>
|
||||||
<div v-if="typeof (updateInfo.member_log.gender_name) !='undefined'">性别:</div>
|
名片背景图:
|
||||||
<div v-if="typeof (updateInfo.member_log.phone) !='undefined'">联系方式:</div>
|
</div>
|
||||||
<div style="height: 200px" v-if="typeof (updateInfo.member_log.introduction) !='undefined'">个人经历:</div>
|
<div
|
||||||
<div style="height: 100px;text-align: center;line-height: 100px" v-if="typeof (updateInfo.member_log.company_image) !='undefined'">公司图标:</div>
|
style="height: 100px; text-align: center; line-height: 100px"
|
||||||
<div v-if="typeof (updateInfo.member_log.enterprise_name) !='undefined'">公司名称:</div>
|
v-if="typeof updateInfo.member_log.photo_image != 'undefined'"
|
||||||
<div v-if="typeof (updateInfo.member_log.industry_id) !='undefined'">公司行业:</div>
|
>
|
||||||
<div v-if="typeof (updateInfo.member_log.enterprise_location) !='undefined'">公司地址:</div>
|
形象照:
|
||||||
<div style="height: 200px" v-if="typeof (updateInfo.member_log.enterprise_Introduction) !='undefined'">公司介绍:</div>
|
</div>
|
||||||
|
<div v-if="typeof updateInfo.member_log.position_name != 'undefined'">协会职务:</div>
|
||||||
|
<div v-if="typeof updateInfo.member_log.nikename != 'undefined'">姓名:</div>
|
||||||
|
<div v-if="typeof updateInfo.member_log.gender_name != 'undefined'">性别:</div>
|
||||||
|
<div v-if="typeof updateInfo.member_log.phone != 'undefined'">联系方式:</div>
|
||||||
|
<div style="height: 200px" v-if="typeof updateInfo.member_log.introduction != 'undefined'">
|
||||||
|
个人经历:
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="height: 100px; text-align: center; line-height: 100px"
|
||||||
|
v-if="typeof updateInfo.member_log.company_image != 'undefined'"
|
||||||
|
>
|
||||||
|
公司图标:
|
||||||
|
</div>
|
||||||
|
<div v-if="typeof updateInfo.member_log.enterprise_name != 'undefined'">公司名称:</div>
|
||||||
|
<div v-if="typeof updateInfo.member_log.industry_id != 'undefined'">公司行业:</div>
|
||||||
|
<div v-if="typeof updateInfo.member_log.enterprise_location != 'undefined'">公司地址:</div>
|
||||||
|
<div style="height: 200px" v-if="typeof updateInfo.member_log.enterprise_Introduction != 'undefined'">
|
||||||
|
公司介绍:
|
||||||
|
</div>
|
||||||
</t-space>
|
</t-space>
|
||||||
</t-col>
|
</t-col>
|
||||||
<t-col :span="4">
|
<t-col :span="4">
|
||||||
<t-space direction="vertical">
|
<t-space direction="vertical">
|
||||||
<div v-if="typeof (updateInfo.member.background_image) !='undefined'" style="height: 100px;">
|
<div v-if="typeof updateInfo.member.background_image != 'undefined'" style="height: 100px">
|
||||||
<img v-if="updateInfo.member.background_image!=''"
|
<img
|
||||||
:src="$store.state.user.apiUrl+updateInfo.member.background_image"
|
v-if="updateInfo.member.background_image != ''"
|
||||||
style="height: 100px;width:100%">
|
:src="$store.state.user.apiUrl + updateInfo.member.background_image"
|
||||||
<div v-if="updateInfo.member.background_image==''"
|
style="height: 100px; width: 100%"
|
||||||
style="height: 100px;text-align: center;line-height: 100px">
|
/>
|
||||||
|
<div
|
||||||
|
v-if="updateInfo.member.background_image == ''"
|
||||||
|
style="height: 100px; text-align: center; line-height: 100px"
|
||||||
|
>
|
||||||
无
|
无
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="updateInfo.member.photo_image" style="height: 100px;"><img
|
|
||||||
:src="$store.state.user.apiUrl+updateInfo.member.photo_image"
|
<div v-if="updateInfo.member.photo_image" style="height: 100px">
|
||||||
style="width: 100px;height: 100px"></div>
|
<img
|
||||||
<div v-if="typeof (updateInfo.member.position_name) !='undefined'">{{ updateInfo.member.position_name }}</div>
|
:src="$store.state.user.apiUrl + updateInfo.member.photo_image"
|
||||||
<div v-if="typeof (updateInfo.member.nikename) !='undefined'">{{ updateInfo.member.nikename }}</div>
|
style="width: 100px; height: 100px"
|
||||||
<div v-if="typeof (updateInfo.member.gender_name) !='undefined'">{{ updateInfo.member.gender_name }}</div>
|
/>
|
||||||
<div v-if="typeof (updateInfo.member.phone) !='undefined'">{{ updateInfo.member.phone }}</div>
|
</div>
|
||||||
<div style="height: 200px;overflow: scroll;" v-if="typeof (updateInfo.member.introduction) !='undefined'">{{ updateInfo.member.introduction }}</div>
|
<div v-if="typeof updateInfo.member.position_name != 'undefined'">
|
||||||
<div v-if="typeof (updateInfo.member.company_image) !='undefined'" style="height: 100px;">
|
{{ updateInfo.member.position_name }}
|
||||||
<img v-if="updateInfo.member.company_image!=''"
|
</div>
|
||||||
:src="$store.state.user.apiUrl+updateInfo.member.company_image"
|
<div v-if="typeof updateInfo.member.nikename != 'undefined'">{{ updateInfo.member.nikename }}</div>
|
||||||
style="height: 100px">
|
<div v-if="typeof updateInfo.member.gender_name != 'undefined'">
|
||||||
<div v-if="updateInfo.member.company_image==''"
|
{{ updateInfo.member.gender_name }}
|
||||||
style="height: 100px;text-align: center;line-height: 100px">
|
</div>
|
||||||
|
<div v-if="typeof updateInfo.member.phone != 'undefined'">{{ updateInfo.member.phone }}</div>
|
||||||
|
<div
|
||||||
|
style="height: 200px; overflow: scroll"
|
||||||
|
v-if="typeof updateInfo.member.introduction != 'undefined'"
|
||||||
|
>
|
||||||
|
{{ updateInfo.member.introduction }}
|
||||||
|
</div>
|
||||||
|
<div v-if="typeof updateInfo.member.company_image != 'undefined'" style="height: 100px">
|
||||||
|
<img
|
||||||
|
v-if="updateInfo.member.company_image != ''"
|
||||||
|
:src="$store.state.user.apiUrl + updateInfo.member.company_image"
|
||||||
|
style="height: 100px"
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
v-if="updateInfo.member.company_image == ''"
|
||||||
|
style="height: 100px; text-align: center; line-height: 100px"
|
||||||
|
>
|
||||||
无
|
无
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="typeof (updateInfo.member.enterprise_name) !='undefined'">{{ updateInfo.member.enterprise_name }}</div>
|
<div v-if="typeof updateInfo.member.enterprise_name != 'undefined'">
|
||||||
<div v-if="typeof (updateInfo.member.industry_id) !='undefined'">{{updateInfo.member.industry_id==-1?'其他行业':updateInfo.member.industry_name }}</div>
|
{{ updateInfo.member.enterprise_name }}
|
||||||
<div v-if="typeof (updateInfo.member.enterprise_location) !='undefined'">{{ updateInfo.member.enterprise_location==''?'无':updateInfo.member.enterprise_location }}</div>
|
</div>
|
||||||
<div style="height: 200px;overflow: scroll;" v-if="typeof (updateInfo.member.enterprise_Introduction) !='undefined'">{{ updateInfo.member.enterprise_Introduction }}</div>
|
<div v-if="typeof updateInfo.member.industry_id != 'undefined'">
|
||||||
|
{{ updateInfo.member.industry_id == -1 ? '其他行业' : updateInfo.member.industry_name }}
|
||||||
|
</div>
|
||||||
|
<div v-if="typeof updateInfo.member.enterprise_location != 'undefined'">
|
||||||
|
{{ updateInfo.member.enterprise_location == '' ? '无' : updateInfo.member.enterprise_location }}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="height: 200px; overflow: scroll"
|
||||||
|
v-if="typeof updateInfo.member.enterprise_Introduction != 'undefined'"
|
||||||
|
>
|
||||||
|
{{ updateInfo.member.enterprise_Introduction }}
|
||||||
|
</div>
|
||||||
</t-space>
|
</t-space>
|
||||||
</t-col>
|
</t-col>
|
||||||
<t-col :span="2">
|
<t-col :span="2">
|
||||||
<div style="position: absolute;width: 100%;">
|
<div style="position: absolute; width: 100%">
|
||||||
<SwapRightIcon size="2em"/>
|
<SwapRightIcon size="2em" />
|
||||||
</div>
|
</div>
|
||||||
</t-col>
|
</t-col>
|
||||||
<t-col :span="4">
|
<t-col :span="4">
|
||||||
<t-space direction="vertical">
|
<t-space direction="vertical">
|
||||||
<div v-if="updateInfo.member_log.background_image" style="height: 100px;"><img
|
<div v-if="updateInfo.member_log.background_image" style="height: 100px">
|
||||||
:src="$store.state.user.apiUrl+updateInfo.member_log.background_image"
|
<img
|
||||||
style="height: 100px;width:100%"></div>
|
:src="$store.state.user.apiUrl + updateInfo.member_log.background_image"
|
||||||
<div v-if="updateInfo.member_log.photo_image" style="height: 100px;"><img
|
style="height: 100px; width: 100%"
|
||||||
:src="$store.state.user.apiUrl+updateInfo.member_log.photo_image"
|
/>
|
||||||
style="width: 100px;height: 100px"></div>
|
</div>
|
||||||
<div v-if="typeof (updateInfo.member_log.position_name) !='undefined'">{{ updateInfo.member_log.position_name }}</div>
|
<div v-if="updateInfo.member_log.photo_image" style="height: 100px">
|
||||||
<div v-if="typeof (updateInfo.member_log.nikename) !='undefined'">{{ updateInfo.member_log.nikename }}</div>
|
<img
|
||||||
<div v-if="typeof (updateInfo.member_log.gender_name) !='undefined'">{{ updateInfo.member_log.gender_name }}</div>
|
:src="$store.state.user.apiUrl + updateInfo.member_log.photo_image"
|
||||||
<div v-if="typeof (updateInfo.member_log.phone) !='undefined'">{{ updateInfo.member_log.phone }}</div>
|
style="width: 100px; height: 100px"
|
||||||
<div style="height: 200px;overflow: scroll;" v-if="typeof (updateInfo.member_log.introduction) !='undefined'">{{ updateInfo.member_log.introduction }}</div>
|
/>
|
||||||
<div v-if="typeof (updateInfo.member_log.company_image) !='undefined'" style="height: 100px;">
|
</div>
|
||||||
<img v-if="updateInfo.member_log.company_image!=''"
|
<div v-if="typeof updateInfo.member_log.position_name != 'undefined'">
|
||||||
:src="$store.state.user.apiUrl+updateInfo.member_log.company_image"
|
{{ updateInfo.member_log.position_name }}
|
||||||
style="width: 100px;height: 100px">
|
</div>
|
||||||
<div v-if="updateInfo.member_log.company_image==''"
|
<div v-if="typeof updateInfo.member_log.nikename != 'undefined'">
|
||||||
style="height: 100px;text-align: center;line-height: 100px">
|
{{ updateInfo.member_log.nikename }}
|
||||||
|
</div>
|
||||||
|
<div v-if="typeof updateInfo.member_log.gender_name != 'undefined'">
|
||||||
|
{{ updateInfo.member_log.gender_name }}
|
||||||
|
</div>
|
||||||
|
<div v-if="typeof updateInfo.member_log.phone != 'undefined'">{{ updateInfo.member_log.phone }}</div>
|
||||||
|
<div
|
||||||
|
style="height: 200px; overflow: scroll"
|
||||||
|
v-if="typeof updateInfo.member_log.introduction != 'undefined'"
|
||||||
|
>
|
||||||
|
{{ updateInfo.member_log.introduction }}
|
||||||
|
</div>
|
||||||
|
<div v-if="typeof updateInfo.member_log.company_image != 'undefined'" style="height: 100px">
|
||||||
|
<img
|
||||||
|
v-if="updateInfo.member_log.company_image != ''"
|
||||||
|
:src="$store.state.user.apiUrl + updateInfo.member_log.company_image"
|
||||||
|
style="width: 100px; height: 100px"
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
v-if="updateInfo.member_log.company_image == ''"
|
||||||
|
style="height: 100px; text-align: center; line-height: 100px"
|
||||||
|
>
|
||||||
无
|
无
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="typeof (updateInfo.member_log.enterprise_name) !='undefined'">{{ updateInfo.member_log.enterprise_name }}</div>
|
<div v-if="typeof updateInfo.member_log.enterprise_name != 'undefined'">
|
||||||
<div v-if="typeof (updateInfo.member_log.industry_id) !='undefined'">{{updateInfo.member_log.industry_id==-1?'其他行业':updateInfo.member_log.industry_name }}</div>
|
{{ updateInfo.member_log.enterprise_name }}
|
||||||
<div v-if="typeof (updateInfo.member_log.enterprise_location) !='undefined'">{{ updateInfo.member_log.enterprise_location }}</div>
|
</div>
|
||||||
<div style="height: 200px;overflow: scroll;" v-if="typeof (updateInfo.member_log.enterprise_Introduction) !='undefined'">{{ updateInfo.member_log.enterprise_Introduction }}</div>
|
<div v-if="typeof updateInfo.member_log.industry_id != 'undefined'">
|
||||||
|
{{ updateInfo.member_log.industry_id == -1 ? '其他行业' : updateInfo.member_log.industry_name }}
|
||||||
|
</div>
|
||||||
|
<div v-if="typeof updateInfo.member_log.enterprise_location != 'undefined'">
|
||||||
|
{{ updateInfo.member_log.enterprise_location }}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="height: 200px; overflow: scroll"
|
||||||
|
v-if="typeof updateInfo.member_log.enterprise_Introduction != 'undefined'"
|
||||||
|
>
|
||||||
|
{{ updateInfo.member_log.enterprise_Introduction }}
|
||||||
|
</div>
|
||||||
</t-space>
|
</t-space>
|
||||||
</t-col>
|
</t-col>
|
||||||
</t-row>
|
</t-row>
|
||||||
</t-space>
|
</t-space>
|
||||||
<div style="text-align: center;margin-top: 50px" v-if="type==1">
|
|
||||||
|
<div style="text-align: center; margin-top: 50px" v-if="type == 1">
|
||||||
<t-popconfirm content="确定要审核通过吗?" v-model="v1" @confirm="shenDo(1)">
|
<t-popconfirm content="确定要审核通过吗?" v-model="v1" @confirm="shenDo(1)">
|
||||||
<t-button theme="success">审核通过</t-button>
|
<t-button theme="success">审核通过</t-button>
|
||||||
</t-popconfirm>
|
</t-popconfirm>
|
||||||
@ -155,7 +252,7 @@
|
|||||||
<template slot="content">
|
<template slot="content">
|
||||||
<p class="title">拒绝理由</p>
|
<p class="title">拒绝理由</p>
|
||||||
<p class="describe" style="margin-top: 10px">
|
<p class="describe" style="margin-top: 10px">
|
||||||
<t-input v-model="content" placeholder="请输入拒绝理由"/>
|
<t-input v-model="content" placeholder="请输入拒绝理由" />
|
||||||
</p>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
<t-button theme="danger" style="margin-left: 30px">审核拒绝</t-button>
|
<t-button theme="danger" style="margin-left: 30px">审核拒绝</t-button>
|
||||||
@ -166,11 +263,11 @@
|
|||||||
</t-card>
|
</t-card>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import store from "@/store";
|
import store from '@/store';
|
||||||
import {SwapRightIcon} from "tdesign-icons-vue";
|
import { SwapRightIcon } from 'tdesign-icons-vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {SwapRightIcon},
|
components: { SwapRightIcon },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
v1: false,
|
v1: false,
|
||||||
@ -180,29 +277,29 @@ export default {
|
|||||||
list: [],
|
list: [],
|
||||||
tabIndex: 0,
|
tabIndex: 0,
|
||||||
columns: [
|
columns: [
|
||||||
{colKey: 'nikename', title: '会员姓名'},
|
{ colKey: 'nikename', title: '会员姓名' },
|
||||||
{colKey: 'createtime', title: '申请时间'},
|
{ colKey: 'createtime', 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,
|
||||||
updateInfo: {
|
updateInfo: {
|
||||||
member: {},
|
member: {},
|
||||||
member_log: {}
|
member_log: {},
|
||||||
},
|
},
|
||||||
member_id: 0,
|
member_id: 0,
|
||||||
id: 0,
|
id: 0,
|
||||||
content: '',
|
content: '',
|
||||||
type: 0,
|
type: 0,
|
||||||
}
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
tabIndexChange(d){
|
tabIndexChange(d) {
|
||||||
console.log(d);
|
console.log(d);
|
||||||
this.list = [];
|
this.list = [];
|
||||||
this.total = 0;
|
this.total = 0;
|
||||||
@ -215,17 +312,16 @@ export default {
|
|||||||
}
|
}
|
||||||
if (dis == 1) {
|
if (dis == 1) {
|
||||||
this.content = '您提交的信息修改已通过审核!';
|
this.content = '您提交的信息修改已通过审核!';
|
||||||
}else{
|
} else {
|
||||||
|
|
||||||
}
|
}
|
||||||
this.$request
|
this.$request
|
||||||
.post("/member_log/update", {
|
.post('/member_log/update', {
|
||||||
member_id: this.member_id,
|
member_id: this.member_id,
|
||||||
id: this.id,
|
id: this.id,
|
||||||
if_xianshi: dis,
|
if_xianshi: dis,
|
||||||
if_member: dis,
|
if_member: dis,
|
||||||
content: this.content,
|
content: this.content,
|
||||||
member_log: JSON.stringify(this.updateInfo.member_log)
|
member_log: JSON.stringify(this.updateInfo.member_log),
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
@ -246,7 +342,7 @@ export default {
|
|||||||
this.member_id = d.member_id;
|
this.member_id = d.member_id;
|
||||||
this.id = d.id;
|
this.id = d.id;
|
||||||
this.$request
|
this.$request
|
||||||
.post("/member_log/find", {member_id: d.member_id, id: d.id})
|
.post('/member_log/find', { member_id: d.member_id, id: d.id })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.ShenMode = true;
|
this.ShenMode = true;
|
||||||
console.log(res);
|
console.log(res);
|
||||||
@ -261,7 +357,7 @@ export default {
|
|||||||
},
|
},
|
||||||
getList() {
|
getList() {
|
||||||
this.$request
|
this.$request
|
||||||
.post("/member_log/index", {page: this.page, size: this.size,if_xianshi:this.tabIndex})
|
.post('/member_log/index', { page: this.page, size: this.size, if_xianshi: this.tabIndex })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
this.list = res.data.ret;
|
this.list = res.data.ret;
|
||||||
@ -280,8 +376,8 @@ export default {
|
|||||||
this.list = [];
|
this.list = [];
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
::-webkit-scrollbar {
|
::-webkit-scrollbar {
|
||||||
|
@ -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>
|
|
||||||
|
@ -1,14 +1,19 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="detail-base">
|
<div class="detail-base">
|
||||||
<t-card title="会员详情" :bordered="false" class="info-block" style="padding: 30px">
|
<t-card title="会员详情" :bordered="false" class="info-block" style="padding: 30px">
|
||||||
<t-steps :current="0" readonly v-if="info.if_xianshi!=1">
|
<template #actions>
|
||||||
<t-step-item title="信息审核" content="提交的信息审核"></t-step-item>
|
<t-button theme="primary" @click="openPDF" size="large" style="margin-left: 20px">查看PDF文件</t-button>
|
||||||
<t-step-item v-if="info.if_xianshi!=2" title="会费缴纳" content="等待会费缴纳"></t-step-item>
|
</template>
|
||||||
<t-step-item v-if="info.if_xianshi==2" status="error" title="已被拒绝"
|
|
||||||
:content="info.result.content"></t-step-item>
|
|
||||||
<t-step-item title="成功入会" content="已成功入会"></t-step-item>
|
|
||||||
</t-steps>
|
|
||||||
<div>
|
<div>
|
||||||
|
<t-steps :current="0" readonly v-if="info.if_xianshi != 1">
|
||||||
|
<t-step-item title="信息审核" content="提交的信息审核"></t-step-item>
|
||||||
|
<t-step-item v-if="info.if_xianshi != 2" title="会费缴纳" content="等待会费缴纳"></t-step-item>
|
||||||
|
<t-step-item v-if="info.if_xianshi == 2" status="error" title="已被拒绝"
|
||||||
|
:content="info.result.content"></t-step-item>
|
||||||
|
<t-step-item title="成功入会" content="已成功入会"></t-step-item>
|
||||||
|
</t-steps>
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: 20px;">
|
||||||
<div>
|
<div>
|
||||||
<div style="color: #2E2E2E;font-size: 28px;font-weight: bold">1.入会资料</div>
|
<div style="color: #2E2E2E;font-size: 28px;font-weight: bold">1.入会资料</div>
|
||||||
<div style="height: 2px;background-color: #999999;width: 100%;margin-top: 20px"></div>
|
<div style="height: 2px;background-color: #999999;width: 100%;margin-top: 20px"></div>
|
||||||
@ -17,21 +22,21 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>推荐方式</td>
|
<td>推荐方式</td>
|
||||||
<td>
|
<td>
|
||||||
<span v-if="info.reporting_method==1">组织推荐</span>
|
<span v-if="info.reporting_method == 1">组织推荐</span>
|
||||||
<span v-if="info.reporting_method==2">会员推荐</span>
|
<span v-if="info.reporting_method == 2">会员推荐</span>
|
||||||
<span v-if="info.reporting_method==3">个人自荐</span>
|
<span v-if="info.reporting_method == 3">个人自荐</span>
|
||||||
</td>
|
</td>
|
||||||
<template v-if="info.reporting_method==1">
|
<template v-if="info.reporting_method == 1">
|
||||||
<td>推荐地市</td>
|
<td>推荐地市</td>
|
||||||
<td>{{ info.recommended_cities }}</td>
|
<td>{{ info.recommended_cities }}</td>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="info.reporting_method==3">
|
<template v-if="info.reporting_method == 3">
|
||||||
<td>来源渠道</td>
|
<td>来源渠道</td>
|
||||||
<td>{{ info.source_channel }}</td>
|
<td>{{ info.source_channel }}</td>
|
||||||
</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>
|
||||||
@ -48,12 +53,13 @@
|
|||||||
<table class="my_table">
|
<table class="my_table">
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="5">
|
<td rowspan="5">
|
||||||
<t-image-viewer :images="[$store.state.user.apiUrl+info.photo_image]" mode="modeless"
|
<t-image-viewer :images="[$store.state.user.apiUrl + info.photo_image]" mode="modeless"
|
||||||
:closeOnEscKeydown="false">
|
:closeOnEscKeydown="false">
|
||||||
<template #trigger="{ open }">
|
<template #trigger="{ open }">
|
||||||
<div style="cursor: pointer" @click="open">
|
<div style="cursor: pointer" @click="open">
|
||||||
<img v-if="info.photo_image!=''&&info.photo_image!=null" :src="$store.state.user.apiUrl+info.photo_image" style="width: 200px;height: 200px;">
|
<img v-if="info.photo_image != '' && info.photo_image != null"
|
||||||
<span v-if="info.photo_image==''||info.photo_image==null">未上传</span>
|
:src="$store.state.user.apiUrl + info.photo_image" style="width: 150px;">
|
||||||
|
<span v-if="info.photo_image == '' || info.photo_image == null">未上传</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</t-image-viewer>
|
</t-image-viewer>
|
||||||
@ -61,9 +67,9 @@
|
|||||||
<td>姓名</td>
|
<td>姓名</td>
|
||||||
<td>{{ info.nikename }}</td>
|
<td>{{ info.nikename }}</td>
|
||||||
<td>性别</td>
|
<td>性别</td>
|
||||||
<td>{{ info.gender == 0 ? '女' : '男' }}</td>
|
<td>{{ info.gender === 0 ? '女' : info.gender === 1 ? '男' : '未填写' }}</td>
|
||||||
<td>协会职务</td>
|
<td>协会职务</td>
|
||||||
<td>{{ info.position_name}}</td>
|
<td>{{ info.position_name }}</td>
|
||||||
<td>出生年月日</td>
|
<td>出生年月日</td>
|
||||||
<td>{{ info.birth_time }}</td>
|
<td>{{ info.birth_time }}</td>
|
||||||
<td>民族</td>
|
<td>民族</td>
|
||||||
@ -109,24 +115,26 @@
|
|||||||
<tr align="center">
|
<tr align="center">
|
||||||
<td>身份证正面照</td>
|
<td>身份证正面照</td>
|
||||||
<td colspan="4" style="padding-top: 30px">
|
<td colspan="4" style="padding-top: 30px">
|
||||||
<t-image-viewer :images="[$store.state.user.apiUrl+info.cardz_image]" mode="modeless"
|
<t-image-viewer :images="[$store.state.user.apiUrl + info.cardz_image]" mode="modeless"
|
||||||
:closeOnEscKeydown="false">
|
:closeOnEscKeydown="false">
|
||||||
<template #trigger="{ open }">
|
<template #trigger="{ open }">
|
||||||
<div style="cursor: pointer" @click="open">
|
<div style="cursor: pointer" @click="open">
|
||||||
<img v-if="info.cardz_image!=''&&info.cardz_image!=null" :src="$store.state.user.apiUrl+info.cardz_image" style="height: 150px;">
|
<img v-if="info.cardz_image != '' && info.cardz_image != null"
|
||||||
<span v-if="info.cardz_image==''||info.cardz_image==null">未上传</span>
|
:src="$store.state.user.apiUrl + info.cardz_image" style="height: 150px;">
|
||||||
|
<span v-if="info.cardz_image == '' || info.cardz_image == null">未上传</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</t-image-viewer>
|
</t-image-viewer>
|
||||||
</td>
|
</td>
|
||||||
<td>身份证背面照</td>
|
<td>身份证背面照</td>
|
||||||
<td colspan="4" style="padding-top: 30px">
|
<td colspan="4" style="padding-top: 30px">
|
||||||
<t-image-viewer :images="[$store.state.user.apiUrl+info.cardf_image]" mode="modeless"
|
<t-image-viewer :images="[$store.state.user.apiUrl + info.cardf_image]" mode="modeless"
|
||||||
:closeOnEscKeydown="false">
|
:closeOnEscKeydown="false">
|
||||||
<template #trigger="{ open }">
|
<template #trigger="{ open }">
|
||||||
<div style="cursor: pointer" @click="open">
|
<div style="cursor: pointer" @click="open">
|
||||||
<img v-if="info.cardf_image!=''&&info.cardf_image!=null" :src="$store.state.user.apiUrl+info.cardf_image" style="height: 150px;">
|
<img v-if="info.cardf_image != '' && info.cardf_image != null"
|
||||||
<span v-if="info.cardf_image==''||info.cardf_image==null">未上传</span>
|
:src="$store.state.user.apiUrl + info.cardf_image" style="height: 150px;">
|
||||||
|
<span v-if="info.cardf_image == '' || info.cardf_image == null">未上传</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</t-image-viewer>
|
</t-image-viewer>
|
||||||
@ -140,7 +148,7 @@
|
|||||||
<div style="font-size: 18px;font-weight: 600">主要成就以及获奖情况</div>
|
<div style="font-size: 18px;font-weight: 600">主要成就以及获奖情况</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr >
|
<tr>
|
||||||
<td colspan="6">
|
<td colspan="6">
|
||||||
<div style="text-align: left" v-html="info.introduction"></div>
|
<div style="text-align: left" v-html="info.introduction"></div>
|
||||||
</td>
|
</td>
|
||||||
@ -160,18 +168,18 @@
|
|||||||
<td colspan="6">
|
<td colspan="6">
|
||||||
<table style="width: 100%; text-align: center; border-collapse: collapse;">
|
<table style="width: 100%; text-align: center; border-collapse: collapse;">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>起止日期</th>
|
<th>起止日期</th>
|
||||||
<th>地区单位</th>
|
<th>地区单位</th>
|
||||||
<th>担任职务</th>
|
<th>担任职务</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr v-for="(item, index) in info.work_experience">
|
<tr v-for="(item, index) in info.work_experience">
|
||||||
<td>{{ item.time }}</td>
|
<td>{{ item.time }}</td>
|
||||||
<td>{{ item.address }}</td>
|
<td>{{ item.address }}</td>
|
||||||
<td>{{ item.book }}</td>
|
<td>{{ item.book }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
@ -188,18 +196,18 @@
|
|||||||
<td colspan="6">
|
<td colspan="6">
|
||||||
<table style="width: 100%; text-align: center; border-collapse: collapse;">
|
<table style="width: 100%; text-align: center; border-collapse: collapse;">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>姓名</th>
|
<th>姓名</th>
|
||||||
<th>职务</th>
|
<th>职务</th>
|
||||||
<th>电话</th>
|
<th>电话</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr v-for="(item, index) in info.other_contacts">
|
<tr v-for="(item, index) in info.other_contacts">
|
||||||
<td>{{ item.name }}</td>
|
<td>{{ item.name }}</td>
|
||||||
<td>{{ item.post }}</td>
|
<td>{{ item.post }}</td>
|
||||||
<td>{{ item.phone }}</td>
|
<td>{{ item.phone }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
@ -221,7 +229,8 @@
|
|||||||
<td colspan="1">{{ info.enterprise_location }}</td>
|
<td colspan="1">{{ info.enterprise_location }}</td>
|
||||||
<td>企业地址</td>
|
<td>企业地址</td>
|
||||||
<td colspan="1">
|
<td colspan="1">
|
||||||
<a href="https://lbs.qq.com/tool/getpoint/get-point.html" target="_blank">{{ info.longitude }},{{ info.dimension }}</a>
|
<a href="https://lbs.qq.com/tool/getpoint/get-point.html" target="_blank">{{ info.longitude }},{{
|
||||||
|
info.dimension }}</a>
|
||||||
</td>
|
</td>
|
||||||
<td>注册资金(万元)</td>
|
<td>注册资金(万元)</td>
|
||||||
<td>{{ info.registered_capital }}</td>
|
<td>{{ info.registered_capital }}</td>
|
||||||
@ -253,12 +262,13 @@
|
|||||||
营业执照
|
营业执照
|
||||||
</td>
|
</td>
|
||||||
<td colspan="5">
|
<td colspan="5">
|
||||||
<t-image-viewer :images="[$store.state.user.apiUrl+info.business_license_image]" mode="modeless"
|
<t-image-viewer :images="[$store.state.user.apiUrl + info.business_license_image]" mode="modeless"
|
||||||
:closeOnEscKeydown="false">
|
:closeOnEscKeydown="false">
|
||||||
<template #trigger="{ open }">
|
<template #trigger="{ open }">
|
||||||
<div style="cursor: pointer" @click="open">
|
<div style="cursor: pointer" @click="open">
|
||||||
<img v-if="info.business_license_image!=''&&info.business_license_image!=null" :src="$store.state.user.apiUrl + info.business_license_image" style="height: 150px; ">
|
<img v-if="info.business_license_image != '' && info.business_license_image != null"
|
||||||
<span v-if="info.business_license_image==''||info.business_license_image==null">未上传</span>
|
:src="$store.state.user.apiUrl + info.business_license_image" style="height: 150px; ">
|
||||||
|
<span v-if="info.business_license_image == '' || info.business_license_image == null">未上传</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</t-image-viewer>
|
</t-image-viewer>
|
||||||
@ -267,12 +277,13 @@
|
|||||||
公司LOGO
|
公司LOGO
|
||||||
</td>
|
</td>
|
||||||
<td colspan="4">
|
<td colspan="4">
|
||||||
<t-image-viewer :images="[$store.state.user.apiUrl+info.company_image]" mode="modeless"
|
<t-image-viewer :images="[$store.state.user.apiUrl + info.company_image]" mode="modeless"
|
||||||
:closeOnEscKeydown="false">
|
:closeOnEscKeydown="false">
|
||||||
<template #trigger="{ open }">
|
<template #trigger="{ open }">
|
||||||
<div style="cursor: pointer" @click="open">
|
<div style="cursor: pointer" @click="open">
|
||||||
<img v-if="info.company_image!=''&&info.company_image!=null" :src="$store.state.user.apiUrl + info.company_image" style="height: 150px; ">
|
<img v-if="info.company_image != '' && info.company_image != null"
|
||||||
<span v-if="info.company_image==''||info.company_image==null">未上传</span>
|
:src="$store.state.user.apiUrl + info.company_image" style="height: 150px; ">
|
||||||
|
<span v-if="info.company_image == '' || info.company_image == null">未上传</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</t-image-viewer>
|
</t-image-viewer>
|
||||||
@ -331,14 +342,14 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>是否建立团组织</td>
|
<td>是否建立团组织</td>
|
||||||
<td>{{ info.if_organization == 0 ? '是' : '否' }}</td>
|
<td>{{ info.if_organization == 0 ? '是' : '否' }}</td>
|
||||||
<template v-if="info.if_organization==0">
|
<template v-if="info.if_organization == 0">
|
||||||
<td>团组织性质</td>
|
<td>团组织性质</td>
|
||||||
<td>{{ info.nature }}</td>
|
<td>{{ info.nature }}</td>
|
||||||
<td>建团时间</td>
|
<td>建团时间</td>
|
||||||
<td>{{ info.jiantuan_time }}</td>
|
<td>{{ info.jiantuan_time }}</td>
|
||||||
</template>
|
</template>
|
||||||
</tr>
|
</tr>
|
||||||
<template v-if="info.if_organization==0">
|
<template v-if="info.if_organization == 0">
|
||||||
<tr>
|
<tr>
|
||||||
<td>建团人数</td>
|
<td>建团人数</td>
|
||||||
<td>{{ info.jiantuan_number }}</td>
|
<td>{{ info.jiantuan_number }}</td>
|
||||||
@ -350,12 +361,13 @@
|
|||||||
<tr align="center">
|
<tr align="center">
|
||||||
<td rowspan="2">批复文件</td>
|
<td rowspan="2">批复文件</td>
|
||||||
<td rowspan="2" style="padding-top: 30px">
|
<td rowspan="2" style="padding-top: 30px">
|
||||||
<t-image-viewer :images="[$store.state.user.apiUrl+info.documents_file]" mode="modeless"
|
<t-image-viewer :images="[$store.state.user.apiUrl + info.documents_file]" mode="modeless"
|
||||||
:closeOnEscKeydown="false">
|
:closeOnEscKeydown="false">
|
||||||
<template #trigger="{ open }">
|
<template #trigger="{ open }">
|
||||||
<div style="cursor: pointer" @click="open">
|
<div style="cursor: pointer" @click="open">
|
||||||
<img v-if="info.documents_file!=''&&info.documents_file!=null" :src="$store.state.user.apiUrl + info.documents_file" style="height: 150px; ">
|
<img v-if="info.documents_file != '' && info.documents_file != null"
|
||||||
<span v-if="info.documents_file==''||info.documents_file==null">未上传</span>
|
:src="$store.state.user.apiUrl + info.documents_file" style="height: 150px; ">
|
||||||
|
<span v-if="info.documents_file == '' || info.documents_file == null">未上传</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</t-image-viewer>
|
</t-image-viewer>
|
||||||
@ -368,22 +380,22 @@
|
|||||||
<td colspan="5">
|
<td colspan="5">
|
||||||
<table style="width: 100%; text-align: center; border-collapse: collapse;">
|
<table style="width: 100%; text-align: center; border-collapse: collapse;">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>姓名</th>
|
<th>姓名</th>
|
||||||
<th>性别</th>
|
<th>性别</th>
|
||||||
<th>单位职务</th>
|
<th>单位职务</th>
|
||||||
<th>团委职务</th>
|
<th>团委职务</th>
|
||||||
<th>手机号</th>
|
<th>手机号</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr v-for="(item, index) in info.tuanweifuzerenxinxi">
|
<tr v-for="(item, index) in info.tuanweifuzerenxinxi">
|
||||||
<td>{{ item.name }}</td>
|
<td>{{ item.name }}</td>
|
||||||
<td>{{ item.sex }}</td>
|
<td>{{ item.sex }}</td>
|
||||||
<td>{{ item.job }}</td>
|
<td>{{ item.job }}</td>
|
||||||
<td>{{ item.tun_job }}</td>
|
<td>{{ item.tun_job }}</td>
|
||||||
<td>{{ item.phone }}</td>
|
<td>{{ item.phone }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
@ -393,12 +405,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="info.if_xianshi==0" style="text-align: center;margin-top: 50px">
|
<div v-if="info.if_xianshi == 0" style="text-align: center;margin-top: 50px">
|
||||||
<t-popconfirm theme="danger" @confirm="tgSelect(2)">
|
<t-popconfirm theme="danger" @confirm="tgSelect(2)">
|
||||||
<template slot="content">
|
<template slot="content">
|
||||||
<p class="title">拒绝理由</p>
|
<p class="title">拒绝理由</p>
|
||||||
<p class="describe" style="margin-top: 10px">
|
<p class="describe" style="margin-top: 10px">
|
||||||
<t-input v-model="reason" placeholder="请输入拒绝理由"/>
|
<t-input v-model="reason" placeholder="请输入拒绝理由" />
|
||||||
</p>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
<t-button theme="danger" size="large" style="margin: 0px 10px">审核拒绝</t-button>
|
<t-button theme="danger" size="large" style="margin: 0px 10px">审核拒绝</t-button>
|
||||||
@ -407,11 +419,12 @@
|
|||||||
<t-button theme="primary" size="large" style="margin-left: 20px">通过审核</t-button>
|
<t-button theme="primary" size="large" style="margin-left: 20px">通过审核</t-button>
|
||||||
</t-popconfirm>
|
</t-popconfirm>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="info.if_xianshi==3" style="text-align: center;margin-top: 50px">
|
<div v-if="info.if_xianshi == 3" style="text-align: center;margin-top: 50px">
|
||||||
<t-popconfirm content="确认已缴纳会费吗?" @confirm="tgSelect(1)">
|
<t-popconfirm content="确认已缴纳会费吗?" @confirm="tgSelect(1)">
|
||||||
<t-button theme="primary" size="large" style="margin-left: 20px">会费已缴纳</t-button>
|
<t-button theme="primary" size="large" style="margin-left: 20px">会费已缴纳</t-button>
|
||||||
</t-popconfirm>
|
</t-popconfirm>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</t-card>
|
</t-card>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -437,19 +450,37 @@ export default {
|
|||||||
this.getInfo();
|
this.getInfo();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
openPDF() {
|
||||||
|
const link = document.createElement('a');
|
||||||
|
if (this.info.openid == '' || this.info.openid == null) {
|
||||||
|
//const token = this.$store.state.user.token;
|
||||||
|
//link.href = `https://hnyea.0rui.cn/api/member/getMemberPdf?member_id=${this.info.member_id}&token=${token}`;
|
||||||
|
this.$message.error('当前用户暂无法生成PDF');
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
if (this.info.pdf_url == '' || this.info.pdf_url == null) {
|
||||||
|
link.href = `https://hnyea.0rui.cn/api/move/pdf_member/exportPdf?openid=${this.info.openid}`;
|
||||||
|
} else {
|
||||||
|
link.href = `https://hnyea.0rui.cn${this.info.pdf_url}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
link.target = '_blank'; // 新标签页打开
|
||||||
|
link.rel = 'noopener noreferrer'; // 安全考虑
|
||||||
|
link.style.display = 'none';
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click();
|
||||||
|
document.body.removeChild(link); // 清理 DOM
|
||||||
|
},
|
||||||
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) => {
|
||||||
var key = res.data;
|
var key = res.data;
|
||||||
console.log(key);
|
console.log(key);
|
||||||
key.work_experience =key.work_experience!=''?JSON.parse(key.work_experience):'';
|
key.work_experience = key.work_experience != '' ? JSON.parse(key.work_experience) : '';
|
||||||
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);
|
||||||
@ -485,12 +516,14 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.my_table {
|
.my_table {
|
||||||
border-collapse: collapse; /* 合并边框 */
|
border-collapse: collapse;
|
||||||
|
/* 合并边框 */
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.my_table td {
|
.my_table td {
|
||||||
border: 1px solid black; /* 设置单元格边框 */
|
border: 1px solid black;
|
||||||
|
/* 设置单元格边框 */
|
||||||
text-align: center;
|
text-align: center;
|
||||||
min-width: 100px;
|
min-width: 100px;
|
||||||
padding: 13px;
|
padding: 13px;
|
||||||
|
@ -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,
|
||||||
@ -22,18 +22,18 @@ instance.interceptors.retry = 3;
|
|||||||
|
|
||||||
instance.interceptors.request.use((config) => {
|
instance.interceptors.request.use((config) => {
|
||||||
// 在原有配置基础上添加新参数
|
// 在原有配置基础上添加新参数
|
||||||
if(store.state.user.association){
|
if (store.state.user.association) {
|
||||||
if(typeof (store.state.user.association)=='object'){
|
if (typeof store.state.user.association == 'object') {
|
||||||
var association=store.state.user.association;
|
var association = store.state.user.association;
|
||||||
}else{
|
} else {
|
||||||
var association=JSON.parse(store.state.user.association);
|
var association = JSON.parse(store.state.user.association);
|
||||||
}
|
}
|
||||||
const token = store.state.user.token;
|
const token = store.state.user.token;
|
||||||
if (token) {
|
if (token) {
|
||||||
// 添加token请求头
|
// 添加token请求头
|
||||||
config.headers.token = token;
|
config.headers.token = token;
|
||||||
}
|
}
|
||||||
config.data = { ...config.data, association_id: 1};
|
config.data = { ...config.data, association_id: 1 };
|
||||||
}
|
}
|
||||||
return config;
|
return config;
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user