From 8fc34daa35bf076c318c663ac147c24561df19c5 Mon Sep 17 00:00:00 2001 From: chy <2463300564@qq.com> Date: Mon, 7 Jul 2025 09:35:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 3 +- src/api/reward-type.js | 3 +- src/api/task.js | 2 +- src/components/AliyunSlider.vue | 15 +++++++ src/views/activity/game-task.vue | 77 ++++++++++++++++++++++++-------- src/views/system/reward-list.vue | 22 ++++----- src/views/system/reward-type.vue | 7 +-- src/views/user/user-list.vue | 14 +++--- 8 files changed, 100 insertions(+), 43 deletions(-) create mode 100644 src/components/AliyunSlider.vue diff --git a/.env.development b/.env.development index 44b0eb0..dfc435c 100644 --- a/.env.development +++ b/.env.development @@ -2,6 +2,7 @@ ENV = 'development' # base api -VUE_APP_BASE_API = 'http://localhost:9000' +VUE_APP_BASE_API = 'http://127.0.0.1:9000' +# VUE_APP_BASE_API = 'http://47.108.136.226:9000' #VUE_APP_BASE_API = 'http://47.108.139.184:8001' diff --git a/src/api/reward-type.js b/src/api/reward-type.js index dbd401b..878b5f5 100644 --- a/src/api/reward-type.js +++ b/src/api/reward-type.js @@ -10,7 +10,8 @@ export function getRewardTypeList(params) { size: params.size || 10, name: params.name, status: params.status, - storeId: params.storeId + storeId: params.storeId, + source: params.source } }) } diff --git a/src/api/task.js b/src/api/task.js index 14c4e5a..c28878a 100644 --- a/src/api/task.js +++ b/src/api/task.js @@ -12,7 +12,7 @@ export function getMerchantAndStoreList() { // 获取任务列表 export function getTaskList({ netbarAccount, gid, num = 10, pageidx }) { return request({ - url: '/x/task/getNonLoginTaskList', + url: '/x/task/list', method: 'get', params: { netbarAccount, diff --git a/src/components/AliyunSlider.vue b/src/components/AliyunSlider.vue new file mode 100644 index 0000000..bbd4171 --- /dev/null +++ b/src/components/AliyunSlider.vue @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/src/views/activity/game-task.vue b/src/views/activity/game-task.vue index 9546211..0c262a1 100644 --- a/src/views/activity/game-task.vue +++ b/src/views/activity/game-task.vue @@ -14,10 +14,13 @@ @click.native="handleCascaderClick" /> 重置 - - - 刷新 - +
+ 任务同步 + + + 刷新 + +
@@ -32,20 +35,32 @@
- - - - + - - + + + + + + + + + + + + + @@ -72,7 +87,7 @@ - + @@ -95,6 +110,7 @@ import { getGameList } from '@/api/game' import { getTaskList, getMerchantAndStoreList, setTaskReward, operateTaskReward } from '@/api/task' import { getRewardTypeList } from '@/api/reward-type' import { getRewardSystemList } from '@/api/reward' +import request from '@/utils/request' export default { name: 'GameTask', @@ -248,7 +264,7 @@ export default { const res = await getTaskList({ netbarAccount, gid, num: 10, pageidx: '' }) console.log('getTaskList result', res) if (res.code === 0) { - this.taskList = res.data.taskList || [] + this.taskList = res.data.list?.taskList || [] } else { this.$message.error(res.message || '获取任务列表失败') this.taskList = [] @@ -269,7 +285,7 @@ export default { this.rewardList = [] this.rewardListLoading = false // 获取奖励类型 - getRewardTypeList({ page: 1, size: 1000 }).then(res => { + getRewardTypeList({ page: 1, size: 1000, source: 1 }).then(res => { if (res.code === 0) { this.rewardTypeList = res.data.list || [] } else { @@ -305,7 +321,7 @@ export default { this.$message.error('请选择奖励类型和奖励') return } - const taskId = this.currentTask.qqNetbarTaskId || this.currentTask.id + const taskId = this.currentTask.task_id || this.currentTask.qqNetbarTaskId || this.currentTask.id operateTaskReward({ type: 1, taskId, @@ -348,6 +364,25 @@ export default { this.$message.error('请求失败') }) }, + formatTimestamp(ts) { + if (!ts) return '-' + const date = new Date(ts * 1000) + return date.getFullYear() + '-' + (date.getMonth() + 1).toString().padStart(2, '0') + '-' + date.getDate().toString().padStart(2, '0') + ' ' + date.getHours().toString().padStart(2, '0') + ':' + date.getMinutes().toString().padStart(2, '0') + ':' + date.getSeconds().toString().padStart(2, '0') + }, + async handleSyncTask() { + try { + const res = await request({ url: '/x/task/sync', method: 'post' }) + if (res.code === 0) { + const msg = (res.data && res.data.message) ? res.data.message : (res.message || '任务同步成功') + this.$message.success(msg) + this.handleRefresh() + } else { + this.$message.error(res.message || '任务同步失败') + } + } catch (e) { + this.$message.error('任务同步失败') + } + }, } } @@ -438,4 +473,8 @@ export default { overflow-x: hidden !important; max-width: 100% !important; } + +::v-deep .el-table__column-resize { + display: none !important; +} diff --git a/src/views/system/reward-list.vue b/src/views/system/reward-list.vue index 696ae83..e148825 100644 --- a/src/views/system/reward-list.vue +++ b/src/views/system/reward-list.vue @@ -113,9 +113,9 @@ - - - + + + @@ -212,7 +212,7 @@ addRewardForm: { id: undefined, name: '', - rewardTypeId: undefined, + tencentTypeId: undefined, gameId: undefined, rewardImg: '', qqGoodsId: '', @@ -229,11 +229,9 @@ source: 1 }, addRewardRules: { - rewardTypeId: [{ required: true, message: '请选择奖励类型', trigger: 'change' }], + tencentTypeId: [{ required: true, message: '请选择奖励类型', trigger: 'change' }], name: [{ required: true, message: '请输入奖励名称', trigger: 'blur' }], - description: [{ required: true, message: '请输入奖励描述', trigger: 'blur' }], status: [{ required: true, message: '请选择状态', trigger: 'change' }], - value: [{ required: true, message: '请输入奖励值', trigger: 'blur' }], expireType: [{ required: true, message: '请选择过期类型', trigger: 'change' }], validFrom: [ { required: true, message: '请选择有效开始时间', trigger: 'change', @@ -352,7 +350,7 @@ this.addRewardForm = { id: row.id, name: row.name, - rewardTypeId: row.rewardTypeId, + tencentTypeId: row.tencentTypeId || row.rewardTypeId, gameId: row.gameId, rewardImg: row.rewardImg || row.imageUrl || '', qqGoodsId: row.qqGoodsId, @@ -381,7 +379,11 @@ try { await this.$refs.addRewardForm.validate() const api = this.dialogType === 'add' ? addReward : updateReward - const formData = { ...this.addRewardForm, source: 1 } + const formData = { + ...this.addRewardForm, + rewardTypeId: this.addRewardForm.tencentTypeId, + source: 1 + } const res = await api(formData) if (res.code === 0) { this.$message.success(this.dialogType === 'add' ? '添加奖励成功' : '编辑奖励成功') @@ -402,7 +404,7 @@ this.addRewardForm = { id: undefined, name: '', - rewardTypeId: undefined, + tencentTypeId: undefined, gameId: undefined, rewardImg: '', qqGoodsId: '', diff --git a/src/views/system/reward-type.vue b/src/views/system/reward-type.vue index 756a07f..6880b85 100644 --- a/src/views/system/reward-type.vue +++ b/src/views/system/reward-type.vue @@ -139,9 +139,6 @@ export default { ], code: [ { required: true, message: '请输入编码', trigger: 'blur' } - ], - iconUrl: [ - { required: true, message: '请输入图标URL', trigger: 'blur' } ] } } @@ -153,7 +150,7 @@ export default { async getList() { this.loading = true try { - const res = await getRewardTypeList(this.query) + const res = await getRewardTypeList({ ...this.query, source: 1 }) if (res.code === 0) { this.list = res.data.list this.total = res.data.total @@ -213,7 +210,7 @@ export default { if (valid) { try { const api = this.dialogType === 'add' ? addRewardType : updateRewardType - const submitData = { ...this.form } + const submitData = { ...this.form, source: 1 } const res = await api(submitData) if (res.code === 0) { this.$message.success(this.dialogType === 'add' ? '新增成功' : '编辑成功') diff --git a/src/views/user/user-list.vue b/src/views/user/user-list.vue index 22aa345..0d977d7 100644 --- a/src/views/user/user-list.vue +++ b/src/views/user/user-list.vue @@ -24,8 +24,10 @@ class="custom-table" header-row-class-name="custom-header" row-class-name="custom-row" + :header-cell-style="{ textAlign: 'center' }" + :cell-style="{ textAlign: 'center' }" > - + - + - + - + - - + +