|
|
|
|
@ -70,25 +70,38 @@
|
|
|
|
|
import SysDialog from '@/components/SysDialog.vue';
|
|
|
|
|
// 引入弹窗组件相关方法
|
|
|
|
|
import useDialog from '@/hooks/useDialog';
|
|
|
|
|
import { ref, reactive } from 'vue';
|
|
|
|
|
import { ref, reactive, nextTick } from 'vue';
|
|
|
|
|
|
|
|
|
|
// 引入UserModel获取表单数据类型
|
|
|
|
|
import type { UserModel } from '@/api/user/userModel';
|
|
|
|
|
import type { FormInstance } from 'element-plus';
|
|
|
|
|
import { ElMessage, type FormInstance } from 'element-plus';
|
|
|
|
|
|
|
|
|
|
// 引入post的新增接口
|
|
|
|
|
import { addUserApi } from '../../api/user/index';
|
|
|
|
|
import { addUserApi, editUserApi } from '../../api/user/index';
|
|
|
|
|
import { EditType } from '../../type/baseType';
|
|
|
|
|
|
|
|
|
|
// 获取弹窗组件属性
|
|
|
|
|
const { dialog, onClose, onConfirm, onShow } = useDialog()
|
|
|
|
|
|
|
|
|
|
// 显示弹框,改写属性
|
|
|
|
|
const show = (title: string, width: number, height: number) => {
|
|
|
|
|
// dialog.title:
|
|
|
|
|
const show = (title: string, type: string, width: number, height: number, row?: UserModel) => {
|
|
|
|
|
|
|
|
|
|
onShow(title, width, height)
|
|
|
|
|
// dialog.visible = true;
|
|
|
|
|
|
|
|
|
|
// 清空表单
|
|
|
|
|
addFormRef.value?.resetFields()
|
|
|
|
|
|
|
|
|
|
// 编辑需要回显数据
|
|
|
|
|
if (row) {
|
|
|
|
|
nextTick(() => {
|
|
|
|
|
Object.assign(addModel, row)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取本次操作是新增还是编辑
|
|
|
|
|
addModel.type = type
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 将显示弹框方法暴露给父组件
|
|
|
|
|
@ -98,6 +111,7 @@ defineExpose({
|
|
|
|
|
|
|
|
|
|
// 表单绑定对象
|
|
|
|
|
const addModel = reactive<UserModel>({
|
|
|
|
|
type: "",
|
|
|
|
|
userId: "",
|
|
|
|
|
username: "",
|
|
|
|
|
password: "",
|
|
|
|
|
@ -139,17 +153,30 @@ const rules = reactive({
|
|
|
|
|
}]
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// 注册刷新事件,通过子组件调用父组件
|
|
|
|
|
const emits = defineEmits(['onFresh'])
|
|
|
|
|
|
|
|
|
|
// 表单提交
|
|
|
|
|
const commit = () => {
|
|
|
|
|
addFormRef.value?.validate(async(valid) => {
|
|
|
|
|
if(valid){
|
|
|
|
|
addFormRef.value?.validate(async (valid) => {
|
|
|
|
|
if (valid) {
|
|
|
|
|
// 调用addUserApi,将前端表单收集到的数据提交给数据库
|
|
|
|
|
let res = await addUserApi(addModel)
|
|
|
|
|
let res = null
|
|
|
|
|
if(addModel.type == EditType.ADD){
|
|
|
|
|
res = await addUserApi(addModel)
|
|
|
|
|
}else{
|
|
|
|
|
res = await editUserApi(addModel)
|
|
|
|
|
}
|
|
|
|
|
console.log(res)
|
|
|
|
|
if(res && res.code == 200){
|
|
|
|
|
if (res && res.code == 200) {
|
|
|
|
|
// 成功信息提示
|
|
|
|
|
ElMessage.success(res.msg)
|
|
|
|
|
// 刷新列表
|
|
|
|
|
// getList()
|
|
|
|
|
emits('onFresh')
|
|
|
|
|
onConfirm()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|