|
|
|
@ -34,7 +34,7 @@
|
|
|
|
<el-transfer
|
|
|
|
<el-transfer
|
|
|
|
v-model="form.machineIds"
|
|
|
|
v-model="form.machineIds"
|
|
|
|
:data="transferMachines"
|
|
|
|
:data="transferMachines"
|
|
|
|
:titles="['可关联机床', '已关联']"
|
|
|
|
:titles="['同品牌机床', '已关联']"
|
|
|
|
:props="{ key: 'id', label: 'label' }"
|
|
|
|
:props="{ key: 'id', label: 'label' }"
|
|
|
|
filterable
|
|
|
|
filterable
|
|
|
|
filter-placeholder="搜索机床"
|
|
|
|
filter-placeholder="搜索机床"
|
|
|
|
@ -99,27 +99,22 @@ async function onBrandChange(){
|
|
|
|
await loadTransferData(form.brandId, editingId.value ?? undefined)
|
|
|
|
await loadTransferData(form.brandId, editingId.value ?? undefined)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** 加载穿梭框:同品牌下未关联其他地址的机床 + 当前地址已关联的机床 */
|
|
|
|
/** 加载穿梭框:同品牌全部机床 */
|
|
|
|
async function loadTransferData(brandId?: number, addressId?: number){
|
|
|
|
async function loadTransferData(brandId?: number, addressId?: number){
|
|
|
|
if(!brandId){ transferMachines.value=[]; return }
|
|
|
|
if(!brandId){ transferMachines.value=[]; return }
|
|
|
|
try{
|
|
|
|
try{
|
|
|
|
// 获取该品牌全部机床
|
|
|
|
|
|
|
|
const brandName = brandList.value.find((b: any) => b.id === brandId)?.brandName ?? ''
|
|
|
|
const brandName = brandList.value.find((b: any) => b.id === brandId)?.brandName ?? ''
|
|
|
|
const rAll: any = await request.get('/admin/machine', {params: {brandName, pageSize: 999}})
|
|
|
|
const rAll: any = await request.get('/admin/machine', {params: {brandName, pageSize: 999}})
|
|
|
|
const allMachines = rAll.data?.items ?? []
|
|
|
|
const allMachines = rAll.data?.items ?? []
|
|
|
|
// 未关联任何采集地址的机床ID
|
|
|
|
|
|
|
|
const freeMachines = allMachines.filter((m: any) => !m.collectAddressId || m.collectAddressId === 0)
|
|
|
|
|
|
|
|
const freeIds = new Set(freeMachines.map((m: any) => m.id))
|
|
|
|
|
|
|
|
// 当前地址已关联的机床
|
|
|
|
// 当前地址已关联的机床
|
|
|
|
let ownIds = new Set<number>()
|
|
|
|
|
|
|
|
if(addressId){
|
|
|
|
if(addressId){
|
|
|
|
const rOwn: any = await request.get(`/admin/collect-address/${addressId}/machines`)
|
|
|
|
try{
|
|
|
|
const items = rOwn.data?.items ?? []
|
|
|
|
const rOwn: any = await request.get(`/admin/collect-address/${addressId}/machines`)
|
|
|
|
ownIds = new Set(items.map((m: any) => m.machineId))
|
|
|
|
const items = rOwn.data?.items ?? []
|
|
|
|
form.machineIds = items.map((m: any) => m.machineId)
|
|
|
|
form.machineIds = items.map((m: any) => m.machineId)
|
|
|
|
|
|
|
|
}catch{}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
transferMachines.value = allMachines
|
|
|
|
transferMachines.value = allMachines
|
|
|
|
.filter((m: any) => freeIds.has(m.id) || ownIds.has(m.id))
|
|
|
|
|
|
|
|
.map((m: any) => ({ id: m.id, name: m.name, label: m.name, deviceCode: m.deviceCode, isOnline: m.isOnline, isEnabled: m.isEnabled }))
|
|
|
|
.map((m: any) => ({ id: m.id, name: m.name, label: m.name, deviceCode: m.deviceCode, isOnline: m.isOnline, isEnabled: m.isEnabled }))
|
|
|
|
}catch{ transferMachines.value=[] }
|
|
|
|
}catch{ transferMachines.value=[] }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|