7 changed files with 195 additions and 137 deletions
@ -1,133 +1,150 @@ |
|||
<script setup lang="ts"> |
|||
import moment from 'moment'; |
|||
import { onMounted, reactive } from 'vue'; |
|||
import request from "@/api/config"; |
|||
import { ElMessage } from 'element-plus'; |
|||
import moment from 'moment' |
|||
import { onMounted, reactive } from 'vue' |
|||
import request from '@/api/config' |
|||
import { ElMessage } from 'element-plus' |
|||
import { Search } from '@element-plus/icons-vue' |
|||
import { useRoute } from 'vue-router' |
|||
import { initPage } from '@/api/module/common_params'; |
|||
import CustomPaginate from "@/components/common/CustomPaginate.vue" |
|||
import { initPage } from '@/api/module/common_params' |
|||
import CustomPaginate from '@/components/common/CustomPaginate.vue' |
|||
import ChangeEmail from '@/views/userSearch/changeEmail.vue' |
|||
|
|||
const route = useRoute() |
|||
|
|||
const data = reactive({ |
|||
search: { |
|||
user_no: "", |
|||
time_range: [], |
|||
} as any, |
|||
page: initPage, |
|||
result: {} as any |
|||
search: { |
|||
user_no: '', |
|||
time_range: [], |
|||
} as any, |
|||
page: initPage, |
|||
result: {} as any, |
|||
form: {}, |
|||
dialog: false, |
|||
}) |
|||
|
|||
|
|||
const getRecord = async (page: number = 1) => { |
|||
const params = { |
|||
user_no: data.search.user_no, |
|||
start_time: data.search.time_range[0], |
|||
end_time: data.search.time_range[1], |
|||
page: page, |
|||
limit: data.page.size |
|||
} |
|||
const respond = await request.post("/person/emailList", params) |
|||
if (respond.code != 0) { |
|||
ElMessage.error(respond.msg) |
|||
return |
|||
} |
|||
|
|||
data.result = respond.data |
|||
|
|||
for (const index in data.result.data) data.result.data[index].append_data = JSON.parse(data.result.data[index].append) |
|||
const params = { |
|||
user_no: data.search.user_no, |
|||
start_time: data.search.time_range[0], |
|||
end_time: data.search.time_range[1], |
|||
page: page, |
|||
limit: data.page.size, |
|||
} |
|||
const respond = await request.post('/person/emailList', params) |
|||
if (respond.code != 0) { |
|||
ElMessage.error(respond.msg) |
|||
return |
|||
} |
|||
|
|||
data.result = respond.data |
|||
|
|||
for (const index in data.result.data) data.result.data[index].append_data = JSON.parse(data.result.data[index].append) |
|||
} |
|||
|
|||
const showBox = (action: number, item: any) => { |
|||
if (action == 0) { |
|||
data.form = {} |
|||
} |
|||
|
|||
data.dialog = true |
|||
} |
|||
|
|||
const handleCurrentChange = (val: number) => { |
|||
getRecord(val) |
|||
const closeBox = (v: boolean) => { |
|||
data.dialog = v |
|||
getRecord() |
|||
} |
|||
|
|||
const handleSearch = () => { |
|||
getRecord() |
|||
getRecord() |
|||
} |
|||
|
|||
onMounted(() => { |
|||
if (route.query.user_no != undefined) { |
|||
data.search.user_no = route.query.user_no |
|||
} |
|||
if (route.query.user_no != undefined) { |
|||
data.search.user_no = route.query.user_no |
|||
} |
|||
|
|||
getRecord() |
|||
getRecord() |
|||
}) |
|||
|
|||
</script> |
|||
|
|||
<template> |
|||
<div class="full-page p-20 page-content" style="position: relative"> |
|||
|
|||
|
|||
<el-row> |
|||
<el-col :span="21"> |
|||
<el-form :inline="true"> |
|||
<el-form-item label="玩家ID"> |
|||
<el-input v-model="data.search.user_no"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="时间"> |
|||
<el-date-picker v-model="data.search.time_range" style="width: 360px;" type="datetimerange" |
|||
format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"></el-date-picker> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-col> |
|||
<el-col :span="3" class="text-right"> |
|||
<el-button type="primary" @click="handleSearch" :icon="Search">查询</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-card class="mx-n10"> |
|||
<el-table height="630" :data="data.result.data"> |
|||
<el-table-column align="center" prop="id" label="ID" width="100" /> |
|||
<el-table-column align="center" prop="mail_type" label="邮件类型" width="100"> |
|||
<template #default="item"> |
|||
<p v-if="item.row.mail_type == 1">群发</p> |
|||
<p v-if="item.row.mail_type == 2">单发</p> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column align="center" prop="recipient" label="收件人" width="150"> |
|||
<template #default="item"> |
|||
<p v-if="item.row.mail_type == 2"> |
|||
{{ JSON.parse(item.row.recipient).join(",") }} |
|||
</p> |
|||
<p v-else>-</p> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column align="center" prop="title" label="标题" width="150" /> |
|||
<el-table-column align="center" prop="content" label="内容" /> |
|||
<el-table-column align="center" prop="append_data" label="附件" width="200"> |
|||
<template #default="item"> |
|||
<p v-for="v in item.row.append_data"> |
|||
<span v-if="v.type == 1">{{ `金币(${v.num})` }}</span> |
|||
</p> |
|||
|
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column align="center" prop="send_time" label="定发时间" width="200"> |
|||
<template #default="item"> |
|||
<p v-if="item.row.send_time == ''">即时</p> |
|||
<p v-else>{{ item.row.send_time }}</p> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column align="center" prop="create_time" label="创建时间" width="200" /> |
|||
</el-table> |
|||
</el-card> |
|||
|
|||
<CustomPaginate :size="data.page.size" :total="data.result.total" @new-page="(v) => getRecord(v)" /> |
|||
|
|||
</div> |
|||
<div class="full-page p-20 page-content" style="position: relative"> |
|||
<el-row> |
|||
<el-col :span="21"> |
|||
<el-form :inline="true"> |
|||
<el-form-item label="玩家ID"> |
|||
<el-input v-model="data.search.user_no"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="时间"> |
|||
<el-date-picker |
|||
v-model="data.search.time_range" |
|||
style="width: 360px" |
|||
type="datetimerange" |
|||
format="YYYY-MM-DD HH:mm:ss" |
|||
value-format="YYYY-MM-DD HH:mm:ss" |
|||
></el-date-picker> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-col> |
|||
<el-col :span="3" class="text-right"> |
|||
<el-button type="primary" @click="handleSearch" :icon="Search">查询</el-button> |
|||
</el-col> |
|||
<el-col class="mb-10"> |
|||
<el-button type="success" size="small" @click="showBox(0, null)">添加</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-card class="mx-n10"> |
|||
<el-table height="600" :data="data.result.data"> |
|||
<el-table-column align="center" prop="id" label="ID" width="100" /> |
|||
<el-table-column align="center" prop="mail_type" label="邮件类型" width="100"> |
|||
<template #default="item"> |
|||
<p v-if="item.row.mail_type == 1">群发</p> |
|||
<p v-if="item.row.mail_type == 2">单发</p> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column align="center" prop="recipient" label="收件人" width="150"> |
|||
<template #default="item"> |
|||
<p v-if="item.row.mail_type == 2"> |
|||
{{ JSON.parse(item.row.recipient).join(',') }} |
|||
</p> |
|||
<p v-else>-</p> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column align="center" prop="title" label="标题" width="150" /> |
|||
<el-table-column align="center" prop="content" label="内容" /> |
|||
<el-table-column align="center" prop="append_data" label="附件" width="200"> |
|||
<template #default="item"> |
|||
<p v-for="v in item.row.append_data"> |
|||
<span v-if="v.type == 1">{{ `金币(${v.num})` }}</span> |
|||
</p> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column align="center" prop="send_time" label="定发时间" width="200"> |
|||
<template #default="item"> |
|||
<p v-if="item.row.send_time == ''">即时</p> |
|||
<p v-else>{{ item.row.send_time }}</p> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column align="center" prop="create_time" label="创建时间" width="200" /> |
|||
</el-table> |
|||
</el-card> |
|||
|
|||
<CustomPaginate :size="data.page.size" :total="data.result.total" @new-page="(v) => getRecord(v)" /> |
|||
|
|||
<!-- 添加邮件 --> |
|||
<el-dialog v-model="data.dialog"> |
|||
<ChangeEmail :send-mode="1" @close-box="closeBox" /> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
|
|||
|
|||
<style scoped> |
|||
::v-deep .el-scrollbar__bar.is-horizontal { |
|||
height: 15px !important; |
|||
height: 15px !important; |
|||
} |
|||
|
|||
::v-deep .el-scrollbar__bar.is-vertical { |
|||
width: 15px !important; |
|||
width: 15px !important; |
|||
} |
|||
</style> |
|||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue