Commit aced0cf7 authored by zhangsan's avatar zhangsan

1

parent 9fd6d421
......@@ -19,6 +19,6 @@ selenium-debug.log
*.njsproj
*.sln
*.local
dsfhuksfhkAQu_33/
package-lock.json
yarn.lock
This diff is collapsed.
This diff is collapsed.
......@@ -38,7 +38,7 @@
</el-card>
</el-col>
<!-- 添加新的重置用户卡片 -->
<el-col :span="6">
<el-col style="margin-top: 10px;" :span="6">
<el-card class="box-card" shadow="hover" @click.native="handleOpen('resetUser')">
<div class="card-content">
<i class="el-icon-refresh"></i>
......@@ -46,35 +46,26 @@
</div>
</el-card>
</el-col>
<el-col style="margin-top: 10px;" :span="6">
<el-card class="box-card" shadow="hover" @click.native="handleOpen('modifyUser')">
<div class="card-content">
<i class="el-icon-user"></i>
<span>修改用户基本信息</span>
</div>
</el-card>
</el-col>
</el-row>
<!-- 弹窗组件 -->
<el-dialog
:modal-append-to-body="true"
:modal="false"
:title="dialogTitle"
:visible.sync="dialogVisible"
width="80%"
:destroy-on-close="true"
@closed="handleClose"
>
<el-dialog :modal-append-to-body="true" :modal="false" :title="dialogTitle" :visible.sync="dialogVisible"
width="80%" :destroy-on-close="true" @closed="handleClose">
<component :is="currentComponent" v-if="dialogVisible" />
</el-dialog>
<!-- 添加导出弹窗 -->
<el-dialog
:modal-append-to-body="true"
:modal="false"
title="导出用户提现"
:visible.sync="exportDialogVisible"
width="400px"
>
<el-form
ref="exportForm"
:model="exportForm"
:rules="exportRules"
label-width="140px"
>
<el-dialog :modal-append-to-body="true" :modal="false" title="导出用户提现" :visible.sync="exportDialogVisible"
width="400px">
<el-form ref="exportForm" :model="exportForm" :rules="exportRules" label-width="140px">
<el-form-item label="起始提现ID" prop="beginWithdrawId">
<el-input v-model.number="exportForm.beginWithdrawId" type="number" />
</el-form-item>
......@@ -96,12 +87,14 @@ import addMoney from "./addMoney.vue";
import editUser from "./editUser.vue";
import resetUser from "./resetUser.vue"; // 导入新组件
import request from '@/utils/request'
import modifyUser from "./modifyUser.vue"; // 导入新组件
export default {
components: {
xunibi,
addMoney,
editUser,
resetUser // 注册新组件
resetUser, // 注册新组件
modifyUser // 注册新组件
},
data() {
return {
......@@ -149,8 +142,12 @@ export default {
this.currentComponent = 'resetUser';
this.dialogTitle = '重置用户';
break;
case 'modifyUser': // 添加新的 case
this.currentComponent = 'modifyUser';
this.dialogTitle = '修改用户基本信息';
break;
}
if(type !== 'openExport') {
if (type !== 'openExport') {
this.dialogVisible = true;
}
},
......
<!-- src/views/ops/webPage/modifyUser.vue -->
<template>
<div class="app-container">
<el-form :model="form" :rules="rules" ref="form" label-width="120px">
<!-- 用户搜索区域 -->
<el-form-item label="用户手机号" prop="phone">
<el-input
v-model="form.phone"
placeholder="请输入用户手机号"
style="width: 300px"
>
<el-button slot="append" @click="searchUser">查询</el-button>
</el-input>
</el-form-item>
<!-- 用户信息编辑区域 -->
<template v-if="userInfo">
<div class="user-info-card">
<h3>当前用户信息</h3>
<div class="info-grid">
<div class="info-item">
<span class="label">用户ID:</span>
<span class="value">{{ userInfo.userId }}</span>
</div>
<div class="info-item">
<span class="label">手机号:</span>
<span class="value">{{ userInfo.phonenumber }}</span>
</div>
<div class="info-item">
<span class="label">用户名:</span>
<span class="value">{{ userInfo.nickName }}</span>
</div>
</div>
</div>
<el-form-item label="手机号" prop="phonenumber">
<el-input
v-model="form.phonenumber"
placeholder="请输入新的手机号"
style="width: 300px"
/>
</el-form-item>
<el-form-item label="用户名" prop="nickName">
<el-input
v-model="form.nickName"
placeholder="请输入新的用户名"
style="width: 300px"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">保存修改</el-button>
<el-button @click="resetForm">重置</el-button>
</el-form-item>
</template>
</el-form>
</div>
</template>
<script>
import request from '@/utils/request'
export default {
name: 'ModifyUser',
data() {
return {
form: {
phone: '',
phonenumber: '',
nickName: '',
userId: ''
},
rules: {
phone: [
{ required: true, message: '请输入手机号', trigger: 'blur' },
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' }
],
phonenumber: [
{ required: true, message: '请输入新的手机号', trigger: 'blur' },
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' }
],
nickName: [
{ required: true, message: '请输入新的用户名', trigger: 'blur' }
]
},
userInfo: null
}
},
methods: {
// 搜索用户
searchUser() {
if (!this.form.phone) {
this.$message.warning('请输入手机号')
return
}
request({
url: '/system/user/sysList',
method: 'get',
params: {
pageNum: 1,
pageSize: 10,
phonenumber: this.form.phone
}
}).then(response => {
if (response.rows && response.rows.length > 0) {
this.userInfo = response.rows[0]
this.form.userId = this.userInfo.userId
this.form.phonenumber = this.userInfo.phonenumber
this.form.nickName = this.userInfo.nickName
} else {
this.$message.warning('未找到该用户')
this.resetForm()
}
})
},
// 提交表单
submitForm() {
this.$refs.form.validate(valid => {
if (valid) {
request({
url: '/system/user/edit',
method: 'post',
data: {
userId: this.form.userId,
phonenumber: this.form.phonenumber,
nickName: this.form.nickName
}
}).then(() => {
this.$message.success('修改成功')
this.resetForm()
})
}
})
},
// 重置表单
resetForm() {
this.$refs.form.resetFields()
this.userInfo = null
this.form.userId = ''
}
}
}
</script>
<style scoped>
.app-container {
padding: 20px;
max-width: 800px;
margin: 0 auto;
}
.user-info-card {
background: #f8f9fa;
border-radius: 8px;
padding: 20px;
margin-bottom: 24px;
box-shadow: 0 2px 12px 0 rgba(0,0,0,0.05);
}
.user-info-card h3 {
margin: 0 0 16px 0;
color: #303133;
font-size: 16px;
border-bottom: 1px solid #ebeef5;
padding-bottom: 10px;
}
.info-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 16px;
}
.info-item {
display: flex;
align-items: center;
}
.info-item .label {
color: #606266;
margin-right: 8px;
font-weight: 500;
}
.info-item .value {
color: #303133;
}
</style>
\ No newline at end of file
......@@ -36,8 +36,8 @@ module.exports = {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
// target: `http://27.124.5.14:9012`,
target: `http://27.124.5.14:9024`,
// target: `https://www.cnyc15.com/api`,
// target: `http://27.124.5.14:9024`,
target: `https://www.xinbi217.cc/api`,
changeOrigin: true,
pathRewrite: {
["^" + process.env.VUE_APP_BASE_API]: "",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment