第三方评价页面

This commit is contained in:
孙景学
2025-08-12 14:52:14 +08:00
parent 69a90c7d7f
commit 3804a1c9ef
15 changed files with 939 additions and 132 deletions

View File

@ -1,10 +1,16 @@
// ViewReviewPage.tsx
import React, { useState, useEffect } from 'react';
import ResultModal from './components/ResultModal';
import ViewModal from './components/ViewModal';
import BlacklistApproval from './components/BlacklistApproval';
import ExitApproval from './components/ExitApproval';
import CategoryLibraryApproval from './components/CategoryLibraryApproval';
import CategoryLibrarySupplierApproval from './components/CategoryLibrarySupplierApproval';
import SupplierCategoryAccessApproval from './components/SupplierCategoryAccessApproval';
import SupplierInfoChangeApproval from './components/SupplierInfoChangeApproval';
import { refreshDictCache } from '@/servers/api/login';
import { encryptWithRsa } from '@/utils/encryptWithRsa';
const ViewReviewPage: React.FC = () => {
const [modalVisible, setModalVisible] = useState<boolean>(false);
const [modalRecord, setModalRecord] = useState<{ id: string } | null>(null);
@ -14,20 +20,17 @@ const ViewReviewPage: React.FC = () => {
const params = new URLSearchParams(window.location.search);
const base64 = params.get('code');
if (!base64) return;
const b64 = base64.replace(/-/g, '+').replace(/_/g, '/');
try {
// 解码
const decodedStr = atob(base64);
const p2 = new URLSearchParams(decodedStr);
const decodedStr = atob(b64);
const query = /%[0-9A-F]{2}/i.test(decodedStr) ? decodeURIComponent(decodedStr) : decodedStr;
const p2 = new URLSearchParams(query);
const id = p2.get('id') ?? '';
const code = p2.get('code') ?? '';
const userId = p2.get('userId') ?? '';
if (!id) return;
setType(code); // code 现在一定是 string
// 初始化字典
if (!sessionStorage.getItem('dict')) {
refreshDictCache().then((res) => {
@ -36,12 +39,10 @@ const ViewReviewPage: React.FC = () => {
}
});
}
// 只有在 userId 存在时再加密保存
if (userId) {
sessionStorage.setItem('userId', encryptWithRsa(userId));
}
setModalRecord({ id });
setModalVisible(true);
} catch (err) {
@ -63,21 +64,85 @@ const ViewReviewPage: React.FC = () => {
return (
<div style={{ padding: '20px' }}>
{/* 供应商准入审批, 供应商品类准入审批 */}
{['supplierAccessApproval', 'supplierCategoryAccessApproval'].includes(type) && (
{/* 供应商准入审批 */}
{['supplierAccessApproval'].includes(type) && (
<>
<ViewModal
visible={modalVisible}
record={modalRecord ?? undefined}
onCancel={() => setModalVisible(false)}
/>
<ResultModal
visible={modalVisible}
record={modalRecord ?? undefined}
onCancel={() => setModalVisible(false)}
/>
</>
)}
{/* 供应商品类准入审批 */}
{['supplierCategoryAccessApproval'].includes(type) && (
<>
<SupplierCategoryAccessApproval
visible={modalVisible}
record={modalRecord ?? undefined}
/>
</>
)}
{/* 供应商信息变更审批*/}
{['supplierInfoChangeApproval'].includes(type) && (
<>
<SupplierInfoChangeApproval
visible={modalVisible}
record={modalRecord}
/>
</>
)}
{/* 黑名单审批*/}
{['blacklistApproval'].includes(type) && (
<>
<BlacklistApproval
visible={modalVisible}
record={modalRecord}
/>
</>
)}
{/* 退出审批 ----*/}
{['exitApproval'].includes(type) && (
<>
<ExitApproval
visible={modalVisible}
record={modalRecord}
/>
</>
)}
{/* 品类库审批 */}
{['categoryLibraryApproval'].includes(type) && (
<>
<CategoryLibraryApproval
visible={modalVisible}
record={modalRecord}
/>
</>
)}
{/* 品类库供应商入库审批 */}
{['categoryLibrarySupplierApproval'].includes(type) && (
<>
<CategoryLibrarySupplierApproval
visible={modalVisible}
record={modalRecord}
/>
</>
)}
{/* 评价审批 */}
{['evaluationApproval'].includes(type) && (
<>
{/* <EvaluationApproval
visible={modalVisible}
record={modalRecord}
/> */}
</>
)}
</div>
);
};