diff --git a/vue/gold-system/package-lock.json b/vue/gold-system/package-lock.json index e76bec5..04f9117 100644 --- a/vue/gold-system/package-lock.json +++ b/vue/gold-system/package-lock.json @@ -17,7 +17,8 @@ "vue": "^3.5.12", "vue-icons-plus": "^0.1.7", "vue-json-excel": "^0.3.0", - "vue-router": "^4.5.0" + "vue-router": "^4.5.0", + "xlsx": "^0.18.5" }, "devDependencies": { "@vitejs/plugin-vue": "^5.1.4", @@ -1088,6 +1089,15 @@ } } }, + "node_modules/adler-32": { + "version": "1.3.1", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/adler-32/-/adler-32-1.3.1.tgz", + "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, "node_modules/alien-signals": { "version": "0.2.2", "resolved": "https://mirrors.huaweicloud.com/repository/npm/alien-signals/-/alien-signals-0.2.2.tgz", @@ -1135,6 +1145,28 @@ "balanced-match": "^1.0.0" } }, + "node_modules/cfb": { + "version": "1.2.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/cfb/-/cfb-1.2.2.tgz", + "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", + "license": "Apache-2.0", + "dependencies": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/codepage": { + "version": "1.15.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/codepage/-/codepage-1.15.0.tgz", + "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://mirrors.huaweicloud.com/repository/npm/combined-stream/-/combined-stream-1.0.8.tgz", @@ -1160,6 +1192,18 @@ "url": "https://github.com/sponsors/rawify" } }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://mirrors.huaweicloud.com/repository/npm/csstype/-/csstype-3.1.3.tgz", @@ -1339,6 +1383,15 @@ "node": ">= 6" } }, + "node_modules/frac": { + "version": "1.1.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, "node_modules/fraction.js": { "version": "5.2.1", "resolved": "https://mirrors.huaweicloud.com/repository/npm/fraction.js/-/fraction.js-5.2.1.tgz", @@ -1640,6 +1693,18 @@ "node": ">=0.10.0" } }, + "node_modules/ssf": { + "version": "0.11.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "license": "Apache-2.0", + "dependencies": { + "frac": "~1.1.2" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/tiny-emitter": { "version": "2.1.0", "resolved": "https://mirrors.huaweicloud.com/repository/npm/tiny-emitter/-/tiny-emitter-2.1.0.tgz", @@ -1814,6 +1879,45 @@ "typescript": ">=5.0.0" } }, + "node_modules/wmf": { + "version": "1.0.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word": { + "version": "0.3.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xlsx": { + "version": "0.18.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/xlsx/-/xlsx-0.18.5.tgz", + "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==", + "license": "Apache-2.0", + "dependencies": { + "adler-32": "~1.3.0", + "cfb": "~1.2.1", + "codepage": "~1.15.0", + "crc-32": "~1.2.1", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + }, + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/zrender": { "version": "5.6.0", "resolved": "https://mirrors.huaweicloud.com/repository/npm/zrender/-/zrender-5.6.0.tgz", diff --git a/vue/gold-system/package.json b/vue/gold-system/package.json index 91b59d8..5d314de 100644 --- a/vue/gold-system/package.json +++ b/vue/gold-system/package.json @@ -19,7 +19,8 @@ "vue": "^3.5.12", "vue-icons-plus": "^0.1.7", "vue-json-excel": "^0.3.0", - "vue-router": "^4.5.0" + "vue-router": "^4.5.0", + "xlsx": "^0.18.5" }, "devDependencies": { "@vitejs/plugin-vue": "^5.1.4", diff --git a/vue/gold-system/src/views/audit/rechargeAudit.vue b/vue/gold-system/src/views/audit/rechargeAudit.vue index 1cc8b90..5017093 100644 --- a/vue/gold-system/src/views/audit/rechargeAudit.vue +++ b/vue/gold-system/src/views/audit/rechargeAudit.vue @@ -14,6 +14,24 @@ const admin = ref({ area: "中国", }); +//这是获取用户信息的接口 +const adminData = ref({}); +const getAdminData = async function () { + try { + const result = await API.post( + "http://192.168.8.93:10010/admin/userinfo", + {} + ); + adminData.value = result; + addConsume.value.adminId = adminData.value.adminId; + console.log("请求成功", result); + console.log("用户信息", adminData.value); + } catch (error) { + console.log("请求失败", error); + } +}; +getAdminData(); + // 充值明细表格 const tableData = ref([]); // 搜索====================================== @@ -306,6 +324,7 @@ const pass = function (row) { passObj.value.jwcode = row.jwcode; passObj.value.paidGold = row.paidGold; passObj.value.freeGold = row.freeGold; + passObj.value.adminName = adminData.value.adminName; console.log("通过对象", passObj.value); }; diff --git a/vue/gold-system/src/views/consume/addConsume.vue b/vue/gold-system/src/views/consume/addConsume.vue index 6d3b7e7..e3efd6a 100644 --- a/vue/gold-system/src/views/consume/addConsume.vue +++ b/vue/gold-system/src/views/consume/addConsume.vue @@ -18,6 +18,7 @@ const getAdminData = async function () { ); adminData.value = result; addConsume.value.adminId = adminData.value.adminId; + addConsume.value.name = adminData.value.name; console.log("请求成功", result); console.log("用户信息", adminData.value); } catch (error) { @@ -193,6 +194,8 @@ const getUserGold = async function (jwcode) { console.log("请求成功", result); // 存储表格数据 userGold.value = result.data; + addConsume.value.username = result.data.name; + addConsume.value.area = result.data.area; if (result.data.code === 0) { ElMessage.error("查询失败,请检查精网号是否正确"); } diff --git a/vue/gold-system/src/views/refund/addRefund.vue b/vue/gold-system/src/views/refund/addRefund.vue index 154f5b3..9704a3e 100644 --- a/vue/gold-system/src/views/refund/addRefund.vue +++ b/vue/gold-system/src/views/refund/addRefund.vue @@ -329,7 +329,7 @@ const handleSelectionChange = (value) => { - + 全部退款 部分退款 diff --git a/vue/gold-system/src/views/usergold/index.vue b/vue/gold-system/src/views/usergold/index.vue index f8cd92d..7d6ed0a 100644 --- a/vue/gold-system/src/views/usergold/index.vue +++ b/vue/gold-system/src/views/usergold/index.vue @@ -6,6 +6,7 @@ import axios from "axios"; import moment from "moment"; import { ta } from "element-plus/es/locales.mjs"; import API from "../../api/index.js"; +import * as XLSX from "xlsx"; // 充值明细表格 const tableData = ref([]); @@ -29,6 +30,8 @@ const getObj = ref({ pageNum: 1, pageSize: 50, }); +//开启条件筛选导出excel +const getPutEX = ref(false); // 支付方式选项 const updateType = [ @@ -210,9 +213,52 @@ const checkNumber = function () { onMounted(async function () { await get(); }); + +// 这是导出excel表格的方法 +// 导出Excel的方法 +// 定义字段映射 +const json_fields = (row) => { + return [ + row.uname, // 姓名 + row.jwcode, // 精网号 + row.area, // 所属地区 + row.consumePlatform, // 平台信息 + row.firstexam_score, // 更新数量 + row.freeCoin, // 免费金币 + row.rechageCoin, // 充值金币 + row.taskCoin, // 任务金币 + row.name, // 提交人 + moment(row.createTime).format("YYYY-MM-DD HH:mm:ss"), // 更新时间,假设你想要格式化时间 + ]; +}; + +// 定义元数据 +const json_meta = [ + [ + { + key: "charset", + value: "utf-8", + }, + ], +]; +const exportExcel = () => { + const ws = XLSX.utils.json_to_sheet(tableData.value, json_fields); + const wb = XLSX.utils.book_new(); + XLSX.utils.book_append_sheet(wb, ws, "Sheet1"); + XLSX.writeFile(wb, "客户金币明细.xlsx"); +}; - +