国标级联->选择通道支持移除目前下所有以及全部添加到目录下

This commit is contained in:
648540858
2022-11-22 12:55:29 +08:00
parent 8cab9f23b0
commit 1983b8b0a7
18 changed files with 234 additions and 66 deletions

View File

@@ -18,8 +18,10 @@
<el-option label="在线" value="true"></el-option>
<el-option label="离线" value="false"></el-option>
</el-select>
<el-button v-if="catalogId !== null" icon="el-icon-delete" size="mini" style="margin-right: 1rem;" :disabled="gbChannels.length === 0 || multipleSelection.length === 0" type="danger" @click="batchDel">批量移除</el-button>
<el-button v-if="catalogId === null" icon="el-icon-plus" size="mini" style="margin-right: 1rem;" :disabled="gbChannels.length === 0 || multipleSelection.length === 0" @click="batchAdd">批量添加</el-button>
<el-button v-if="catalogId !== null" icon="el-icon-delete" size="mini" :disabled="gbChannels.length === 0 || multipleSelection.length === 0" type="danger" @click="batchDel">批量移除</el-button>
<el-button v-if="catalogId === null" icon="el-icon-plus" size="mini" :disabled="gbChannels.length === 0 || multipleSelection.length === 0" @click="batchAdd">批量添加</el-button>
<el-button v-if="catalogId === null" icon="el-icon-plus" size="mini" @click="add()">全部添加</el-button>
<el-button v-if="catalogId !== null" type="danger" icon="el-icon-delete" size="mini" @click="remove()">全部移除</el-button>
</div>
<el-table ref="gbChannelsTable" :data="gbChannels" border style="width: 100%" :height="winHeight" :row-key="(row)=> row.deviceId + row.channelId" @selection-change="handleSelectionChange">
@@ -115,13 +117,15 @@ export default {
this.initData();
},
add: function (row) {
let all = typeof(row) === "undefined"
this.getCatalogFromUser((catalogId)=> {
this.$axios({
method:"post",
url:"/api/platform/update_channel_for_gb",
data:{
platformId: this.platformId,
channelReduces: [row],
all: all,
channelReduces: all?[]:[row],
catalogId: catalogId
}
}).then((res)=>{
@@ -134,21 +138,34 @@ export default {
},
remove: function (row) {
console.log(row)
let all = typeof(row) === "undefined"
this.$confirm(`确定移除${all?"所有通道":""}吗?`, '提示', {
dangerouslyUseHTMLString: true,
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
console.log(row)
this.$axios({
method:"delete",
url:"/api/platform/del_channel_for_gb",
data:{
platformId: this.platformId,
all: all,
channelReduces: all?[]:[row],
}
}).then((res)=>{
console.log("移除成功")
this.getChannelList();
}).catch(function (error) {
console.log(error);
});
}).catch(() => {
this.$axios({
method:"delete",
url:"/api/platform/del_channel_for_gb",
data:{
platformId: this.platformId,
channelReduces: [row]
}
}).then((res)=>{
console.log("移除成功")
this.getChannelList();
}).catch(function (error) {
console.log(error);
});
},
// checkedChange: function (val) {
// let that = this;

View File

@@ -24,6 +24,8 @@
</el-select>
<el-button v-if="catalogId !== null" icon="el-icon-delete" size="mini" style="margin-right: 1rem;" :disabled="gbStreams.length === 0 || multipleSelection.length === 0" type="danger" @click="batchDel">批量移除</el-button>
<el-button v-if="catalogId === null" icon="el-icon-plus" size="mini" style="margin-right: 1rem;" :disabled="gbStreams.length === 0 || multipleSelection.length === 0" @click="batchAdd">批量添加</el-button>
<el-button v-if="catalogId === null" icon="el-icon-plus" size="mini" style="margin-right: 1rem;" @click="add()">全部添加</el-button>
<el-button v-if="catalogId !== null" type="danger" icon="el-icon-delete" size="mini" style="margin-right: 1rem;" @click="remove()">全部移除</el-button>
</div>
<el-table ref="gbStreamsTable" :data="gbStreams" border style="width: 100%" :height="winHeight" :row-key="(row)=> row.app + row.stream" @selection-change="handleSelectionChange">
<el-table-column align="center" type="selection" :reserve-selection="true" width="55">
@@ -128,6 +130,7 @@ export default {
},
add: function (row, scope) {
let all = typeof(row) === "undefined"
this.getCatalogFromUser((catalogId)=>{
this.$axios({
method:"post",
@@ -135,7 +138,8 @@ export default {
data:{
platformId: this.platformId,
catalogId: catalogId,
gbStreams: [row],
all: all,
gbStreams: all?[]:[row],
}
}).then((res)=>{
console.log("保存成功")
@@ -149,20 +153,33 @@ export default {
},
remove: function (row, scope) {
this.$axios({
method:"delete",
url:"/api/gbStream/del",
data:{
platformId: this.platformId,
gbStreams: [row],
}
}).then((res)=>{
console.log("移除成功")
// this.gbStreams.splice(scope.$index,1)
this.getChannelList();
}).catch(function (error) {
console.log(error);
let all = typeof(row) === "undefined"
this.$confirm(`确定移除${all?"所有通道":""}吗?`, '提示', {
dangerouslyUseHTMLString: true,
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$axios({
method:"delete",
url:"/api/gbStream/del",
data:{
platformId: this.platformId,
all: all,
gbStreams: all?[]:[row],
}
}).then((res)=>{
console.log("移除成功")
// this.gbStreams.splice(scope.$index,1)
this.getChannelList();
}).catch(function (error) {
console.log(error);
});
}).catch(() => {
});
},
getChannelList: function () {
let that = this;