修改数据类型.

This commit is contained in:
lijiahang
2023-09-25 16:07:52 +08:00
parent 09610b3c82
commit 3c930a1b8b
12 changed files with 53 additions and 84 deletions

View File

@@ -57,11 +57,10 @@
const { loading, setLoading } = useLoading();
const tree = ref();
const roleRecord = ref<RoleQueryResponse>({});
const roleRecord = ref<RoleQueryResponse>({} as RoleQueryResponse);
// 打开新增
const open = async (record: any) => {
// fixme 改成 props
renderRecord(record);
setVisible(true);
try {

View File

@@ -139,7 +139,7 @@
const pagination = reactive(defaultPagination()) as PaginationProps;
const formModel = ref<RoleQueryRequest>({
const formModel = reactive<RoleQueryRequest>({
id: undefined,
name: undefined,
code: undefined,

View File

@@ -21,11 +21,11 @@
:wrapper-col-props="{ span: 18 }">
<!-- 用户名 -->
<a-form-item field="username" label="用户名">
<a-input v-model="formModel.username" :disabled="true" />
<a-input v-model="updateUser.username" :disabled="true" />
</a-form-item>
<!-- 花名 -->
<a-form-item field="nickname" label="花名">
<a-input v-model="formModel.nickname" :disabled="true" />
<a-input v-model="updateUser.nickname" :disabled="true" />
</a-form-item>
<!-- 角色 -->
<a-form-item field="roles" label="角色">
@@ -45,48 +45,38 @@
</script>
<script lang="ts" setup>
import { reactive, ref } from 'vue';
import { ref } from 'vue';
import useLoading from '@/hooks/loading';
import useVisible from '@/hooks/visible';
import { Message } from '@arco-design/web-vue';
import UserRoleSelector from '@/components/user/role/user-role-selector.vue';
import { getRoleList } from '@/api/user/role';
import { useCacheStore } from '@/store';
import { getUserRoleIdList, grantUserRole } from '@/api/user/user';
import { getUserRoleIdList, grantUserRole, UserQueryResponse, UserUpdateRequest } from '@/api/user/user';
const { visible, setVisible } = useVisible();
const { loading: saveLoading, setLoading: setSaveLoading } = useLoading();
const { loading: roleLoading, setLoading: setRoleLoading } = useLoading();
const defaultForm = () => {
return {
id: undefined,
username: undefined,
nickname: undefined,
roleIdList: undefined,
};
};
const formRef = ref();
// fixme
const formModel = reactive<Record<string, any>>(defaultForm());
const formModel = ref<UserUpdateRequest>({});
const updateUser = ref<UserQueryResponse>({} as UserQueryResponse);
const cacheStore = useCacheStore();
// 打开
const open = (record: any) => {
renderForm({ ...defaultForm(), ...record });
renderForm(record);
setVisible(true);
loadRoles();
};
// 渲染表单
const renderForm = (record: any) => {
// fixme
Object.keys(formModel).forEach(k => {
if (record.hasOwnProperty(k)) {
formModel[k] = record[k];
}
});
updateUser.value = Object.assign({}, record);
formModel.value = {
id: record.id,
roleIdList: []
};
};
// 加载角色
@@ -99,8 +89,8 @@
cacheStore.set('roles', data);
}
// 加载用户角色
const { data: roleIdList } = await getUserRoleIdList(formModel.id);
formModel.roleIdList = roleIdList;
const { data: roleIdList } = await getUserRoleIdList(formModel.value.id as number);
formModel.value.roleIdList = roleIdList;
} catch (e) {
} finally {
setRoleLoading(false);
@@ -113,10 +103,7 @@
const handlerOk = async () => {
setSaveLoading(true);
try {
await grantUserRole({
id: formModel.id,
roleIdList: formModel.roleIdList
});
await grantUserRole(formModel.value);
Message.success('修改成功');
// 清空
handlerClear();

View File

@@ -21,11 +21,11 @@
:wrapper-col-props="{ span: 18 }">
<!-- 用户名 -->
<a-form-item field="username" label="用户名">
<a-input v-model="formModel.username" :disabled="true" />
<a-input v-model="updateUser.username" :disabled="true" />
</a-form-item>
<!-- 花名 -->
<a-form-item field="nickname" label="花名">
<a-input v-model="formModel.nickname" :disabled="true" />
<a-input v-model="updateUser.nickname" :disabled="true" />
</a-form-item>
<!-- 密码 -->
<a-form-item field="password" label="新密码" :rules="password">
@@ -43,42 +43,33 @@
</script>
<script lang="ts" setup>
import { reactive, ref } from 'vue';
import { ref } from 'vue';
import useLoading from '@/hooks/loading';
import useVisible from '@/hooks/visible';
import { password } from '../types/form.rules';
import { resetUserPassword } from '@/api/user/user';
import { resetUserPassword, UserQueryResponse, UserUpdateRequest } from '@/api/user/user';
import { Message } from '@arco-design/web-vue';
import { md5 } from '@/utils';
const { visible, setVisible } = useVisible();
const { loading, setLoading } = useLoading();
const defaultForm = () => {
return {
id: undefined,
username: undefined,
nickname: undefined,
password: undefined,
};
};
const formRef = ref();
const formModel = reactive<Record<string, any>>(defaultForm());
const formModel = ref<UserUpdateRequest>({});
const updateUser = ref<UserQueryResponse>({} as UserQueryResponse);
// 打开
const open = (record: any) => {
renderForm({ ...defaultForm(), ...record });
renderForm(record);
setVisible(true);
};
// 渲染表单
const renderForm = (record: any) => {
Object.keys(formModel).forEach(k => {
if (record.hasOwnProperty(k)) {
formModel[k] = record[k];
}
});
updateUser.value = Object.assign({}, record);
formModel.value = {
password: undefined
};
};
defineExpose({ open });
@@ -94,8 +85,8 @@
}
// 修改
await resetUserPassword({
id: formModel.id,
password: md5(formModel.password)
id: updateUser.value.id,
password: md5(formModel.value.password as string)
});
Message.success('修改成功');
// 清空

View File

@@ -164,7 +164,7 @@
const pagination = reactive(defaultPagination()) as PaginationProps;
const formModel = ref<UserQueryRequest>({
const formModel = reactive<UserQueryRequest>({
id: undefined,
username: undefined,
password: undefined,