tangning 3 tygodni temu
rodzic
commit
9273f9a9e1

+ 1 - 1
src/app/fire/view/dispatch/editFire copy.vue

@@ -15,7 +15,7 @@
         <el-form-item label="起火对象" class="mandatory">
           <el-input
             v-model="bindFire.projectName"
-            maxlength="50"
+            maxlength="100"
             placeholder="请输入起火对象"
           />
         </el-form-item>

+ 1 - 1
src/app/fire/view/dispatch/editFire.vue

@@ -14,7 +14,7 @@
         <el-form-item label="起火对象" class="mandatory">
           <el-input
             v-model="bindFire.projectName"
-            maxlength="50"
+            maxlength="100"
             placeholder="请输入起火对象"
           />
         </el-form-item>

+ 1 - 1
src/view/newFireCase/newFireDetails/components/basicInfo.vue

@@ -52,7 +52,7 @@
           <el-form-item label="起火对象" class="mandatory">
             <el-input
               v-model="bindFire.projectName"
-              maxlength="50"
+              maxlength="100"
               placeholder="请输入起火对象"
             />
           </el-form-item>

+ 11 - 12
src/view/newFireCase/newFireDetails/components/mix3d.vue

@@ -298,18 +298,17 @@ const onTitleInput = () => {
 };
 
 const onSelectionChange = (rows: any[]) => {
-  const map = new Map<string, any>();
-  (selectedRows.value || []).forEach((r: any) => map.set(rowKey(r), r));
-  (tableData.value || []).forEach((r: any) => {
-    if (isRowImported(r)) {
-      map.set(rowKey(r), r);
-    }
-  });
-  (rows || []).forEach((r: any) => {
-    map.set(rowKey(r), r);
-  });
-  selectedRows.value = Array.from(map.values());
-  console.log('selectedRows', selectedRows.value);
+  // const map = new Map<string, any>();
+  // (selectedRows.value || []).forEach((r: any) => map.set(rowKey(r), r));
+  // (tableData.value || []).forEach((r: any) => {
+  //   if (isRowImported(r)) {
+  //     map.set(rowKey(r), r);
+  //   }
+  // });
+  // (rows || []).forEach((r: any) => {
+  //   map.set(rowKey(r), r);
+  // });
+  selectedRows.value = rows;
 };
 
 const onConfirmEdit = async () => {

+ 1 - 1
src/view/newFireCase/newdispatch/editFire old.vue

@@ -14,7 +14,7 @@
         <el-form-item label="起火对象" class="mandatory">
           <el-input
             v-model="bindFire.projectName"
-            maxlength="50"
+            maxlength="100"
             placeholder="请输入起火对象"
           />
         </el-form-item>

+ 34 - 4
src/view/newFireCase/newdispatch/editFire.vue

@@ -5,7 +5,7 @@
       <el-form-item label="起火对象" class="mandatory">
         <el-input
           v-model="bindFire.projectName"
-          maxlength="50"
+          maxlength="100"
           placeholder="请输入起火对象"
         />
       </el-form-item>
@@ -52,6 +52,8 @@
             style="width: 100%"
             :row-class-name="rowClassName"
             @selection-change="onSelectionChange"
+            @select="ItemChange"
+            @select-all="listChange"
           >
             <el-table-column type="selection" width="48" :selectable="isRowSelectable" />
             <el-table-column label="标题" min-width="140">
@@ -107,7 +109,7 @@
           <el-form-item label="起火对象" class="mandatory">
             <el-input
               v-model="bindFire.projectName"
-              maxlength="50"
+              maxlength="100"
               placeholder="请输入起火对象"
             />
           </el-form-item>
@@ -245,7 +247,7 @@ const tableLoading = ref(false);
 const pager = ref({ page: 1, pageSize: 10, total: 0 });
 let titleDebounceTimer: any = null;
 
-const rowKey = (row: any) => `${Number(row?.type)}__${String(row?.num)}`;
+const rowKey = (row: any) => `${Number(row?.type)}__${String(row?.num??row?.fusionId)}`;
 const isRowSelectable = (_row: any) => true;
 const rowClassName = () => '';
 const preselectRows = () => {
@@ -254,6 +256,7 @@ const preselectRows = () => {
       tableRef.value?.clearSelection?.();
       (tableData.value || []).forEach((r: any) => {
         const exists = (selectedRows.value || []).some((s: any) => rowKey(s) === rowKey(r));
+        console.log('exists', exists);
         if (exists) {
           tableRef.value?.toggleRowSelection?.(r, true);
         }
@@ -302,12 +305,39 @@ const onTitleInput = () => {
     fetchTableData();
   }, 300);
 };
-
+const ItemChange = (selection, row) =>  {
+  let item = selection.find(ele => row.fusionId?ele.fusionId === row.fusionId : ele.num === row.num)
+  if(!item){//判断为取消
+    selectedRows.value = selectedRows.value.filter(ele => {
+      if(ele.fusionId){//多元融合
+        return ele.fusionId != row.fusionId
+      }else{
+        return !(ele.isObj == row.isObj && ele.num == row.num)
+      }
+    })
+  }
+};
+const listChange = (selection) =>  {
+  let check = selection.length == 0
+  if(check){//判断为取消
+    selectedRows.value = selectedRows.value.filter(ele => {
+      if(query.value.type == 2 && ele.fusionId){
+        return false
+      }else if(query.value.type == ele.isObj){
+        return false
+      }else{
+        return true
+      }
+    })
+  }
+  console.log('selectedRows2', check, selectedRows.value, selection);
+};
 const onSelectionChange = (rows: Scene[]) => {
   const map = new Map<string, any>();
   (selectedRows.value || []).forEach((r: any) => map.set(rowKey(r), r));
   (rows || []).forEach((r: any) => map.set(rowKey(r), r));
   selectedRows.value = Array.from(map.values());
+  console.log('selectedRows1', selectedRows.value);
 };
 
 const onPageChange = (page: number) => {