|
@@ -4,7 +4,7 @@ import { useEffect, useRef, useState } from 'react';
|
|
import { queryPsrMonthDetail } from '@/services/psr';
|
|
import { queryPsrMonthDetail } from '@/services/psr';
|
|
import { toggleCompare } from '../../../utils/exportExcl';
|
|
import { toggleCompare } from '../../../utils/exportExcl';
|
|
|
|
|
|
-const CompareCom = ({ values = [] }) => {
|
|
|
|
|
|
+const CompareCom = ({ values = [], permissions }) => {
|
|
const excelRef1 = useRef();
|
|
const excelRef1 = useRef();
|
|
const excelRef2 = useRef();
|
|
const excelRef2 = useRef();
|
|
const luckysheetRef1 = useRef();
|
|
const luckysheetRef1 = useRef();
|
|
@@ -23,8 +23,8 @@ const CompareCom = ({ values = [] }) => {
|
|
}, [values]);
|
|
}, [values]);
|
|
|
|
|
|
const initData = async () => {
|
|
const initData = async () => {
|
|
- const data1 = await queryData(values[0]);
|
|
|
|
- const data2 = await queryData(values[1]);
|
|
|
|
|
|
+ const data1 = await queryData(values[0].id);
|
|
|
|
+ const data2 = await queryData(values[1].id);
|
|
setDatas([data1, data2]);
|
|
setDatas([data1, data2]);
|
|
};
|
|
};
|
|
|
|
|
|
@@ -32,6 +32,12 @@ const CompareCom = ({ values = [] }) => {
|
|
const res = await queryPsrMonthDetail({ id });
|
|
const res = await queryPsrMonthDetail({ id });
|
|
if (res.data?.json_data) {
|
|
if (res.data?.json_data) {
|
|
const data = JSON.parse(res.data?.json_data);
|
|
const data = JSON.parse(res.data?.json_data);
|
|
|
|
+ data?.forEach((item) => {
|
|
|
|
+ if (item?.celldata && typeof item.celldata == 'string')
|
|
|
|
+ item.celldata = JSON.parse(item.celldata);
|
|
|
|
+ if (item?.config && typeof item.config == 'string')
|
|
|
|
+ item.config = JSON.parse(item.config);
|
|
|
|
+ });
|
|
return data;
|
|
return data;
|
|
}
|
|
}
|
|
return [];
|
|
return [];
|
|
@@ -54,6 +60,7 @@ const CompareCom = ({ values = [] }) => {
|
|
lang: 'zh',
|
|
lang: 'zh',
|
|
showinfobar: false,
|
|
showinfobar: false,
|
|
showstatisticBar: false,
|
|
showstatisticBar: false,
|
|
|
|
+ permissions,
|
|
data: JSON.parse(JSON.stringify(data)),
|
|
data: JSON.parse(JSON.stringify(data)),
|
|
hook: {
|
|
hook: {
|
|
cellMousedown: (cell, position, sheet) => {
|
|
cellMousedown: (cell, position, sheet) => {
|
|
@@ -88,7 +95,7 @@ const CompareCom = ({ values = [] }) => {
|
|
const renderSheetDom = (item, index) => {
|
|
const renderSheetDom = (item, index) => {
|
|
return (
|
|
return (
|
|
<div key={`temp_${index}`} className={styles.sheetItem}>
|
|
<div key={`temp_${index}`} className={styles.sheetItem}>
|
|
- <h3>{item.version_name || item?.name}</h3>
|
|
|
|
|
|
+ <h3>{values[index].name}</h3>
|
|
<iframe
|
|
<iframe
|
|
style={{
|
|
style={{
|
|
width: '100%',
|
|
width: '100%',
|
|
@@ -108,7 +115,7 @@ const CompareCom = ({ values = [] }) => {
|
|
message={`比对结果:${updateCount.diff}项差异。${updateCount.add}项新增`}
|
|
message={`比对结果:${updateCount.diff}项差异。${updateCount.add}项新增`}
|
|
type="info"
|
|
type="info"
|
|
/>
|
|
/>
|
|
- <div className={styles.sheetBox}>{values?.map(renderSheetDom)}</div>
|
|
|
|
|
|
+ <div className={styles.sheetBox}>{datas?.map(renderSheetDom)}</div>
|
|
</>
|
|
</>
|
|
);
|
|
);
|
|
};
|
|
};
|