guhongwei 4 år sedan
förälder
incheckning
d6da0f71b6
1 ändrade filer med 36 tillägg och 10 borttagningar
  1. 36 10
      src/views/superAdminCenter/xiugai/xiugai.vue

+ 36 - 10
src/views/superAdminCenter/xiugai/xiugai.vue

@@ -2,15 +2,15 @@
   <div id="xiugai">
     <el-row>
       <el-col :span="12" :offset="6" class="main">
-        <el-form ref="form" :model="form" label-width="100px">
-          <el-form-item label="请输入原密码">
-            <el-input v-model="form.oldpwd" show-password></el-input>
+        <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+          <el-form-item label="请输入原密码" prop="oldpasswd">
+            <el-input v-model="form.oldpasswd" placeholder="请输入旧密码" show-password></el-input>
           </el-form-item>
-          <el-form-item label="请输入新密码">
-            <el-input v-model="form.newpwd" show-password></el-input>
+          <el-form-item label="请输入新密码" prop="newpasswd">
+            <el-input v-model="form.newpasswd" placeholder="请输入新密码" show-password></el-input>
           </el-form-item>
           <el-form-item>
-            <el-button type="primary">确定</el-button>
+            <el-button type="primary" @click="submitForm('form')">确定</el-button>
             <el-button>取消</el-button>
           </el-form-item>
         </el-form>
@@ -21,6 +21,8 @@
 
 <script>
 import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: password } = createNamespacedHelpers('password');
+const { mapActions: login } = createNamespacedHelpers('login');
 export default {
   metaInfo() {
     return { title: this.$route.meta.title };
@@ -30,14 +32,38 @@ export default {
   components: {},
   data: function() {
     return {
-      form: {
-        oldpwd: '',
-        newpwd: '',
+      form: {},
+      rules: {
+        oldpasswd: [{ required: true, message: '请输入旧密码', trigger: 'blur' }],
+        newpasswd: [{ required: true, message: '请输入新密码', trigger: 'blur' }],
       },
     };
   },
   created() {},
-  methods: {},
+  methods: {
+    ...login({ logout: 'logout', transactiondtetle: 'delete' }),
+    ...password({ userFetch: 'fetch', userCreate: 'create', userUpdate: 'update' }),
+    async submitForm(formName) {
+      this.$refs[formName].validate(async valid => {
+        if (valid) {
+          this.form.id = this.user.uid;
+          let res = await this.userUpdate(this.form);
+          if (res.errcode === 0) {
+            this.$message({
+              message: '密码修改成功',
+              type: 'success',
+            });
+            this.logout();
+            this.$router.push({ path: '/adminLogin' });
+          } else {
+            this.$message.error('密码修改失败');
+          }
+        } else {
+          return false;
+        }
+      });
+    },
+  },
   computed: {
     ...mapState(['user']),
   },