Преглед на файлове

pms 设备责任人 功能优化

zhangcl преди 2 месеца
родител
ревизия
4fbd3ce0eb
променени са 1 файла, в които са добавени 15 реда и са изтрити 1 реда
  1. 15 1
      src/views/pms/device/ConfigDevicePerson.vue

+ 15 - 1
src/views/pms/device/ConfigDevicePerson.vue

@@ -172,6 +172,8 @@ const tempRelations = ref<Array<{
 }>>([])
 
 watch(selectedDevices, (newVal, oldVal) => {
+  // 找出新增的设备
+  const addedDevices = newVal.filter(id => !oldVal.includes(id));
   // 找出取消选择的设备
   const removedDevices = oldVal.filter(id => !newVal.includes(id))
 
@@ -180,6 +182,17 @@ watch(selectedDevices, (newVal, oldVal) => {
     r => !removedDevices.includes(r.deviceIds[0])
   )
 
+  // 为新增的设备创建关联记录
+  if (addedDevices.length > 0) {
+    const addedDeviceObjects = simpleDevices.value.filter(d =>
+      addedDevices.includes(d.id)
+    );
+    addedDeviceObjects.forEach(device => {
+      // 使用当前已选的责任人和调整原因
+      updateDeviceRelation(device, selectedUsers.value);
+    });
+  }
+
   // 当没有选中设备时清空其他选项
   if (newVal.length === 0) {
     selectedUsers.value = []
@@ -274,7 +287,8 @@ const updateDeviceRelation = (device: IotDeviceVO, userIds: number[]) => {
   }
 
   const existIndex = tempRelations.value.findIndex(
-    r => r.deviceIds[0] === device.id
+    // r => r.deviceIds[0] === device.id
+    r => r.deviceIds.includes(device.id)
   )
 
   if (existIndex > -1) {