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