diff --git a/src/pages/Company/List/edit.tsx b/src/pages/Company/List/edit.tsx
index 141b6c6..b41ee75 100644
--- a/src/pages/Company/List/edit.tsx
+++ b/src/pages/Company/List/edit.tsx
@@ -206,12 +206,14 @@ export const CompanyDetailView = ({
onCancel,
record,
scaleEnum,
+ industryEnum,
loading,
}: {
open: boolean;
onCancel: () => void;
record?: API.CompanyList.Company;
scaleEnum?: DictValueEnumObj;
+ industryEnum?: DictValueEnumObj;
loading?: boolean;
}) => {
const contacts = record?.companyContactList?.filter(
@@ -253,8 +255,8 @@ export const CompanyDetailView = ({
)}
{statusTag}
- {record?.industry ? (
- {record.industry}
+ {record?.industry != null && record.industry !== '' ? (
+
) : null}
diff --git a/src/pages/Company/List/index.tsx b/src/pages/Company/List/index.tsx
index dcae54b..c45dd35 100644
--- a/src/pages/Company/List/index.tsx
+++ b/src/pages/Company/List/index.tsx
@@ -14,7 +14,8 @@ import {
putCmsCompanyList,
} from '@/services/company/list';
import { getDictValueEnum } from '@/services/system/dict';
-import DictTag from '@/components/DictTag';
+import { getCmsIndustryTreeList } from '@/services/classify/industry';
+import DictTag, { DictValueEnumObj } from '@/components/DictTag';
import { postCompanyApproval } from '@/services/company/review';
const buildListSearchParams = (values: Record): API.CompanyList.Params => {
@@ -36,6 +37,25 @@ const loadCompanyDetail = async (record: API.CompanyList.Company) => {
return { ...record, ...detail };
};
+/** 将行业树数据展平为 DictValueEnumObj */
+const flattenIndustryTree = (tree: { id: number; label: string; children?: any[] }[]): DictValueEnumObj => {
+ const map: DictValueEnumObj = {};
+ const walk = (nodes: { id: number; label: string; children?: any[] }[]) => {
+ nodes?.forEach((node) => {
+ map[node.id] = {
+ text: node.label,
+ label: node.label,
+ value: node.id,
+ };
+ if (node.children?.length) {
+ walk(node.children);
+ }
+ });
+ };
+ walk(tree);
+ return map;
+};
+
function ManagementList() {
const access = useAccess();
@@ -48,6 +68,7 @@ function ManagementList() {
const [detailLoading, setDetailLoading] = useState(false);
const [detailData, setDetailData] = useState();
const [scaleEnum, setScaleEnum] = useState>({});
+ const [industryEnum, setIndustryEnum] = useState({});
const [approvalVisible, setApprovalVisible] = useState(false);
const [approvalStatus, setApprovalStatus] = useState<1 | 2>(1);
const [approvalReason, setApprovalReason] = useState('');
@@ -89,6 +110,11 @@ function ManagementList() {
getDictValueEnum('scale', true, true).then((data) => {
setScaleEnum(data);
});
+ getCmsIndustryTreeList().then((res) => {
+ if (res?.data) {
+ setIndustryEnum(flattenIndustryTree(res.data));
+ }
+ });
}, []);
const columns: ProColumns[] = [
@@ -118,6 +144,9 @@ function ManagementList() {
dataIndex: 'industry',
valueType: 'text',
align: 'center',
+ render: (_, record) => {
+ return ;
+ },
},
{
title: '公司规模',
@@ -187,7 +216,7 @@ function ManagementList() {
size="small"
key="detail"
icon={}
- hidden={!access.hasPerms('area:business:List.view')}
+ hidden={!access.hasPerms('cms:company:query')}
onClick={async () => {
setDetailData({ ...record });
setDetailVisible(true);
@@ -209,7 +238,7 @@ function ManagementList() {
size="small"
key="edit"
icon={}
- hidden={!access.hasPerms('area:business:List.update')}
+ hidden={!access.hasPerms('cms:company:edit')}
onClick={async () => {
const hide = message.loading('正在加载详情');
try {
@@ -229,6 +258,7 @@ function ManagementList() {
type="link"
size="small"
key="approval"
+ hidden={!access.hasPerms('sys:company:approval')}
icon={}
onClick={() => {
setCurrentRow(record);
@@ -245,7 +275,7 @@ function ManagementList() {
danger
key="batchRemove"
icon={}
- hidden={!access.hasPerms('area:subway:List')}
+ hidden={!access.hasPerms('cms:company:remove')}
onClick={async () => {
Modal.confirm({
title: '删除',
@@ -291,7 +321,7 @@ function ManagementList() {