|
|
|
@ -141,7 +141,8 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import HandleFormItem from "./HandleFormItem.vue" |
|
|
|
import HandleFormItem from "./HandleFormItem.vue"; |
|
|
|
import { isEqual } from "@/utils/index.js"; |
|
|
|
export default { |
|
|
|
inject: ['templateFillType'], |
|
|
|
name: 'CustomTable', |
|
|
|
@ -450,18 +451,15 @@ export default { |
|
|
|
// 遍历所有行和列,检查 compareTo 逻辑 |
|
|
|
this.localDataSource.forEach((row, rowIndex) => { |
|
|
|
this.columns.forEach((col, colIndex) => { |
|
|
|
if (col.bodyFillType === "actFill" && col.compareTo) { |
|
|
|
const currentValue = row[col.prop]; |
|
|
|
const currentValue = row[col.prop]; |
|
|
|
const compareToValue = row[col.compareTo]; |
|
|
|
|
|
|
|
if (currentValue !== undefined && compareToValue !== undefined) { |
|
|
|
// 比较当前值和compareTo值,如果不相等则设置橙色背景 |
|
|
|
if (currentValue !== compareToValue) { |
|
|
|
this.setOrangeBg(rowIndex, colIndex, col.prop, true); |
|
|
|
} else { |
|
|
|
// 相等则移除橙色背景 |
|
|
|
this.setOrangeBg(rowIndex, colIndex, col.prop, false); |
|
|
|
} |
|
|
|
if ( col.compareTo && currentValue && compareToValue) { |
|
|
|
// 比较当前值和compareTo值,如果不相等则设置橙色背景 |
|
|
|
if (!isEqual(currentValue, compareToValue)) { |
|
|
|
this.setOrangeBg(rowIndex, colIndex, col.prop, true); |
|
|
|
} else { |
|
|
|
// 相等则移除橙色背景 |
|
|
|
this.setOrangeBg(rowIndex, colIndex, col.prop, false); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -470,9 +468,9 @@ export default { |
|
|
|
const currentValue = row[col.bodySubKey]; |
|
|
|
const compareToValue = row[col.bodySubCompareTo]; |
|
|
|
|
|
|
|
if (currentValue !== undefined && compareToValue !== undefined) { |
|
|
|
if (!!currentValue&& !!compareToValue) { |
|
|
|
// 比较当前值和compareTo值,如果不相等则设置橙色背景 |
|
|
|
if (currentValue !== compareToValue) { |
|
|
|
if (!isEqual(currentValue, compareToValue)) { |
|
|
|
this.setOrangeBg(rowIndex, colIndex, col.bodySubKey, true); |
|
|
|
} else { |
|
|
|
// 相等则移除橙色背景 |
|
|
|
|