修改模态框对象类型.
This commit is contained in:
@@ -26,7 +26,7 @@ export interface ${vue.featureEntity}CreateRequest {
|
||||
* ${table.comment}更新请求
|
||||
*/
|
||||
export interface ${vue.featureEntity}UpdateRequest extends ${vue.featureEntity}CreateRequest {
|
||||
id: number | undefined;
|
||||
id?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -21,7 +21,9 @@
|
||||
<!-- $field.comment -->
|
||||
<a-form-item field="${field.propertyName}" label="${field.comment}">
|
||||
#if("$field.propertyType" == "Integer" || "$field.propertyType" == "Long")
|
||||
<a-input-number v-model="formModel.${field.propertyName}" placeholder="请输入${field.comment}" />
|
||||
<a-input-number v-model="formModel.${field.propertyName}"
|
||||
placeholder="请输入${field.comment}"
|
||||
hide-button />
|
||||
#elseif("$field.propertyType" == "Date")
|
||||
<a-date-picker v-model="formModel.${field.propertyName}"
|
||||
style="width: 100%"
|
||||
@@ -45,7 +47,7 @@
|
||||
</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 formRules from '../types/form.rules';
|
||||
@@ -61,7 +63,7 @@
|
||||
const title = ref<string>();
|
||||
const isAddHandle = ref<boolean>(true);
|
||||
|
||||
const defaultForm = (): ${vue.featureEntity}UpdateRequest & Record<string, any> => {
|
||||
const defaultForm = (): ${vue.featureEntity}UpdateRequest => {
|
||||
return {
|
||||
#foreach($field in ${table.fields})
|
||||
${field.propertyName}: undefined,
|
||||
@@ -70,7 +72,7 @@
|
||||
};
|
||||
|
||||
const formRef = ref<any>();
|
||||
const formModel = reactive<${vue.featureEntity}UpdateRequest & Record<string, any>>(defaultForm());
|
||||
const formModel = ref<${vue.featureEntity}UpdateRequest>({});
|
||||
|
||||
const emits = defineEmits(['added', 'updated']);
|
||||
|
||||
@@ -92,11 +94,7 @@
|
||||
|
||||
// 渲染表单
|
||||
const renderForm = (record: any) => {
|
||||
Object.keys(formModel).forEach(k => {
|
||||
if (record.hasOwnProperty(k)) {
|
||||
formModel[k] = record[k];
|
||||
}
|
||||
});
|
||||
formModel.value = Object.assign({}, record);
|
||||
};
|
||||
|
||||
defineExpose({ openAdd, openUpdate });
|
||||
@@ -112,12 +110,12 @@
|
||||
}
|
||||
if (isAddHandle.value) {
|
||||
// 新增
|
||||
await create${vue.featureEntity}(formModel);
|
||||
await create${vue.featureEntity}(formModel.value);
|
||||
Message.success('创建成功');
|
||||
emits('added');
|
||||
} else {
|
||||
// 修改
|
||||
await update${vue.featureEntity}(formModel);
|
||||
await update${vue.featureEntity}(formModel.value);
|
||||
Message.success('修改成功');
|
||||
emits('updated');
|
||||
}
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
<!-- $field.comment -->
|
||||
<a-form-item field="${field.propertyName}" label="${field.comment}">
|
||||
#if("$field.propertyType" == "Integer" || "$field.propertyType" == "Long")
|
||||
<a-input-number v-model="formModel.${field.propertyName}" placeholder="请输入${field.comment}" />
|
||||
<a-input-number v-model="formModel.${field.propertyName}"
|
||||
placeholder="请输入${field.comment}"
|
||||
hide-button />
|
||||
#elseif("$field.propertyType" == "Date")
|
||||
<a-date-picker v-model="formModel.${field.propertyName}"
|
||||
style="width: 100%"
|
||||
@@ -49,7 +51,7 @@
|
||||
</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 formRules from '../types/form.rules';
|
||||
@@ -65,7 +67,7 @@
|
||||
const title = ref<string>();
|
||||
const isAddHandle = ref<boolean>(true);
|
||||
|
||||
const defaultForm = (): ${vue.featureEntity}UpdateRequest & Record<string, any> => {
|
||||
const defaultForm = (): ${vue.featureEntity}UpdateRequest => {
|
||||
return {
|
||||
#foreach($field in ${table.fields})
|
||||
${field.propertyName}: undefined,
|
||||
@@ -74,7 +76,7 @@
|
||||
};
|
||||
|
||||
const formRef = ref<any>();
|
||||
const formModel = reactive<${vue.featureEntity}UpdateRequest & Record<string, any>>(defaultForm());
|
||||
const formModel = ref<${vue.featureEntity}UpdateRequest>({});
|
||||
|
||||
const emits = defineEmits(['added', 'updated']);
|
||||
|
||||
@@ -96,11 +98,7 @@
|
||||
|
||||
// 渲染表单
|
||||
const renderForm = (record: any) => {
|
||||
Object.keys(formModel).forEach(k => {
|
||||
if (record.hasOwnProperty(k)) {
|
||||
formModel[k] = record[k];
|
||||
}
|
||||
});
|
||||
formModel.value = Object.assign({}, record);
|
||||
};
|
||||
|
||||
defineExpose({ openAdd, openUpdate });
|
||||
@@ -116,12 +114,12 @@
|
||||
}
|
||||
if (isAddHandle.value) {
|
||||
// 新增
|
||||
await create${vue.featureEntity}(formModel);
|
||||
await create${vue.featureEntity}(formModel.value);
|
||||
Message.success('创建成功');
|
||||
emits('added');
|
||||
} else {
|
||||
// 修改
|
||||
await update${vue.featureEntity}(formModel);
|
||||
await update${vue.featureEntity}(formModel.value);
|
||||
Message.success('修改成功');
|
||||
emits('updated');
|
||||
}
|
||||
|
||||
@@ -9,13 +9,16 @@
|
||||
<!-- $field.comment -->
|
||||
<a-form-item field="${field.propertyName}" label="${field.comment}" label-col-flex="50px">
|
||||
#if("$field.propertyType" == "Integer" || "$field.propertyType" == "Long")
|
||||
<a-input-number v-model="formModel.${field.propertyName}" placeholder="请输入${field.comment}" allow-clear/>
|
||||
<a-input-number v-model="formModel.${field.propertyName}"
|
||||
placeholder="请输入${field.comment}"
|
||||
allow-clear
|
||||
hide-button />
|
||||
#elseif("$field.propertyType" == "Date")
|
||||
<a-date-picker v-model="formModel.${field.propertyName}"
|
||||
style="width: 100%"
|
||||
placeholder="请选择${field.comment}"
|
||||
show-time
|
||||
allow-clear/>
|
||||
allow-clear />
|
||||
#else
|
||||
<a-input v-model="formModel.${field.propertyName}" placeholder="请输入${field.comment}" allow-clear/>
|
||||
#end
|
||||
@@ -67,10 +70,10 @@
|
||||
label-align="left"
|
||||
:loading="loading"
|
||||
:columns="columns"
|
||||
v-model:selectedKeys="selectedKeys"
|
||||
:selected-keys="selectedKeys"
|
||||
:row-selection="rowSelection"
|
||||
:data="tableRenderData"
|
||||
:pagination="pagination as PaginationProps"
|
||||
:pagination="pagination"
|
||||
@page-change="(page) => fetchTableData(page, pagination.pageSize)"
|
||||
@page-size-change="(size) => fetchTableData(pagination.current, size)"
|
||||
:bordered="false">
|
||||
@@ -123,11 +126,11 @@
|
||||
const { loading, setLoading } = useLoading();
|
||||
const emits = defineEmits(['openAdd', 'openUpdate']);
|
||||
|
||||
const pagination = reactive(defaultPagination());
|
||||
const pagination = reactive(defaultPagination()) as PaginationProps;
|
||||
const selectedKeys = ref<number[]>([]);
|
||||
const rowSelection = reactive(defaultRowSelection());
|
||||
|
||||
const formModel = reactive<${vue.featureEntity}QueryRequest>({
|
||||
const formModel = ref<${vue.featureEntity}QueryRequest>({
|
||||
#foreach($field in ${table.fields})
|
||||
${field.propertyName}: undefined,
|
||||
#end
|
||||
@@ -150,7 +153,9 @@
|
||||
};
|
||||
|
||||
// 删除当前行
|
||||
const deleteRow = async ({ id }: { id: number }) => {
|
||||
const deleteRow = async ({ id }: {
|
||||
id: number
|
||||
}) => {
|
||||
try {
|
||||
setLoading(true);
|
||||
// 调用删除接口
|
||||
|
||||
Reference in New Issue
Block a user