自动化代码增加 批量删除功能

This commit is contained in:
pixel
2020-07-07 16:39:36 +08:00
parent a7e2ef171f
commit 943913b443
16 changed files with 201 additions and 31 deletions
+16
View File
@@ -33,6 +33,22 @@ export const create{{.StructName}} = (data) => {
})
}
// @Tags {{.StructName}}
// @Summary 删除{{.StructName}}
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body request.IdsReq true "批量删除{{.StructName}}"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
// @Router /{{.Abbreviation}}/delete{{.StructName}} [delete]
export const delete{{.StructName}}ByIds = (data) => {
return service({
url: "/{{.Abbreviation}}/delete{{.StructName}}ByIds",
method: 'delete',
data
})
}
// @Tags {{.StructName}}
// @Summary 更新{{.StructName}}
// @Security ApiKeyAuth
+33
View File
@@ -27,10 +27,21 @@
<el-form-item>
<el-button @click="openDialog" type="primary">新增{{.Description}}</el-button>
</el-form-item>
<el-form-item>
<el-popover placement="top" v-model="deleteVisible" width="160">
<p>确定要删除吗?</p>
<div style="text-align: right; margin: 0">
<el-button @click="deleteVisible = false" size="mini" type="text">取消</el-button>
<el-button @click="onDelete" size="mini" type="primary">确定</el-button>
</div>
<el-button icon="el-icon-delete" size="mini" slot="reference" type="danger">批量删除</el-button>
</el-popover>
</el-form-item>
</el-form>
</div>
<el-table
:data="tableData"
@selection-change="handleSelectionChange"
border
ref="multipleTable"
stripe
@@ -87,6 +98,7 @@
import {
create{{.StructName}},
delete{{.StructName}},
delete{{.StructName}}ByIds,
update{{.StructName}},
find{{.StructName}},
get{{.StructName}}List
@@ -103,6 +115,8 @@ export default {
dialogFormVisible: false,
visible: false,
type: "",
deleteVisible: false,
multipleSelection: [],
formData: {
{{range .Fields}}{{.FieldJson}}:null,{{ end }}
}
@@ -136,6 +150,25 @@ export default {
} {{ end }} {{ end }}
this.getTableData()
},
handleSelectionChange(val) {
this.multipleSelection = val
},
async onDelete() {
const ids = []
this.multipleSelection &&
this.multipleSelection.map(item => {
ids.push(item.ID)
})
const res = await delete{{.StructName}}ByIds({ ids })
if (res.code == 0) {
this.$message({
type: 'success',
message: '删除成功'
})
this.deleteVisible = false
this.getTableData()
}
},
async update{{.StructName}}(row) {
const res = await find{{.StructName}}({ ID: row.ID });
this.type = "update";