|
@@ -10,58 +10,34 @@
|
|
</el-breadcrumb-item>
|
|
</el-breadcrumb-item>
|
|
</el-breadcrumb>
|
|
</el-breadcrumb>
|
|
<el-divider></el-divider>
|
|
<el-divider></el-divider>
|
|
- <!--
|
|
|
|
- 要resetFields起作用,必须配置:model和prop
|
|
|
|
- -->
|
|
|
|
- <el-form ref="queryForm" :model="queryModel" inline class="demo-form-inline">
|
|
|
|
- <el-form-item label="名称" prop="name">
|
|
|
|
- <el-input type="text" size="mini" v-model="queryModel.name"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item>
|
|
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- size="mini"
|
|
|
|
- icon="ios-search"
|
|
|
|
- @click="changePage(1)"
|
|
|
|
- :loading="loading"
|
|
|
|
- >查询</el-button>
|
|
|
|
- <el-button
|
|
|
|
- type="info"
|
|
|
|
- size="mini"
|
|
|
|
- style="margin-left: 8px"
|
|
|
|
- @click="handleReset('queryForm')"
|
|
|
|
- >重置</el-button>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-form>
|
|
|
|
- <el-divider></el-divider>
|
|
|
|
<el-row class="button-group">
|
|
<el-row class="button-group">
|
|
<el-button
|
|
<el-button
|
|
type="primary"
|
|
type="primary"
|
|
size="small"
|
|
size="small"
|
|
plain
|
|
plain
|
|
icon="el-icon-circle-plus"
|
|
icon="el-icon-circle-plus"
|
|
- @click="handleAdd"
|
|
|
|
|
|
+ @click="handleAdd(null)"
|
|
>新增园区</el-button>
|
|
>新增园区</el-button>
|
|
- <el-button
|
|
|
|
|
|
+ <!-- <el-button
|
|
type="primary"
|
|
type="primary"
|
|
size="small"
|
|
size="small"
|
|
plain
|
|
plain
|
|
icon="el-icon-circle-plus"
|
|
icon="el-icon-circle-plus"
|
|
:disabled="multipleSelection.length==0"
|
|
:disabled="multipleSelection.length==0"
|
|
@click="handleBatchDelete"
|
|
@click="handleBatchDelete"
|
|
- >删除选中项</el-button>
|
|
|
|
|
|
+ >删除选中项</el-button> -->
|
|
</el-row>
|
|
</el-row>
|
|
<el-table
|
|
<el-table
|
|
:data="tableData"
|
|
:data="tableData"
|
|
style="min-height:400px;"
|
|
style="min-height:400px;"
|
|
row-key="id"
|
|
row-key="id"
|
|
|
|
+ stripe
|
|
border
|
|
border
|
|
lazy
|
|
lazy
|
|
:load="load"
|
|
:load="load"
|
|
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
|
|
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
|
|
@selection-change="handleSelectionChange"
|
|
@selection-change="handleSelectionChange"
|
|
>
|
|
>
|
|
- <el-table-column type="selection" width="55"></el-table-column>
|
|
|
|
<el-table-column prop="name" sort-by="name_" label="名称" sortable="custom" width="180"></el-table-column>
|
|
<el-table-column prop="name" sort-by="name_" label="名称" sortable="custom" width="180"></el-table-column>
|
|
<el-table-column prop="number" sort-by="number_" label="编号" sortable="custom" width="180"></el-table-column>
|
|
<el-table-column prop="number" sort-by="number_" label="编号" sortable="custom" width="180"></el-table-column>
|
|
<el-table-column prop="type" sort-by="type_" label="类型" sortable="custom" width="180">
|
|
<el-table-column prop="type" sort-by="type_" label="类型" sortable="custom" width="180">
|
|
@@ -81,22 +57,18 @@
|
|
<el-table-column prop="sortNo" sort-by="sort_no" label="排序号" sortable="custom" width="180"></el-table-column>
|
|
<el-table-column prop="sortNo" sort-by="sort_no" label="排序号" sortable="custom" width="180"></el-table-column>
|
|
<el-table-column label="操作">
|
|
<el-table-column label="操作">
|
|
<template slot-scope="{row}">
|
|
<template slot-scope="{row}">
|
|
|
|
+ <el-button size="mini" type="primary" @click="handleAdd(row)" v-show="row.type!=3">
|
|
|
|
+ {{row.type==1 ? "添加楼栋" : "添加房间"}}
|
|
|
|
+ </el-button>
|
|
<el-button size="mini" type="warning" @click="handleEdit(row)">编辑</el-button>
|
|
<el-button size="mini" type="warning" @click="handleEdit(row)">编辑</el-button>
|
|
<el-button size="mini" type="danger" @click="handleDelete(row)">删除</el-button>
|
|
<el-button size="mini" type="danger" @click="handleDelete(row)">删除</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
- <el-pagination
|
|
|
|
- :current-page.sync="pageIndex"
|
|
|
|
- :total="totalElements"
|
|
|
|
- :page-sizes="pageSizeList"
|
|
|
|
- @current-change="changePage"
|
|
|
|
- @size-change="pageSizeChange"
|
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
|
- ></el-pagination>
|
|
|
|
<roomInfo-detail
|
|
<roomInfo-detail
|
|
v-if="showModal"
|
|
v-if="showModal"
|
|
:businessKey="businessKey"
|
|
:businessKey="businessKey"
|
|
|
|
+ :parentId="selectedRecord.id"
|
|
:title="modalTitle"
|
|
:title="modalTitle"
|
|
@close="onDetailModalClose"
|
|
@close="onDetailModalClose"
|
|
></roomInfo-detail>
|
|
></roomInfo-detail>
|
|
@@ -130,7 +102,7 @@ export default {
|
|
loading: false,
|
|
loading: false,
|
|
tableData: [],
|
|
tableData: [],
|
|
pageIndex: 1,
|
|
pageIndex: 1,
|
|
- pageSize: 10,
|
|
|
|
|
|
+ pageSize: 100,
|
|
totalPages: 0,
|
|
totalPages: 0,
|
|
totalElements: 0,
|
|
totalElements: 0,
|
|
field: "",
|
|
field: "",
|
|
@@ -139,15 +111,18 @@ export default {
|
|
multipleSelection: [],
|
|
multipleSelection: [],
|
|
showModal: false,
|
|
showModal: false,
|
|
modalTitle: "",
|
|
modalTitle: "",
|
|
- businessKey: ""
|
|
|
|
|
|
+ operation:'',
|
|
|
|
+ businessKey: "",
|
|
|
|
+ selectedRecord : null
|
|
//loadNodeMap: new Map()
|
|
//loadNodeMap: new Map()
|
|
};
|
|
};
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- load(tree, treeNode, resolve) {
|
|
|
|
- if (tree != null) {
|
|
|
|
- const id = tree.id;
|
|
|
|
|
|
+ load(row, treeNode, resolve) {
|
|
|
|
+ if (row != null) {
|
|
|
|
+ const id = row.id;
|
|
var formData = new FormData();
|
|
var formData = new FormData();
|
|
|
|
+
|
|
formData.append("parentId", id);
|
|
formData.append("parentId", id);
|
|
// const pid = tree.id;
|
|
// const pid = tree.id;
|
|
// this.loadNodeMap.set(pid, { tree, treeNode, resolve });
|
|
// this.loadNodeMap.set(pid, { tree, treeNode, resolve });
|
|
@@ -156,6 +131,9 @@ export default {
|
|
.then(function(response) {
|
|
.then(function(response) {
|
|
self.loading = false;
|
|
self.loading = false;
|
|
var jsonData = response.data.data;
|
|
var jsonData = response.data.data;
|
|
|
|
+
|
|
|
|
+ row.children = jsonData.data;
|
|
|
|
+
|
|
resolve(jsonData.data);
|
|
resolve(jsonData.data);
|
|
})
|
|
})
|
|
.catch(error => {
|
|
.catch(error => {
|
|
@@ -175,17 +153,8 @@ export default {
|
|
formData.append("pageIndex", self.pageIndex);
|
|
formData.append("pageIndex", self.pageIndex);
|
|
formData.append("pageSize", self.pageSize);
|
|
formData.append("pageSize", self.pageSize);
|
|
|
|
|
|
- formData.append("id", self.queryModel.id);
|
|
|
|
formData.append("name", self.queryModel.name);
|
|
formData.append("name", self.queryModel.name);
|
|
- formData.append("number", self.queryModel.number);
|
|
|
|
formData.append("type", self.queryModel.type);
|
|
formData.append("type", self.queryModel.type);
|
|
- formData.append("sortNo", self.queryModel.sortNo);
|
|
|
|
- formData.append("parentId", self.queryModel.parentId);
|
|
|
|
- formData.append("createBy", self.queryModel.createBy);
|
|
|
|
- formData.append("createTime", self.queryModel.createTime);
|
|
|
|
- formData.append("updateBy", self.queryModel.updateBy);
|
|
|
|
- formData.append("updateTime", self.queryModel.updateTime);
|
|
|
|
- formData.append("delFlag", self.queryModel.delFlag);
|
|
|
|
|
|
|
|
if (this.field != null) {
|
|
if (this.field != null) {
|
|
formData.append("field", this.field);
|
|
formData.append("field", this.field);
|
|
@@ -227,21 +196,72 @@ export default {
|
|
handleReset(name) {
|
|
handleReset(name) {
|
|
this.$refs[name].resetFields();
|
|
this.$refs[name].resetFields();
|
|
},
|
|
},
|
|
- handleAdd() {
|
|
|
|
|
|
+ handleAdd(record) {
|
|
this.modalTitle = "新增";
|
|
this.modalTitle = "新增";
|
|
|
|
+ this.operation = "add";
|
|
this.businessKey = "";
|
|
this.businessKey = "";
|
|
|
|
+
|
|
|
|
+ if(record!=null){
|
|
|
|
+ this.selectedRecord = record;
|
|
|
|
+ }
|
|
|
|
+ else{
|
|
|
|
+ this.selectedRecord = {};
|
|
|
|
+ }
|
|
|
|
+
|
|
this.showModal = true;
|
|
this.showModal = true;
|
|
},
|
|
},
|
|
handleEdit(record) {
|
|
handleEdit(record) {
|
|
this.modalTitle = "编辑";
|
|
this.modalTitle = "编辑";
|
|
|
|
+ this.operation = "edit";
|
|
this.businessKey = record.id;
|
|
this.businessKey = record.id;
|
|
|
|
+ this.selectedRecord = record;
|
|
this.showModal = true;
|
|
this.showModal = true;
|
|
},
|
|
},
|
|
|
|
+ loopDelete(list,id){
|
|
|
|
+ var rs = false;
|
|
|
|
+
|
|
|
|
+ for(var i=0;i<list.length;i++){
|
|
|
|
+ if(list[i].id == id){
|
|
|
|
+ list.splice(i,1);
|
|
|
|
+ rs = true;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(list[i].children!=null){
|
|
|
|
+ rs = this.loopDelete(list[i].children,id);
|
|
|
|
+
|
|
|
|
+ if(rs){
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return rs;
|
|
|
|
+ },
|
|
|
|
+ loopFind(list,id){
|
|
|
|
+ var rs = null;
|
|
|
|
+
|
|
|
|
+ for(var i=0;i<list.length;i++){
|
|
|
|
+ if(list[i].id == id){
|
|
|
|
+ rs = list[i];
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(list[i].children!=null){
|
|
|
|
+ rs = this.loopFind(list[i].children,id);
|
|
|
|
+
|
|
|
|
+ if(rs!=null){
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return rs;
|
|
|
|
+ },
|
|
handleDelete(record) {
|
|
handleDelete(record) {
|
|
var self = this;
|
|
var self = this;
|
|
- console.log(record);
|
|
|
|
- self
|
|
|
|
- .$confirm("是否确认删除?", "提示", {
|
|
|
|
|
|
+
|
|
|
|
+ self.$confirm("是否确认删除?", "提示", {
|
|
confirmButtonText: "确定",
|
|
confirmButtonText: "确定",
|
|
cancelButtonText: "取消",
|
|
cancelButtonText: "取消",
|
|
type: "warning"
|
|
type: "warning"
|
|
@@ -251,18 +271,12 @@ export default {
|
|
var jsonData = response.data;
|
|
var jsonData = response.data;
|
|
|
|
|
|
if (jsonData.result) {
|
|
if (jsonData.result) {
|
|
- // var index = self.tableData.indexOf(record);
|
|
|
|
- // self.tableData.splice(index, 1);
|
|
|
|
- self.changePage(self.pageIndex);
|
|
|
|
|
|
+ var rs = self.loopDelete(self.tableData,record.id);
|
|
|
|
+
|
|
self.$message({
|
|
self.$message({
|
|
type: "success",
|
|
type: "success",
|
|
message: "删除成功!"
|
|
message: "删除成功!"
|
|
});
|
|
});
|
|
- self.tableData.splice(index, 1);
|
|
|
|
-
|
|
|
|
- // const { pid } = record;
|
|
|
|
- // const { tree, treeNode, resolve } = self.loadNodeMap.get(pid);
|
|
|
|
- // self.load(tree, treeNode, resolve);
|
|
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
});
|
|
@@ -293,12 +307,48 @@ export default {
|
|
});
|
|
});
|
|
});
|
|
});
|
|
},
|
|
},
|
|
- onDetailModalClose(refreshed) {
|
|
|
|
|
|
+ onDetailModalClose(retObj) {
|
|
//保存成功后回调
|
|
//保存成功后回调
|
|
this.showModal = false;
|
|
this.showModal = false;
|
|
|
|
|
|
- if (refreshed) {
|
|
|
|
- this.changePage(this.pageIndex);
|
|
|
|
|
|
+ if (retObj.result) {
|
|
|
|
+ var retData = retObj.data;
|
|
|
|
+
|
|
|
|
+ if(this.operation=="edit"){
|
|
|
|
+ this.selectedRecord.name = retData.name;
|
|
|
|
+ this.selectedRecord.number = retData.number;
|
|
|
|
+ this.selectedRecord.type = retData.type;
|
|
|
|
+ this.selectedRecord.useType = retData.useType;
|
|
|
|
+ this.selectedRecord.sortNo = retData.sortNo;
|
|
|
|
+
|
|
|
|
+ if(this.selectedRecord.parentId != retData.parentId){
|
|
|
|
+ this.loopDelete(this.tableData,this.selectedRecord.id);
|
|
|
|
+
|
|
|
|
+ var parent = this.loopFind(this.tableData,retData.parentId);
|
|
|
|
+
|
|
|
|
+ if(parent!=null){
|
|
|
|
+ if(parent.children==null){
|
|
|
|
+ parent.children = []
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ parent.children.push(retData);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else if(this.operation=="add"){
|
|
|
|
+ if(this.selectedRecord.id==null){
|
|
|
|
+ console.log("tableData.push");
|
|
|
|
+ this.tableData.push(retData);
|
|
|
|
+ }
|
|
|
|
+ else{
|
|
|
|
+ if(this.selectedRecord.children==null){
|
|
|
|
+ this.selectedRecord.children = [];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ this.selectedRecord.hasChildren = true;
|
|
|
|
+ this.selectedRecord.children.push(retData);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -326,7 +376,7 @@ export default {
|
|
}
|
|
}
|
|
|
|
|
|
.button-group {
|
|
.button-group {
|
|
- margin-left: 10px;
|
|
|
|
|
|
+ padding: 10px;
|
|
text-align: left;
|
|
text-align: left;
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|