修复了在当前表格当前页删除为空的情况下页面被锁死的bug

This commit is contained in:
QM303176530
2020-12-27 17:20:54 +08:00
parent 5c78ecc2d3
commit 2547ba88ae
18 changed files with 351 additions and 303 deletions
@@ -4,27 +4,19 @@
<el-form :inline="true" :model="searchInfo" class="demo-form-inline">
<el-form-item label="字典名(中)">
<el-input placeholder="搜索条件" v-model="searchInfo.name"></el-input>
</el-form-item>
</el-form-item>
<el-form-item label="字典名(英)">
<el-input placeholder="搜索条件" v-model="searchInfo.type"></el-input>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="searchInfo.status" clear placeholder="请选择">
<el-option
key="true"
label="是"
value="true">
</el-option>
<el-option
key="false"
label="否"
value="false">
</el-option>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="searchInfo.status" clear placeholder="请选择">
<el-option key="true" label="是" value="true"></el-option>
<el-option key="false" label="否" value="false"></el-option>
</el-select>
</el-form-item>
<el-form-item label="描述">
<el-input placeholder="搜索条件" v-model="searchInfo.desc"></el-input>
</el-form-item>
</el-form-item>
<el-form-item>
<el-button @click="onSubmit" type="primary">查询</el-button>
</el-form-item>
@@ -41,21 +33,21 @@
style="width: 100%"
tooltip-effect="dark"
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="日期" width="180">
<template slot-scope="scope">{{scope.row.CreatedAt|formatDate}}</template>
</el-table-column>
<el-table-column label="字典名(中)" prop="name" width="120"></el-table-column>
<el-table-column label="字典名(英)" prop="type" width="120"></el-table-column>
<el-table-column label="状态" prop="status" width="120">
<template slot-scope="scope">{{scope.row.status|formatBoolean}}</template>
</el-table-column>
<el-table-column label="描述" prop="desc" width="280"></el-table-column>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="日期" width="180">
<template slot-scope="scope">{{scope.row.CreatedAt|formatDate}}</template>
</el-table-column>
<el-table-column label="字典名(中)" prop="name" width="120"></el-table-column>
<el-table-column label="字典名(英)" prop="type" width="120"></el-table-column>
<el-table-column label="状态" prop="status" width="120">
<template slot-scope="scope">{{scope.row.status|formatBoolean}}</template>
</el-table-column>
<el-table-column label="描述" prop="desc" width="280"></el-table-column>
<el-table-column label="按钮组">
<template slot-scope="scope">
<el-button @click="toDetile(scope.row)" size="small" type="success">详情</el-button>
@@ -85,20 +77,30 @@
<el-dialog :before-close="closeDialog" :visible.sync="dialogFormVisible" title="弹窗操作">
<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="110px">
<el-form-item label="字典名(中)" prop="name">
<el-input v-model="formData.name" placeholder="请输入字典名(中)" clearable :style="{width: '100%'}"></el-input>
</el-form-item>
<el-form-item label="字典名(英)" prop="type">
<el-input v-model="formData.type" placeholder="请输入字典名(英)" clearable :style="{width: '100%'}"></el-input>
</el-form-item>
<el-form-item label="状态" prop="status" required>
<el-switch v-model="formData.status" active-text="开启" inactive-text="停用"></el-switch>
</el-form-item>
<el-form-item label="描述" prop="desc">
<el-input v-model="formData.desc" placeholder="请输入描述" clearable :style="{width: '100%'}"></el-input>
</el-form-item>
</el-form>
<el-form-item label="字典名(中)" prop="name">
<el-input
v-model="formData.name"
placeholder="请输入字典名(中)"
clearable
:style="{width: '100%'}"
></el-input>
</el-form-item>
<el-form-item label="字典名(英)" prop="type">
<el-input
v-model="formData.type"
placeholder="请输入字典名(英)"
clearable
:style="{width: '100%'}"
></el-input>
</el-form-item>
<el-form-item label="状态" prop="status" required>
<el-switch v-model="formData.status" active-text="开启" inactive-text="停用"></el-switch>
</el-form-item>
<el-form-item label="描述" prop="desc">
<el-input v-model="formData.desc" placeholder="请输入描述" clearable :style="{width: '100%'}"></el-input>
</el-form-item>
</el-form>
<div class="dialog-footer" slot="footer">
<el-button @click="closeDialog">取 消</el-button>
<el-button @click="enterDialog" type="primary">确 定</el-button>
@@ -111,12 +113,12 @@
<script>
import {
createSysDictionary,
deleteSysDictionary,
updateSysDictionary,
findSysDictionary,
getSysDictionaryList
} from "@/api/sysDictionary"; // 此处请自行替换地址
createSysDictionary,
deleteSysDictionary,
updateSysDictionary,
findSysDictionary,
getSysDictionaryList
} from "@/api/sysDictionary"; // 此处请自行替换地址
import { formatTimeToStr } from "@/utils/date";
import infoList from "@/mixins/infoList";
export default {
@@ -129,25 +131,34 @@ export default {
visible: false,
type: "",
formData: {
name:null,type:null,status:true,desc:null
name: null,
type: null,
status: true,
desc: null
},
rules: {
name: [{
required: true,
message: '请输入字典名(中)',
trigger: 'blur'
}],
type: [{
required: true,
message: '请输入字典名(英)',
trigger: 'blur'
}],
desc: [{
required: true,
message: '请输入描述',
trigger: 'blur'
}],
},
name: [
{
required: true,
message: "请输入字典名(中)",
trigger: "blur"
}
],
type: [
{
required: true,
message: "请输入字典名(英)",
trigger: "blur"
}
],
desc: [
{
required: true,
message: "请输入描述",
trigger: "blur"
}
]
}
};
},
filters: {
@@ -161,30 +172,30 @@ export default {
},
formatBoolean: function(bool) {
if (bool != null) {
return bool ? "是" :"否";
return bool ? "是" : "否";
} else {
return "";
}
}
},
methods: {
toDetile(row){
this.$router.push({
name:"dictionaryDetail",
params:{
id:row.ID
}
})
},
//条件搜索前端看此方法
onSubmit() {
this.page = 1
this.pageSize = 10
if (this.searchInfo.status==""){
this.searchInfo.status=null
}
this.getTableData()
},
toDetile(row) {
this.$router.push({
name: "dictionaryDetail",
params: {
id: row.ID
}
});
},
//条件搜索前端看此方法
onSubmit() {
this.page = 1;
this.pageSize = 10;
if (this.searchInfo.status == "") {
this.searchInfo.status = null;
}
this.getTableData();
},
async updateSysDictionary(row) {
const res = await findSysDictionary({ ID: row.ID });
this.type = "update";
@@ -196,10 +207,10 @@ export default {
closeDialog() {
this.dialogFormVisible = false;
this.formData = {
name:null,
type:null,
status:true,
desc:null,
name: null,
type: null,
status: true,
desc: null
};
},
async deleteSysDictionary(row) {
@@ -210,12 +221,15 @@ export default {
type: "success",
message: "删除成功"
});
if (this.tableData.length == 1) {
this.page--;
}
this.getTableData();
}
},
async enterDialog() {
this.$refs['elForm'].validate(async valid => {
if (!valid) return
this.$refs["elForm"].validate(async valid => {
if (!valid) return;
let res;
switch (this.type) {
case "create":
@@ -228,12 +242,11 @@ export default {
res = await createSysDictionary(this.formData);
break;
}
if (res.code == 0) {
this.closeDialog();
this.getTableData();
}
})
if (res.code == 0) {
this.closeDialog();
this.getTableData();
}
});
},
openDialog() {
this.type = "create";
@@ -210,13 +210,16 @@ export default {
type: "success",
message: "删除成功"
});
if (this.tableData.length == 1) {
this.page--;
}
this.getTableData();
}
},
async enterDialog() {
this.formData.sysDictionaryID = Number(this.$route.params.id)
this.$refs['elForm'].validate(async valid => {
if (!valid) return
this.formData.sysDictionaryID = Number(this.$route.params.id);
this.$refs["elForm"].validate(async valid => {
if (!valid) return;
let res;
switch (this.type) {
case "create":
@@ -231,14 +234,13 @@ export default {
}
if (res.code == 0) {
this.$message({
type:"success",
message:"创建/更改成功"
})
type: "success",
message: "创建/更改成功"
});
this.closeDialog();
this.getTableData();
}
})
});
},
openDialog() {
this.type = "create";
@@ -246,7 +248,7 @@ export default {
}
},
created() {
this.searchInfo.sysDictionaryID = this.$route.params.id
this.searchInfo.sysDictionaryID = this.$route.params.id;
this.getTableData();
}
};