中英文切换 初始化
This commit is contained in:
@@ -33,12 +33,14 @@ import { getSiteDevice, getRobotRouteList, getWayLine, getSiteUAVList } from '..
|
||||
import { useSelector } from 'react-redux';
|
||||
import { RootState } from '@/src/store';
|
||||
import utils, { workOrderTypeOptions, getWorkOrderTypeText, errorLevelOptions, LEVEL_TAG_COLOR } from '@/lib/utils';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
const { TabPane } = Typography;
|
||||
const { Option } = Select;
|
||||
|
||||
// 工单模型管理子组件
|
||||
const WorkOrderModelManagement: React.FC = () => {
|
||||
const { t } = useTranslation();
|
||||
const [form] = Form.useForm();
|
||||
const [list, setList] = useState([]);
|
||||
const [loading, setLoading] = useState(false);
|
||||
@@ -78,8 +80,8 @@ const WorkOrderModelManagement: React.FC = () => {
|
||||
if (robotRes.code === 200) {
|
||||
const robots = robotRes.rows || [];
|
||||
robotOptions.push({
|
||||
label: '机器人',
|
||||
title: '机器人',
|
||||
label: t('devices.robot'),
|
||||
title: t('devices.robot'),
|
||||
options: robots.map((item: any) => ({
|
||||
label: item.deviceAlias || item.serialNumber,
|
||||
value: item.serialNumber,
|
||||
@@ -92,8 +94,8 @@ const WorkOrderModelManagement: React.FC = () => {
|
||||
if (uavRes.code === 200) {
|
||||
const uavs = uavRes.rows || [];
|
||||
uavOptions.push({
|
||||
label: '无人机',
|
||||
title: '无人机',
|
||||
label: t('constants.uav'),
|
||||
title: t('constants.uav'),
|
||||
options: uavs.map((item: any) => ({
|
||||
label: item.drone_callsign,
|
||||
|
||||
@@ -176,6 +178,7 @@ const WorkOrderModelManagement: React.FC = () => {
|
||||
}, [stationId]);
|
||||
|
||||
const handleAdd = () => {
|
||||
const { t } = useTranslation();
|
||||
setEditingItem(null);
|
||||
form.resetFields();
|
||||
setSelectedDeviceType(null);
|
||||
@@ -210,17 +213,17 @@ const WorkOrderModelManagement: React.FC = () => {
|
||||
modal.confirm({
|
||||
title: '确认删除',
|
||||
content: '您确定要删除这条工单模型吗?',
|
||||
okText: '确定',
|
||||
cancelText: '取消',
|
||||
okText: t('common.ok'),
|
||||
cancelText: t('common.cancel'),
|
||||
onOk: async () => {
|
||||
try {
|
||||
const res = await deleteWorkOrderModelApi([id]);
|
||||
if (res.code === 200) {
|
||||
message.success('删除成功');
|
||||
message.success(t('common.deleteSuccess'));
|
||||
fetchList();
|
||||
}
|
||||
} catch (e) {
|
||||
message.error('删除失败');
|
||||
message.error(t('common.deleteFail'));
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -235,8 +238,8 @@ const WorkOrderModelManagement: React.FC = () => {
|
||||
modal.confirm({
|
||||
title: '批量删除确认',
|
||||
content: `您确定要删除选中的 ${selectedRowKeys.length} 条工单模型吗?删除后不可恢复!`,
|
||||
okText: '确定',
|
||||
cancelText: '取消',
|
||||
okText: t('common.ok'),
|
||||
cancelText: t('common.cancel'),
|
||||
danger: true,
|
||||
onOk: async () => {
|
||||
try {
|
||||
@@ -271,13 +274,13 @@ const WorkOrderModelManagement: React.FC = () => {
|
||||
res = await addWorkOrderModelApi(payload);
|
||||
}
|
||||
if (res.code === 200 && res.data == true) {
|
||||
message.success(editingItem ? '更新成功' : '新增成功');
|
||||
message.success(editingItem ? '更新成功' : t('common.addSuccess'));
|
||||
setModalVisible(false);
|
||||
form.resetFields();
|
||||
fetchList();
|
||||
}
|
||||
} catch (e) {
|
||||
message.error('保存失败');
|
||||
message.error(t('common.saveFail'));
|
||||
}
|
||||
};
|
||||
|
||||
@@ -297,7 +300,7 @@ const WorkOrderModelManagement: React.FC = () => {
|
||||
const columns = [
|
||||
{ title: '工单名称', dataIndex: 'orderName', key: 'orderName' },
|
||||
{
|
||||
title: '工单类型',
|
||||
title: t('workOrder.orderType'),
|
||||
dataIndex: 'orderType',
|
||||
key: 'orderType',
|
||||
render: getWorkOrderTypeText
|
||||
@@ -308,7 +311,7 @@ const WorkOrderModelManagement: React.FC = () => {
|
||||
key: 'errorLevel',
|
||||
render: (val) => {
|
||||
const color = LEVEL_TAG_COLOR[val] || 'default';
|
||||
const text = { 1: '轻微', 2: '一般', 3: '严重' }[val] || val;
|
||||
const text = { 1: '轻微', 2: t('constants.general'), 3: t('constants.critical') }[val] || val;
|
||||
return <Tag color={color}>{text}</Tag>;
|
||||
}
|
||||
},
|
||||
@@ -342,12 +345,12 @@ const WorkOrderModelManagement: React.FC = () => {
|
||||
render: (val: boolean) => val ? '是' : '否'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
title: t('roles.actions'),
|
||||
key: 'action',
|
||||
render: (_: any, record: any) => (
|
||||
<Space>
|
||||
<Button type="link" onClick={() => handleEdit(record)}>编辑</Button>
|
||||
<Button type="link" danger onClick={() => handleDelete(record.id)}>删除</Button>
|
||||
<Button type="link" onClick={() => handleEdit(record)}>{t('roles.edit')}</Button>
|
||||
<Button type="link" danger onClick={() => handleDelete(record.id)}>{t('roles.delete')}</Button>
|
||||
</Space>
|
||||
)
|
||||
}
|
||||
@@ -364,7 +367,7 @@ const WorkOrderModelManagement: React.FC = () => {
|
||||
<Card>
|
||||
<Space style={{ marginBottom: 16 }}>
|
||||
<Button type="primary" icon={<PlusOutlined />} onClick={handleAdd}>新增工单模型</Button>
|
||||
<Button icon={<ReloadOutlined />} onClick={fetchList}>刷新</Button>
|
||||
<Button icon={<ReloadOutlined />} onClick={fetchList}>{t('common.refresh')}</Button>
|
||||
<Button
|
||||
danger
|
||||
icon={<DeleteOutlined />}
|
||||
@@ -395,8 +398,8 @@ const WorkOrderModelManagement: React.FC = () => {
|
||||
<Form.Item label="工单名称" name="orderName" rules={[{ required: true, message: '请输入工单名称' }]}>
|
||||
<Input placeholder="请输入工单名称" />
|
||||
</Form.Item>
|
||||
<Form.Item label="工单类型" name="orderType" rules={[{ required: true, message: '请选择工单类型' }]}>
|
||||
<Select placeholder="请选择工单类型" options={workOrderTypeOptions} />
|
||||
<Form.Item label={t('workOrder.orderType')} name="orderType" rules={[{ required: true, message: t('workOrder.pleaseSelectType') }]}>
|
||||
<Select placeholder={t('workOrder.pleaseSelectType')} options={workOrderTypeOptions} />
|
||||
</Form.Item>
|
||||
<Form.Item label="错误等级" name="errorLevel" rules={[{ required: true, message: '请选择错误等级' }]}>
|
||||
<Select placeholder="请选择错误等级" options={errorLevelOptions} />
|
||||
@@ -429,8 +432,8 @@ const WorkOrderModelManagement: React.FC = () => {
|
||||
|
||||
<Form.Item>
|
||||
<Space>
|
||||
<Button type="primary" htmlType="submit">保存</Button>
|
||||
<Button onClick={() => setModalVisible(false)}>取消</Button>
|
||||
<Button type="primary" htmlType="submit">{t('common.save')}</Button>
|
||||
<Button onClick={() => setModalVisible(false)}>{t('common.cancel')}</Button>
|
||||
</Space>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
||||
Reference in New Issue
Block a user