|
@@ -11,8 +11,15 @@ import styles from './index.less'
|
|
|
import { AnalysisReportDetailModal } from 'containers/DataGovernanceAuaitAnalysis/AnalysisReportDetailModal'
|
|
|
import { IClassification } from 'containers/DataGovernanceQualityAudit/types'
|
|
|
import moment, { Moment } from 'moment'
|
|
|
+import * as querystring from 'querystring'
|
|
|
+
|
|
|
+export default function DataGovernanceAuaitAnalysis(props: {
|
|
|
+ location: Location
|
|
|
+}) {
|
|
|
+ const qs: any = querystring.decode(
|
|
|
+ props?.location?.search?.replace('?', '') ?? ''
|
|
|
+ )
|
|
|
|
|
|
-export default function DataGovernanceAuaitAnalysis() {
|
|
|
const [tableLoading, setTableLoading] = useState(false)
|
|
|
const [detailVisible, setDetailVisible] = useState(false)
|
|
|
const [detailForm, setDetailForm] = useState<IReport>()
|
|
@@ -20,21 +27,26 @@ export default function DataGovernanceAuaitAnalysis() {
|
|
|
const [reports, setReports] = useState<IReport[]>([])
|
|
|
|
|
|
const [classifications, setClassifications] = useState<IClassification[]>([])
|
|
|
- const [systemId, setSystemId] = useState<number>(null)
|
|
|
- const [time, setTime] = useState<Moment>(moment())
|
|
|
+ const [systemId, setSystemId] = useState<number>(
|
|
|
+ qs.systemId ? Number(qs.systemId) : null
|
|
|
+ )
|
|
|
+ const [time, setTime] = useState<[Moment, Moment]>([
|
|
|
+ qs.starTime ? moment(qs.starTime) : moment(),
|
|
|
+ qs.endTime ? moment(qs.endTime) : moment()
|
|
|
+ ])
|
|
|
|
|
|
const workbench = useMemo(() => {
|
|
|
const total = reports
|
|
|
.map(
|
|
|
(item) =>
|
|
|
item.accuracyCorrect ??
|
|
|
- 0 + item.accuracyError ??
|
|
|
- 0 + item.integrityCorrect ??
|
|
|
- 0 + item.integrityError ??
|
|
|
- 0 + item.normativeCorrect ??
|
|
|
- 0 + item.normativeError ??
|
|
|
- 0 + item.uniformityCorrect ??
|
|
|
- 0 + item.uniformityError ??
|
|
|
+ item.accuracyError ??
|
|
|
+ item.integrityCorrect ??
|
|
|
+ item.integrityError ??
|
|
|
+ item.normativeCorrect ??
|
|
|
+ item.normativeError ??
|
|
|
+ item.uniformityCorrect ??
|
|
|
+ item.uniformityError ??
|
|
|
0
|
|
|
)
|
|
|
.reduce((c, n) => c + n, 0)
|
|
@@ -43,9 +55,9 @@ export default function DataGovernanceAuaitAnalysis() {
|
|
|
.map(
|
|
|
(item) =>
|
|
|
item.accuracyCorrect ??
|
|
|
- 0 + item.integrityCorrect ??
|
|
|
- 0 + item.normativeCorrect ??
|
|
|
- 0 + item.uniformityCorrect ??
|
|
|
+ item.integrityCorrect ??
|
|
|
+ item.normativeCorrect ??
|
|
|
+ item.uniformityCorrect ??
|
|
|
0
|
|
|
)
|
|
|
.reduce((c, n) => c + n, 0)
|
|
@@ -55,7 +67,7 @@ export default function DataGovernanceAuaitAnalysis() {
|
|
|
.map((item) => item.integrityCorrect ?? 0)
|
|
|
.reduce((c, n) => c + n, 0)
|
|
|
const integrityTotal = reports
|
|
|
- .map((item) => item.integrityCorrect ?? 0 + item.integrityError)
|
|
|
+ .map((item) => item.integrityCorrect ?? item.integrityError)
|
|
|
.reduce((c, n) => c + n, 0)
|
|
|
|
|
|
// 一致性
|
|
@@ -63,7 +75,7 @@ export default function DataGovernanceAuaitAnalysis() {
|
|
|
.map((item) => item.uniformityCorrect ?? 0)
|
|
|
.reduce((c, n) => c + n, 0)
|
|
|
const uniformityTotal = reports
|
|
|
- .map((item) => item.uniformityCorrect ?? 0 + item.uniformityError)
|
|
|
+ .map((item) => item.uniformityCorrect ?? item.uniformityError)
|
|
|
.reduce((c, n) => c + n, 0)
|
|
|
|
|
|
// 规范性
|
|
@@ -71,14 +83,14 @@ export default function DataGovernanceAuaitAnalysis() {
|
|
|
.map((item) => item.normativeCorrect ?? 0)
|
|
|
.reduce((c, n) => c + n, 0)
|
|
|
const normativeTotal = reports
|
|
|
- .map((item) => item.normativeCorrect ?? 0 + item.normativeError)
|
|
|
+ .map((item) => item.normativeCorrect ?? item.normativeError)
|
|
|
.reduce((c, n) => c + n, 0)
|
|
|
// 准确性
|
|
|
const accuracyCorrect = reports
|
|
|
.map((item) => item.accuracyCorrect ?? 0)
|
|
|
.reduce((c, n) => c + n, 0)
|
|
|
const accuracyTotal = reports
|
|
|
- .map((item) => item.accuracyCorrect ?? 0 + item.accuracyError)
|
|
|
+ .map((item) => item.accuracyCorrect ?? item.accuracyError)
|
|
|
.reduce((c, n) => c + n, 0)
|
|
|
return [
|
|
|
{
|
|
@@ -255,16 +267,16 @@ export default function DataGovernanceAuaitAnalysis() {
|
|
|
}
|
|
|
]
|
|
|
|
|
|
- const queryReports = async () => {
|
|
|
- if (!systemId || !time) {
|
|
|
+ const queryReports = async function(id?: number) {
|
|
|
+ const sysId = id || systemId
|
|
|
+ if (!sysId || !time) {
|
|
|
return
|
|
|
}
|
|
|
try {
|
|
|
setTableLoading(true)
|
|
|
+ const selfTime = time.map((t) => t.format('YYYY-MM-DD'))
|
|
|
const data = await request(
|
|
|
- `${api.qualityReport}?systemId=${systemId}&time=${time.format(
|
|
|
- 'YYYY-MM-DD'
|
|
|
- )}`,
|
|
|
+ `${api.qualityReport}?systemId=${sysId}&starTime=${selfTime[0]}&endTime=${selfTime[1]}`,
|
|
|
{
|
|
|
method: 'GET'
|
|
|
}
|
|
@@ -276,7 +288,7 @@ export default function DataGovernanceAuaitAnalysis() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- const querySystem = async () => {
|
|
|
+ const querySystem = async() => {
|
|
|
try {
|
|
|
setTableLoading(true)
|
|
|
const data = await request(`${api.getAuditClassification}`, {
|
|
@@ -285,7 +297,11 @@ export default function DataGovernanceAuaitAnalysis() {
|
|
|
// @ts-ignore
|
|
|
setClassifications(data?.payload ?? [])
|
|
|
// @ts-ignore
|
|
|
- setSystemId(data?.payload?.[0].id)
|
|
|
+ if (!systemId) {
|
|
|
+ setSystemId(data?.payload?.[0].id)
|
|
|
+ }
|
|
|
+ // @ts-ignore
|
|
|
+ queryReports(systemId || data?.payload?.[0].id)
|
|
|
} finally {
|
|
|
setTableLoading(false)
|
|
|
}
|
|
@@ -298,14 +314,8 @@ export default function DataGovernanceAuaitAnalysis() {
|
|
|
}
|
|
|
queryReports()
|
|
|
}
|
|
|
-
|
|
|
useEffect(() => {
|
|
|
- async function query() {
|
|
|
- await querySystem()
|
|
|
- await queryReports()
|
|
|
- }
|
|
|
-
|
|
|
- query()
|
|
|
+ querySystem()
|
|
|
}, [])
|
|
|
|
|
|
return (
|
|
@@ -335,9 +345,9 @@ export default function DataGovernanceAuaitAnalysis() {
|
|
|
</div>
|
|
|
<div>
|
|
|
<span>时间选择:</span>
|
|
|
- <DatePicker
|
|
|
- onChange={(e) => setTime(e)}
|
|
|
+ <DatePicker.RangePicker
|
|
|
value={time}
|
|
|
+ onChange={(e) => setTime(e)}
|
|
|
format="YYYY-MM-DD"
|
|
|
/>
|
|
|
</div>
|