Commit 862e532e12304de1b6d8a07ad13c1691e4350cba

Authored by boyang
1 parent f82f9285

fix: bug修复

src/views/project/finance/financeProfit/ProductProfit/InnerData/index.vue
@@ -116,11 +116,22 @@ @@ -116,11 +116,22 @@
116 bordered: true, 116 bordered: true,
117 columns: COLUMNS, 117 columns: COLUMNS,
118 rowKey: 'orderId', 118 rowKey: 'orderId',
  119 + customRow: () => {
  120 + return {
  121 + onClick: (e) => {
  122 + // Prevent row selection when clicking anywhere except checkboxes
  123 + if (!e.target.closest('.ant-checkbox-wrapper')) {
  124 + e.stopPropagation();
  125 + }
  126 + },
  127 + };
  128 + },
119 rowSelection: { 129 rowSelection: {
120 type: 'checkbox', 130 type: 'checkbox',
121 selectedRowKeys: checkedKeys as any, 131 selectedRowKeys: checkedKeys as any,
122 onSelect: onSelect, 132 onSelect: onSelect,
123 onSelectAll: onSelectAll, 133 onSelectAll: onSelectAll,
  134 + checkStrictly: true,
124 }, 135 },
125 formConfig: { 136 formConfig: {
126 labelWidth: 120, 137 labelWidth: 120,
src/views/project/finance/financeProfit/ServiceProfit/PackageProfit/index.vue
@@ -119,18 +119,29 @@ @@ -119,18 +119,29 @@
119 api: getPackageProfit, 119 api: getPackageProfit,
120 bordered: true, 120 bordered: true,
121 columns: COLUMNS, 121 columns: COLUMNS,
122 - rowKey: 'id', 122 + rowKey: (record) => record.orderId,
123 formConfig: { 123 formConfig: {
124 labelWidth: 120, 124 labelWidth: 120,
125 schemas: searchFormSchema, 125 schemas: searchFormSchema,
126 autoSubmitOnEnter: true, 126 autoSubmitOnEnter: true,
127 }, 127 },
128 - rowKey: (record) => record.orderId, 128 + // Add custom row props to prevent selection when clicking rows
  129 + customRow: () => {
  130 + return {
  131 + onClick: (e) => {
  132 + // Prevent row selection when clicking anywhere except checkboxes
  133 + if (!e.target.closest('.ant-checkbox-wrapper')) {
  134 + e.stopPropagation();
  135 + }
  136 + },
  137 + };
  138 + },
129 rowSelection: { 139 rowSelection: {
130 type: 'checkbox', 140 type: 'checkbox',
131 selectedRowKeys: checkedKeys as any, 141 selectedRowKeys: checkedKeys as any,
132 onSelect: onSelect, 142 onSelect: onSelect,
133 onSelectAll: onSelectAll, 143 onSelectAll: onSelectAll,
  144 + checkStrictly: true,
134 }, 145 },
135 useSearchForm: true, 146 useSearchForm: true,
136 showTableSetting: true, 147 showTableSetting: true,
@@ -350,7 +361,13 @@ @@ -350,7 +361,13 @@
350 handleClearChoose(); 361 handleClearChoose();
351 reload(); 362 reload();
352 } 363 }
353 - async function onSelect(record, selected: boolean) { 364 + async function onSelect(record, selected: boolean, _selectedRows, nativeEvent) {
  365 + // Only process selection if it's coming from a checkbox click or programmatically
  366 + // This checks if the event is from clicking the row - then we ignore it
  367 + if (nativeEvent && nativeEvent.target && !nativeEvent.target.closest('.ant-checkbox-wrapper')) {
  368 + return;
  369 + }
  370 +
354 const rowKey = record.orderId; 371 const rowKey = record.orderId;
355 if (selected) { 372 if (selected) {
356 checkedKeys.value = [...checkedKeys.value, rowKey]; 373 checkedKeys.value = [...checkedKeys.value, rowKey];