|
@@ -15,7 +15,8 @@
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<el-button @click="isShowDialog = false">取 消</el-button>
|
|
|
- <el-button type="primary" @click="onSubmit">添 加</el-button>
|
|
|
+ <el-button type="primary" v-if="isEdit" @click="onEdit">修 改</el-button>
|
|
|
+ <el-button type="primary" v-else @click="onSubmit">添 加</el-button>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
</template>
|
|
@@ -32,6 +33,7 @@ interface Tag {
|
|
|
}
|
|
|
|
|
|
const form = {
|
|
|
+ id: '',
|
|
|
key: '',
|
|
|
name: '',
|
|
|
value: '',
|
|
@@ -39,6 +41,8 @@ const form = {
|
|
|
|
|
|
const formRef = ref(null)
|
|
|
const isShowDialog = ref(false)
|
|
|
+const isEdit = ref(false)
|
|
|
+let editRowData:any
|
|
|
|
|
|
const ruleForm = reactive<Tag>({
|
|
|
...form
|
|
@@ -51,12 +55,22 @@ const rules = {
|
|
|
}
|
|
|
|
|
|
function addRow() {
|
|
|
+ isEdit.value = false
|
|
|
const fromDom = formRef.value as any
|
|
|
fromDom && fromDom.resetFields()
|
|
|
Object.assign(ruleForm, { ...form })
|
|
|
isShowDialog.value = true
|
|
|
}
|
|
|
|
|
|
+function editRow(row: Tag) {
|
|
|
+ const fromDom = formRef.value as any
|
|
|
+ fromDom && fromDom.resetFields()
|
|
|
+ Object.assign(ruleForm, row)
|
|
|
+ isEdit.value = true
|
|
|
+ editRowData = row
|
|
|
+ isShowDialog.value = true
|
|
|
+}
|
|
|
+
|
|
|
async function onSubmit() {
|
|
|
const fromDom = formRef.value as any
|
|
|
await fromDom.validate()
|
|
@@ -64,8 +78,18 @@ async function onSubmit() {
|
|
|
isShowDialog.value = false
|
|
|
}
|
|
|
|
|
|
+async function onEdit() {
|
|
|
+ const fromDom = formRef.value as any
|
|
|
+ await fromDom.validate()
|
|
|
+ editRowData.key = ruleForm.key
|
|
|
+ editRowData.name = ruleForm.name
|
|
|
+ editRowData.value = ruleForm.value
|
|
|
+ isShowDialog.value = false
|
|
|
+}
|
|
|
+
|
|
|
defineExpose({
|
|
|
- addRow
|
|
|
+ addRow,
|
|
|
+ editRow
|
|
|
})
|
|
|
|
|
|
</script>
|