修改模态框对象类型.

This commit is contained in:
lijiahang
2023-09-25 14:36:13 +08:00
parent e1fafbe135
commit 09610b3c82
29 changed files with 1450 additions and 2658 deletions

View File

@@ -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;
}
/**

View File

@@ -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');
}

View File

@@ -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');
}

View File

@@ -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);
// 调用删除接口