|
@@ -1,13 +1,70 @@
|
|
|
<template>
|
|
|
<div id="updatepwd-1">
|
|
|
<el-row>
|
|
|
- <el-col :span="24" class="main"> test </el-col>
|
|
|
+ <el-col :span="24" class="main">
|
|
|
+ <component :is="CForm" :span="24" :fields="fields" :form="form" :rules="rules" @save="toSave"> </component>
|
|
|
+ </el-col>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
+import store from '@/stores/counter';
|
|
|
+import CForm from '@common/src/components/frame/c-form.vue';
|
|
|
+import type { FormRules } from 'element-plus';
|
|
|
import type { Ref } from 'vue';
|
|
|
-import { ref, toRefs } from 'vue';
|
|
|
+import { ref, reactive, onMounted } from 'vue';
|
|
|
+import { ElMessage } from 'element-plus';
|
|
|
+import { UsersStore } from '@common/src/stores/users/users';
|
|
|
+import { UnitStore } from '@common/src/stores/users/unit';
|
|
|
+import { AdminStore } from '@common/src/stores/users/admin';
|
|
|
+import type { IQueryResult } from '@/util/types.util';
|
|
|
+const unit = UnitStore();
|
|
|
+const admin = AdminStore();
|
|
|
+const users = UsersStore();
|
|
|
+let fields: Ref<any[]> = ref([
|
|
|
+ { label: '新密码', model: 'password', type: 'password' },
|
|
|
+ { label: '确认新密码', model: 'ispassword', type: 'password' },
|
|
|
+]);
|
|
|
+const rules = reactive<FormRules>({
|
|
|
+ password: [{ required: true, message: '请输入新密码' }],
|
|
|
+ ispassword: [
|
|
|
+ { required: true, message: '请输入确认新密码' },
|
|
|
+ {
|
|
|
+ trigger: 'blur',
|
|
|
+ validator: (rule, value, callback) => {
|
|
|
+ if (form.value.password !== value) {
|
|
|
+ callback(new Error('两次输入的密码不一致'));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ],
|
|
|
+});
|
|
|
+const form: Ref<{ password: string }> = ref({ password: '' });
|
|
|
+let role_type: Ref<string> = ref('');
|
|
|
+let user = store.state.user as { _id: string; role_type: string };
|
|
|
+onMounted(async () => {
|
|
|
+ await search();
|
|
|
+});
|
|
|
+// 查询
|
|
|
+const search = async () => {
|
|
|
+ if (user && user.role_type) role_type.value = user.role_type;
|
|
|
+};
|
|
|
+// 审核保存
|
|
|
+const toSave = async (data: { _id: string; password: string }) => {
|
|
|
+ let res: IQueryResult;
|
|
|
+
|
|
|
+ if (role_type.value == '0' || role_type.value == '1') res = await admin.rp(data.password);
|
|
|
+ else if (role_type.value == '2') res = await users.rp(data.password);
|
|
|
+ else if (role_type.value == '3') res = await unit.rp(data.password);
|
|
|
+ ElMessage({ type: 'success', message: '操作成功' });
|
|
|
+ logout();
|
|
|
+};
|
|
|
+const logout = () => {
|
|
|
+ localStorage.removeItem('token');
|
|
|
+ window.location.href = `${import.meta.env.VITE_APP_HOST}`;
|
|
|
+};
|
|
|
</script>
|
|
|
<style scoped></style>
|