This commit is contained in:
2025-05-20 09:12:47 +08:00
parent 017cf06262
commit 1e775b45bd
12 changed files with 398 additions and 74 deletions

View File

@ -2,5 +2,5 @@
ENV = 'development' ENV = 'development'
# base api # base api
VUE_APP_BASE_API = 'http://127.0.0.1:8000' VUE_APP_BASE_API = 'http://192.168.2.102:8000'

View File

@ -53,6 +53,14 @@ export function exportWmTransferItemExcel(data) {
}) })
} }
// 清理数据
export function wmTransferItemClear() {
return request({
url: '/api/v1/wm-transfer-item/clear',
method: 'delete'
})
}
// 导出自动转账日志Excel // 导出自动转账日志Excel
export function exportWmTransferItemAutoLogExcel(data) { export function exportWmTransferItemAutoLogExcel(data) {
return request({ return request({

View File

@ -51,3 +51,20 @@ export function clearAllWmWalletInfo() {
method: 'delete' method: 'delete'
}) })
} }
export function batchUpdateWmWalletInfo(data) {
return request({
url: '/api/v1/wm-wallet-info/batch',
method: 'put',
data: data
})
}
// excel导入
export function wmWalletInfoExcelImport(data) {
return request({
url: '/api/v1/wm-wallet-info/excel-import',
method: 'post',
data: data
})
}

View File

@ -31,6 +31,7 @@ service.interceptors.request.use(
} }
) )
// export const baseURL = window.CONFIG.VUE_APP_BASE_API
// response interceptor // response interceptor
service.interceptors.response.use( service.interceptors.response.use(
/** /**

View File

@ -6,7 +6,7 @@ const mimeMap = {
zip: 'application/zip' zip: 'application/zip'
} }
const baseUrl = process.env.VUE_APP_BASE_API export const baseUrl = process.env.VUE_APP_BASE_API
export function downLoadZip(str, filename) { export function downLoadZip(str, filename) {
var url = baseUrl + str var url = baseUrl + str
axios({ axios({

View File

@ -34,6 +34,7 @@
<el-table v-loading="loading" :data="wmNetworkList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="wmNetworkList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="编号" prop="id" align="center" width="55" />
<el-table-column label="网络名称" align="center" prop="networkName" :show-overflow-tooltip="true" /> <el-table-column label="网络名称" align="center" prop="networkName" :show-overflow-tooltip="true" />
<el-table-column label="网络代码" align="center" prop="code" :show-overflow-tooltip="true" /> <el-table-column label="网络代码" align="center" prop="code" :show-overflow-tooltip="true" />
<el-table-column <el-table-column

View File

@ -22,7 +22,16 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="转账类型" prop="transType">
<el-select v-model="queryParams.transType" clearable placeholder="请选择">
<el-option
v-for="item in transTypeOptions"
:key="'querytransType' + item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -65,7 +74,9 @@
</el-row> </el-row>
<el-table v-loading="loading" :data="wmTokenList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="wmTokenList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /><el-table-column <el-table-column type="selection" width="55" align="center" />
<el-table-column label="编号" prop="id" align="center" width="55" />
<el-table-column
label="网络" label="网络"
align="center" align="center"
prop="networkId" prop="networkId"
@ -80,7 +91,7 @@
prop="tokenName" prop="tokenName"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/><el-table-column /><el-table-column
label="代币地址" label="合约地址"
align="center" align="center"
prop="tokenAddress" prop="tokenAddress"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
@ -100,13 +111,13 @@
<el-tag v-else type="danger">关闭</el-tag> <el-tag v-else type="danger">关闭</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="触发代币数" align="center" prop="triggerAmount" />
<el-table-column label="转账类型" align="center" width="100"> <el-table-column label="转账类型" align="center" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
{{ transTypeFormat(scope.row) }} {{ transTypeFormat(scope.row) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="转账值" prop="transValue" align="center" width="100" /> <el-table-column label="自动转账值" prop="transValue" align="center" width="100" />
<el-table-column label="触发代币数" align="center" prop="triggerAmount" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
@ -157,8 +168,8 @@
<el-form-item label="代币名称" prop="tokenName"> <el-form-item label="代币名称" prop="tokenName">
<el-input v-model="form.tokenName" placeholder="代币名称" maxlength="20" show-word-limit /> <el-input v-model="form.tokenName" placeholder="代币名称" maxlength="20" show-word-limit />
</el-form-item> </el-form-item>
<el-form-item label="代币地址" prop="tokenAddress"> <el-form-item label="合约地址" prop="tokenAddress">
<el-input v-model="form.tokenAddress" placeholder="代币地址 请注意如果未填写则为主币!!" /> <el-input v-model="form.tokenAddress" placeholder="合约地址 请注意只填写 0 为主币!!" />
</el-form-item> </el-form-item>
<el-form-item label="代币精度" prop="decimals"> <el-form-item label="代币精度" prop="decimals">
<el-input v-model="form.decimals" placeholder="代币精度" /> <el-input v-model="form.decimals" placeholder="代币精度" />
@ -259,8 +270,8 @@ export default {
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
networkId: undefined, networkId: undefined,
tokenName: undefined tokenName: undefined,
idOrder: 'desc'
}, },
// 表单参数 // 表单参数
form: { form: {

View File

@ -6,13 +6,30 @@
@open="reloadDta" @open="reloadDta"
@close="closeDialog" @close="closeDialog"
> >
<el-table v-loading="loading" :data="wmTransferItemList" @cell-dblclick="handleCellDblClick"> <el-table
v-loading="loading"
:data="wmTransferItemList"
@cell-dblclick="handleCellDblClick"
>
<!-- <el-table-column <!-- <el-table-column
label="代币地址" label="代币地址"
align="center" align="center"
prop="tokenAddress" prop="tokenAddress"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> --> /> -->
<el-table-column
label="网络"
width="150"
prop="networkName"
align="center"
/>
<el-table-column
label="代币名称"
width="80"
prop="tokenName"
align="center"
/>
<el-table-column <el-table-column
label="来源地址" label="来源地址"
align="center" align="center"
@ -50,7 +67,11 @@
prop="privateKey" prop="privateKey"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> />
<el-table-column label="交易hash" prop="hash" :show-overflow-tooltip="true" /> <el-table-column
label="交易hash"
prop="hash"
:show-overflow-tooltip="true"
/>
<el-table-column label="状态" prop="status"> <el-table-column label="状态" prop="status">
<template slot-scope="scope"> <template slot-scope="scope">
{{ statusFormat(scope.row) }} {{ statusFormat(scope.row) }}
@ -187,7 +208,9 @@ export default {
return transferType ? transferType.label : '' return transferType ? transferType.label : ''
}, },
statusFormat(row) { statusFormat(row) {
const status = this.statusOptions.find((item) => item.value === row.status) const status = this.statusOptions.find(
(item) => item.value === row.status
)
return status ? status.label : '' return status ? status.label : ''
}, },
/** 查询参数列表 */ /** 查询参数列表 */
@ -233,13 +256,22 @@ export default {
// 获取单元格文本内容 // 获取单元格文本内容
const cellText = row[column.property] const cellText = row[column.property]
// 检查 navigator.clipboard 是否可用
if (!navigator.clipboard) {
this.$message.error('您的浏览器不支持剪贴板 API请尝试手动复制。')
return // 结束函数执行,避免出错
}
// 使用 Clipboard API 复制文本 // 使用 Clipboard API 复制文本
navigator.clipboard.writeText(cellText).then(() => { navigator.clipboard
this.$message.success('已复制到剪贴板: ' + cellText) .writeText(cellText)
}).catch(err => { .then(() => {
console.error('复制失败:', err) this.$message.success('复制到剪贴板: ' + cellText)
this.$message.error('复制失败') })
}) .catch((err) => {
console.error('复制失败:', err)
this.$message.error('复制失败: ' + err.message) // 显示更详细的错误信息
})
} }
} }
} }

View File

@ -71,6 +71,8 @@
<el-table v-loading="loading" :data="wmTransferList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="wmTransferList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="网络" width="150" prop="networkName" align="center" />
<el-table-column label="代币名称" width="80" prop="tokenName" align="center" />
<el-table-column label="类型" align="center" prop="type" width="80"> <el-table-column label="类型" align="center" prop="type" width="80">
<template slot-scope="scope"> <template slot-scope="scope">
{{ typeFormat(scope.row) }} {{ typeFormat(scope.row) }}
@ -485,8 +487,12 @@ export default {
handleExport(row) { handleExport(row) {
this.loading = true this.loading = true
exportWmTransferItemExcel({ transferId: row.id }).then(res => { exportWmTransferItemExcel({ transferId: row.id }).then(res => {
resolveBlobByName(res, null, '转账明细.xlsx') if (res.type === 'application/json') {
this.msgSuccess('导出成功') this.msgError('暂无数据')
} else {
resolveBlobByName(res, null, '转账明细.xlsx')
this.msgSuccess('导出成功')
}
}).finally(() => { }).finally(() => {
this.loading = false this.loading = false
}) })

View File

@ -14,7 +14,30 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="代币数量">
<div style="display: flex;;">
<div>
<el-input
v-model="queryParams.startAmount"
width="60"
clearable
placeholder="请输入代币数量"
/>
</div>
<div style="width:10px;text-align: center;">-</div>
<div> <el-input
v-model="queryParams.endAmount"
width="60"
clearable
placeholder="请输入代币数量"
/> </div>
</div>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" clearable placeholder="请选择状态">
<el-option v-for="item in statusOptions" :key="'querystatus' + item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -33,6 +56,16 @@
>导出 >导出
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5">
<el-button
v-permisaction="['admin:wmAutoLog:clearAll']"
type="danger"
icon="el-icon-delete"
size="mini"
@click="handleClearAll"
>清除所有
</el-button>
</el-col>
</el-row> </el-row>
<el-table v-loading="loading" :data="wmTransferItemList" @cell-dblclick="handleCellDblClick"> <el-table v-loading="loading" :data="wmTransferItemList" @cell-dblclick="handleCellDblClick">
<el-table-column <el-table-column
@ -49,10 +82,10 @@
width="80px" width="80px"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> />
<el-table-column label="私钥" align="center" prop="privateKey" :show-overflow-tooltip="true" />
<el-table-column label="来源地址" align="center" prop="fromAddress" :show-overflow-tooltip="true" /> <el-table-column label="来源地址" align="center" prop="fromAddress" :show-overflow-tooltip="true" />
<el-table-column label="目标地址" align="center" prop="toAddress" :show-overflow-tooltip="true" /> <el-table-column label="目标地址" align="center" prop="toAddress" :show-overflow-tooltip="true" />
<el-table-column label="代币数量" align="center" prop="amount" :show-overflow-tooltip="true" /> <el-table-column label="代币数量" align="center" prop="amount" :show-overflow-tooltip="true" />
<el-table-column label="私钥" align="center" prop="privateKey" :show-overflow-tooltip="true" />
<el-table-column label="交易hash" prop="hash" :show-overflow-tooltip="true" /> <el-table-column label="交易hash" prop="hash" :show-overflow-tooltip="true" />
<el-table-column label="状态" prop="status" width="80" align="center"> <el-table-column label="状态" prop="status" width="80" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
@ -79,7 +112,7 @@
</template> </template>
<script> <script>
import { getWmTransferItemAutoLogPage, exportWmTransferItemAutoLogExcel } from '@/api/admin/wm-transfer-item' import { getWmTransferItemAutoLogPage, exportWmTransferItemAutoLogExcel, wmTransferItemClear } from '@/api/admin/wm-transfer-item'
import { listWmNetwork } from '@/api/admin/wm-network' import { listWmNetwork } from '@/api/admin/wm-network'
import { resolveBlobByName } from '@/utils/zipdownload' import { resolveBlobByName } from '@/utils/zipdownload'
@ -119,10 +152,6 @@ export default {
} }
], ],
statusOptions: [ statusOptions: [
{
label: '默认',
value: 0
},
{ {
label: '交易中', label: '交易中',
value: 1 value: 1
@ -139,7 +168,11 @@ export default {
queryParams: { queryParams: {
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
networkId: undefined,
startAmount: undefined,
endAmount: undefined,
type: undefined, type: undefined,
status: undefined,
idOrder: 'desc' idOrder: 'desc'
}, },
networkList: [], networkList: [],
@ -199,6 +232,8 @@ export default {
resetQuery() { resetQuery() {
this.dateRange = [] this.dateRange = []
this.resetForm('queryForm') this.resetForm('queryForm')
this.queryParams.startAmount = undefined
this.queryParams.endAmount = undefined
this.handleQuery() this.handleQuery()
}, },
handleCellDblClick(row, column, cell, event) { handleCellDblClick(row, column, cell, event) {
@ -216,11 +251,36 @@ export default {
handleExport() { handleExport() {
this.loading = true this.loading = true
exportWmTransferItemAutoLogExcel(this.queryParams).then(res => { exportWmTransferItemAutoLogExcel(this.queryParams).then(res => {
resolveBlobByName(res, null, '自动转账明细.xlsx') if (res.type === 'application/json') {
this.msgSuccess('导出成功') this.msgError('暂无数据')
} else {
resolveBlobByName(res, null, '自动转账明细.xlsx')
this.msgSuccess('导出成功')
}
}).finally(() => { }).finally(() => {
this.loading = false this.loading = false
}) })
},
handleClearAll() {
const _this = this
this.$confirm('是否确认清除所有记录?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function() {
_this.loading = true
return wmTransferItemClear()
}).then((response) => {
if (response.code === 200) {
this.msgSuccess(response.msg)
this.getList()
} else {
this.msgError(response.msg)
}
}).finally(() => {
_this.loading = false
})
} }
} }
} }

View File

@ -0,0 +1,129 @@
<template>
<el-dialog title="Excel导入" :visible.sync="showDialog" width="600px" :close-on-click-modal="false" @open="opened">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="模板文件">
<p style="margin: 0; color: #1890ff;"><a
:href="futuresUrl"
download="钱包导入模板.xlsx"
>钱包导入模板.xlsx</a></p>
</el-form-item>
<el-form-item label="Excel文件" prop="file">
<el-upload
class="upload-demo"
drag
:auto-upload="false"
action=""
accept=".xls,.xlsx"
:file-list="fileList"
:before-upload="beforeUpload"
:on-change="handleFileChange"
:on-remove="handleFileRemove"
:limit="1"
>
<i class="el-icon-upload" />
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
<div slot="tip" class="el-upload__tip">只能上传xls/xlsx文件</div>
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" :loading="formLoading" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { wmWalletInfoExcelImport } from '@/api/admin/wm-wallet-info'
import { baseUrl } from '@/utils/zipdownload'
export default {
name: 'ExcelImport',
props: {
show: Boolean
},
data() {
return {
form: {
file: null
},
formLoading: false,
futuresUrl: baseUrl + '/static/excel/钱包导入模板.xlsx',
fileList: [], // 用于存储选中的文件
showDialog: false,
rules: {
file: [{ required: true, message: '文件不能为空', trigger: 'blur' }]
}
}
},
watch: {
show(val) {
this.showDialog = val
},
showDialog(val) {
this.$emit('update:show', val)
}
},
methods: {
cancel() {
this.showDialog = false
},
// 在上传文件之前触发
beforeUpload(file) {
this.form.file = file
return false // 阻止自动上传
},
// 文件列表改变时触发
handleFileChange(file, fileList) {
this.fileList = fileList
this.form.file = fileList.length > 0 ? fileList[0].raw : null
},
// 移除文件时触发
handleFileRemove() {
this.fileList = []
this.form.file = null
},
/** 提交按钮 */
submitForm: function() {
this.$refs['form'].validate(valid => {
if (valid) {
this.formLoading = true
const _this = this
// 创建表单数据
const formData = new FormData()
if (this.form.file) {
formData.append('file', this.form.file)
}
wmWalletInfoExcelImport(formData).then(response => {
_this.formLoading = false
if (response.code === 200) {
this.msgSuccess(response.msg)
this.showDialog = false
this.$emit('upload-success')
} else {
this.msgError(response.msg)
}
})
.finally(() => {
_this.formLoading = false
})
}
})
},
reset() {
this.fileList = []
this.form = {
file: null
}
},
opened() {
this.reset()
}
}
}
</script>

View File

@ -19,27 +19,6 @@
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button
v-permisaction="['admin:wmWalletInfo:add']"
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
v-permisaction="['admin:wmWalletInfo:edit']"
type="success"
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
>修改
</el-button>
</el-col> -->
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
v-permisaction="['admin:wmWalletInfo:add']" v-permisaction="['admin:wmWalletInfo:add']"
@ -47,9 +26,30 @@
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
>批量添加
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
v-permisaction="['admin:wmWalletInfo:upload']"
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleUploadExcel"
>导入钱包 >导入钱包
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5">
<el-button
v-permisaction="['admin:wmWalletInfo:edit']"
type="primary"
icon="el-icon-edit"
size="mini"
:disabled="multiple"
@click="handleUpdate"
>修改备注
</el-button>
</el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
v-permisaction="['admin:wmWalletInfo:remove']" v-permisaction="['admin:wmWalletInfo:remove']"
@ -75,23 +75,26 @@
<el-table v-loading="loading" :data="wmWalletInfoList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="wmWalletInfoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="编号" prop="id" align="center" width="55" />
<el-table-column label="钱包私钥" align="center" prop="privateKey" :show-overflow-tooltip="true" /> <el-table-column label="钱包私钥" align="center" prop="privateKey" :show-overflow-tooltip="true" />
<el-table-column label="钱包地址" align="center" prop="address" :show-overflow-tooltip="true" /> <el-table-column label="钱包地址" align="center" prop="address" />
<el-table-column label="备注" prop="remark" :show-overflow-tooltip="true" />
<el-table-column label="创建时间" prop="createdAt" width="155"> <el-table-column label="创建时间" prop="createdAt" width="155">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createdAt) }}</span> <span>{{ parseTime(scope.row.createdAt) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <el-popconfirm class="delete-popconfirm" title="确认要修改吗?" confirm-button-text="修改" <el-button
@confirm="handleUpdate(scope.row)"> slot="reference"
<el-button slot="reference" v-permisaction="['admin:wmWalletInfo:edit']" size="mini" v-permisaction="['admin:wmWalletInfo:edit']"
type="text" icon="el-icon-edit">修改 size="mini"
</el-button> type="text"
</el-popconfirm> --> icon="el-icon-delete"
<!-- <el-popconfirm class="delete-popconfirm" title="确认要删除吗?" confirm-button-text="删除" @click="handleUpdate(scope.row)"
@confirm="handleDelete(scope.row)"> --> >编辑
</el-button>
<el-button <el-button
slot="reference" slot="reference"
v-permisaction="['admin:wmWalletInfo:remove']" v-permisaction="['admin:wmWalletInfo:remove']"
@ -101,7 +104,6 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
>删除 >删除
</el-button> </el-button>
<!-- </el-popconfirm> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -132,17 +134,41 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog title="修改备注" :visible.sync="remarkOpen" width="500px">
<el-form ref="remarkForm" :model="remarkForm" label-width="80px">
<el-form-item label="备注" prop="remark">
<el-input
v-model="remarkForm.remark"
placeholder="请填写备注"
type="textarea"
:rows="3"
clearable
maxlength="255"
show-word-limit
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" :loading="loading" @click="submitRemarkForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<ExcelImport :show.sync="fileOpen" @upload-success="handleExcelSuccess" />
</el-card> </el-card>
</template> </template>
</BasicLayout> </BasicLayout>
</template> </template>
<script> <script>
import { addWmWalletInfo, delWmWalletInfo, getWmWalletInfo, listWmWalletInfo, clearAllWmWalletInfo } from '@/api/admin/wm-wallet-info' import { addWmWalletInfo, delWmWalletInfo, listWmWalletInfo, clearAllWmWalletInfo, batchUpdateWmWalletInfo } from '@/api/admin/wm-wallet-info'
import ExcelImport from '@/views/admin/wm-wallet-info/excel-import'
export default { export default {
name: 'WmWalletInfo', name: 'WmWalletInfo',
components: { components: {
ExcelImport
}, },
data() { data() {
return { return {
@ -160,7 +186,9 @@ export default {
title: '', title: '',
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
remarkOpen: false,
isEdit: false, isEdit: false,
fileOpen: false,
// 类型数据字典 // 类型数据字典
typeOptions: [], typeOptions: [],
wmWalletInfoList: [], wmWalletInfoList: [],
@ -171,12 +199,13 @@ export default {
queryParams: { queryParams: {
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
privateKey: undefined privateKey: undefined,
idOrder: 'desc'
}, },
// 表单参数 // 表单参数
form: { form: {
}, },
remarkForm: {},
// 表单校验 // 表单校验
rules: { rules: {
keys: [{ required: true, message: '钱包私钥不能为空', trigger: 'blur' }] keys: [{ required: true, message: '钱包私钥不能为空', trigger: 'blur' }]
@ -200,7 +229,15 @@ export default {
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false this.open = false
this.remarkOpen = false
this.reset() this.reset()
this.resetRemarkForm()
},
resetRemarkForm() {
this.remarkForm = {
ids: undefined,
remark: undefined
}
}, },
// 表单重置 // 表单重置
reset() { reset() {
@ -246,15 +283,11 @@ export default {
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset() this.resetRemarkForm()
const id = const id =
row.id || this.ids row.id ? [row.id] : this.ids
getWmWalletInfo(id).then(response => { this.remarkForm.ids = id
this.form = response.data this.remarkOpen = true
this.open = true
this.title = '修改钱包信息'
this.isEdit = true
})
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function() { submitForm: function() {
@ -276,6 +309,25 @@ export default {
} }
}) })
}, },
submitRemarkForm: function() {
this.$refs['remarkForm'].validate(valid => {
if (valid) {
this.loading = true
batchUpdateWmWalletInfo(this.remarkForm).then(response => {
if (response.code === 200) {
this.msgSuccess(response.msg)
this.remarkOpen = false
this.getList()
} else {
this.msgError(response.msg)
}
})
.finally(() => {
this.loading = false
})
}
})
},
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
var Ids = (row.id && [row.id]) || this.ids var Ids = (row.id && [row.id]) || this.ids
@ -322,6 +374,13 @@ export default {
.finally(() => { .finally(() => {
_this.loading = false _this.loading = false
}) })
},
handleExcelSuccess() {
this.getList()
},
handleUploadExcel() {
console.log('上传文件')
this.fileOpen = true
} }
} }
} }