Commit dec872c0 authored by “yiyousong”'s avatar “yiyousong”

pref:添加批量窗口关联大厅

parent fbecad24
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
<h3 class="titel">站点窗口</h3> <h3 class="titel">站点窗口</h3>
<div class="control"> <div class="control">
<div> <div>
<!-- <a-button type="primary" @click="handleAddAll"> 批量加入 </a-button> --> <a-button type="primary" @click="handleAddAll"> 批量加入 </a-button>
</div> </div>
<div class="business-control"> <div class="business-control">
<a-space> <a-space>
...@@ -134,6 +134,7 @@ ...@@ -134,6 +134,7 @@
size="middle" size="middle"
:row-selection="{ :row-selection="{
selectedRowKeys: selectedRowKeys, selectedRowKeys: selectedRowKeys,
onChange: onRightSelectChange,
}" }"
:columns="rightColumns" :columns="rightColumns"
:data-source="siteWindowData" :data-source="siteWindowData"
...@@ -147,7 +148,7 @@ ...@@ -147,7 +148,7 @@
<template slot="action" slot-scope="text"> <template slot="action" slot-scope="text">
<a-space size="middle"> <a-space size="middle">
<a class="jion" @click="handleIn(text)">加入大厅</a> <a class="jion" @click="handleIn([text])">加入大厅</a>
</a-space> </a-space>
</template> </template>
</a-table> </a-table>
...@@ -237,8 +238,9 @@ export default { ...@@ -237,8 +238,9 @@ export default {
rightSearchVal: "", rightSearchVal: "",
leftLoading: false, leftLoading: false,
rightLoading: false, rightLoading: false,
selectedRowKeys: [],
selectedLeftRowKeys: [], selectedLeftRowKeys: [],
selectedRowKeys: [],
selectedRows: [],
visible: false, visible: false,
leftCurrent: 1, leftCurrent: 1,
rightCurrent: 1, rightCurrent: 1,
...@@ -368,8 +370,25 @@ export default { ...@@ -368,8 +370,25 @@ export default {
this.handleDel(ids); this.handleDel(ids);
}, },
// 获取批量加入id // 获取批量加入id
onRightSelectChange(key) { onRightSelectChange(keys, rows) {
this.selectedRowKeys = key; this.selectedRowKeys = keys;
const res = new Map();
this.selectedRows = [...this.selectedRows, ...rows]
.filter((v) => {
return !res.has(v.id) && res.set(v.id, 1);
})
.filter((v) => {
return this.selectedRowKeys.some((val) => v.id == val);
});
},
// 批量加入
handleAddAll() {
if (!this.selectedRows.length) {
this.$message.warning("请先勾选数据");
return;
}
this.handleIn(this.selectedRows);
}, },
// 左翻页 // 左翻页
...@@ -400,12 +419,14 @@ export default { ...@@ -400,12 +419,14 @@ export default {
this.getSubHalllist(); this.getSubHalllist();
}, },
// 加入 // 加入
handleIn(row) { handleIn(rows) {
this.$refs.WindowToHall.onAdd(row); this.$refs.WindowToHall.onAdd(rows);
this.visible = true; this.visible = true;
}, },
// 加入成功 // 加入成功
addSuccess() { addSuccess() {
this.selectedRowKeys = [];
this.selectedRows = [];
this.getWindowHallList(); this.getWindowHallList();
this.getSubHalllist(); this.getSubHalllist();
}, },
......
...@@ -37,7 +37,10 @@ ...@@ -37,7 +37,10 @@
</template> </template>
<script> <script>
import { saveWindowHall } from "@/services/hall"; import {
// saveWindowHall,
batchSaveWindowHall,
} from "@/services/hall";
export default { export default {
props: { props: {
addVisile: { addVisile: {
...@@ -65,6 +68,7 @@ export default { ...@@ -65,6 +68,7 @@ export default {
// sort: "", // 排序 // sort: "", // 排序
// remark: "", // 备注 // remark: "", // 备注
}, },
windowList: [], // 选择窗口列表
rules: { rules: {
hallName: [ hallName: [
{ required: true, message: "请选择所属大厅", trigger: "change" }, { required: true, message: "请选择所属大厅", trigger: "change" },
...@@ -89,9 +93,10 @@ export default { ...@@ -89,9 +93,10 @@ export default {
this.form.hallName = row.label; this.form.hallName = row.label;
}, },
// 新增 // 新增
onAdd(row) { onAdd(rows) {
this.form.windowId = row.id; this.windowList = rows;
this.form.windowName = row.name; // this.form.windowId = rows.id;
// this.form.windowName = rows.name;
}, },
// 关闭弹窗 // 关闭弹窗
...@@ -104,7 +109,15 @@ export default { ...@@ -104,7 +109,15 @@ export default {
handleOk() { handleOk() {
this.$refs.form.validate(async (valid) => { this.$refs.form.validate(async (valid) => {
if (valid) { if (valid) {
let res = await saveWindowHall(this.form); let arr = this.windowList.map((v) => {
return {
windowId: v.id, // 窗口id
windowName: v.name, // 窗口名称
hallId: this.form.hallId, // 大厅id
hallName: this.form.hallName, // 大厅名称
};
});
let res = await batchSaveWindowHall(arr);
let { code, msg } = res.data; let { code, msg } = res.data;
if (code == 1) { if (code == 1) {
this.$message.success(msg); this.$message.success(msg);
......
...@@ -352,6 +352,7 @@ module.exports = { ...@@ -352,6 +352,7 @@ module.exports = {
list: `${BASE_URL}/base/window/hall/list`, list: `${BASE_URL}/base/window/hall/list`,
info: `${BASE_URL}/base/window/hall/info`, info: `${BASE_URL}/base/window/hall/info`,
save: `${BASE_URL}/base/window/hall/save`, save: `${BASE_URL}/base/window/hall/save`,
batchSave: `${BASE_URL}/base/window/hall/batchSave`,
delete: `${BASE_URL}/base/window/hall/delete`, delete: `${BASE_URL}/base/window/hall/delete`,
}, },
}; };
...@@ -46,6 +46,11 @@ export const saveWindowHall = (data) => { ...@@ -46,6 +46,11 @@ export const saveWindowHall = (data) => {
return request(windowHall.save, METHOD.POST, data); return request(windowHall.save, METHOD.POST, data);
}; };
// 批量保存大厅窗口
export const batchSaveWindowHall = (data) => {
return request(windowHall.batchSave, METHOD.POST, data);
};
// 删除大厅窗口 // 删除大厅窗口
export const delWindowHall = (data) => { export const delWindowHall = (data) => {
return request(windowHall.delete, METHOD.get, data); return request(windowHall.delete, METHOD.get, data);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment