This commit is contained in:
@zuopngfei 2025-11-06 18:11:38 +08:00
parent d5239d0654
commit 4e87f437e1

View File

@ -50,8 +50,8 @@
<div class="pagination-box">
<el-pagination v-model:current-page="query.page" v-model:page-size="query.page_size"
:page-sizes="[20, 30, 40, 50]" :size="query.page_size" background
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handleSizeChange"
@current-change="handleCurrentChange" />
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="sizeChange"
@current-change="currentChange" />
</div>
</div>
</div>
@ -364,13 +364,15 @@ let robot_data = ''
const tableLoading = ref(false)
let appSelects = []
const appTableRef = ref(null)
let isInitializing = false //
const bandAppIds = ref([])
//
const setSelectedApps = () => {
isInitializing = true // appSelectionChange
nextTick(() => {
console.log(bandAppIds.value)
if (appTableRef.value && logList.value.length > 0) {
logList.value.forEach(row => {
if (bandAppIds.value.includes(row.id)) {
@ -378,35 +380,56 @@ const setSelectedApps = () => {
}
})
}
// appSelectsID
appSelects = [...new Set([...appSelects, ...bandAppIds.value])]
isInitializing = false //
})
}
const openLog = async () => {
dialogLog.value = true
// const openLog = async () => {
// dialogLog.value = true
// appSelects = []
// getApps()
// getActApps()
// }
const getApps = async () => {
tableLoading.value = true
const res = await appList(logQuery)
const res = await appList(logQuery).then(res => {
logList.value = res.list
total.value = res.total
tableLoading.value = false
return res
}).catch(() => {
tableLoading.value = false
return null
})
return res
}
//
if (bandAppIds.value.length === 0 || logQuery.page === 1) {
const getActApps = async () => {
tableLoading.value = true
const res2 = await appList({
admin_id: robot_data.id,
page: 1,
page_size: 100
})
tableLoading.value = false
bandAppIds.value = res2.list.map(item => item.id)
}).then(res => {
bandAppIds.value = res.list.map(item => item.id)
// appSelects
console.log(bandAppIds.value)
console.log(appSelects)
appSelects = [...bandAppIds.value]
tableLoading.value = false
return res
}).catch(() => {
tableLoading.value = false
return null
})
return res2
}
//
setSelectedApps()
}
const handleBindApp = (row) => {
const handleBindApp = async (row) => {
robot_data = row
dialogLog.value = true
logQuery.page = 1
@ -420,7 +443,11 @@ const handleBindApp = (row) => {
appTableRef.value.clearSelection()
}
})
openLog()
//
await getApps()
await getActApps()
// setSelectedAppsisInitializing
setSelectedApps()
}
const isSelectable = (row) => {
@ -431,20 +458,38 @@ const isSelectable = (row) => {
const appSelectionChange = (e) => {
// ID
const selectedIds = e.map(item => item.id)
// ID
appSelects = [...new Set([...bandAppIds.value, ...selectedIds])]
//
if (!isInitializing) {
// bandAppIds
bandAppIds.value.forEach(id => {
if (!selectedIds.includes(id)) {
// IDbandAppIds
const index = bandAppIds.value.indexOf(id)
if (index > -1) {
bandAppIds.value.splice(index, 1)
}
}
})
}
// appSelects ID
appSelects = selectedIds
}
const saveBind = (val) => {
if (appSelects.length == 0) {
//
const finalIds = [...new Set([...appSelects, ...bandAppIds.value])]
console.log(finalIds)
// return
if (finalIds.length == 0) {
ElNotification({
message: '请选择小程序',
type: 'warning'
})
} else {
bindApps(robot_data.id, {
ids: appSelects.join(',')
ids: finalIds.join(',')
}).then(res => {
dialogLog.value = false
ElNotification({
@ -455,14 +500,27 @@ const saveBind = (val) => {
}
}
const handleSizeChange = (e) => {
const sizeChange = (e) => {
query.page = 1
query.page_size = e
getTable()
}
const currentChange = (e) => {
query.page = e
getTable()
}
const handleSizeChange = async (e) => {
logQuery.page = 1
logQuery.page_size = e
openLog()
await getApps()
//
setSelectedApps()
}
const handleCurrentChange = (e) => {
const handleCurrentChange = async (e) => {
logQuery.page = e
openLog()
await getApps()
//
setSelectedApps()
}
const rowClassname = (e) => {