替换 所有选择品类组件

This commit is contained in:
孙景学
2025-08-11 11:25:19 +08:00
parent ad6b7536f5
commit e81f00eb00
16 changed files with 78 additions and 63 deletions

View File

@ -6,7 +6,7 @@ import type { ColumnsType, TablePaginationConfig } from 'antd/es/table';
import ViewModal from './components/ViewModal';
//发起准入 弹窗
import CreateModal from './components/CreateModal';
import CategorySelector from '@/components/CategorySelector';
import CategorySelector from '@/components/TreeCategorySelector';
import AdmissionTypeSelect from '@/components/CommonSelect/AdmissionTypeSelect';
import AccessDepartmentSelect from "@/components/AccessDepartmentSelect"
//接口
@ -147,7 +147,7 @@ const SupplierCategoryEntry: React.FC = () => {
<AccessDepartmentSelect placeholder={'请选择准入单位'} />
</Form.Item>
<Form.Item name="categoryId" label="准入品类">
<CategorySelector multiple={false} style={{ width: 150 }} />
<CategorySelector multiple={false} />
</Form.Item>
<Form.Item name="approveStatus" label="审批状态">
<Select style={{ width: 150 }} placeholder="请选择状态" allowClear>

View File

@ -4,7 +4,7 @@ import { SearchOutlined, DeleteOutlined } from '@ant-design/icons';
import type { ColumnsType, TablePaginationConfig } from 'antd/es/table';
//查看弹窗
import ViewModal from './components/ViewModal';
import CategorySelector from '@/components/CategorySelector';
import CategorySelector from '@/components/TreeCategorySelector';
import AdmissionTypeSelect from '@/components/CommonSelect/AdmissionTypeSelect';
import AccessStatusSelect from '@/components/CommonSelect/AccessStatusSelect';
import AccessDepartmentSelect from "@/components/AccessDepartmentSelect"
@ -104,7 +104,7 @@ const SupplierCategoryEntryReview: React.FC = () => {
<AccessDepartmentSelect placeholder={'请选择准入单位'} />
</Form.Item>
<Form.Item name="categoryId" label="准入品类">
<CategorySelector multiple={false} style={{ width: 150 }} />
<CategorySelector multiple={false} />
</Form.Item>
<Form.Item name="approveStatus" label="审批状态">
<AccessStatusSelect />

View File

@ -228,7 +228,7 @@ const CreateModal: React.FC<{ visible: boolean; onCancel: () => void; }> = ({ vi
<Form.Item
label="标题名称"
name="accessWorkName"
rules={[{ required: false, message: '请输入标题名称' }]}
rules={[{ required: true, message: '请输入标题名称' }]}
>
<Input placeholder="请输入标题名称" allowClear
onChange={e => {
@ -242,7 +242,7 @@ const CreateModal: React.FC<{ visible: boolean; onCancel: () => void; }> = ({ vi
<Form.Item
label="准入部门"
name="deptId"
rules={[{ required: false, message: '请选择准入部门' }]}
rules={[{ required: true, message: '请选择准入部门' }]}
>
<AccessDepartmentSelect style={{ width: '100%' }} orgCategory='' onChange={onChangeDepartmentSelect} />
</Form.Item>
@ -253,7 +253,7 @@ const CreateModal: React.FC<{ visible: boolean; onCancel: () => void; }> = ({ vi
<Form.Item
label="准入方式"
name="accessType"
rules={[{ required: false, message: '请选择准入方式' }]}
rules={[{ required: true, message: '请选择准入方式' }]}
>
<Radio.Group onChange={onMethodChange} value={admissionMethod}>
<Radio value="online">线</Radio>
@ -267,7 +267,7 @@ const CreateModal: React.FC<{ visible: boolean; onCancel: () => void; }> = ({ vi
<Form.Item
label="品类选择"
name="categoryIds"
rules={[{ required: false, message: '请选择准入品类' }]}
rules={[{ required: true, message: '请选择准入品类' }]}
>
<TreeCategorySelector
onChange={(ids) => form.setFieldsValue({ categoryIds: ids })}
@ -282,7 +282,7 @@ const CreateModal: React.FC<{ visible: boolean; onCancel: () => void; }> = ({ vi
<Form.Item
label="选择供应商"
name="supplier"
rules={[{ required: false, message: '请选择供应商' }]}
rules={[{ required: true, message: '请选择供应商' }]}
>
<Button onClick={() => setSupplierModalVisible(true)}>
@ -379,7 +379,7 @@ const CreateModal: React.FC<{ visible: boolean; onCancel: () => void; }> = ({ vi
<Form.Item
label="评审时间"
name="rangePicker"
rules={[{ required: false, message: '请选择评审时间' }]}
rules={[{ required: true, message: '请选择评审时间' }]}
>
<RangePicker
style={{ width: '300px' }}
@ -391,7 +391,7 @@ const CreateModal: React.FC<{ visible: boolean; onCancel: () => void; }> = ({ vi
<Form.Item
label="选择评审人员"
name="reviewers"
rules={[{ required: false, message: '请选择评审人员' }]}
rules={[{ required: true, message: '请选择评审人员' }]}
>
<Button onClick={() => setReviewerModalVisible(true)}>
@ -436,7 +436,7 @@ const CreateModal: React.FC<{ visible: boolean; onCancel: () => void; }> = ({ vi
name="division"
rules={[
{
required: false,
required: true,
validator: (_, value) => {
if (!value || !Array.isArray(value) || value.length === 0) {
return Promise.reject(new Error('请设置评审分工'));
@ -473,7 +473,7 @@ const CreateModal: React.FC<{ visible: boolean; onCancel: () => void; }> = ({ vi
<Form.Item
label="准入说明"
name="accessDesc"
rules={[{ required: false, message: '请输入准入说明' }]}
rules={[{ required: true, message: '请输入准入说明' }]}
>
<Input.TextArea placeholder="请依照《集团供应商管理制度》填写准入说明" rows={2} maxLength={200} showCount />
</Form.Item>

View File

@ -8,7 +8,7 @@ import ViewModal from './components/ViewModal';
import ResultModal from './components/ResultModal';
//发起准入 弹窗
import CreateModal from './components/CreateModal';
import CategorySelector from '@/components/CategorySelector';
import CategorySelector from '@/components/TreeCategorySelector';
import AdmissionTypeSelect from '@/components/CommonSelect/AdmissionTypeSelect';
import AccessStatusSelect from '@/components/CommonSelect/AccessStatusSelect';
import AccessDepartmentSelect from "@/components/AccessDepartmentSelect"
@ -156,7 +156,7 @@ const AccessManagement: React.FC = () => {
<AccessDepartmentSelect placeholder={'请选择准入单位'} />
</Form.Item>
<Form.Item name="categoryId" label="准入品类">
<CategorySelector multiple={false} style={{ width: 150 }} />
<CategorySelector multiple={false} />
</Form.Item>
<Form.Item name="approveStatus" label="审批状态">
<AccessStatusSelect />

View File

@ -6,7 +6,7 @@ import { SearchOutlined, DeleteOutlined } from '@ant-design/icons';
//接口
import { getCategoryPage } from './services';
//组件
import CategorySelector from '@/components/CategorySelector';
import CategorySelector from '@/components/TreeCategorySelector';
import AccessDepartmentSelect from "@/components/AccessDepartmentSelect"
//统一列表分页
import tableProps from '@/utils/tableProps'
@ -142,7 +142,7 @@ const CooperateEnterprise: React.FC = () => {
<AccessDepartmentSelect placeholder={'请选择准入单位'} />
</Form.Item>
<Form.Item name="categoryId" label="准入品类">
<CategorySelector multiple={false} style={{ width: 200 }} />
<CategorySelector multiple={false} />
</Form.Item>
<Form.Item name="createTime" label="准入时间">
<DatePicker.RangePicker placeholder={['开始时间', '结束时间']} />

View File

@ -9,7 +9,7 @@ import { connect } from 'umi';
//本地组件、弹窗、业务逻辑
// import SupplierViewModal from './components/SupplierViewModal';
// import SupplierDetailModal from './components/SupplierDetailModal';
import CategorySelector from '@/components/CategorySelector';
import CategorySelector from '@/components/TreeCategorySelector';
import RegionTypeSelect from '@/components/CommonSelect/RegionTypeSelect'
import AccessStatusSelect from '@/components/CommonSelect/AccessStatusSelect'
//本地服务/接口
@ -219,7 +219,7 @@ const mySupplierInquiry: React.FC<mySupplierInquiryProps> = ({ dispatch }) => {
<Input placeholder="请输入供应商名称关键字" style={{ width: 180 }} allowClear maxLength={20} />
</Form.Item>
<Form.Item name="categoryId" label="准入品类">
<CategorySelector multiple={false} style={{ width: 140 }} />
<CategorySelector multiple={false} />
</Form.Item>
<Form.Item name="accessStatus" label="准入状态">
<AccessStatusSelect />

View File

@ -5,7 +5,7 @@ import {
//接口
import { getSupplierCategoryPage } from '../services';
//组件
import CategorySelector from '@/components/CategorySelector';
import CategorySelector from '@/components/TreeCategorySelector';
import { useSupplierDetailModal } from '@/components/SupplierDetailModalContext/SupplierDetailModalContext';
interface Supplier {
@ -187,7 +187,7 @@ const SupplierSelectModal: React.FC<SupplierSelectModalProps> = ({
<Input style={{ width: 140 }} allowClear maxLength={50} placeholder="请输入供应商名称" />
</Form.Item>
<Form.Item name="categoryId" label="准入品类">
<CategorySelector multiple={false} style={{ width: 140 }} />
<CategorySelector multiple={false} />
</Form.Item>
<Form.Item>
<Space>

View File

@ -7,7 +7,7 @@ import type { ColumnsType } from 'antd/es/table';
//接口
import { getSupplierCategoryPage } from '../services';
//组件
import CategorySelector from '@/components/CategorySelector';
import CategorySelector from '@/components/TreeCategorySelector';
import { useSupplierDetailModal } from '@/components/SupplierDetailModalContext/SupplierDetailModalContext';
@ -179,7 +179,7 @@ const SupplierSelectModal: React.FC<SupplierSelectModalProps> = ({
</Form.Item>
<Form.Item name="categoryId" label="准入品类">
<CategorySelector multiple={false} style={{ width: 200 }} />
<CategorySelector multiple={false} />
</Form.Item>
<Form.Item>
<Space>

View File

@ -3,7 +3,7 @@ import { Form, Input, Select, DatePicker, Row, Col, Card, Radio, message } from
import moment from 'moment';
import { useIntl, FormattedMessage } from 'umi';
import { getAllAnnualTemplates,getAnnualTemplateDetail } from '@/servers/api/supplierAnnual';
import CategorySelector from '@/components/CategorySelector';
import CategorySelector from '@/components/TreeCategorySelector';
import styles from '../supplierAnnualTaskManageAdd.less';
import { CategoryLimitationType } from '@/dicts/supplierTemplateDict';
import type { Dispatch } from 'umi';

View File

@ -18,7 +18,7 @@ import {
DeleteOutlined,
SearchOutlined,
} from '@ant-design/icons';
import CategorySelector from '@/components/CategorySelector/CategorySelector';
import CategorySelector from '@/components/TreeCategorySelector';
import { getAnnualTemplateList, enableAnnualTemplate, disableAnnualTemplate } from '@/servers/api/supplierAnnual';
import { AnnualTemplateStatus, AnnualTemplateStatusText, AnnualTemplateStatusColor } from '@/dicts/supplierAnnualDict';
import AccessDepartmentSelect from '@/components/AccessDepartmentSelect';
@ -334,7 +334,7 @@ const SupplierAnnualTemplateManage: React.FC = () => {
<AccessDepartmentSelect placeholder={'请选择准入单位'} />
</Form.Item>
<Form.Item name="categoryId" label={intl.formatMessage({ id: 'supplierAnnualTemplateManage.list.category' })}>
<CategorySelector multiple={false} style={{ width: 200 }} />
<CategorySelector multiple={false} />
</Form.Item>
<Form.Item className="filter-btns">
<Button type="primary" htmlType="submit" icon={<SearchOutlined />}>

View File

@ -20,7 +20,7 @@ import {
import { history, useLocation, useIntl, connect, FormattedMessage } from 'umi';
import type { ConnectProps, Dispatch } from 'umi';
import { ArrowLeftOutlined, SaveOutlined, PlusOutlined, DeleteOutlined } from '@ant-design/icons';
import CategorySelector from '@/components/CategorySelector';
import CategorySelector from '@/components/TreeCategorySelector';
import type { BreadcrumbState } from '@/models/breadcrumb';
import { AnnualTemplateStatus, AnnualTemplateStatusText } from '@/dicts/supplierAnnualDict';
import {

View File

@ -2,7 +2,7 @@ import React, { useState, useEffect, useCallback, forwardRef, useImperativeHandl
import { Form, Input, Select, DatePicker, Row, Col, Card, Radio, message } from 'antd';
import moment from 'moment';
import { getAllTemplates, getTemplateDetail } from '@/servers/api/supplierEvaluate';
import CategorySelector from '@/components/CategorySelector';
import CategorySelector from '@/components/TreeCategorySelector';
import styles from '../supplierTaskManageAdd.less';
import { CategoryLimitationType } from '@/dicts/supplierTemplateDict';
import type { Dispatch } from 'umi';

View File

@ -9,7 +9,7 @@ import {
TemplateStatus,
} from '@/dicts/supplierTemplateDict';
import { getTemplateList, enableTemplate, disableTemplate } from '@/servers/api/supplierEvaluate';
import CategorySelector from '@/components/CategorySelector/CategorySelector';
import CategorySelector from '@/components/TreeCategorySelector';
import AccessDepartmentSelect from '@/components/AccessDepartmentSelect';
const { Option } = Select;
@ -322,7 +322,7 @@ const handleDisableTemplate = (id: string) => {
name="categoryId"
label={intl.formatMessage({ id: 'supplierTemplateManage.column.category' })}
>
<CategorySelector multiple={false} style={{ width: 200 }} />
<CategorySelector multiple={false} />
</Form.Item>
<Form.Item className="filter-btns">
<Button type="primary" htmlType="submit" icon={<SearchOutlined />}>

View File

@ -22,7 +22,7 @@ import type { Dispatch, ConnectProps } from 'umi';
import type { BreadcrumbState } from '@/models/breadcrumb';
import { ArrowLeftOutlined, SaveOutlined, ExclamationCircleOutlined } from '@ant-design/icons';
import EvaluateTemplateTable from '@/components/EvaluateTemplateTable';
import CategorySelector from '@/components/CategorySelector';
import CategorySelector from '@/components/TreeCategorySelector';
import {
CategoryLimitationType,
CategoryLimitationTypeText,