Browse Source

Merge branch 'refs/heads/lihui/feature-20250711103624-金币二期' into milestone-20250711-金币前端二期

# Conflicts:
#	src/views/usergold/clientCountBalance.vue
zhangrenyuan/feature-20250714163943-金币前端二期
lihui 3 weeks ago
parent
commit
5bd849ee09
  1. 95
      src/views/permissions/permission.vue
  2. 21
      src/views/usergold/clientCountBalance.vue
  3. 2
      src/views/workspace/index.vue

95
src/views/permissions/permission.vue

@ -1,10 +1,7 @@
<script setup> <script setup>
import { ref, onMounted, reactive, computed } from 'vue'
import ElementPlus from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus'
import axios from 'axios'
import moment from 'moment'
import { UserFilled, InfoFilled } from '@element-plus/icons-vue'
import {onMounted, ref} from 'vue'
import {ElMessage} from 'element-plus'
import {InfoFilled, UserFilled} from '@element-plus/icons-vue'
import _ from 'lodash' import _ from 'lodash'
import request from '@/util/http' import request from '@/util/http'
@ -343,6 +340,48 @@ const editStatus = async function (row) {
} }
} }
//
const resetConfirmVisible = ref(false)
//
const currentRow = ref(null)
//
const resetPassword = function (row) {
//
currentRow.value = row
resetConfirmVisible.value = true
}
//
const confirmResetPassword = async function () {
const params = {
account: currentRow.value.account,
}
console.log(params)
//
try {
const result = await request({
url: '/admin/reset',
method: 'post',
data: params // params
})
if (result.code === 200) { // 使
ElMessage.success('重置密码成功')
resetConfirmVisible.value = false //
} else {
ElMessage.error(result.message || '重置密码失败')
}
} catch (error) {
ElMessage.error('重置密码失败')
console.error('请求错误:', error)
}
}
//
const cancelResetPassword = function () {
resetConfirmVisible.value = false
}
// //
onMounted(async function () { onMounted(async function () {
@ -418,6 +457,15 @@ const handleCurrentChange = function (val) {
<el-table-column prop="remark" label="备注"/> <el-table-column prop="remark" label="备注"/>
<el-table-column prop="operation" label="操作" width="300px" align="center"> <el-table-column prop="operation" label="操作" width="300px" align="center">
<template #default="scope"> <template #default="scope">
<el-button
type="warning"
text
@click="resetPassword(scope.row)"
:disabled="scope.row.adminStatus === 0"
>
重置密码
</el-button>
<el-button type="warning" text @click="permissionEditInit(scope.row)" <el-button type="warning" text @click="permissionEditInit(scope.row)"
:disabled="scope.row.adminStatus === 0"> :disabled="scope.row.adminStatus === 0">
修改权限 修改权限
@ -452,7 +500,8 @@ const handleCurrentChange = function (val) {
<!-- 分页 --> <!-- 分页 -->
<div class="pagination" style="margin-top: 20px"> <div class="pagination" style="margin-top: 20px">
<el-pagination background :page-size="getObj.pageSize" :page-sizes="[5, 10, 20, 50, 100]" <el-pagination background :page-size="getObj.pageSize" :page-sizes="[5, 10, 20, 50, 100]"
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handlePageSizeChange"
layout="total, sizes, prev, pager, next, jumper" :total="total"
@size-change="handlePageSizeChange"
@current-change="handleCurrentChange"></el-pagination> @current-change="handleCurrentChange"></el-pagination>
</div> </div>
</el-card> </el-card>
@ -490,7 +539,8 @@ const handleCurrentChange = function (val) {
</el-form-item> </el-form-item>
<el-form-item prop="machineId" label="机器码:" required> <el-form-item prop="machineId" label="机器码:" required>
<div style="display: flex; align-items: center; flex-wrap: wrap;"> <div style="display: flex; align-items: center; flex-wrap: wrap;">
<el-input v-model="addAdmin.machineId" placeholder="请输入机器码" style="width: 220px; margin-right: 10px;" />
<el-input v-model="addAdmin.machineId" placeholder="请输入机器码"
style="width: 220px; margin-right: 10px;"/>
<el-button type="primary" @click="addMachineIdInput">添加</el-button> <el-button type="primary" @click="addMachineIdInput">添加</el-button>
<!-- 动态添加的机器码输入框 --> <!-- 动态添加的机器码输入框 -->
<div v-for="(item, index) in addAdmin.machineIds" :key="index" style="margin-left: 10px;"> <div v-for="(item, index) in addAdmin.machineIds" :key="index" style="margin-left: 10px;">
@ -564,7 +614,9 @@ const handleCurrentChange = function (val) {
</el-descriptions> </el-descriptions>
<el-divider> <el-divider>
<el-icon><star-filled /></el-icon>
<el-icon>
<star-filled/>
</el-icon>
</el-divider> </el-divider>
<div> <div>
<span class="permissionVisible" style="margin-right: 20px">权限设置:</span> <span class="permissionVisible" style="margin-right: 20px">权限设置:</span>
@ -587,13 +639,34 @@ const handleCurrentChange = function (val) {
</template> </template>
</el-dialog> </el-dialog>
<!-- 重置密码确认弹窗 -->
<el-dialog
v-model="resetConfirmVisible" width="500px" :close-on-click-modal="false" :before-close="cancelResetPassword"
>
<el-row>
<el-col :span="4" style="margin-top: 20px">
<el-icon class="dialog-icon" color="#10AEFF" size="50">
<InfoFilled/>
</el-icon>
</el-col>
<el-col :span="20">
<h3>提示</h3>
<p class="dialog-title">确认重置该账号密码</p>
<p class="dialog-desc">重置后密码为: 123456请通知用户及时修改</p>
</el-col>
</el-row>
<template #footer>
<div style="align-content: center ; gap: 30px">
<el-button @click="cancelResetPassword">取消</el-button>
<el-button type="primary" @click="confirmResetPassword">确定</el-button>
</div>
</template>
</el-dialog>
</template> </template>
<style scoped> <style scoped>
.permissionVisible { .permissionVisible {
font-size: 16px; font-size: 16px;

21
src/views/usergold/clientCountBalance.vue

@ -286,7 +286,7 @@ const exportExcel = async function () {
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="name" label="姓名" width="150" />
<el-table-column prop="name" label="姓名" width="120"/>
<el-table-column prop="jwcode" label="精网号" width="120"/> <el-table-column prop="jwcode" label="精网号" width="120"/>
<el-table-column prop="market" label="所属地区" width="120"/> <el-table-column prop="market" label="所属地区" width="120"/>
<el-table-column prop="allJb" label="金币总数" width="120" aligh="center"> <el-table-column prop="allJb" label="金币总数" width="120" aligh="center">
@ -319,16 +319,28 @@ const exportExcel = async function () {
<span>{{ Math.abs(scope.row.currentTaskGold) / 100 }}</span> <span>{{ Math.abs(scope.row.currentTaskGold) / 100 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="rcoin" label="历史金币" width="150"> <el-table-column prop="rcoin" label="历史金币" width="150">
<template #default="scope"> <template #default="scope">
<!-- 计算四个字段的和并显示 -->
<span>{{
<el-popover trigger="hover" placement="left" width="150">
<template #default>
<div>
<div>永久金币{{ (scope.row.sumPermanentGold || 0) / 100 }}</div>
<div>免费金币{{ (scope.row.sumFreeJune || 0) + (scope.row.sumFreeDecember || 0) / 100 }}</div>
<div>任务金币{{ (scope.row.sumTaskGold || 0) / 100 }}</div>
</div>
</template>
<template #reference>
<span>
{{
(scope.row.sumPermanentGold || 0) / 100 + (scope.row.sumPermanentGold || 0) / 100 +
(scope.row.sumFreeJune || 0) / 100 + (scope.row.sumFreeJune || 0) / 100 +
(scope.row.sumFreeDecember || 0) / 100 + (scope.row.sumFreeDecember || 0) / 100 +
(scope.row.sumTaskGold || 0) / 100 (scope.row.sumTaskGold || 0) / 100
}}</span> }}</span>
</template> </template>
</el-popover>
</template>
</el-table-column> </el-table-column>
<el-table-column prop="sumConsume" label="历史消费" width="150"> <el-table-column prop="sumConsume" label="历史消费" width="150">
<template #default="scope"> <template #default="scope">
@ -341,7 +353,8 @@ const exportExcel = async function () {
<!-- 分页 --> <!-- 分页 -->
<div class="pagination" style="margin-top: 20px"> <div class="pagination" style="margin-top: 20px">
<el-pagination background :page-size="getObj.pageSize" :page-sizes="[5, 10, 20, 50, 100]" <el-pagination background :page-size="getObj.pageSize" :page-sizes="[5, 10, 20, 50, 100]"
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handlePageSizeChange"
layout="total, sizes, prev, pager, next, jumper" :total="total"
@size-change="handlePageSizeChange"
@current-change="handleCurrentChange"></el-pagination> @current-change="handleCurrentChange"></el-pagination>
</div> </div>
</el-card> </el-card>

2
src/views/workspace/index.vue

@ -104,7 +104,7 @@
</el-icon> </el-icon>
</template> </template>
</el-col> </el-col>
<el-col class="center-card">日环比:{{ sumDaily }}%&nbsp;&nbsp;&nbsp;&nbsp;
<el-col class="center-card">日环比:{{ sumDaily.toFixed(2) }}%&nbsp;&nbsp;&nbsp;&nbsp;
<template v-if="sumDaily > 0"> <template v-if="sumDaily > 0">
<el-icon style="color:red"> <el-icon style="color:red">
<ArrowUpBold/> <ArrowUpBold/>

Loading…
Cancel
Save