【更新】代码生成增加对应的批量删除跟代码调优,解决了iss中提出的生成后代码不能重置等一系列问题,其次优化后端实体类导包

pull/90/head
小诺 2023-03-12 23:43:44 +08:00 committed by 俞宝山
parent 98d3c87bac
commit c7e615c7b4
3 changed files with 60 additions and 71 deletions

View File

@ -12,10 +12,7 @@
*/ */
package ${packageName}.${moduleName}.modular.${busName}.entity; package ${packageName}.${moduleName}.modular.${busName}.entity;
import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;

View File

@ -147,30 +147,28 @@
} }
// 验证并提交数据 // 验证并提交数据
const onSubmit = () => { const onSubmit = () => {
formRef.value formRef.value.validate().then(() => {
.validate() submitLoading.value = true
.then(() => { const formDataParam = cloneDeep(formData.value)
submitLoading.value = true <% for(var i = 0; i < configList.~size; i++) { %>
const formDataParam = cloneDeep(formData.value) <% if(configList[i].whetherAddUpdate && configList[i].effectType == 'checkbox') { %>
formDataParam.${configList[i].fieldNameCamelCase} = JSON.stringify(formDataParam.${configList[i].fieldNameCamelCase})
<% } %>
<% } %>
${classNameFirstLower}Api
<% for(var i = 0; i < configList.~size; i++) { %> <% for(var i = 0; i < configList.~size; i++) { %>
<% if(configList[i].whetherAddUpdate && configList[i].effectType == 'checkbox') { %> <% if(configList[i].needTableId) { %>
formDataParam.${configList[i].fieldNameCamelCase} = JSON.stringify(formDataParam.${configList[i].fieldNameCamelCase}) .${classNameFirstLower}SubmitForm(formDataParam, !formDataParam.${configList[i].fieldNameCamelCase})
<% } %> <% } %>
<% } %> <% } %>
${classNameFirstLower}Api .then(() => {
<% for(var i = 0; i < configList.~size; i++) { %> onClose()
<% if(configList[i].needTableId) { %> emit('successful')
.${classNameFirstLower}SubmitForm(formDataParam, !formDataParam.${configList[i].fieldNameCamelCase}) })
<% } %> .finally(() => {
<% } %> submitLoading.value = false
.then(() => { })
onClose() })
emit('successful')
})
.finally(() => {
submitLoading.value = false
})
})
} }
// 抛出函数 // 抛出函数
defineExpose({ defineExpose({

View File

@ -8,7 +8,7 @@
<% } %> <% } %>
<a-card :bordered="false"> <a-card :bordered="false">
<% if (searchCount > 0) { %> <% if (searchCount > 0) { %>
<a-form ref="searchFormRef" name="advanced_search" :model="searchFormState" class="ant-advanced-search-form mb-4"> <a-form ref="searchFormRef" name="advanced_search" :model="searchFormState" class="ant-advanced-search-form">
<a-row :gutter="24"> <a-row :gutter="24">
<% for(var i = 0; i < configList.~size; i++) { %> <% for(var i = 0; i < configList.~size; i++) { %>
<% if(!configList[i].needTableId && configList[i].needPage) { row ++; %> <% if(!configList[i].needTableId && configList[i].needPage) { row ++; %>
@ -37,37 +37,35 @@
<% } %> <% } %>
</a-col> </a-col>
<% } else { %> <% } else { %>
<template v-if="advanced"> <a-col :span="6" v-show="advanced">
<a-col :span="6"> <% if(configList[i].effectType == 'input' || configList[i].effectType == 'textarea') { %>
<% if(configList[i].effectType == 'input' || configList[i].effectType == 'textarea') { %> <a-form-item label="${configList[i].fieldRemark}" name="${configList[i].fieldNameCamelCase}">
<a-form-item label="${configList[i].fieldRemark}" name="${configList[i].fieldNameCamelCase}"> <a-input v-model:value="searchFormState.${configList[i].fieldNameCamelCase}" placeholder="请输入${configList[i].fieldRemark}" />
<a-input v-model:value="searchFormState.${configList[i].fieldNameCamelCase}" placeholder="请输入${configList[i].fieldRemark}" /> </a-form-item>
</a-form-item> <% } else if (configList[i].effectType == 'select' || configList[i].effectType == 'radio' || configList[i].effectType == 'checkbox') {%>
<% } else if (configList[i].effectType == 'select' || configList[i].effectType == 'radio' || configList[i].effectType == 'checkbox') {%> <a-form-item label="${configList[i].fieldRemark}" name="${configList[i].fieldNameCamelCase}">
<a-form-item label="${configList[i].fieldRemark}" name="${configList[i].fieldNameCamelCase}"> <a-select v-model:value="searchFormState.${configList[i].fieldNameCamelCase}" placeholder="请选择${configList[i].fieldRemark}" :options="${configList[i].fieldNameCamelCase}Options" />
<a-select v-model:value="searchFormState.${configList[i].fieldNameCamelCase}" placeholder="请选择${configList[i].fieldRemark}" :options="${configList[i].fieldNameCamelCase}Options" /> </a-form-item>
</a-form-item> <% } else if (configList[i].effectType == 'inputNumber' || configList[i].effectType == 'slider') {%>
<% } else if (configList[i].effectType == 'inputNumber' || configList[i].effectType == 'slider') {%> <a-form-item label="${configList[i].fieldRemark}" name="${configList[i].fieldNameCamelCase}">
<a-form-item label="${configList[i].fieldRemark}" name="${configList[i].fieldNameCamelCase}"> <a-input-number v-model:value="searchFormState.${configList[i].fieldNameCamelCase}" placeholder="请输入${configList[i].fieldRemark}" style="width: 100%" />
<a-input-number v-model:value="searchFormState.${configList[i].fieldNameCamelCase}" placeholder="请输入${configList[i].fieldRemark}" style="width: 100%" /> </a-form-item>
</a-form-item> <% } else if (configList[i].effectType == 'datepicker') {%>
<% } else if (configList[i].effectType == 'datepicker') {%> <a-form-item label="${configList[i].fieldRemark}" name="${configList[i].fieldNameCamelCase}">
<a-form-item label="${configList[i].fieldRemark}" name="${configList[i].fieldNameCamelCase}"> <a-range-picker v-model:value="searchFormState.${configList[i].fieldNameCamelCase}" show-time />
<a-range-picker v-model:value="searchFormState.${configList[i].fieldNameCamelCase}" show-time /> </a-form-item>
</a-form-item> <% } else {%>
<% } else {%> <a-form-item label="${configList[i].fieldRemark}" name="${configList[i].fieldNameCamelCase}">
<a-form-item label="${configList[i].fieldRemark}" name="${configList[i].fieldNameCamelCase}"> <a-input v-model:value="searchFormState.${configList[i].fieldNameCamelCase}" placeholder="请输入${configList[i].fieldRemark}" />
<a-input v-model:value="searchFormState.${configList[i].fieldNameCamelCase}" placeholder="请输入${configList[i].fieldRemark}" /> </a-form-item>
</a-form-item> <% } %>
<% } %> </a-col>
</a-col>
</template>
<% } %> <% } %>
<% } %> <% } %>
<% } %> <% } %>
<a-col :span="6"> <a-col :span="6">
<a-button type="primary" @click="table.refresh(true)">查询</a-button> <a-button type="primary" @click="table.refresh(true)">查询</a-button>
<a-button style="margin: 0 8px" @click="() => searchFormRef.resetFields()">重置</a-button> <a-button style="margin: 0 8px" @click="reset">重置</a-button>
<% if(searchCount > 3) { %> <% if(searchCount > 3) { %>
<a @click="toggleAdvanced" style="margin-left: 8px"> <a @click="toggleAdvanced" style="margin-left: 8px">
{{ advanced ? '收起' : '展开' }} {{ advanced ? '收起' : '展开' }}
@ -98,7 +96,11 @@
<template #icon><plus-outlined /></template> <template #icon><plus-outlined /></template>
新增 新增
</a-button> </a-button>
<a-button danger @click="deleteBatch${className}()" v-if="hasPerm('${classNameFirstLower}BatchDelete')">删除</a-button> <xn-batch-delete
v-if="hasPerm('${classNameFirstLower}BatchDelete')"
:selectedRowKeys="selectedRowKeys"
@batchDelete="deleteBatch${className}()"
/>
</a-space> </a-space>
</template> </template>
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
@ -131,7 +133,6 @@
</template> </template>
<script setup name="${busName}"> <script setup name="${busName}">
import { message } from 'ant-design-vue'
<% <%
var iptTool = 0; var iptTool = 0;
if (searchCount > 0) { if (searchCount > 0) {
@ -185,13 +186,14 @@
width: '150px' width: '150px'
}) })
} }
let selectedRowKeys = ref([]) const selectedRowKeys = ref([])
// 列表选择配置 // 列表选择配置
const options = { const options = {
// columns数字类型字段加入 needTotal: true 可以勾选自动算账
alert: { alert: {
show: false, show: true,
clear: () => { clear: () => {
selectedRowKeys = ref([]) selectedRowKeys.value = ref([])
} }
}, },
rowSelection: { rowSelection: {
@ -222,6 +224,11 @@
return data return data
}) })
} }
// 重置
const reset = () => {
searchFormRef.value.resetFields();
table.value.refresh(true)
}
// 删除 // 删除
const delete${className} = (record) => { const delete${className} = (record) => {
let params = [ let params = [
@ -238,20 +245,7 @@
}) })
} }
// 批量删除 // 批量删除
const deleteBatch${className} = () => { const deleteBatch${className} = (params) => {
if (selectedRowKeys.value.length < 1) {
message.warning('请选择一条或多条数据')
return false
}
const params = selectedRowKeys.value.map((m) => {
return {
<% for(var i = 0; i < configList.~size; i++) { %>
<% if(configList[i].needTableId) { %>
${configList[i].fieldNameCamelCase}: m
<% } %>
<% } %>
}
})
${classNameFirstLower}Api.${classNameFirstLower}Delete(params).then(() => { ${classNameFirstLower}Api.${classNameFirstLower}Delete(params).then(() => {
table.value.clearRefreshSelected() table.value.clearRefreshSelected()
}) })