This commit is contained in:
X1627315083
2025-09-01 14:03:30 +08:00
parent c387a71ba8
commit 89639aaec9
49 changed files with 819 additions and 232 deletions

View File

@@ -3,7 +3,7 @@
<div class="admin_table_search">
<div class="admin_state">
<div class="admin_state_item">
<span>Create Time:</span>
<span>{{ $t('adminSeAllUser.CreateTime') }}:</span>
<a-range-picker
style="width: 230px"
class="range_picker"
@@ -45,7 +45,7 @@
/>
</div> -->
<div class="admin_state_item">
<span>User Name:</span>
<span>{{ $t('adminSeAllUser.UserName') }}:</span>
<a-select
v-model:value="ids"
mode="multiple"
@@ -74,16 +74,22 @@
</div>
<div class="admin_search">
<div class="admin_search_item" @click="searchHistoryList">
Search
{{ $t('adminSeAllUser.search') }}
</div>
<div class="admin_search_item" @click="addhHistoryList">
Add
{{ $t('adminSeAllUser.add') }}
</div>
<div class="admin_search_item" style="width: auto;padding: 0 2rem;" @click="downloadTemplate">
Download template
{{ $t('adminSeAllUser.DownloadTemplate') }}
</div>
<div class="admin_search_item" style="width: auto;padding: 0 2rem;" @click="uploadTemplate">
Upload template
{{ $t('adminSeAllUser.UploadTemplate') }}
</div>
<div class="admin_search_item" style="width: auto;padding: 0 2rem;" @click="ExportAccountData">
{{ $t('adminSeAllUser.ExportAccountData') }}
</div>
<div class="admin_search_item" style="width: auto;padding: 0 2rem;" @click="deleteList">
{{ $t('adminSeAllUser.Delete') }}
</div>
</div>
<div class="admin_state_list">
@@ -91,19 +97,19 @@
class="admin_state_list_item"
@click="lastGeTrialList('year')"
>
Nearly a year
{{ $t('adminSeAllUser.NearlyAYear') }}
</div>
<div
class="admin_state_list_item"
@click="lastGeTrialList('month')"
>
Last month
{{ $t('adminSeAllUser.LastMonth') }}
</div>
<div
class="admin_state_list_item"
@click="lastGeTrialList('week')"
>
Last week
{{ $t('adminSeAllUser.LastWeek') }}
</div>
</div>
</div>
@@ -113,6 +119,8 @@
:loading="tableLoading"
:columns="columns"
:data-source="dataList"
:row-selection="rowSelection"
rowKey="id"
:scroll="{ y: historyTableHeight }"
@change="changePage"
:showSorterTooltip='false'
@@ -132,13 +140,13 @@
@click="setAagree(record)"
style="margin-right: 2rem;"
>
Edit
{{ $t('adminSeAllUser.Edit') }}
</div>
<div
class="operate_item"
@click="deleteAagree(record)"
>
Delete
{{ $t('adminSeAllUser.Delete') }}
</div>
<!-- <div
class="operate_item"
@@ -169,18 +177,31 @@ import { Https } from "@/tool/https";
import { Modal,message } from 'ant-design-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import allUserPoerationsVue from "./addAllUser.vue";
import { useI18n } from 'vue-i18n'
export default defineComponent({
components: {allUserPoerationsVue,},
setup() {
const store:any = useStore()
const selectedRowKeys = ref([]) as any;
const onSelectChange = (changableRowKeys: string[]) => {
selectedRowKeys.value = changableRowKeys;
};
let filter: any = reactive({
dataList: [],
tableLoading: false,
allUserList: computed(()=>{
return store.state.adminPage.allUserList
}),
allCountry:[]
allCountry:[],
rowSelection:computed(() => {
return {
selectedRowKeys: unref(selectedRowKeys),
onChange: onSelectChange,
}
})
});
const {t} = useI18n()
let filterData: any = reactive({
rangePickerValue: [],
currentPage: 1,
@@ -196,37 +217,12 @@ export default defineComponent({
orderBy:'',
userName: "",
});
let state: any = ref([
{
label: "all",
value: "",
},
{
label:'visitor',
value:'0',
},
{
label:'yearly',
value:'1',
},
{
label:'monthly',
value:'2',
},
{
label:'trial',
value:'3',
},
{
label: "userInEvent",
value: "4",
},
]);
let renameData: any = ref({}); //修改名字选中的数据
const columns: any = computed(() => {
return [
{
title: "User Id",
title: t("adminSeAllUser.UserId"),
align: "center",
dataIndex: "id",
key: "id",
@@ -235,7 +231,7 @@ export default defineComponent({
sorter: true,
},
{
title: "Email",
title: t("adminSeAllUser.Email"),
align: "center",
dataIndex: "userEmail",
key: "userEmail",
@@ -243,7 +239,7 @@ export default defineComponent({
ellipsis:true
},
{
title: "User Name",
title: t("adminSeAllUser.UserName"),
align: "center",
dataIndex: "userName",
key: "userName",
@@ -258,7 +254,7 @@ export default defineComponent({
// },
},
{
title: "language",
title: t("adminSeAllUser.language"),
align: "center",
dataIndex: "language",
key: "language",
@@ -266,7 +262,7 @@ export default defineComponent({
ellipsis:true,
},
{
title: "Create Date",
title: t("adminSeAllUser.CreateDate"),
align: "center",
dataIndex: "createDate",
key: "createDate",
@@ -274,19 +270,19 @@ export default defineComponent({
sorter: true,
},
{
title: "Credits",
title: t("adminSeAllUser.Credits"),
align: "center",
// width: 150,
// minWidth: 100,
// maxWidth: 200,
// resizable: true,
dataIndex: "creditsUsageLimit",
dataIndex: "credits",
key: "credits",
width:100,
sorter: true,
},
{
title: "Credits Usage",
title: t("adminSeAllUser.CreditsUsage"),
align: "center",
dataIndex: "creditsUsage",
key: "creditsUsage",
@@ -294,7 +290,7 @@ export default defineComponent({
sorter: true,
},
{
title: "Credits Usage Limit",
title: t("adminSeAllUser.CreditsUsageLimit"),
align: "center",
dataIndex: "creditsUsageLimit",
key: "creditsUsageLimit",
@@ -302,7 +298,7 @@ export default defineComponent({
sorter: true,
},
{
title: "Operations",
title: t("adminSeAllUser.Operations"),
key: "operation",
width:120,
align: "center",
@@ -418,11 +414,11 @@ export default defineComponent({
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
};
let addhHistoryList = () => {
allUserPoerationsVue.value.init('Add','')
allUserPoerationsVue.value.init({value:'Add',label:t('adminSeAllUser.add')},'')
};
let allUserPoerationsVue = ref()
let setAagree = (data:any) =>{
allUserPoerationsVue.value.init('Edit',data)
allUserPoerationsVue.value.init({value:'Edit',label:t('adminSeAllUser.Edit')},data)
}
const downloadTemplate = ()=>{
Https.axiosGet(Https.httpUrls.subAccountImportExcelDownload,{responseType: 'blob',env:{binary:true}}).then((rv:any)=>{
@@ -436,6 +432,18 @@ export default defineComponent({
URL.revokeObjectURL(link.href);
})
}
const ExportAccountData = ()=>{
Https.axiosGet(Https.httpUrls.exportAccountsToExcel,{headers:{responseType: 'blob',},env:{binary:true,binaryType:'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'}}).then((rv:any)=>{
const link = document.createElement('a');
link.href = rv.url;
link.download = 'file.xlsx'; // 设置正确的文件扩展名
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
// 释放 URL 对象
URL.revokeObjectURL(link.href);
})
}
const uploadTemplate = ()=>{
const fileInput = document.createElement('input');
fileInput.type = 'file';
@@ -473,6 +481,18 @@ export default defineComponent({
});
})
}
const deleteList = async ()=>{
console.log(selectedRowKeys.value)
if(selectedRowKeys.value.length == 0)return
let boolean:any = await confirmDelete()
if(!boolean){
return
}
Https.axiosPost(Https.httpUrls.deleteSubAccount,{deleteIdList:selectedRowKeys.value})
.then((rv:any)=>{
gettrialList();
})
}
const deleteAagree = async (event:any)=>{
let boolean:any = await confirmDelete()
if(!boolean){
@@ -496,7 +516,6 @@ export default defineComponent({
return {
...toRefs(filter),
...toRefs(filterData),
state,
columns,
renameData,
changePage,
@@ -508,7 +527,9 @@ export default defineComponent({
allUserPoerationsVue,
setAagree,
downloadTemplate,
ExportAccountData,
uploadTemplate,
deleteList,
deleteAagree,
};
},
@@ -530,13 +551,17 @@ export default defineComponent({
<style lang="less" scoped>
.admin_page .admin_table_search .admin_state {
display: flex;
width: 75%;
width: 70%;
flex-wrap: wrap;
align-content: flex-start;
}
.admin_page .admin_table_search .admin_search {
display: flex;
flex-wrap: wrap;
width: 25%;
width: 30%;
> .admin_search_item{
height: 4rem;
font-size: 1.6rem;
}
}
</style>