ソースを参照

优化分销接口,新增密码修改

zouzexu 8 ヶ月 前
コミット
1686d0d920

+ 1 - 0
config/dev.env.js

@@ -4,5 +4,6 @@ const prodEnv = require('./prod.env')
 
 module.exports = merge(prodEnv, {
   NODE_ENV: '"development"',
+  // BASE_API: '"http://192.168.110.241:9120/zs/channel/admin"'
   BASE_API: '"http://192.168.2.21:9120/zs/channel/admin"'
 })

+ 1 - 1
config/prod.env.js

@@ -1,5 +1,5 @@
 'use strict'
 module.exports = {
   NODE_ENV: '"production"',
-  BASE_API: '"https://admin-api.macrozheng.com"'
+  BASE_API: '"https://channel.admin.dev.zonelife.cn"'
 }

+ 9 - 0
src/api/distribution.js

@@ -108,3 +108,12 @@ export function peopleEdit(data) {
     data: data,
   });
 }
+
+// 修改密码
+export function updatePassword(data) {
+  return request({
+    url:'admin/updatePassword',
+    method:'post',
+    data:data
+  })
+}

+ 8 - 1
src/router/index.js

@@ -94,6 +94,13 @@ export const asyncRouterMap = [
       component: () => import('@/views/distribution/records/index'),
       meta: {title: '分销记录', icon: 'example'}
     },
+    {
+      path: 'changePwd',
+      name: 'changePwd',
+      component: () => import('@/views/distribution/changePwd/index'),
+      meta: {title: '修改密码'},
+      hidden: true
+    }
     ]
   },
   {
@@ -107,7 +114,7 @@ export const asyncRouterMap = [
         path: 'admin',
         name: 'admin',
         component: () => import('@/views/ums/admin/index'),
-        meta: {title: '用户列表', icon: 'ums-admin'}
+        meta: {title: '平台成员', icon: 'ums-admin'}
       },
       {
         path: 'role',

+ 1 - 1
src/store/modules/user.js

@@ -46,7 +46,7 @@ const user = {
       return new Promise((resolve, reject) => {
         getInfo().then(response => {
           const data = response.data
-          localStorage.setItem("type",data.type);
+          localStorage.setItem("isAdmin",data.type);
           if (data.roles && data.roles.length > 0) { // 验证返回的roles是否是一个非空数组
             commit('SET_ROLES', data.roles)
           } else {

+ 101 - 0
src/views/distribution/changePwd/index.vue

@@ -0,0 +1,101 @@
+<template>
+    <div class="app-container">
+        <el-card class="filter-container" shadow="hover">
+            <el-button size="small" type="info" icon="el-icon-back" @click="comeBack">返回</el-button>
+        </el-card>
+        <el-card class="filter-container" style="margin-top: 20px;" shadow="hover">
+            <el-form :model="admin" ref="admin" label-width="150px" :rules="rules" size="small">
+                <div class="blSet">
+                    <h4>修改密码</h4>
+                </div>
+                <el-form-item label="登录账号:" prop="username">
+                    <el-input v-model="admin.username" disabled type="text" style="width: 250px"></el-input>
+                </el-form-item>
+                <el-form-item label="旧密码:" prop="oldPassword">
+                    <el-input v-model="admin.oldPassword" clearable placeholder="请输入历史密码" type="number" number
+                        style="width: 250px"></el-input>
+                </el-form-item>
+                <el-form-item label="新密码:" prop="pwd">
+                    <el-input v-model="admin.pwd" clearable placeholder="请输入新密码" type="number" number
+                        style="width: 250px"></el-input>
+                </el-form-item>
+                <el-form-item label="确认密码:" prop="newPassword">
+                    <el-input v-model="admin.newPassword" clearable placeholder="请确认密码" type="number" number
+                        style="width: 250px"></el-input>
+                </el-form-item>
+            </el-form>
+            <el-divider content-position="left"></el-divider>
+            <div style="display: flex;align-items: center;justify-content: center;">
+                <el-button type="primary" @click="submitForm" size="medium">保存</el-button>
+            </div>
+        </el-card>
+    </div>
+</template>
+<script>
+import { getCookie } from '@/utils/support';
+import { updatePassword } from '@/api/distribution';
+import { removeToken } from '@/utils/auth';
+const defaultAdmin = {
+    username: null,
+    oldPassword: null,
+    pwd: null,
+    newPassword: null
+};
+export default {
+    data() {
+        return {
+            admin: Object.assign({}, defaultAdmin),
+            rules: {
+                oldPassword: [
+                    { required: true, message: '请输入历史密码', trigger: 'blur' },
+                ],
+                pwd: [
+                    { required: true, message: '请输入新密码', trigger: 'blur' },
+                    { min: 6, max: 12, message: '长度在 6 到 12 个字符', trigger: 'blur' },
+                ],
+                newPassword: [
+                    { required: true, message: '请输入二次确认密码', trigger: 'blur' },
+                    { min: 6, max: 12, message: '长度在 6 到 12 个字符', trigger: 'blur' },
+                ]
+            }
+        }
+    },
+    created() {
+        this.admin.username = getCookie("username")
+    },
+    computed: {
+    },
+    methods: {
+        // 返回上一级
+        comeBack() {
+            this.$router.back()
+        },
+
+        submitForm() {
+            let data = {
+                oldPassword: this.admin.oldPassword,
+                newPassword: this.admin.newPassword
+            }
+            if (this.admin.oldPassword == this.admin.newPassword) {
+                this.$message.error('新密码不能与旧密码相同')
+                return
+            }
+            if (this.admin.pwd != this.admin.newPassword) {
+                this.$message.error('两次输入的密码不一致')
+                return
+            }
+            updatePassword({ ...data }).then(res => {
+                if (res.code == 200) {
+                    this.$message.success('修改成功,请重新登录')
+                    this.$store.dispatch('LogOut').then(() => {
+                        location.reload() // 为了重新实例化vue-router对象 避免bug
+                    })
+                    removeToken()
+                    window.localStorage.clear()
+                }
+            })
+        }
+    },
+}
+</script>
+<style lang="scss" scoped></style>

+ 2 - 2
src/views/distribution/peopleManage/index.vue

@@ -73,7 +73,7 @@
                             查看二维码</el-button>
                         <el-button size="mini" type="success" plain
                             @click="checkJunior(scope.$index, scope.row)">查看下级</el-button>
-                        <el-button size="mini" type="info" plain @click="userEdit(scope.row)">编辑</el-button>
+                        <el-button size="mini" :disabled="scope.row.isSelf==0" type="info" plain @click="userEdit(scope.row)">编辑</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -136,7 +136,7 @@
     </div>
 </template>
 <script>
-import { peopleList, getJuniorList, getQrcode,peopleEdit } from "@/api/distribution";
+import { peopleList, getQrcode,peopleEdit } from "@/api/distribution";
 import { formatDate } from "@/utils/date";
 
 const defaultListQuery = {

+ 3 - 1
src/views/distribution/statistics/index.vue

@@ -64,7 +64,7 @@
                 </el-table-column>
                 <el-table-column label="操作" width="180" align="center">
                     <template slot-scope="scope">
-                        <el-button size="mini" type="warning" plain @click="withdrawApplyfor(scope.row)">
+                        <el-button size="mini" :disabled="isAdmin==0" type="warning" plain @click="withdrawApplyfor(scope.row)">
                             提现申请
                         </el-button>
                     </template>
@@ -110,6 +110,7 @@ export default {
     name: "statistics",
     data() {
         return {
+            isAdmin:null,
             downloadLoading: false,
             date: "",
             listQuery: Object.assign({}, defaultListQuery),
@@ -132,6 +133,7 @@ export default {
         },
     },
     created() {
+        this.isAdmin= localStorage.getItem("isAdmin");
         this.getList();
     },
     filters: {

+ 3 - 3
src/views/distribution/userList/index.vue

@@ -41,6 +41,7 @@
         <el-card class="operate-container" shadow="hover">
             <i class="el-icon-tickets"></i>
             <span>数据列表</span>
+            <span style="font-size: 14px;color: red;margin-left: 20px;">注:设置为分销员后后台账号为手机号,默认密码为123456</span>
         </el-card>
         <div class="table-container">
             <el-table ref="adminTable" :data="list" style="width: 100%" v-loading="listLoading" border>
@@ -105,7 +106,6 @@
 <script>
 import { userList, settingType } from "@/api/distribution";
 import { formatDate } from "@/utils/date";
-import { getCookie } from '@/utils/support';
 const defaultListQuery = {
     pageNum: 1,
     pageSize: 10,
@@ -124,7 +124,7 @@ export default {
     name: "userList",
     data() {
         return {
-            isAdmin: sessionStorage.getItem("type"),
+            isAdmin:null,
             date: "",
             listQuery: Object.assign({}, defaultListQuery),
             dialogListQuery: Object.assign({}, dialogDefaultListQuery),
@@ -149,8 +149,8 @@ export default {
         },
     },
     created() {
+        this.isAdmin= localStorage.getItem("isAdmin");
         this.getList();
-
     },
     filters: {
         formatDateTime(time) {

+ 2 - 2
src/views/layout/components/Navbar.vue

@@ -9,9 +9,9 @@
         <i class="el-icon-caret-bottom"></i>
       </div>
       <el-dropdown-menu class="user-dropdown" slot="dropdown">
-        <router-link class="inlineBlock" to="/">
+        <router-link class="inlineBlock" to="/distribution/changePwd">
           <el-dropdown-item>
-            首页
+            修改密码
           </el-dropdown-item>
         </router-link>
         <el-dropdown-item divided>

+ 2 - 2
src/views/login/index.vue

@@ -63,8 +63,8 @@
         }
       };
       const validatePass = (rule, value, callback) => {
-        if (value.length < 3) {
-          callback(new Error('密码不能小于3位'))
+        if (value.length < 6) {
+          callback(new Error('密码不能小于6位'))
         } else {
           callback()
         }