|
|
|
@ -20,14 +20,14 @@
|
|
|
|
|
</vxe-form-gather>
|
|
|
|
|
<vxe-form-gather span="24">
|
|
|
|
|
<vxe-form-item title="用户名" field="UserName" span="20">
|
|
|
|
|
<template #default="params">
|
|
|
|
|
<vxe-input v-model="params.data.UserName" placeholder="请输入用户名" clearable :disabled="formTypeA == add"
|
|
|
|
|
@change="fnChangeA(params)"></vxe-input>
|
|
|
|
|
</template>
|
|
|
|
|
</vxe-form-item>
|
|
|
|
|
<vxe-form-item title="新密码" field="Password" span="24">
|
|
|
|
|
<template #default="params">
|
|
|
|
|
<vxe-input v-model="params.data.Password" placeholder="请输入新密码" clearable
|
|
|
|
|
<vxe-input v-model="params.data.UserName" placeholder="请输入用户名" clearable v-bind:disabled="formTypeA"
|
|
|
|
|
@change="fnChangeA(params)"></vxe-input>
|
|
|
|
|
</template>
|
|
|
|
|
</vxe-form-item>
|
|
|
|
|
<vxe-form-item title="密码" field="Password" span="20">
|
|
|
|
|
<template #default="params">
|
|
|
|
|
<vxe-input v-model="params.data.Password" placeholder="请输入密码" clearable
|
|
|
|
|
@change="fnChangeA(params)"></vxe-input>
|
|
|
|
|
</template>
|
|
|
|
|
</vxe-form-item>
|
|
|
|
@ -57,7 +57,8 @@ const modalTitle = ref('未知表单')
|
|
|
|
|
// 表单
|
|
|
|
|
const refFormA = ref()
|
|
|
|
|
// 表单类型[add - 新增|update - 修改|del - 删除]
|
|
|
|
|
const formTypeA: any = ref('')
|
|
|
|
|
const formTypeA: any = ref(true)
|
|
|
|
|
const active: any = ref("")
|
|
|
|
|
// 表单A - 初始数据
|
|
|
|
|
const formDataAInit: any = {
|
|
|
|
|
Id: 0,
|
|
|
|
@ -74,6 +75,9 @@ const fnChangeA = (params: any) => {
|
|
|
|
|
const formDataA: any = ref(formDataAInit)
|
|
|
|
|
// 表单规则
|
|
|
|
|
const formRulesA: any = ref({
|
|
|
|
|
UserName: [
|
|
|
|
|
{ required: true, message: '用户名不能为空' }
|
|
|
|
|
],
|
|
|
|
|
Password: [
|
|
|
|
|
{ required: true, message: '密码不能为空' }
|
|
|
|
|
]
|
|
|
|
@ -84,7 +88,8 @@ onMounted(() => {
|
|
|
|
|
})
|
|
|
|
|
// 打开弹窗
|
|
|
|
|
const open = async (type: string, row?: any) => {
|
|
|
|
|
formTypeA.value = type
|
|
|
|
|
active.value = type
|
|
|
|
|
formTypeA.value = type=="add"?false:true
|
|
|
|
|
await fnResetA()
|
|
|
|
|
switch (type) {
|
|
|
|
|
case 'add':
|
|
|
|
@ -104,36 +109,41 @@ const open = async (type: string, row?: any) => {
|
|
|
|
|
const rowInfoA = await comApi.getUser(paramsA)
|
|
|
|
|
console.log(rowInfoA)
|
|
|
|
|
formDataA.value = rowInfoA.Data
|
|
|
|
|
formDataA.value.Password=''
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 提交
|
|
|
|
|
const fnSubmitA = async () => {
|
|
|
|
|
switch (formTypeA.value) {
|
|
|
|
|
case 'add':
|
|
|
|
|
const paramsA = {
|
|
|
|
|
data: formDataA.value
|
|
|
|
|
await refFormA.value.validate().then(async (res: any) => {
|
|
|
|
|
if(!res){
|
|
|
|
|
switch (active.value) {
|
|
|
|
|
case 'add':
|
|
|
|
|
const paramsA = {
|
|
|
|
|
data: formDataA.value
|
|
|
|
|
}
|
|
|
|
|
await comApi.saveUser(paramsA)
|
|
|
|
|
VXETable.modal.message({ content: '新增成功', status: 'success' })
|
|
|
|
|
break;
|
|
|
|
|
case 'edit':
|
|
|
|
|
let setVal: any = _map(formDataA.value, (o1, k1) => {
|
|
|
|
|
return { field: k1, value: o1 }
|
|
|
|
|
})
|
|
|
|
|
const paramsB = {
|
|
|
|
|
filter: {
|
|
|
|
|
field: 'ID',
|
|
|
|
|
value: formDataA.value.ID
|
|
|
|
|
},
|
|
|
|
|
set: setVal
|
|
|
|
|
}
|
|
|
|
|
await comApi.editUser(paramsB)
|
|
|
|
|
VXETable.modal.message({ content: '修改成功', status: 'success' })
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
await comApi.saveUser(paramsA)
|
|
|
|
|
VXETable.modal.message({ content: '新增成功', status: 'success' })
|
|
|
|
|
break;
|
|
|
|
|
case 'edit':
|
|
|
|
|
let setVal: any = _map(formDataA.value, (o1, k1) => {
|
|
|
|
|
return { field: k1, value: o1 }
|
|
|
|
|
})
|
|
|
|
|
const paramsB = {
|
|
|
|
|
filter: {
|
|
|
|
|
field: 'ID',
|
|
|
|
|
value: formDataA.value.ID
|
|
|
|
|
},
|
|
|
|
|
set: setVal
|
|
|
|
|
}
|
|
|
|
|
await comApi.editUser(paramsB)
|
|
|
|
|
VXETable.modal.message({ content: '修改成功', status: 'success' })
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
refShow.value = false
|
|
|
|
|
emit('success')
|
|
|
|
|
refShow.value = false
|
|
|
|
|
emit('success')
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 提供open方法打开弹窗
|
|
|
|
|