|
@@ -0,0 +1,710 @@
|
|
|
+<template>
|
|
|
+ <div class="system-user">
|
|
|
+ <!-- 头部细节部分 -->
|
|
|
+ <div class="title">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24">
|
|
|
+ <div class="top">
|
|
|
+ <el-input placeholder="用户名称" class="input-demo" v-model="username"></el-input>
|
|
|
+ <el-input placeholder="公司名称" class="input-demo" v-model="company"></el-input>
|
|
|
+ <el-input placeholder="appKey" class="input-demo" v-model="appKey"></el-input>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24">
|
|
|
+ <div class="top">
|
|
|
+ <el-button type="success" style="margin-left: 1%;" @click="queryLook">查询</el-button>
|
|
|
+ <el-button type="success" style="margin-left: 1%;" @click="addUserList = true">添加</el-button>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <!-- 头部细节部分结束 -->
|
|
|
+ <!-- 表格部分 -->
|
|
|
+ <template>
|
|
|
+ <el-table
|
|
|
+ v-loading="loading"
|
|
|
+ ref="multipleTable"
|
|
|
+ :data="usertable"
|
|
|
+ border
|
|
|
+ tooltip-effect="dark">
|
|
|
+ <el-table-column
|
|
|
+ label="用户名"
|
|
|
+ prop="username"
|
|
|
+ show-overflow-tooltip>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="appKey"
|
|
|
+ label="appKey"
|
|
|
+ show-overflow-tooltip>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="company"
|
|
|
+ label="公司名称"
|
|
|
+ show-overflow-tooltip>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="contactName"
|
|
|
+ label="联系人"
|
|
|
+ show-overflow-tooltip>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="telephone"
|
|
|
+ label="手机号码"
|
|
|
+ show-overflow-tooltip>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="roleName"
|
|
|
+ label="角色名称"
|
|
|
+ show-overflow-tooltip>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="price"
|
|
|
+ label="单价"
|
|
|
+ show-overflow-tooltip>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="balance"
|
|
|
+ label="余额"
|
|
|
+ show-overflow-tooltip>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="状态"
|
|
|
+ show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.status == 1">正常</span>
|
|
|
+ <span v-else-if="scope.row.status == 2" style="color: red">锁定</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="操作"
|
|
|
+ width="320">
|
|
|
+ <template slot-scope="scope" show-overflow-tooltip>
|
|
|
+ <span style="cursor:pointer;" @click="openChange(scope.row)">修改</span>
|
|
|
+ <span style="margin-left: 10px; cursor:pointer;" @click="openisLock(scope.row)">修改状态</span>
|
|
|
+ <!-- userType = 2 的可以充值 -->
|
|
|
+ <span style="margin-left: 10px; cursor:pointer;" @click="openMoney(scope.row.id)">充值</span>
|
|
|
+ <span style="margin-left: 10px; cursor:pointer;" @click="openRole(scope.row.id)">用户添加角色</span>
|
|
|
+ <span style="margin-left: 10px; cursor:pointer; color: red;" @click="Delete(scope.row.id)">删除</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <!-- 分页 -->
|
|
|
+ <div class="block">
|
|
|
+ <el-pagination
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :current-page="current"
|
|
|
+ :page-sizes="[6, 8, 10]"
|
|
|
+ :page-size="pagesize"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="total">
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 新增用户 -->
|
|
|
+ <el-dialog
|
|
|
+ @close="handleEditDialogClose"
|
|
|
+ :visible.sync="addUserList"
|
|
|
+ style="font-size: 0px;">
|
|
|
+ <div class="tou">用户--添加</div>
|
|
|
+ <div class="line"></div>
|
|
|
+ <el-form
|
|
|
+ label-position="right"
|
|
|
+ label-width="80px"
|
|
|
+ :rules="rules"
|
|
|
+ ref="ruleForm"
|
|
|
+ :model="formUserList">
|
|
|
+ <el-form-item label="用户类型">
|
|
|
+ <el-select v-model="userType" placeholder="用户类型" style="width: 100%">
|
|
|
+ <el-option
|
|
|
+ v-for="item in option"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <template v-if="this.userType == 1">
|
|
|
+ <el-form-item label="用户名" prop="username">
|
|
|
+ <el-input v-model="formUserList.username" auto-complete="off" placeholder="请输入用户名"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="密码" prop="password">
|
|
|
+ <el-input v-model="formUserList.password" auto-complete="off" placeholder="请输入密码"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="公司名称" prop="company">
|
|
|
+ <el-input v-model="formUserList.company" auto-complete="off" placeholder="请输入公司名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="联系人" prop="contactName">
|
|
|
+ <el-input v-model="formUserList.contactName" auto-complete="off" placeholder="请输入密码"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="手机号" prop="telephone">
|
|
|
+ <el-input v-model="formUserList.telephone" auto-complete="off" placeholder="请输入手机号"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <template v-if="this.userType == 2">
|
|
|
+ <el-form-item label="appKey" prop="appKey">
|
|
|
+ <el-input v-model="formList.appKey" auto-complete="off" placeholder="请输入appKey"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="公司名称" prop="company">
|
|
|
+ <el-input v-model="formList.company" auto-complete="off" placeholder="请输入公司名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="联系人" prop="contactName">
|
|
|
+ <el-input v-model="formList.contactName" auto-complete="off" placeholder="请输入密码"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="手机号" prop="telephone">
|
|
|
+ <el-input v-model="formList.telephone" auto-complete="off" placeholder="请输入手机号"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="单价" prop="price">
|
|
|
+ <el-input v-model="formList.price" auto-complete="off" placeholder="请输入单价"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="addUserList = false" type="info">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="addData('ruleForm')">新 增</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 修改用户 -->
|
|
|
+ <el-dialog
|
|
|
+ @close="handleEditDialogClose"
|
|
|
+ :visible.sync="changeUser"
|
|
|
+ style="font-size: 0px;">
|
|
|
+ <div class="tou">用户--修改</div>
|
|
|
+ <div class="line"></div>
|
|
|
+ <el-form
|
|
|
+ label-position="right"
|
|
|
+ label-width="80px"
|
|
|
+ :model="formChangeList">
|
|
|
+
|
|
|
+ <el-form-item label="密码" prop="password">
|
|
|
+ <el-input v-model="formChangeList.password" auto-complete="off" placeholder="请输入密码"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="公司名称" prop="company">
|
|
|
+ <el-input v-model="formChangeList.company" auto-complete="off" placeholder="请输入公司名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="联系人" prop="contactName">
|
|
|
+ <el-input v-model="formChangeList.contactName" auto-complete="off" placeholder="请输入密码"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="手机号" prop="telephone">
|
|
|
+ <el-input v-model="formChangeList.telephone" auto-complete="off" placeholder="请输入手机号"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="单价" prop="price">
|
|
|
+ <el-input v-model="formChangeList.price" auto-complete="off" placeholder="请输入单价"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="用户状态">
|
|
|
+ <el-select v-model="formChangeList.status" placeholder="用户状态" style="width: 100%">
|
|
|
+ <el-option
|
|
|
+ v-for="item in optionone"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="changeUser = false" type="info">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="changeData">修 改</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 修改锁定和解锁状态 -->
|
|
|
+ <el-dialog
|
|
|
+ @close="handleEditDialogClose"
|
|
|
+ :visible.sync="changelocks"
|
|
|
+ style="font-size: 0px;">
|
|
|
+ <div class="tou">用户--修改状态</div>
|
|
|
+ <div class="line"></div>
|
|
|
+ <el-form
|
|
|
+ label-position="right"
|
|
|
+ label-width="80px"
|
|
|
+ :model="formStateList">
|
|
|
+ <el-form-item label="状态">
|
|
|
+ <el-select v-model="formStateList.status" placeholder="请选择状态" style="width: 100%">
|
|
|
+ <el-option
|
|
|
+ v-for="item in optionone"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="changelocks = false" type="info">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="changeLock">修 改</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 给用户添加角色 -->
|
|
|
+ <el-dialog
|
|
|
+ @close="handleEditDialogClose"
|
|
|
+ :visible.sync="changeRole"
|
|
|
+ style="font-size: 0px;">
|
|
|
+ <div class="tou">用户--添加角色</div>
|
|
|
+ <div class="line"></div>
|
|
|
+ <el-form
|
|
|
+ label-position="right"
|
|
|
+ label-width="80px"
|
|
|
+ :model="formRoList">
|
|
|
+ <el-form-item label="角色">
|
|
|
+ <el-select v-model="formRoList.roleId" placeholder="请选择角色" style="width: 100%">
|
|
|
+ <el-option
|
|
|
+ v-for="item in optiontwo"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.roleName"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="changeRole = false" type="info">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="userAddRole">修 改</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 充值 -->
|
|
|
+ <el-dialog
|
|
|
+ @close="handleEditDialogClose"
|
|
|
+ :visible.sync="changeMoney"
|
|
|
+ style="font-size: 0px;">
|
|
|
+ <div class="tou">用户--充值</div>
|
|
|
+ <div class="line"></div>
|
|
|
+ <el-form
|
|
|
+ label-position="right"
|
|
|
+ label-width="80px"
|
|
|
+ :model="formMoneyList">
|
|
|
+ <el-form-item label="充值金额">
|
|
|
+ <el-input v-model="formMoneyList.money" auto-complete="off" placeholder="请输入充值金额"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="changeMoney = false" type="info">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="userChangeMoney">修 改</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script type="text/javascript">
|
|
|
+import axios from 'axios';
|
|
|
+export default{
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ loading: true,
|
|
|
+ // rules: {
|
|
|
+ // userType: [
|
|
|
+ // { required: true, message: '请选择用户类型', trigger: 'change' }
|
|
|
+ // ],
|
|
|
+ // username: [
|
|
|
+ // { required: true, message: '请输入用户名', trigger: 'blur' },
|
|
|
+ // { min: 3, max: 15, message: '长度在 3 到 15 个字符', trigger: 'blur' }
|
|
|
+ // ],
|
|
|
+ // password: [
|
|
|
+ // { required: true, message: '请输入密码', trigger: 'blur' },
|
|
|
+ // { min: 6, max: 16, message: '长度在 6 到 16 个字符', trigger: 'blur' }
|
|
|
+ // ],
|
|
|
+ // company: [
|
|
|
+ // { required: true, message: '请输入公司名称', trigger: 'blur' },
|
|
|
+ // { min: 2, max: 25, message: '长度在 2 到 25 个字符', trigger: 'blur' }
|
|
|
+ // ],
|
|
|
+ // contactName: [
|
|
|
+ // { required: true, message: '请输入联系人', trigger: 'blur' },
|
|
|
+ // { min: 2, max: 25, message: '长度在 2 到 25 个字符', trigger: 'blur' }
|
|
|
+ // ],
|
|
|
+ // telephone: [
|
|
|
+ // { required: true, message: '请输入手机号', trigger: 'blur' },
|
|
|
+ // { min: 11, max: 11, message: '长度在 11 个字符', trigger: 'blur' }
|
|
|
+ // ],
|
|
|
+ // price: [
|
|
|
+ // { required: true, message: '请输入单价', trigger: 'blur' },
|
|
|
+ // { min: 2, max: 15, message: '长度在 2 到 15 个字符', trigger: 'blur' }
|
|
|
+ // ],
|
|
|
+
|
|
|
+ // },
|
|
|
+ option: [{
|
|
|
+ value: '1',
|
|
|
+ label: '平台用户'
|
|
|
+ }, {
|
|
|
+ value: '2',
|
|
|
+ label: '接口用户'
|
|
|
+ }],
|
|
|
+ username: '',
|
|
|
+ company: '',
|
|
|
+ appKey: '',
|
|
|
+ usertable: [],
|
|
|
+ roleList: [],
|
|
|
+ formUserList: {
|
|
|
+ "username": "",
|
|
|
+ "appKey": "INTERFACE_USER",
|
|
|
+ "password": "",
|
|
|
+ "contactName": "",
|
|
|
+ "telephone": "",
|
|
|
+ "userType": "1",
|
|
|
+ "company": ""
|
|
|
+ },
|
|
|
+ formList: {
|
|
|
+ "username": "ADMINISTRATOR_USER",
|
|
|
+ "password": "123456",
|
|
|
+ "appKey": "",
|
|
|
+ "contactName": "",
|
|
|
+ "telephone": "",
|
|
|
+ "price": "",
|
|
|
+ "userType": "2",
|
|
|
+ "company": ""
|
|
|
+ },
|
|
|
+ formChangeList: {
|
|
|
+ "id": "",
|
|
|
+ "password": "",
|
|
|
+ "company": "",
|
|
|
+ "contactName": "",
|
|
|
+ "telephone": "",
|
|
|
+ "price": "",
|
|
|
+ "status": ""
|
|
|
+ },
|
|
|
+ formStateList: {
|
|
|
+ "id": "",
|
|
|
+ "status": ""
|
|
|
+ },
|
|
|
+ formRoList: {
|
|
|
+ "userId": "",
|
|
|
+ "roleId": ""
|
|
|
+ },
|
|
|
+ formMoneyList: {
|
|
|
+ "userId": "",
|
|
|
+ "money": ""
|
|
|
+ },
|
|
|
+ optionone: [{
|
|
|
+ value: '1',
|
|
|
+ label: '正常'
|
|
|
+ }, {
|
|
|
+ value: '2',
|
|
|
+ label: '锁定'
|
|
|
+ }],
|
|
|
+ optiontwo: [],
|
|
|
+ current: 1,
|
|
|
+ pagesize: 10,
|
|
|
+ // 总共有多少条数据
|
|
|
+ total: 0,
|
|
|
+ addUserList: false,
|
|
|
+ changeUser: false,
|
|
|
+ changelocks: false,
|
|
|
+ changeRole: false,
|
|
|
+ changeMoney: false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.loadData();
|
|
|
+ this.loadRole();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 列表展示
|
|
|
+ async loadData() {
|
|
|
+ const response = await this.$http.get(`app/page/users?¤t=${this.current}&size=${this.pagesize}`);
|
|
|
+ if (response.data.code === 1) {
|
|
|
+ this.loading = false;
|
|
|
+ this.usertable = response.data.responseData.records;
|
|
|
+ this.total = response.data.responseData.total;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //获取角色
|
|
|
+ async loadRole() {
|
|
|
+ const response = await this.$http.get(`app/page/roles`);
|
|
|
+ if (response.data.code === 1) {
|
|
|
+ this.optiontwo = response.data.responseData.records;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ //查询
|
|
|
+ async queryLook() {
|
|
|
+ const response = await this.$http.get(`app/page/users?¤t=${this.current}&size=${this.pagesize}&appKey=${this.appKey}&username=${this.username}&company=${this.company}`);
|
|
|
+ if (response.data.code === 1) {
|
|
|
+ this.loading = false;
|
|
|
+ this.usertable = response.data.responseData.records;
|
|
|
+ this.total = response.data.responseData.total;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 新增用户
|
|
|
+ addData(formName) {
|
|
|
+ this.$refs[formName].validate(async (valid) => {
|
|
|
+ if(valid) {
|
|
|
+ if(this.userType == 1) {
|
|
|
+ // console.log(1111111)
|
|
|
+ const response = await this.$http.post(`app/user`, this.formUserList);
|
|
|
+ if(response.data.code === 1) {
|
|
|
+ this.loadData();
|
|
|
+ this.addUserList = false;
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '添加成功'
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ this.$message({
|
|
|
+ type: 'error',
|
|
|
+ message: '添加失败'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else if(this.userType == 2) {
|
|
|
+ // console.log(22222)
|
|
|
+ const response = await this.$http.post(`app/user`, this.formList);
|
|
|
+ if(response.data.code === 1) {
|
|
|
+ this.loadData();
|
|
|
+ this.addUserList = false;
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '添加成功'
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ this.$message({
|
|
|
+ type: 'error',
|
|
|
+ message: '添加失败'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ this.$message.error('请查看是否有选项未填写或填错项');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 打开修改并赋予信息
|
|
|
+ openChange(user) {
|
|
|
+ this.changeUser = true;
|
|
|
+ this.formChangeList.id = user.id;
|
|
|
+ this.formChangeList.password = user.password;
|
|
|
+ this.formChangeList.company = user.company;
|
|
|
+ this.formChangeList.contactName = user.contactName;
|
|
|
+ this.formChangeList.telephone = user.telephone;
|
|
|
+ this.formChangeList.price = user.price;
|
|
|
+ // this.formChangeList.status = user.status;
|
|
|
+ },
|
|
|
+ // 修改用户
|
|
|
+ async changeData() {
|
|
|
+ const response = await this.$http.put(`app/user`, this.formChangeList);
|
|
|
+ if(response.data.code === 1) {
|
|
|
+ this.loadData();
|
|
|
+ this.changeUser = false;
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '修改成功'
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ this.$message({
|
|
|
+ type: 'error',
|
|
|
+ message: '修改失败'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 点击删除按钮
|
|
|
+ Delete(id) {
|
|
|
+ this.$confirm('是否删除该用户', '提示' ,{
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(async () => {
|
|
|
+ const response = await this.$http.put(`app/user/${id}`);
|
|
|
+ if(response.data.code === 1) {
|
|
|
+ this.loadData();
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '删除成功'
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ this.$message({
|
|
|
+ type: 'error',
|
|
|
+ message: '删除失败'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message({ type: 'info', message: '已取消删除'});
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 打开修改状态弹框
|
|
|
+ openisLock(user) {
|
|
|
+ this.changelocks = true;
|
|
|
+ this.formStateList.id = user.id;
|
|
|
+ },
|
|
|
+ // 修改用户状态
|
|
|
+ async changeLock() {
|
|
|
+ const response = await this.$http.put(`app/user`, this.formStateList);
|
|
|
+ if(response.data.code === 1) {
|
|
|
+ this.loadData();
|
|
|
+ this.changelocks = false;
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '修改成功'
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ this.$message({
|
|
|
+ type: 'error',
|
|
|
+ message: '修改失败'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //打开用户添加角色
|
|
|
+ openRole(id) {
|
|
|
+ this.changeRole= true;
|
|
|
+ this.formRoList.userId = id;
|
|
|
+ // console.log(this.formRoleList.userId);
|
|
|
+ },
|
|
|
+ //用户添加角色
|
|
|
+ async userAddRole() {
|
|
|
+ const response = await this.$http.post(`app/userRolePermission`, this.formRoList);
|
|
|
+ if(response.data.code === 1) {
|
|
|
+ this.loadData();
|
|
|
+ this.changeRole = false;
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '添加成功'
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ this.$message({
|
|
|
+ type: 'error',
|
|
|
+ message: '添加失败'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 充值打开弹框
|
|
|
+ openMoney(id) {
|
|
|
+ this.changeMoney = true;
|
|
|
+ this.formMoneyList.userId = id + '';
|
|
|
+ },
|
|
|
+ //充值
|
|
|
+ async userChangeMoney() {
|
|
|
+ const response = await this.$http.post(`app/recharge`, this.formMoneyList);
|
|
|
+ if(response.data.code === 1) {
|
|
|
+ this.loadData();
|
|
|
+ this.changeMoney = false;
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '充值成功'
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ this.$message({
|
|
|
+ type: 'error',
|
|
|
+ message: '充值失败'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 清空表单数据
|
|
|
+ handleEditDialogClose() {
|
|
|
+ for (var key in this.formUserList) {
|
|
|
+ this.formUserList[key] = '';
|
|
|
+ };
|
|
|
+ for (var key in this.formChangeList) {
|
|
|
+ this.formChangeList[key] = '';
|
|
|
+ };
|
|
|
+ for (var key in this.formStateList) {
|
|
|
+ this.formStateList[key] = '';
|
|
|
+ };
|
|
|
+ for (var key in formRoleList) {
|
|
|
+ formRoleList[key] = '';
|
|
|
+ };
|
|
|
+ for (var key in formMoneyList) {
|
|
|
+ formMoneyList[key] = '';
|
|
|
+ };
|
|
|
+
|
|
|
+ },
|
|
|
+ // 分页方法
|
|
|
+ handleSizeChange(val) {
|
|
|
+ this.pagesize = val;
|
|
|
+ if(this.username !== '' || this.company !== '' || this.appKey !== '') {
|
|
|
+ this.queryLook();
|
|
|
+ }else{
|
|
|
+ this.loadData();
|
|
|
+ };
|
|
|
+ console.log(`每页 ${val} 条`);
|
|
|
+ },
|
|
|
+ handleCurrentChange(val) {
|
|
|
+ this.current = val;
|
|
|
+ if(this.username !== '' || this.company !== '' || this.appKey !== '') {
|
|
|
+ this.queryLook();
|
|
|
+ }else{
|
|
|
+ this.loadData();
|
|
|
+ };
|
|
|
+ console.log(`当前页: ${val}`);
|
|
|
+ },
|
|
|
+
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style>
|
|
|
+.system-user {
|
|
|
+ border: 1px solid #d9d9d9;
|
|
|
+ border-radius: 10px;
|
|
|
+}
|
|
|
+.system-user .title {
|
|
|
+ font-size: 5px;
|
|
|
+ margin-bottom: 20px;
|
|
|
+}
|
|
|
+.system-user .top {
|
|
|
+ padding-top: 20px;
|
|
|
+ padding-left: 20px;
|
|
|
+}
|
|
|
+.system-user .text {
|
|
|
+ display: inline-block;
|
|
|
+ color: #000;
|
|
|
+ font-size: 16px ;
|
|
|
+ margin-left: 1%;
|
|
|
+}
|
|
|
+.system-user .input-demo {
|
|
|
+ display: inline-block;
|
|
|
+ width: 20%;
|
|
|
+ margin-left: 1%;
|
|
|
+}
|
|
|
+.system-user .block {
|
|
|
+ font-size: 5px;
|
|
|
+ text-align: center;
|
|
|
+ margin-top: 25px;
|
|
|
+ margin-bottom: 25px;
|
|
|
+}
|
|
|
+.system-user .el-dialog {
|
|
|
+ width: 60%;
|
|
|
+}
|
|
|
+.system-user .el-dialog__header, .el-dialog__body {
|
|
|
+ padding: 0 20px;
|
|
|
+}
|
|
|
+.system-user .tou {
|
|
|
+ font-size: 20px;
|
|
|
+ height: 30px;
|
|
|
+ line-height: 30px;
|
|
|
+ padding-top: 15px;
|
|
|
+}
|
|
|
+.system-user .line {
|
|
|
+ margin-top: 15px;
|
|
|
+ margin-bottom: 15px;
|
|
|
+ width: 100%;
|
|
|
+ height: 2px;
|
|
|
+ background-color: #d9d9d9;
|
|
|
+}
|
|
|
+.system-user .xinxi {
|
|
|
+ text-align: center;
|
|
|
+ margin: 15px auto;
|
|
|
+ font-size: 18px;
|
|
|
+}
|
|
|
+</style>
|