1、
This commit is contained in:
		| @ -2,5 +2,5 @@ | ||||
| ENV = 'development' | ||||
|  | ||||
| # base api | ||||
| VUE_APP_BASE_API = 'http://127.0.0.1:8000' | ||||
| VUE_APP_BASE_API = 'http://192.168.2.102:8000' | ||||
|  | ||||
|  | ||||
| @ -53,6 +53,14 @@ export function exportWmTransferItemExcel(data) { | ||||
|   }) | ||||
| } | ||||
|  | ||||
| // 清理数据 | ||||
| export function wmTransferItemClear() { | ||||
|   return request({ | ||||
|     url: '/api/v1/wm-transfer-item/clear', | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
|  | ||||
| // 导出自动转账日志Excel | ||||
| export function exportWmTransferItemAutoLogExcel(data) { | ||||
|   return request({ | ||||
|  | ||||
| @ -51,3 +51,20 @@ export function clearAllWmWalletInfo() { | ||||
|     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 | ||||
|   }) | ||||
| } | ||||
|  | ||||
| @ -31,6 +31,7 @@ service.interceptors.request.use( | ||||
|   } | ||||
| ) | ||||
|  | ||||
| // export const baseURL = window.CONFIG.VUE_APP_BASE_API | ||||
| // response interceptor | ||||
| service.interceptors.response.use( | ||||
|   /** | ||||
|  | ||||
| @ -6,7 +6,7 @@ const mimeMap = { | ||||
|   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) { | ||||
|   var url = baseUrl + str | ||||
|   axios({ | ||||
|  | ||||
| @ -34,6 +34,7 @@ | ||||
|  | ||||
|         <el-table v-loading="loading" :data="wmNetworkList" @selection-change="handleSelectionChange"> | ||||
|           <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="code" :show-overflow-tooltip="true" /> | ||||
|           <el-table-column | ||||
|  | ||||
| @ -22,7 +22,16 @@ | ||||
|             @keyup.enter.native="handleQuery" | ||||
|           /> | ||||
|           </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-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> | ||||
| @ -65,7 +74,9 @@ | ||||
|         </el-row> | ||||
|  | ||||
|         <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="网络" | ||||
|             align="center" | ||||
|             prop="networkId" | ||||
| @ -80,7 +91,7 @@ | ||||
|             prop="tokenName" | ||||
|             :show-overflow-tooltip="true" | ||||
|           /><el-table-column | ||||
|             label="代币地址" | ||||
|             label="合约地址" | ||||
|             align="center" | ||||
|             prop="tokenAddress" | ||||
|             :show-overflow-tooltip="true" | ||||
| @ -100,13 +111,13 @@ | ||||
|               <el-tag v-else type="danger">关闭</el-tag> | ||||
|             </template> | ||||
|           </el-table-column> | ||||
|           <el-table-column label="触发代币数" align="center" prop="triggerAmount" /> | ||||
|           <el-table-column label="转账类型" align="center" width="100"> | ||||
|             <template slot-scope="scope"> | ||||
|               {{ transTypeFormat(scope.row) }} | ||||
|             </template> | ||||
|           </el-table-column> | ||||
|           <el-table-column label="转账值" prop="transValue" align="center" width="100" /> | ||||
|           <el-table-column label="触发代币数" align="center" prop="triggerAmount" /> | ||||
|           <el-table-column label="自动转账值" prop="transValue" align="center" width="100" /> | ||||
|           <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | ||||
|             <template slot-scope="scope"> | ||||
|  | ||||
| @ -157,8 +168,8 @@ | ||||
|             <el-form-item label="代币名称" prop="tokenName"> | ||||
|               <el-input v-model="form.tokenName" placeholder="代币名称" maxlength="20" show-word-limit /> | ||||
|             </el-form-item> | ||||
|             <el-form-item label="代币地址" prop="tokenAddress"> | ||||
|               <el-input v-model="form.tokenAddress" placeholder="代币地址 请注意如果未填写则为主币!!" /> | ||||
|             <el-form-item label="合约地址" prop="tokenAddress"> | ||||
|               <el-input v-model="form.tokenAddress" placeholder="合约地址 请注意只填写 0 为主币!!" /> | ||||
|             </el-form-item> | ||||
|             <el-form-item label="代币精度" prop="decimals"> | ||||
|               <el-input v-model="form.decimals" placeholder="代币精度" /> | ||||
| @ -259,8 +270,8 @@ export default { | ||||
|         pageIndex: 1, | ||||
|         pageSize: 10, | ||||
|         networkId: undefined, | ||||
|         tokenName: undefined | ||||
|  | ||||
|         tokenName: undefined, | ||||
|         idOrder: 'desc' | ||||
|       }, | ||||
|       // 表单参数 | ||||
|       form: { | ||||
|  | ||||
| @ -6,13 +6,30 @@ | ||||
|     @open="reloadDta" | ||||
|     @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 | ||||
|         label="代币地址" | ||||
|         align="center" | ||||
|         prop="tokenAddress" | ||||
|         :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 | ||||
|         label="来源地址" | ||||
|         align="center" | ||||
| @ -50,7 +67,11 @@ | ||||
|         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"> | ||||
|         <template slot-scope="scope"> | ||||
|           {{ statusFormat(scope.row) }} | ||||
| @ -187,7 +208,9 @@ export default { | ||||
|       return transferType ? transferType.label : '' | ||||
|     }, | ||||
|     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 : '' | ||||
|     }, | ||||
|     /** 查询参数列表 */ | ||||
| @ -233,13 +256,22 @@ export default { | ||||
|       // 获取单元格文本内容 | ||||
|       const cellText = row[column.property] | ||||
|  | ||||
|       // 检查 navigator.clipboard 是否可用 | ||||
|       if (!navigator.clipboard) { | ||||
|         this.$message.error('您的浏览器不支持剪贴板 API,请尝试手动复制。') | ||||
|         return // 结束函数执行,避免出错 | ||||
|       } | ||||
|  | ||||
|       // 使用 Clipboard API 复制文本 | ||||
|       navigator.clipboard.writeText(cellText).then(() => { | ||||
|         this.$message.success('已复制到剪贴板: ' + cellText) | ||||
|       }).catch(err => { | ||||
|         console.error('复制失败:', err) | ||||
|         this.$message.error('复制失败') | ||||
|       }) | ||||
|       navigator.clipboard | ||||
|         .writeText(cellText) | ||||
|         .then(() => { | ||||
|           this.$message.success('已复制到剪贴板: ' + cellText) | ||||
|         }) | ||||
|         .catch((err) => { | ||||
|           console.error('复制失败:', err) | ||||
|           this.$message.error('复制失败: ' + err.message) // 显示更详细的错误信息 | ||||
|         }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -71,6 +71,8 @@ | ||||
|  | ||||
|         <el-table v-loading="loading" :data="wmTransferList" @selection-change="handleSelectionChange"> | ||||
|           <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"> | ||||
|             <template slot-scope="scope"> | ||||
|               {{ typeFormat(scope.row) }} | ||||
| @ -485,8 +487,12 @@ export default { | ||||
|     handleExport(row) { | ||||
|       this.loading = true | ||||
|       exportWmTransferItemExcel({ transferId: row.id }).then(res => { | ||||
|         resolveBlobByName(res, null, '转账明细.xlsx') | ||||
|         this.msgSuccess('导出成功') | ||||
|         if (res.type === 'application/json') { | ||||
|           this.msgError('暂无数据') | ||||
|         } else { | ||||
|           resolveBlobByName(res, null, '转账明细.xlsx') | ||||
|           this.msgSuccess('导出成功') | ||||
|         } | ||||
|       }).finally(() => { | ||||
|         this.loading = false | ||||
|       }) | ||||
|  | ||||
| @ -14,7 +14,30 @@ | ||||
|               /> | ||||
|             </el-select> | ||||
|           </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-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> | ||||
| @ -33,6 +56,16 @@ | ||||
|             >导出 | ||||
|             </el-button> | ||||
|           </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-table v-loading="loading" :data="wmTransferItemList" @cell-dblclick="handleCellDblClick"> | ||||
|           <el-table-column | ||||
| @ -49,10 +82,10 @@ | ||||
|             width="80px" | ||||
|             :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="toAddress" :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="状态" prop="status" width="80" align="center"> | ||||
|             <template slot-scope="scope"> | ||||
| @ -79,7 +112,7 @@ | ||||
| </template> | ||||
|  | ||||
| <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 { resolveBlobByName } from '@/utils/zipdownload' | ||||
|  | ||||
| @ -119,10 +152,6 @@ export default { | ||||
|         } | ||||
|       ], | ||||
|       statusOptions: [ | ||||
|         { | ||||
|           label: '默认', | ||||
|           value: 0 | ||||
|         }, | ||||
|         { | ||||
|           label: '交易中', | ||||
|           value: 1 | ||||
| @ -139,7 +168,11 @@ export default { | ||||
|       queryParams: { | ||||
|         pageIndex: 1, | ||||
|         pageSize: 10, | ||||
|         networkId: undefined, | ||||
|         startAmount: undefined, | ||||
|         endAmount: undefined, | ||||
|         type: undefined, | ||||
|         status: undefined, | ||||
|         idOrder: 'desc' | ||||
|       }, | ||||
|       networkList: [], | ||||
| @ -199,6 +232,8 @@ export default { | ||||
|     resetQuery() { | ||||
|       this.dateRange = [] | ||||
|       this.resetForm('queryForm') | ||||
|       this.queryParams.startAmount = undefined | ||||
|       this.queryParams.endAmount = undefined | ||||
|       this.handleQuery() | ||||
|     }, | ||||
|     handleCellDblClick(row, column, cell, event) { | ||||
| @ -216,11 +251,36 @@ export default { | ||||
|     handleExport() { | ||||
|       this.loading = true | ||||
|       exportWmTransferItemAutoLogExcel(this.queryParams).then(res => { | ||||
|         resolveBlobByName(res, null, '自动转账明细.xlsx') | ||||
|         this.msgSuccess('导出成功') | ||||
|         if (res.type === 'application/json') { | ||||
|           this.msgError('暂无数据') | ||||
|         } else { | ||||
|           resolveBlobByName(res, null, '自动转账明细.xlsx') | ||||
|           this.msgSuccess('导出成功') | ||||
|         } | ||||
|       }).finally(() => { | ||||
|         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 | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
							
								
								
									
										129
									
								
								src/views/admin/wm-wallet-info/excel-import.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										129
									
								
								src/views/admin/wm-wallet-info/excel-import.vue
									
									
									
									
									
										Normal 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> | ||||
| @ -19,27 +19,6 @@ | ||||
|         </el-form> | ||||
|  | ||||
|         <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-button | ||||
|               v-permisaction="['admin:wmWalletInfo:add']" | ||||
| @ -47,9 +26,30 @@ | ||||
|               icon="el-icon-plus" | ||||
|               size="mini" | ||||
|               @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-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-button | ||||
|               v-permisaction="['admin:wmWalletInfo:remove']" | ||||
| @ -75,23 +75,26 @@ | ||||
|  | ||||
|         <el-table v-loading="loading" :data="wmWalletInfoList" @selection-change="handleSelectionChange"> | ||||
|           <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="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"> | ||||
|             <template slot-scope="scope"> | ||||
|               <span>{{ parseTime(scope.row.createdAt) }}</span> | ||||
|             </template> | ||||
|           </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"> | ||||
|               <!-- <el-popconfirm class="delete-popconfirm" title="确认要修改吗?" confirm-button-text="修改" | ||||
|                                 @confirm="handleUpdate(scope.row)"> | ||||
|                                 <el-button slot="reference" v-permisaction="['admin:wmWalletInfo:edit']" size="mini" | ||||
|                                     type="text" icon="el-icon-edit">修改 | ||||
|                                 </el-button> | ||||
|                             </el-popconfirm> --> | ||||
|               <!-- <el-popconfirm class="delete-popconfirm" title="确认要删除吗?" confirm-button-text="删除" | ||||
|                                 @confirm="handleDelete(scope.row)"> --> | ||||
|               <el-button | ||||
|                 slot="reference" | ||||
|                 v-permisaction="['admin:wmWalletInfo:edit']" | ||||
|                 size="mini" | ||||
|                 type="text" | ||||
|                 icon="el-icon-delete" | ||||
|                 @click="handleUpdate(scope.row)" | ||||
|               >编辑 | ||||
|               </el-button> | ||||
|               <el-button | ||||
|                 slot="reference" | ||||
|                 v-permisaction="['admin:wmWalletInfo:remove']" | ||||
| @ -101,7 +104,6 @@ | ||||
|                 @click="handleDelete(scope.row)" | ||||
|               >删除 | ||||
|               </el-button> | ||||
|               <!-- </el-popconfirm> --> | ||||
|             </template> | ||||
|           </el-table-column> | ||||
|         </el-table> | ||||
| @ -132,17 +134,41 @@ | ||||
|             <el-button @click="cancel">取 消</el-button> | ||||
|           </div> | ||||
|         </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> | ||||
|     </template> | ||||
|   </BasicLayout> | ||||
| </template> | ||||
|  | ||||
| <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 { | ||||
|   name: 'WmWalletInfo', | ||||
|   components: { | ||||
|     ExcelImport | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
| @ -160,7 +186,9 @@ export default { | ||||
|       title: '', | ||||
|       // 是否显示弹出层 | ||||
|       open: false, | ||||
|       remarkOpen: false, | ||||
|       isEdit: false, | ||||
|       fileOpen: false, | ||||
|       // 类型数据字典 | ||||
|       typeOptions: [], | ||||
|       wmWalletInfoList: [], | ||||
| @ -171,12 +199,13 @@ export default { | ||||
|       queryParams: { | ||||
|         pageIndex: 1, | ||||
|         pageSize: 10, | ||||
|         privateKey: undefined | ||||
|  | ||||
|         privateKey: undefined, | ||||
|         idOrder: 'desc' | ||||
|       }, | ||||
|       // 表单参数 | ||||
|       form: { | ||||
|       }, | ||||
|       remarkForm: {}, | ||||
|       // 表单校验 | ||||
|       rules: { | ||||
|         keys: [{ required: true, message: '钱包私钥不能为空', trigger: 'blur' }] | ||||
| @ -200,7 +229,15 @@ export default { | ||||
|     // 取消按钮 | ||||
|     cancel() { | ||||
|       this.open = false | ||||
|       this.remarkOpen = false | ||||
|       this.reset() | ||||
|       this.resetRemarkForm() | ||||
|     }, | ||||
|     resetRemarkForm() { | ||||
|       this.remarkForm = { | ||||
|         ids: undefined, | ||||
|         remark: undefined | ||||
|       } | ||||
|     }, | ||||
|     // 表单重置 | ||||
|     reset() { | ||||
| @ -246,15 +283,11 @@ export default { | ||||
|     }, | ||||
|     /** 修改按钮操作 */ | ||||
|     handleUpdate(row) { | ||||
|       this.reset() | ||||
|       this.resetRemarkForm() | ||||
|       const id = | ||||
|                 row.id || this.ids | ||||
|       getWmWalletInfo(id).then(response => { | ||||
|         this.form = response.data | ||||
|         this.open = true | ||||
|         this.title = '修改钱包信息' | ||||
|         this.isEdit = true | ||||
|       }) | ||||
|                 row.id ? [row.id] : this.ids | ||||
|       this.remarkForm.ids = id | ||||
|       this.remarkOpen = true | ||||
|     }, | ||||
|     /** 提交按钮 */ | ||||
|     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) { | ||||
|       var Ids = (row.id && [row.id]) || this.ids | ||||
| @ -322,6 +374,13 @@ export default { | ||||
|         .finally(() => { | ||||
|           _this.loading = false | ||||
|         }) | ||||
|     }, | ||||
|     handleExcelSuccess() { | ||||
|       this.getList() | ||||
|     }, | ||||
|     handleUploadExcel() { | ||||
|       console.log('上传文件') | ||||
|       this.fileOpen = true | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user