Commit 6c6ae6b9 authored by louyuqi's avatar louyuqi

update

parent d340f0a6
......@@ -15,7 +15,7 @@
"crypto-js": "^4.1.1",
"dayjs": "^1.11.1",
"downloadjs": "^1.4.7",
"element-plus": "^1.3.0-beta.8",
"element-plus": "^2.1.11",
"less": "^4.1.2",
"less-loader": "^10.2.0",
"vue": "^3.2.25",
......
import axios from 'axios'
import axios, {AxiosResponse} from 'axios'
import downloadjs from 'downloadjs'
import { getStore, USR } from '../utils/userinfo'
interface LoginData{
......@@ -18,10 +18,10 @@ instance.interceptors.request.use((config)=>{
return config
}
})
instance.interceptors.response.use((response)=>{
// console.log('ee',response)
return response.data
})
// instance.interceptors.response.use((response)=>{
// // console.log('ee',response)
// // return response.data
// })
const store = getStore<USR<any>>('mining-manager')
export const doLogin = async (data:LoginData) => {
......@@ -38,57 +38,18 @@ export const doLogin = async (data:LoginData) => {
})
}
export function getResData(res:AxiosResponse){
return res.data
}
export const getPlatList = async()=>{
return instance.get('/api/admin/plat-list',)
return instance.get('/api/admin/plat-list',).then(getResData)
}
export const getNodeList = async(params:{id:string})=>{
return instance.get('/api/admin/node-list',{params})
return instance.get('/api/admin/node-list',{params}).then(getResData)
}
export const getPoolList = async(params:{id:string})=>{
return instance.get('/api/admin/pool-list',{params})
}
export interface GetTransListParams{
platId?:number
status?:number
start?:number
end?:number
addr?:string
page?:number
pageSize?:number
return instance.get('/api/admin/pool-list',{params}).then(getResData)
}
export const getTransList = async(params:GetTransListParams)=>{
params.page?params.page:params.page=1
params.pageSize?params.pageSize:params.pageSize=10
return instance.get('/api/admin/trans-list',{
params:params
}).then(res=>{
return res.data
})
}
export const downloadTxt = async(params:GetTransListParams)=>{
return instance.get('/download/unsigntxs',{
params: params
}).then(async res=>{
try{
await downloadjs(res.data)
return{
status:'success',
message:'download action is finished'
}
}catch(err){
console.log('下载出错了',err);
}
return
}).catch((err:any)=>{
return{
status:'error',
message:err.response.data.message
}
})
}
export default instance
\ No newline at end of file
import Http from './index';
import Http, {getResData} from './index';
export interface INewUsersParams{
platId?:string,
nodeId?:string,
......@@ -11,5 +11,5 @@ export interface INewUsersParams{
date?:string,
}
export function getNewUsersList(params:INewUsersParams){
return Http.get('/api/admin/new-users',{params})
return Http.get('/api/admin/new-users',{params}).then(getResData)
}
\ No newline at end of file
import Http from './index';
import Http, {getResData} from './index';
export interface IAddRuleParams{
ty:number,
addr:string
......@@ -12,11 +12,11 @@ export interface IDeleteRuleParams{
id:string
}
export function addWithdraw(params:IAddRuleParams){
return Http.post('/api/admin/add-withdraw',params)
return Http.post('/api/admin/add-withdraw',params).then(getResData)
}
export function delWithdraw(params:IDeleteRuleParams){
return Http.post('/api/admin/del-withdraw',params)
return Http.post('/api/admin/del-withdraw',params).then(getResData)
}
export function getWithdrawList(params:IWithdrawListParams){
return Http.get('/api/admin/withdraw-list',{params})
return Http.get('/api/admin/withdraw-list',{params}).then(getResData)
}
\ No newline at end of file
import downloadjs from "downloadjs";
import Http, {getResData} from "./index";
export interface GetTransListParams{
platId?:number
status?:number
start?:number
end?:number
addr?:string
page?:number
pageSize?:number
}
export const getTransList = async(params:GetTransListParams)=>{
params.page?params.page:params.page=1
params.pageSize?params.pageSize:params.pageSize=10
return Http.get('/api/admin/trans-list',{
params:params
}).then(res=>{
return res.data
})
}
export const downloadTxt = async(params:GetTransListParams)=>{
return Http.get('/download/unsigntxs',{
params: params
}).then(async res=>{
try{
await downloadjs(res.data)
return{
status:'success',
message:'download action is finished'
}
}catch(err){
console.log('下载出错了',err);
}
return
}).catch((err:any)=>{
return{
status:'error',
message:err.response.data.message
}
})
}
export function doForceReady(ids:string[]){
return Http.post('/api/admin/force-ready',{ids}).then(getResData)
}
\ No newline at end of file
......@@ -13,7 +13,7 @@ const props = defineProps<{
btnEnable:boolean
}>()
const emit = defineEmits(["eventEmitted", "dodownload"]);
const emit = defineEmits(["eventEmitted", "dodownload",'doForceReady']);
const downloadTxt = () => {
emit("dodownload");
};
......@@ -40,6 +40,10 @@ const options = [
value: 4,
label: "成功",
},
{
value:8,
label:"未达标"
}
];
onMounted(async () => {
const res = await getPlatList();
......@@ -91,15 +95,16 @@ onMounted(async () => {
>
</el-input>
</div>
<el-tooltip placement="top">
<template #content> 下载需要至少设定精准id和时间范围 </template>
<el-button
:disabled="props.btnEnable"
class="py-1 px-3 bg-blue-500 w-24 text-white text-sm rounded hover:bg-blue-300 transition-all duration-200"
@click="downloadTxt"
>
下载txt
</el-button>
<el-button
:disabled="props.btnEnable"
class="py-1 px-3 bg-blue-500 w-24 text-white text-sm rounded hover:bg-blue-300 transition-all duration-200"
@click="downloadTxt"
>
下载txt
</el-button>
</el-tooltip>
</div>
</div>
......
......@@ -22,13 +22,13 @@ const login = async () => {
token: getToken,
expire: '1d'
})
router.push('/user')
ElMessage({
message: "用户登陆成功",
type: "success"
})
console.log('?')
router.push('/user')
} else {
ElMessage({
message: "登陆失败",
......
......@@ -3,7 +3,7 @@ import Tabs from '../../components/tabs.vue';
import Controllbar from '../../components/controllbar.vue';
import {useAxios} from '@vueuse/integrations/useAxios'
import {computed, onMounted, reactive, ref, watch} from 'vue';
import {downloadTxt, getTransList} from '../../api';
import {doForceReady, downloadTxt, getTransList} from '../../api/userInfoService';
import {ElMessage} from 'element-plus'
import dayjs from 'dayjs'
......@@ -16,7 +16,7 @@ const reqData = reactive({
pageSize: 10,
addr: ''
})
const forceReadyIds=ref<string[]>([])
const loading = ref(false)
const disableDownload = ref(true)
const table = ref([])
......@@ -86,6 +86,18 @@ const childDataChange = (v: { data: any, type: string }) => {
}
console.log(reqData);
}
const forceReady=()=>{
doForceReady(forceReadyIds.value).then(res=>{
ElMessage.success('重置成功')
initTable();
})
}
const handleSelectionChange=(val:any[])=>{
console.log(val)
forceReadyIds.value=val.map(data=>{
return data.id;
})
}
const download = async () => {
const res = await downloadTxt(reqData) as any
if (res.status === 'error') {
......@@ -124,6 +136,8 @@ const statusFilter = computed((v) => {
return '失败'
case 4:
return '成功'
case 8:
return '未达标'
}
}
......@@ -156,13 +170,22 @@ onMounted(async () => {
<Controllbar @eventEmitted="childDataChange" @dodownload="downloadModal=true"
:btnEnable="disableDownload"></Controllbar>
<div class="table-view w-full ">
<div class=" text-sm opacity-50 py-3 px-3">当前交易笔数:{{ pageController.size }}</div>
<div class="flex justify-between">
<div class=" text-sm opacity-50 py-3 px-3">当前交易笔数:{{ pageController.size }} </div>
<!-- <div> <el-button :disabled="forceReadyIds.length===0" @click="forceReady">重置未导出</el-button></div>-->
<div> <el-button :disabled="!~[3,8].indexOf(reqData.status)||forceReadyIds.length===0" @click="forceReady">重置未导出</el-button></div>
</div>
<el-table
v-loading="loading"
element-loading-text="加载中,请等待..."
:data="table"
@selection-change="handleSelectionChange"
class=" container">
<el-table-column v-if="!!~[3,8].indexOf(reqData.status)" type="selection" width="55" />
<!-- <el-table-column type="selection" width="55" />-->
<el-table-column v-for="i in columnSet" :prop="i.prop" :label="i.label">
<template #default="scope" v-if="i.prop === 'status'">
{{ statusFilter(scope.row.status) }}
</template>
......@@ -176,6 +199,7 @@ onMounted(async () => {
{{ dateFilter(scope.row.jboTime) }}
</template>
</el-table-column>
</el-table>
</div>
<div class=" w-full mx-auto absolute left-0 bottom-0">
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment