Blame view

src/components/staff/resetStaffPwd.vue 1.57 KB
a42b3256   wuxw   HC小区管理系统前段vue版正在开发中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
  <!-- components/staff/resetStaffPwd.vue -->
  <template>
      <el-dialog
        :title="$t('staff.confirmOperation')"
        :visible.sync="visible"
        width="30%"
        @close="handleClose"
      >
        <div class="text-center">
          <p>{{ $t('staff.confirmResetPassword') }}?</p>
        </div>
        <span slot="footer" class="dialog-footer">
          <el-button @click="handleClose">{{ $t('staff.wrongClick') }}</el-button>
          <el-button type="primary" @click="resetStaffPwd">{{ $t('staff.confirmReset') }}</el-button>
        </span>
      </el-dialog>
    </template>
    
    <script>
    import { resetStaffPwd } from '@/api/staff/staffApi'
    
    export default {
      name: 'ResetStaffPwd',
      props: {
        visible: {
          type: Boolean,
          default: false
        },
        staffInfo: {
          type: Object,
          default: () => ({})
        }
      },
      data() {
        return {
          loading: false
        }
      },
      methods: {
        handleClose() {
          this.$emit('update:visible', false)
        },
        async resetStaffPwd() {
          try {
            this.loading = true
            const data = {
              communityId: '-1',
              staffId: this.staffInfo.userId
            }
            
            const res = await resetStaffPwd(data)
            this.$message.success(
              this.$t('staff.resetPasswordSuccess', { pwd: res.pwd }),
              10000
            )
            this.$emit('success')
            this.handleClose()
          } catch (error) {
            this.$message.error(error.message)
          } finally {
            this.loading = false
          }
        }
      }
    }
    </script>