|
@@ -4,7 +4,7 @@
|
|
<div class="app-container-head-left">
|
|
<div class="app-container-head-left">
|
|
<div class="app-container-head-left-item">
|
|
<div class="app-container-head-left-item">
|
|
<div class="app-container-head-left-item-count">
|
|
<div class="app-container-head-left-item-count">
|
|
- {{ head.all }}
|
|
|
|
|
|
+ {{ (count.batchCount + count.premiumCount) || 0 }}
|
|
</div>
|
|
</div>
|
|
<div class="app-container-head-left-item-name">
|
|
<div class="app-container-head-left-item-name">
|
|
所有
|
|
所有
|
|
@@ -13,7 +13,7 @@
|
|
<div class="app-container-head-left-divider"/>
|
|
<div class="app-container-head-left-divider"/>
|
|
<div class="app-container-head-left-item">
|
|
<div class="app-container-head-left-item">
|
|
<div class="app-container-head-left-item-count">
|
|
<div class="app-container-head-left-item-count">
|
|
- {{ head.bulk }}
|
|
|
|
|
|
+ {{ count.batchCount }}
|
|
</div>
|
|
</div>
|
|
<div class="app-container-head-left-item-name">
|
|
<div class="app-container-head-left-item-name">
|
|
批处理账户
|
|
批处理账户
|
|
@@ -22,7 +22,7 @@
|
|
<div class="app-container-head-left-divider"/>
|
|
<div class="app-container-head-left-divider"/>
|
|
<div class="app-container-head-left-item">
|
|
<div class="app-container-head-left-item">
|
|
<div class="app-container-head-left-item-count">
|
|
<div class="app-container-head-left-item-count">
|
|
- {{ head.boutique }}
|
|
|
|
|
|
+ {{ count.premiumCount }}
|
|
</div>
|
|
</div>
|
|
<div class="app-container-head-left-item-name">
|
|
<div class="app-container-head-left-item-name">
|
|
精品账户
|
|
精品账户
|
|
@@ -33,7 +33,7 @@
|
|
<div class="app-container-head-right-button1">
|
|
<div class="app-container-head-right-button1">
|
|
导出地址
|
|
导出地址
|
|
</div>
|
|
</div>
|
|
- <div class="app-container-head-right-button1">
|
|
|
|
|
|
+ <div class="app-container-head-right-button1" @click="downloadAddress">
|
|
下载 KeyStore
|
|
下载 KeyStore
|
|
</div>
|
|
</div>
|
|
<div class="app-container-head-right-button1" @click="drawerImport = true">
|
|
<div class="app-container-head-right-button1" @click="drawerImport = true">
|
|
@@ -51,12 +51,9 @@
|
|
<div class="app-container-table-title-left">
|
|
<div class="app-container-table-title-left">
|
|
地址列表
|
|
地址列表
|
|
</div>
|
|
</div>
|
|
- <div class="app-container-table-title-right">
|
|
|
|
- 总计数量: {{table.totalNumber}}
|
|
|
|
- </div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="app-container-table-select">
|
|
<div class="app-container-table-select">
|
|
- <div @click="table.walletNameGroupIndex = index" v-for="(item,index) in table.walletNameGroup" :class="index === table.walletNameGroupIndex ? 'app-container-table-select-item-active' : 'app-container-table-select-item'">
|
|
|
|
|
|
+ <div @click="selectAddressGroup(index)" v-for="(item,index) in table.walletNameGroup" :class="index === table.walletNameGroupIndex ? 'app-container-table-select-item-active' : 'app-container-table-select-item'">
|
|
{{item}}
|
|
{{item}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -76,27 +73,30 @@
|
|
style="width: 100%">
|
|
style="width: 100%">
|
|
<el-table-column
|
|
<el-table-column
|
|
label="账户地址"
|
|
label="账户地址"
|
|
- width="490">
|
|
|
|
|
|
+ width="600">
|
|
<template v-slot="scope">
|
|
<template v-slot="scope">
|
|
<div class="accountAddress">
|
|
<div class="accountAddress">
|
|
<div class="img">
|
|
<div class="img">
|
|
|
|
|
|
</div>
|
|
</div>
|
|
- <div class="walletName">
|
|
|
|
- 钱包名称
|
|
|
|
|
|
+ <div class="walletName" v-if="scope.row.addressType === 0">
|
|
|
|
+ {{scope.row.groupName}}
|
|
|
|
+ </div>
|
|
|
|
+ <div class="walletName" v-if="scope.row.addressType === 1">
|
|
|
|
+ {{scope.row.groupName}}-{{scope.$index+1}}
|
|
</div>
|
|
</div>
|
|
<div class="walletAddress">
|
|
<div class="walletAddress">
|
|
- 0x00581a605...ca48ddebe60b2a4ca4da
|
|
|
|
|
|
+ {{scope.row.address}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
label="Gas消耗/USDT"
|
|
label="Gas消耗/USDT"
|
|
- width="410">
|
|
|
|
|
|
+ width="250">
|
|
<template v-slot="scope">
|
|
<template v-slot="scope">
|
|
<div class="gas">
|
|
<div class="gas">
|
|
- 783239.22
|
|
|
|
|
|
+ {{scope.row.totalGas}}
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -107,7 +107,7 @@
|
|
<div class="type">
|
|
<div class="type">
|
|
<div class="bulk" v-if="table.walletNameGroupIndex !== 0">
|
|
<div class="bulk" v-if="table.walletNameGroupIndex !== 0">
|
|
<img src="../../assets/address/precision_manufacturing.svg" alt="precision_manufacturing">
|
|
<img src="../../assets/address/precision_manufacturing.svg" alt="precision_manufacturing">
|
|
- 批量3
|
|
|
|
|
|
+ 批量
|
|
</div>
|
|
</div>
|
|
<div class="boutique" v-if="table.walletNameGroupIndex === 0">
|
|
<div class="boutique" v-if="table.walletNameGroupIndex === 0">
|
|
<img src="../../assets/address/award_star.svg" alt="award_star">
|
|
<img src="../../assets/address/award_star.svg" alt="award_star">
|
|
@@ -121,19 +121,31 @@
|
|
width="180">
|
|
width="180">
|
|
<template v-slot="scope">
|
|
<template v-slot="scope">
|
|
<div class="lastTime">
|
|
<div class="lastTime">
|
|
- 19点20分
|
|
|
|
|
|
+ {{scope.row.lastOperTime}}
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column align="right">
|
|
<el-table-column align="right">
|
|
<template v-slot="scope">
|
|
<template v-slot="scope">
|
|
- <div class="view" @click="drawerView = true">
|
|
|
|
|
|
+ <div class="view" @click="viewAddress">
|
|
查看
|
|
查看
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
</el-table>
|
|
</el-table>
|
|
|
|
+ <div class="pagination">
|
|
|
|
+ <el-pagination
|
|
|
|
+ small
|
|
|
|
+ layout="prev, pager, next"
|
|
|
|
+ :hide-on-single-page="false"
|
|
|
|
+ :page-size="table.pageSize"
|
|
|
|
+ :total="table.total"
|
|
|
|
+ :current-page.sync="table.page"
|
|
|
|
+ @current-change="pageChange">
|
|
|
|
+ </el-pagination>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<el-drawer
|
|
<el-drawer
|
|
@@ -245,11 +257,7 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="drawerAddress-container-head-right">
|
|
<div class="drawerAddress-container-head-right">
|
|
- <div class="cancellation">
|
|
|
|
- <img src="../../assets/address/close.svg" alt="close">
|
|
|
|
- 取消
|
|
|
|
- </div>
|
|
|
|
- <div class="complete">
|
|
|
|
|
|
+ <div class="complete" @click="addBoutiqueAccount">
|
|
<img src="../../assets/address/done_all.svg" alt="done_all">
|
|
<img src="../../assets/address/done_all.svg" alt="done_all">
|
|
完成
|
|
完成
|
|
</div>
|
|
</div>
|
|
@@ -261,13 +269,13 @@
|
|
<div class="name">
|
|
<div class="name">
|
|
钱包地址
|
|
钱包地址
|
|
</div>
|
|
</div>
|
|
- <div class="delete">
|
|
|
|
|
|
+ <div class="delete" @click="addressArrDelete(index)">
|
|
<img src="../../assets/address/delete.svg" alt="delete">
|
|
<img src="../../assets/address/delete.svg" alt="delete">
|
|
删除
|
|
删除
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="input">
|
|
<div class="input">
|
|
- <el-select v-model="value" placeholder="选择公链">
|
|
|
|
|
|
+ <el-select v-model="item.chainId" placeholder="选择公链">
|
|
<el-option
|
|
<el-option
|
|
v-for="item in options"
|
|
v-for="item in options"
|
|
:key="item.value"
|
|
:key="item.value"
|
|
@@ -275,21 +283,13 @@
|
|
:value="item.value">
|
|
:value="item.value">
|
|
</el-option>
|
|
</el-option>
|
|
</el-select>
|
|
</el-select>
|
|
- <el-input v-model="input" placeholder="输入钱包名称"></el-input>
|
|
|
|
|
|
+ <el-input v-model="item.groupName" placeholder="输入钱包名称"></el-input>
|
|
</div>
|
|
</div>
|
|
<div class="input">
|
|
<div class="input">
|
|
- <el-select v-model="value" placeholder="选择类型">
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in options"
|
|
|
|
- :key="item.value"
|
|
|
|
- :label="item.label"
|
|
|
|
- :value="item.value">
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- <el-input v-model="input" placeholder="输入钱包地址"></el-input>
|
|
|
|
|
|
+ <el-input v-model="item.address" placeholder="输入钱包地址"></el-input>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="addAddress" @click="addressArr.push({})">
|
|
|
|
|
|
+ <div class="addAddress" @click="addressArrPush">
|
|
<img src="../../assets/address/add_circle.svg" alt="add_circle">
|
|
<img src="../../assets/address/add_circle.svg" alt="add_circle">
|
|
新增观察地址
|
|
新增观察地址
|
|
</div>
|
|
</div>
|
|
@@ -358,13 +358,13 @@
|
|
<div class="inputTitle">
|
|
<div class="inputTitle">
|
|
批量钱包名称
|
|
批量钱包名称
|
|
</div>
|
|
</div>
|
|
- <el-input v-model="input" placeholder="输入批量钱包名称"></el-input>
|
|
|
|
|
|
+ <el-input v-model="batchAddressObj.groupName" placeholder="输入批量钱包名称"></el-input>
|
|
<div class="inputBox">
|
|
<div class="inputBox">
|
|
<div>
|
|
<div>
|
|
<div class="inputTitle">
|
|
<div class="inputTitle">
|
|
选择公链
|
|
选择公链
|
|
</div>
|
|
</div>
|
|
- <el-select style="width: 280px" v-model="value" placeholder="选择类型">
|
|
|
|
|
|
+ <el-select style="width: 280px" v-model="batchAddressObj.chainId" placeholder="选择类型">
|
|
<el-option
|
|
<el-option
|
|
v-for="item in options"
|
|
v-for="item in options"
|
|
:key="item.value"
|
|
:key="item.value"
|
|
@@ -377,7 +377,7 @@
|
|
<div class="inputTitle">
|
|
<div class="inputTitle">
|
|
生成数量
|
|
生成数量
|
|
</div>
|
|
</div>
|
|
- <el-input style="width: 230px" v-model="input" placeholder="输入生成数量"></el-input>
|
|
|
|
|
|
+ <el-input style="width: 230px" v-model="batchAddressObj.numWallet" placeholder="输入生成数量"></el-input>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="inputBox">
|
|
<div class="inputBox">
|
|
@@ -385,16 +385,16 @@
|
|
<div class="inputTitle">
|
|
<div class="inputTitle">
|
|
钱包密码
|
|
钱包密码
|
|
</div>
|
|
</div>
|
|
- <el-input style="width: 280px" v-model="input" placeholder="设置钱包密码"></el-input>
|
|
|
|
|
|
+ <el-input style="width: 280px" auto-complete="new-password" v-model="batchAddressObj.password" placeholder="设置钱包密码" show-password></el-input>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div>
|
|
<div class="inputTitle">
|
|
<div class="inputTitle">
|
|
确认钱包密码
|
|
确认钱包密码
|
|
</div>
|
|
</div>
|
|
- <el-input style="width: 230px" v-model="input" placeholder="设置钱包密码"></el-input>
|
|
|
|
|
|
+ <el-input style="width: 230px" auto-complete="new-password" v-model="batchAddressObj.verifyPassword" placeholder="设置钱包密码" show-password></el-input>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="confirm" @click="completeGeneration = true">
|
|
|
|
|
|
+ <div class="confirm" @click="addBatchAddress">
|
|
<img src="../../assets/address/Stroke-2.svg" alt="Stroke">
|
|
<img src="../../assets/address/Stroke-2.svg" alt="Stroke">
|
|
开始生成
|
|
开始生成
|
|
</div>
|
|
</div>
|
|
@@ -460,58 +460,31 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
+import {
|
|
|
|
+ addPremiumAddress,
|
|
|
|
+ batchAddress,
|
|
|
|
+ downloadAddress,
|
|
|
|
+ getCountAddress,
|
|
|
|
+ getGroupList,
|
|
|
|
+ pageAddress
|
|
|
|
+} from '@/api/adress'
|
|
|
|
+import AES from "@/utils/aes";
|
|
|
|
+import Axios from "axios";
|
|
export default {
|
|
export default {
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
- head: {
|
|
|
|
- all:85,
|
|
|
|
- bulk:85,
|
|
|
|
- boutique:85
|
|
|
|
- },
|
|
|
|
table:{
|
|
table:{
|
|
- totalNumber:22222,
|
|
|
|
- walletNameGroup:['精品号','钱包组名称','钱包组名称'],
|
|
|
|
|
|
+ page:1,
|
|
|
|
+ pageSize:5,
|
|
|
|
+ walletNameGroup:['精品号'],
|
|
walletNameGroupIndex:0,
|
|
walletNameGroupIndex:0,
|
|
|
|
+ total:0
|
|
},
|
|
},
|
|
- tableData: [
|
|
|
|
- {
|
|
|
|
- projectName:'Zk',
|
|
|
|
- totalNumber:5,
|
|
|
|
- completedNumber:2,
|
|
|
|
- status:0,
|
|
|
|
- gas:1,
|
|
|
|
- officialWebsite:"https://nytimes.com",
|
|
|
|
- startTime:'16/08/2013',
|
|
|
|
- endTime:'16/08/2013'
|
|
|
|
- }, {
|
|
|
|
- projectName:'LayerZero',
|
|
|
|
- totalNumber:4,
|
|
|
|
- completedNumber:1,
|
|
|
|
- status:1,
|
|
|
|
- gas:23,
|
|
|
|
- officialWebsite:"https://nytimes.com",
|
|
|
|
- startTime:'16/08/2013',
|
|
|
|
- endTime:'16/08/2013'
|
|
|
|
- }, {
|
|
|
|
- projectName:'StarkNet',
|
|
|
|
- totalNumber:1,
|
|
|
|
- completedNumber:0,
|
|
|
|
- status:2,
|
|
|
|
- gas:23,
|
|
|
|
- officialWebsite:"https://nytimes.com",
|
|
|
|
- startTime:'16/08/2013',
|
|
|
|
- endTime:'16/08/2013'
|
|
|
|
- }, {
|
|
|
|
- projectName:'Sei',
|
|
|
|
- totalNumber:3,
|
|
|
|
- completedNumber:2,
|
|
|
|
- status:3,
|
|
|
|
- gas:23,
|
|
|
|
- officialWebsite:"https://nytimes.com",
|
|
|
|
- startTime:'16/08/2013',
|
|
|
|
- endTime:'16/08/2013'
|
|
|
|
- }
|
|
|
|
- ],
|
|
|
|
|
|
+ count:{
|
|
|
|
+ batchCount:0,
|
|
|
|
+ premiumCount:0
|
|
|
|
+ },
|
|
|
|
+ tableData: [],
|
|
drawerView:false,
|
|
drawerView:false,
|
|
drawerViewTableData:[
|
|
drawerViewTableData:[
|
|
{
|
|
{
|
|
@@ -547,17 +520,27 @@ export default {
|
|
],
|
|
],
|
|
drawerAddress:false,
|
|
drawerAddress:false,
|
|
addressArr:[
|
|
addressArr:[
|
|
- {},
|
|
|
|
- {}
|
|
|
|
|
|
+ {
|
|
|
|
+ chainId:'',
|
|
|
|
+ address:'',
|
|
|
|
+ groupName:''
|
|
|
|
+ }
|
|
],
|
|
],
|
|
|
|
+ batchAddressObj:{
|
|
|
|
+ chainId:'',
|
|
|
|
+ groupName:'',
|
|
|
|
+ numWallet:1,
|
|
|
|
+ password:'',
|
|
|
|
+ verifyPassword:''
|
|
|
|
+ },
|
|
options: [{
|
|
options: [{
|
|
- value: '选项1',
|
|
|
|
|
|
+ value: '1',
|
|
label: 'ETH'
|
|
label: 'ETH'
|
|
}],
|
|
}],
|
|
value: '',
|
|
value: '',
|
|
input: '',
|
|
input: '',
|
|
drawerImport:false,
|
|
drawerImport:false,
|
|
- drawerImportSelect:0,
|
|
|
|
|
|
+ drawerImportSelect:1,
|
|
completeGeneration:false,
|
|
completeGeneration:false,
|
|
addressList:[
|
|
addressList:[
|
|
'0xc63988ae669C41125ecB4e8113f4D0eF21874637',
|
|
'0xc63988ae669C41125ecB4e8113f4D0eF21874637',
|
|
@@ -570,11 +553,163 @@ export default {
|
|
'0xc63988ae669C41125ecB4e8113f4D0eF21874637',
|
|
'0xc63988ae669C41125ecB4e8113f4D0eF21874637',
|
|
'0xc63988ae669C41125ecB4e8113f4D0eF21874637',
|
|
'0xc63988ae669C41125ecB4e8113f4D0eF21874637',
|
|
'0xc63988ae669C41125ecB4e8113f4D0eF21874637',
|
|
'0xc63988ae669C41125ecB4e8113f4D0eF21874637',
|
|
- ]
|
|
|
|
|
|
+ ],
|
|
|
|
+ url: process.env.VUE_APP_BASEURL,
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ created() {
|
|
|
|
+ this.getAddressGroupList();
|
|
|
|
+ this.getCount()
|
|
|
|
+ },
|
|
methods: {
|
|
methods: {
|
|
|
|
+ getAddressGroupList(){
|
|
|
|
+ getGroupList().then(res=>{
|
|
|
|
+ this.table.walletNameGroup.push(...res)
|
|
|
|
+ this.getAddressGroupAddress()
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ getAddressGroupAddress(){
|
|
|
|
+ let params
|
|
|
|
+ if(this.table.walletNameGroupIndex === 0){
|
|
|
|
+ params = {
|
|
|
|
+ page:this.table.page,
|
|
|
|
+ pageSize:this.table.pageSize,
|
|
|
|
+ addressType:0
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ params = {
|
|
|
|
+ page:this.table.page,
|
|
|
|
+ pageSize:this.table.pageSize,
|
|
|
|
+ groupName:this.table.walletNameGroup[this.table.walletNameGroupIndex]
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ pageAddress(params).then(res=>{
|
|
|
|
+ this.tableData = res.records
|
|
|
|
+ this.table.total = res.total
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ selectAddressGroup(index){
|
|
|
|
+ this.table.walletNameGroupIndex = index
|
|
|
|
+ this.table.page = 1
|
|
|
|
+ this.getAddressGroupAddress()
|
|
|
|
+ },
|
|
|
|
+ viewAddress(){
|
|
|
|
+ this.drawerView = true
|
|
|
|
+ },
|
|
|
|
+ addBoutiqueAccount(){
|
|
|
|
+ let params = this.addressArr
|
|
|
|
+ addPremiumAddress(params).then(()=>{
|
|
|
|
+ this.success('添加地址成功')
|
|
|
|
+ this.drawerAddress = false
|
|
|
|
+ let obj = {
|
|
|
|
+ chainId:'',
|
|
|
|
+ address:'',
|
|
|
|
+ groupName:''
|
|
|
|
+ }
|
|
|
|
+ this.addressArr = [obj]
|
|
|
|
+ this.getAddressGroupAddress()
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ addressArrPush(){
|
|
|
|
+ let obj = {
|
|
|
|
+ chainId:'',
|
|
|
|
+ address:'',
|
|
|
|
+ groupName:''
|
|
|
|
+ }
|
|
|
|
+ this.addressArr.push(obj)
|
|
|
|
+ },
|
|
|
|
+ addressArrDelete(index){
|
|
|
|
+ this.addressArr.splice(index,1)
|
|
|
|
+ },
|
|
|
|
+ getCount(){
|
|
|
|
+ getCountAddress().then(res=>{
|
|
|
|
+ this.count.batchCount = res.batchCount
|
|
|
|
+ this.count.premiumCount = res.premiumCount
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ pageChange(page){
|
|
|
|
+ this.table.page = page
|
|
|
|
+ this.getAddressGroupAddress()
|
|
|
|
+ },
|
|
|
|
+ addBatchAddress(){
|
|
|
|
+ if(this.batchAddressObj.password !== this.batchAddressObj.verifyPassword){
|
|
|
|
+ this.error('密码不一致')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ let params = this.batchAddressObj
|
|
|
|
+ batchAddress(params).then(res=>{
|
|
|
|
+ console.log(res);
|
|
|
|
+ this.completeGeneration = true
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ downloadKeyStore(){
|
|
|
|
+ let params = {
|
|
|
|
+ groupName:this.table.walletNameGroup[this.table.walletNameGroupIndex]
|
|
|
|
+ }
|
|
|
|
+ downloadAddress(params).then(res=>{
|
|
|
|
+ console.log(res);
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ downloadAddress() {
|
|
|
|
+
|
|
|
|
+ Axios.post(
|
|
|
|
+ this.url + "ams/address/download/batch-keystore",
|
|
|
|
+ {
|
|
|
|
+ groupName: this.table.walletNameGroup[this.table.walletNameGroupIndex],
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ responseType: "arraybuffer",
|
|
|
|
+ headers: {
|
|
|
|
+ "Conntent-Type": "application/json; application/octet-stream;",
|
|
|
|
+ },
|
|
|
|
+ }
|
|
|
|
+ )
|
|
|
|
+ .then((response) => {
|
|
|
|
+ console.log(response.data);
|
|
|
|
+ let buffer = response.data;
|
|
|
|
+ let view = new DataView(buffer);
|
|
|
|
|
|
|
|
+ let str = "";
|
|
|
|
+ for (let i = 0; i < view.byteLength; i++) {
|
|
|
|
+ str += String.fromCharCode(view.getUint8(i));
|
|
|
|
+ }
|
|
|
|
+ if (str.includes(".json")) {
|
|
|
|
+ console.log(str.includes(".json"));
|
|
|
|
+ this.downloadFile(response.data);
|
|
|
|
+ } else {
|
|
|
|
+ const data = JSON.parse(str);
|
|
|
|
+ this.$message.error(data.message);
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ .catch((e) => {
|
|
|
|
+ console.log(e);
|
|
|
|
+ this.$message.error(e);
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ downloadFile(data) {
|
|
|
|
+ let blob = new Blob([data], { type: "application/zip" });
|
|
|
|
+ let url = window.URL.createObjectURL(blob);
|
|
|
|
+ const link = document.createElement("a"); // 创建a标签
|
|
|
|
+ link.href = url;
|
|
|
|
+ link.download = this.table.walletNameGroup[this.table.walletNameGroupIndex] + ".zip";
|
|
|
|
+ link.click();
|
|
|
|
+ URL.revokeObjectURL(url); // 释放内存
|
|
|
|
+ this.downloadModal = false;
|
|
|
|
+ },
|
|
|
|
+ success(message) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '成功',
|
|
|
|
+ message: message,
|
|
|
|
+ type: 'success'
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ error(message) {
|
|
|
|
+ this.$notify.error({
|
|
|
|
+ title: '错误',
|
|
|
|
+ message: message
|
|
|
|
+ });
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
@@ -665,12 +800,6 @@ export default {
|
|
line-height: 28px;
|
|
line-height: 28px;
|
|
color: #181818;
|
|
color: #181818;
|
|
}
|
|
}
|
|
- .app-container-table-title-right{
|
|
|
|
- font-weight: 400;
|
|
|
|
- font-size: 21px;
|
|
|
|
- line-height: 28px;
|
|
|
|
- color: #898a8c;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
.app-container-table-select{
|
|
.app-container-table-select{
|
|
display: flex;
|
|
display: flex;
|
|
@@ -705,7 +834,7 @@ export default {
|
|
align-items: center;
|
|
align-items: center;
|
|
gap:100px;
|
|
gap:100px;
|
|
padding: 20px 0;
|
|
padding: 20px 0;
|
|
- margin: 40px 0;
|
|
|
|
|
|
+ margin: 20px 0;
|
|
border-top: 1px solid #f5f5f5;
|
|
border-top: 1px solid #f5f5f5;
|
|
border-bottom: 1px solid #f5f5f5;
|
|
border-bottom: 1px solid #f5f5f5;
|
|
.app-container-table-screening-item{
|
|
.app-container-table-screening-item{
|
|
@@ -794,6 +923,10 @@ export default {
|
|
margin-right: 14px;
|
|
margin-right: 14px;
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
|
|
+ .pagination{
|
|
|
|
+ position: fixed;
|
|
|
|
+ bottom:36px
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.drawerView-container{
|
|
.drawerView-container{
|
|
@@ -962,6 +1095,7 @@ export default {
|
|
display: flex;
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-direction: column;
|
|
height: 100vh;
|
|
height: 100vh;
|
|
|
|
+ overflow: auto;
|
|
.drawerAddress-container-head{
|
|
.drawerAddress-container-head{
|
|
padding: 56px 40px;
|
|
padding: 56px 40px;
|
|
background: #FFFFFF;
|
|
background: #FFFFFF;
|
|
@@ -1014,6 +1148,7 @@ export default {
|
|
font-size: 15px;
|
|
font-size: 15px;
|
|
line-height: 20px;
|
|
line-height: 20px;
|
|
color: #2980FF;
|
|
color: #2980FF;
|
|
|
|
+ cursor: pointer;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1047,6 +1182,7 @@ export default {
|
|
font-size: 15px;
|
|
font-size: 15px;
|
|
line-height: 20px;
|
|
line-height: 20px;
|
|
color: #EB5757;
|
|
color: #EB5757;
|
|
|
|
+ cursor: pointer;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.input{
|
|
.input{
|
|
@@ -1063,6 +1199,7 @@ export default {
|
|
font-size: 17px;
|
|
font-size: 17px;
|
|
line-height: 22px;
|
|
line-height: 22px;
|
|
color: #2980FF;
|
|
color: #2980FF;
|
|
|
|
+ cursor: pointer;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1139,7 +1276,7 @@ export default {
|
|
justify-content: center;
|
|
justify-content: center;
|
|
gap:8px;
|
|
gap:8px;
|
|
margin-top: 28px;
|
|
margin-top: 28px;
|
|
-
|
|
|
|
|
|
+ cursor: pointer;
|
|
font-weight: 700;
|
|
font-weight: 700;
|
|
font-size: 16px;
|
|
font-size: 16px;
|
|
line-height: 21px;
|
|
line-height: 21px;
|