|
|
@ -14,7 +14,7 @@ |
|
|
|
@click="handleAdd()" |
|
|
|
@click="handleAdd()" |
|
|
|
>新增</a-button> |
|
|
|
>新增</a-button> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
<template #bodyCell="{ column, record }"> |
|
|
|
<template #bodyCell="{ index, column, record }"> |
|
|
|
<template v-if="column.key === 'action'"> |
|
|
|
<template v-if="column.key === 'action'"> |
|
|
|
<TableAction |
|
|
|
<TableAction |
|
|
|
:actions="[ |
|
|
|
:actions="[ |
|
|
@ -26,13 +26,13 @@ |
|
|
|
{ |
|
|
|
{ |
|
|
|
label: '编辑', |
|
|
|
label: '编辑', |
|
|
|
icon: 'fa6-regular:pen-to-square', |
|
|
|
icon: 'fa6-regular:pen-to-square', |
|
|
|
onClick: handleEdit.bind(null, record) |
|
|
|
onClick: handleEdit.bind(null, record, index) |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
label: '删除', |
|
|
|
label: '删除', |
|
|
|
icon: 'ant-design:delete-outlined', |
|
|
|
icon: 'ant-design:delete-outlined', |
|
|
|
color: 'error', |
|
|
|
color: 'error', |
|
|
|
onClick: handleDel.bind(null, record) |
|
|
|
onClick: handleDel.bind(null, record, index) |
|
|
|
}]" |
|
|
|
}]" |
|
|
|
/> |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</template> |
|
|
@ -45,11 +45,12 @@ |
|
|
|
import { reactive, computed } from 'vue'; |
|
|
|
import { reactive, computed } from 'vue'; |
|
|
|
import { BasicForm, useForm } from '/@/components/Form/index'; |
|
|
|
import { BasicForm, useForm } from '/@/components/Form/index'; |
|
|
|
import { formSchema, genTableFieldTypeReloadColumns } from './genDataBaseType.data'; |
|
|
|
import { formSchema, genTableFieldTypeReloadColumns } from './genDataBaseType.data'; |
|
|
|
import { editGenDatabaseType, getGenDatabaseType } from '/@/api/platform/system/controller/genDatabaseType'; |
|
|
|
import { saveAndGenTableFieldType, getGenDatabaseType } from '/@/api/platform/system/controller/genDatabaseType'; |
|
|
|
import { BasicModal, ModalProps, useModal, useModalInner } from '/@/components/Modal'; |
|
|
|
import { BasicModal, ModalProps, useModal, useModalInner } from '/@/components/Modal'; |
|
|
|
import { BasicTable, TableAction, useTable } from '/@/components/Table'; |
|
|
|
import { BasicTable, TableAction, useTable } from '/@/components/Table'; |
|
|
|
import GenTableFieldTypeModal from './GenTableFieldTypeModal.vue'; |
|
|
|
import GenTableFieldTypeModal from './GenTableFieldTypeModal.vue'; |
|
|
|
import { useMessage } from '/@/hooks/web/useMessage'; |
|
|
|
import { useMessage } from '/@/hooks/web/useMessage'; |
|
|
|
|
|
|
|
import { isNil } from 'lodash-es'; |
|
|
|
|
|
|
|
|
|
|
|
/** 通用变量统一声明区域 */ |
|
|
|
/** 通用变量统一声明区域 */ |
|
|
|
interface WindowState { |
|
|
|
interface WindowState { |
|
|
@ -110,13 +111,14 @@ |
|
|
|
await setProps({ disabled: true }); |
|
|
|
await setProps({ disabled: true }); |
|
|
|
props.showOkBtn = false; |
|
|
|
props.showOkBtn = false; |
|
|
|
const genDatabaseTypeView = await getGenDatabaseType(id); |
|
|
|
const genDatabaseTypeView = await getGenDatabaseType(id); |
|
|
|
state.dataSource = genDatabaseTypeView?.genTableFieldList || []; |
|
|
|
state.dataSource = genDatabaseTypeView?.genTableFieldTypeList || []; |
|
|
|
await setFieldsValue(genDatabaseTypeView); |
|
|
|
await setFieldsValue(genDatabaseTypeView); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 'edit': |
|
|
|
case 'edit': |
|
|
|
props.title = '编辑数据库字段类型'; |
|
|
|
props.title = '编辑数据库字段类型'; |
|
|
|
|
|
|
|
await setProps({ disabled: true }); |
|
|
|
const genDatabaseTypeEdit = await getGenDatabaseType(id); |
|
|
|
const genDatabaseTypeEdit = await getGenDatabaseType(id); |
|
|
|
state.dataSource = genDatabaseTypeEdit?.genTableFieldList || []; |
|
|
|
state.dataSource = genDatabaseTypeEdit?.genTableFieldTypeList || []; |
|
|
|
await setFieldsValue(genDatabaseTypeEdit); |
|
|
|
await setFieldsValue(genDatabaseTypeEdit); |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
@ -128,35 +130,41 @@ |
|
|
|
genTableFieldTypeOpenModal(true,{ _tag: 'add' }); |
|
|
|
genTableFieldTypeOpenModal(true,{ _tag: 'add' }); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function handleEdit(record: Recordable) { |
|
|
|
function handleEdit(record: Recordable, index: number) { |
|
|
|
genTableFieldTypeOpenModal(true, { _tag: 'edit', record }); |
|
|
|
genTableFieldTypeOpenModal(true, { _tag: 'edit', record, index }); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function handleViewEdit(record: Recordable) { |
|
|
|
function handleViewEdit(record: Recordable) { |
|
|
|
genTableFieldTypeOpenModal(true, { _tag: 'view', record }); |
|
|
|
genTableFieldTypeOpenModal(true, { _tag: 'view', record }); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
async function handleDel(record: Recordable) { |
|
|
|
async function handleDel(record: Recordable, index: number) { |
|
|
|
createConfirm({ |
|
|
|
createConfirm({ |
|
|
|
iconType: 'warning', |
|
|
|
iconType: 'warning', |
|
|
|
title: '警告', |
|
|
|
title: '警告', |
|
|
|
content: `是否确认删除标签为${record.lable}的数据?`, |
|
|
|
content: `是否确认删除标签为${record.label}的数据?`, |
|
|
|
onOk: async () => record._action = 'del' |
|
|
|
onOk: async () => { |
|
|
|
|
|
|
|
if (record.id) { |
|
|
|
|
|
|
|
record._action = 'del'; |
|
|
|
|
|
|
|
} else state.dataSource.splice(index, 1); |
|
|
|
|
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function handleGenTableFieldType(record: Recordable) { |
|
|
|
function handleGenTableFieldType(record: Recordable, index?: number) { |
|
|
|
state.dataSource.push(record); |
|
|
|
if (!isNil(index) && index !== -1) { |
|
|
|
|
|
|
|
state.dataSource.splice(index, 1, record); |
|
|
|
|
|
|
|
} else state.dataSource.push(record); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
async function handleSubmit() { |
|
|
|
async function handleSubmit() { |
|
|
|
try { |
|
|
|
try { |
|
|
|
// 提取验证数据 |
|
|
|
// 提取验证数据 |
|
|
|
const formData = await validate(); |
|
|
|
const formData = await validate(); |
|
|
|
formData.genTableFieldList = state.dataSource; |
|
|
|
formData.genTableFieldTypeList = state.dataSource; |
|
|
|
// 处理提交之前逻辑 |
|
|
|
// 处理提交之前逻辑 |
|
|
|
setModalProps({ confirmLoading: true }); |
|
|
|
setModalProps({ confirmLoading: true }); |
|
|
|
await editGenDatabaseType(formData); |
|
|
|
await saveAndGenTableFieldType(formData); |
|
|
|
// 处理提交完成之后逻辑 |
|
|
|
// 处理提交完成之后逻辑 |
|
|
|
closeModal(); |
|
|
|
closeModal(); |
|
|
|
emit('success'); |
|
|
|
emit('success'); |
|
|
|