This commit is contained in:
X1627315083
2024-11-08 10:37:46 +08:00
parent a508107851
commit 674fc59d30
10 changed files with 145 additions and 20 deletions

View File

@@ -92,9 +92,10 @@ export default defineComponent({
{ {
title: 'Email', title: 'Email',
align: "center", align: "center",
ellipsis: true,
dataIndex: "userEmail", dataIndex: "userEmail",
key: "userEmail", key: "userEmail",
width:200,
fixed: "left",
}, },
{ {
title: 'User Id', title: 'User Id',
@@ -102,6 +103,7 @@ export default defineComponent({
ellipsis: true, ellipsis: true,
dataIndex: "accountId", dataIndex: "accountId",
key: "accountId", key: "accountId",
width:100,
}, },
{ {
title: 'User Name', title: 'User Name',
@@ -109,6 +111,7 @@ export default defineComponent({
ellipsis: 200, ellipsis: 200,
dataIndex: "userName", dataIndex: "userName",
key: "userName", key: "userName",
width:100,
// customRender: (record: any) => { // customRender: (record: any) => {
// let time = formatTime( // let time = formatTime(
// record.text / 1000, // record.text / 1000,
@@ -123,6 +126,7 @@ export default defineComponent({
ellipsis: true, ellipsis: true,
dataIndex: "isTrial", dataIndex: "isTrial",
key: "isTrial", key: "isTrial",
width:100,
customRender: (record: any) => { customRender: (record: any) => {
let str let str
if(record.value == 1){ if(record.value == 1){
@@ -139,6 +143,7 @@ export default defineComponent({
ellipsis: true, ellipsis: true,
dataIndex: "designTimes", dataIndex: "designTimes",
key: "designTimes", key: "designTimes",
width:100,
}, },
{ {
title: 'Country', title: 'Country',
@@ -146,6 +151,7 @@ export default defineComponent({
ellipsis: true, ellipsis: true,
dataIndex: "country", dataIndex: "country",
key: "country", key: "country",
width:200,
}, },
{ {
title: 'Title', title: 'Title',
@@ -153,6 +159,7 @@ export default defineComponent({
ellipsis: true, ellipsis: true,
dataIndex: "title", dataIndex: "title",
key: "title", key: "title",
width:100,
}, },
{ {
title: 'Surname', title: 'Surname',
@@ -160,6 +167,7 @@ export default defineComponent({
ellipsis: true, ellipsis: true,
dataIndex: "surname", dataIndex: "surname",
key: "surname", key: "surname",
width:150,
}, },
{ {
title: 'Given Name', title: 'Given Name',
@@ -167,6 +175,7 @@ export default defineComponent({
ellipsis: true, ellipsis: true,
dataIndex: "givenName", dataIndex: "givenName",
key: "givenName", key: "givenName",
width:100,
}, },
{ {
title: 'Create Time', title: 'Create Time',
@@ -178,6 +187,19 @@ export default defineComponent({
// resizable: true, // resizable: true,
dataIndex: "createTime", dataIndex: "createTime",
key: "createTime", key: "createTime",
width:200,
},
{
title: 'Credits',
align: "center",
ellipsis: true,
// width: 150,
// minWidth: 100,
// maxWidth: 200,
// resizable: true,
dataIndex: "credits",
key: "credits",
width:100,
}, },
{ {
title: 'Occupation', title: 'Occupation',
@@ -189,6 +211,7 @@ export default defineComponent({
// resizable: true, // resizable: true,
dataIndex: "occupation", dataIndex: "occupation",
key: "occupation", key: "occupation",
width:100,
}, },
{ {
title: 'Trial Order Id', title: 'Trial Order Id',
@@ -198,6 +221,7 @@ export default defineComponent({
// resizable: true, // resizable: true,
dataIndex: "trialOrderId", dataIndex: "trialOrderId",
key: "trialOrderId", key: "trialOrderId",
width:100,
}, },
]; ];
}); });

View File

@@ -88,7 +88,7 @@
class="admin_state_list_item" class="admin_state_list_item"
@click="lastGeTrialList('year')" @click="lastGeTrialList('year')"
> >
Last year Nearly a year
</div> </div>
<div <div
class="admin_state_list_item" class="admin_state_list_item"

View File

@@ -41,7 +41,7 @@
<div class="admin_search_item" @click="searchHistoryList">Search</div> <div class="admin_search_item" @click="searchHistoryList">Search</div>
</div> </div>
<div class="admin_state_list"> <div class="admin_state_list">
<div class="admin_state_list_item" @click="lastGeTrialList('year')">Last year</div> <div class="admin_state_list_item" @click="lastGeTrialList('year')">Nearly a year</div>
<div class="admin_state_list_item" @click="lastGeTrialList('month')">Last month</div> <div class="admin_state_list_item" @click="lastGeTrialList('month')">Last month</div>
<div class="admin_state_list_item" @click="lastGeTrialList('week')">Last week</div> <div class="admin_state_list_item" @click="lastGeTrialList('week')">Last week</div>
</div> </div>

View File

@@ -28,7 +28,7 @@
<div class="admin_search_item" @click="searchHistoryList">Search</div> <div class="admin_search_item" @click="searchHistoryList">Search</div>
</div> </div>
<div class="admin_state_list"> <div class="admin_state_list">
<div class="admin_state_list_item" @click="lastGeTrialList('year')">Last year</div> <div class="admin_state_list_item" @click="lastGeTrialList('year')">Nearly a year</div>
<div class="admin_state_list_item" @click="lastGeTrialList('month')">Last month</div> <div class="admin_state_list_item" @click="lastGeTrialList('month')">Last month</div>
<div class="admin_state_list_item" @click="lastGeTrialList('week')">Last week</div> <div class="admin_state_list_item" @click="lastGeTrialList('week')">Last week</div>
</div> </div>

View File

@@ -29,7 +29,7 @@
<div class="admin_search_item" @click="searchHistoryList">Search</div> <div class="admin_search_item" @click="searchHistoryList">Search</div>
</div> </div>
<div class="admin_state_list"> <div class="admin_state_list">
<div class="admin_state_list_item" @click="lastGeTrialList('year')">Last year</div> <div class="admin_state_list_item" @click="lastGeTrialList('year')">Nearly a year</div>
<div class="admin_state_list_item" @click="lastGeTrialList('month')">Last month</div> <div class="admin_state_list_item" @click="lastGeTrialList('month')">Last month</div>
<div class="admin_state_list_item" @click="lastGeTrialList('week')">Last week</div> <div class="admin_state_list_item" @click="lastGeTrialList('week')">Last week</div>
</div> </div>

View File

@@ -32,7 +32,7 @@
<div class="admin_search_item" @click="searchHistoryList">Search</div> <div class="admin_search_item" @click="searchHistoryList">Search</div>
</div> </div>
<div class="admin_state_list"> <div class="admin_state_list">
<div class="admin_state_list_item" @click="lastGeTrialList('year')">Last year</div> <div class="admin_state_list_item" @click="lastGeTrialList('year')">Nearly a year</div>
<div class="admin_state_list_item" @click="lastGeTrialList('month')">Last month</div> <div class="admin_state_list_item" @click="lastGeTrialList('month')">Last month</div>
<div class="admin_state_list_item" @click="lastGeTrialList('week')">Last week</div> <div class="admin_state_list_item" @click="lastGeTrialList('week')">Last week</div>
</div> </div>

View File

@@ -32,7 +32,7 @@
<div class="admin_search_item" @click="searchHistoryList">Search</div> <div class="admin_search_item" @click="searchHistoryList">Search</div>
</div> </div>
<div class="admin_state_list"> <div class="admin_state_list">
<div class="admin_state_list_item" @click="lastGeTrialList('year')">Last year</div> <div class="admin_state_list_item" @click="lastGeTrialList('year')">Nearly a year</div>
<div class="admin_state_list_item" @click="lastGeTrialList('month')">Last month</div> <div class="admin_state_list_item" @click="lastGeTrialList('month')">Last month</div>
<div class="admin_state_list_item" @click="lastGeTrialList('week')">Last week</div> <div class="admin_state_list_item" @click="lastGeTrialList('week')">Last week</div>
</div> </div>

View File

@@ -63,7 +63,7 @@
<div class="admin_search_item" @click="searchHistoryList">Search</div> <div class="admin_search_item" @click="searchHistoryList">Search</div>
</div> </div>
<div class="admin_state_list"> <div class="admin_state_list">
<div class="admin_state_list_item" @click="lastGeTrialList('year')">Last year</div> <div class="admin_state_list_item" @click="lastGeTrialList('year')">Nearly a year</div>
<div class="admin_state_list_item" @click="lastGeTrialList('month')">Last month</div> <div class="admin_state_list_item" @click="lastGeTrialList('month')">Last month</div>
<div class="admin_state_list_item" @click="lastGeTrialList('week')">Last week</div> <div class="admin_state_list_item" @click="lastGeTrialList('week')">Last week</div>
</div> </div>

View File

@@ -2,10 +2,34 @@
<div class="recentNewUserChart admin_page"> <div class="recentNewUserChart admin_page">
<div class="admin_table_search"> <div class="admin_table_search">
<div class="admin_state"> <div class="admin_state">
<div class="admin_state_item">
<span>Select Time:</span>
<a-range-picker
style="width:250px"
class="range_picker"
v-model:value="rangePickerValue"
:placeholder="[
$t('HistoryPage.StartDate'),
$t('HistoryPage.EndDate'),
]"
valueFormat="YYYY-MM-DD"
>
<template #suffixIcon>
<span
class="icon iconfont range_picker_icon icon-rili"
></span>
</template>
</a-range-picker>
</div>
</div> </div>
<div class="admin_search"> <div class="admin_search">
<div class="admin_search_item" @click="searchHistoryList">Search</div>
</div> </div>
<div class="admin_state_list">
<div class="admin_state_list_item" @click="lastGeTrialList('year')">Nearly a year</div>
<div class="admin_state_list_item" @click="lastGeTrialList('month')">Last month</div>
<div class="admin_state_list_item" @click="lastGeTrialList('week')">Last week</div>
</div>
</div> </div>
<div class="admin_table_content" ref="pageChartDom"></div> <div class="admin_table_content" ref="pageChartDom"></div>
@@ -43,9 +67,34 @@ export default defineComponent({
let searchHistoryList = () => { let searchHistoryList = () => {
gettrialList(); gettrialList();
}; };
let lastGeTrialList = (str:string)=>{
let currentDate = new Date();
let currentTimestamp = Math.floor(currentDate.getTime() / 1000);
// 计算30天前的时间戳
let thirtyDaysAgoTimestamp
if(str == 'year'){
thirtyDaysAgoTimestamp = currentTimestamp - (360 * 24 * 60 * 60);
}else if(str == 'month'){
thirtyDaysAgoTimestamp = currentTimestamp - (30 * 24 * 60 * 60);
}else if(str == 'week'){
thirtyDaysAgoTimestamp = currentTimestamp - (7 * 24 * 60 * 60);
}
filterData.rangePickerValue = [formatTime(thirtyDaysAgoTimestamp,'YYYY-MM-DD'),formatTime(currentTimestamp,'YYYY-MM-DD')]
gettrialList();
}
//获取列表 //获取列表
let gettrialList = async () => { let gettrialList = async () => {
Https.axiosGet(Https.httpUrls.conversionRate).then((rv: any) => { let startDate: any = filterData.rangePickerValue?.[0]
? filterData.rangePickerValue[0]+' '+'00:00:00'
: "";
let endDate: any = filterData.rangePickerValue?.[1]
? filterData.rangePickerValue[1]+' '+'00:00:00'
: "";
let data = {
endTime:endDate,
startTime:startDate,
}
Https.axiosGet(Https.httpUrls.conversionRate,{params:data}).then((rv: any) => {
if (rv) { if (rv) {
let entries:any = Object.entries(rv); let entries:any = Object.entries(rv);
let data: any = []; let data: any = [];
@@ -99,7 +148,8 @@ export default defineComponent({
}, },
legend: { legend: {
top: '10%', top: '10%',
left: 'center' left: 'center',
// formatter: '{a} <br/>{b}'
}, },
series: [ series: [
{ {
@@ -120,10 +170,10 @@ export default defineComponent({
show: true, show: true,
fontSize: 30, fontSize: 30,
fontWeight: 'bold' fontWeight: 'bold'
} },
}, },
labelLine: { labelLine: {
show: false show: false,
}, },
data: data data: data
} }
@@ -141,6 +191,7 @@ export default defineComponent({
return { return {
...toRefs(filter), ...toRefs(filter),
...toRefs(filterData), ...toRefs(filterData),
lastGeTrialList,
searchHistoryList, searchHistoryList,
gettrialList, gettrialList,
pageChartDom, pageChartDom,

View File

@@ -1,11 +1,35 @@
<template> <template>
<div class="recentNewUserChart admin_page"> <div class="recentNewUserChart admin_page">
<div class="admin_table_search"> <div class="admin_table_search">
<div class="admin_state"> <div class="admin_state">
</div> <div class="admin_state_item">
<div class="admin_search"> <span>Select Time:</span>
<a-range-picker
style="width:250px"
class="range_picker"
v-model:value="rangePickerValue"
:placeholder="[
$t('HistoryPage.StartDate'),
$t('HistoryPage.EndDate'),
]"
valueFormat="YYYY-MM-DD"
>
<template #suffixIcon>
<span
class="icon iconfont range_picker_icon icon-rili"
></span>
</template>
</a-range-picker>
</div>
</div> </div>
<div class="admin_search">
<div class="admin_search_item" @click="searchHistoryList">Search</div>
</div>
<div class="admin_state_list">
<div class="admin_state_list_item" @click="lastGeTrialList('year')">Nearly a year</div>
<div class="admin_state_list_item" @click="lastGeTrialList('month')">Last month</div>
<div class="admin_state_list_item" @click="lastGeTrialList('week')">Last week</div>
</div>
</div> </div>
<div class="admin_table_content" ref="pageChartDom"></div> <div class="admin_table_content" ref="pageChartDom"></div>
@@ -61,9 +85,34 @@ export default defineComponent({
let searchHistoryList = () => { let searchHistoryList = () => {
gettrialList(); gettrialList();
}; };
let lastGeTrialList = (str:string)=>{
let currentDate = new Date();
let currentTimestamp = Math.floor(currentDate.getTime() / 1000);
// 计算30天前的时间戳
let thirtyDaysAgoTimestamp
if(str == 'year'){
thirtyDaysAgoTimestamp = currentTimestamp - (360 * 24 * 60 * 60);
}else if(str == 'month'){
thirtyDaysAgoTimestamp = currentTimestamp - (30 * 24 * 60 * 60);
}else if(str == 'week'){
thirtyDaysAgoTimestamp = currentTimestamp - (7 * 24 * 60 * 60);
}
filterData.rangePickerValue = [formatTime(thirtyDaysAgoTimestamp,'YYYY-MM-DD'),formatTime(currentTimestamp,'YYYY-MM-DD')]
gettrialList();
}
//获取列表 //获取列表
let gettrialList = async () => { let gettrialList = async () => {
Https.axiosGet(Https.httpUrls.trialUserCountry).then((rv: any) => { let startDate: any = filterData.rangePickerValue?.[0]
? filterData.rangePickerValue[0]+' '+'00:00:00'
: "";
let endDate: any = filterData.rangePickerValue?.[1]
? filterData.rangePickerValue[1]+' '+'00:00:00'
: "";
let data = {
endTime:endDate,
startTime:startDate,
}
Https.axiosGet(Https.httpUrls.trialUserCountry,{params:data}).then((rv: any) => {
if (rv) { if (rv) {
let data: any = []; let data: any = [];
rv.names.forEach((item: any, index: number) => { rv.names.forEach((item: any, index: number) => {
@@ -137,6 +186,7 @@ export default defineComponent({
return { return {
...toRefs(filter), ...toRefs(filter),
...toRefs(filterData), ...toRefs(filterData),
lastGeTrialList,
state, state,
searchHistoryList, searchHistoryList,
gettrialList, gettrialList,