Commit 515293d5 authored by XieZhiXiong's avatar XieZhiXiong
parents c346caa8 6024dc11
......@@ -79,7 +79,6 @@ export default {
'handling.assign.add.orderNo': '订单号',
'handling.assign.add.orderNum': '订单数量',
'handling.oneHundred.byte': '最长100个字符,50个汉字',
'handling.view.process.detail': '查看加工明细',
......@@ -90,7 +89,6 @@ export default {
'handling.enterprise.search.name.tips': '输入会员名称进行搜索',
'handling.enterprise.search.role': '会员角色',
'handling.order.search.orderNo': '搜索订单号',
'handling.order.search.orderNo.tips': '输入订单号进行搜索',
'handling.order.search.startTime': '下单开始时间',
......@@ -147,9 +145,165 @@ export default {
'handling.confirm.query.pendingSubmit': '待提交审核生产通知单',
'handling.confirm.query.processingInvoiceTobeAdd': '待新增加工发货单',
'handling.confirm.submit.exam': '提交审核',
'handling.confirm.submit.exam.batch': '批量审核通过',
'handling.qiyeshangcheng': '企业商城',
'handling.qudaoshangcheng': '渠道商城',
'handling.qudaoziyoushangcheng': '渠道自有商城',
'handling.qingxuanzeguishudishi': '请选择归属地市',
'handling.qingxuanzezhuyaojiagongzhong': '请选择主要加工种类',
'handling.fuzhichenggong': '复制成功!',
'handling.baocun': '保存',
'handling.ninhaiyouweibaocundenei': '您还有未保存的内容,是否确定要离开?',
'handling.jibenxinxi': '基本信息',
'handling.zhuyaojiagongzhonglei': '主要加工种类',
'handling.nianjiagonge': '年加工额',
'handling.changfangmianji': '厂房面积',
'handling.qingxuanzenianjiagonge': '请选择年加工额',
'handling.qingxuanzechangfangmianji': '请选择厂房面积',
'handling.yuangongrenshu': '员工人数',
'handling.qingxuanzeyuangongrenshu': '请选择员工人数',
'handling.guishudishi': '归属地市',
'handling.gongsiLOGO': '公司LOGO',
'handling.gongsijianjie': '公司简介',
'handling.qingshurugongsijianjie': '请输入公司简介',
'handling.gongsizhaopian': '公司照片',
'handling.zizhirongyu': '资质荣誉',
'handling.rushangbiaozhucezhengshu': '如商标注册证书、品牌授权证书等证明材料',
'handling.xuanchuanhuace': '宣传画册',
'handling.menhulianjie': '门户链接',
'handling.dangqian': '当前',
'handling.lianjie': '链接',
'handling.biaoti': '标题',
'handling.zuichang100gezifu50ge': '最长100个字符,50个汉字',
'handling.zuichang200gezifu100ge': '最长200个字符,100个汉字',
'handling.yongyuxianshizaiyemiantitle': '用于显示在页面title标签的内容,便于搜索引擎抓取',
'handling.miaoshu': '描述',
'handling.guanjianzi': '关键字',
'handling.shouyelunbotu': '首页轮播图',
'handling.tiaozhuanlianjie': '跳转链接:',
'handling.lunbotutiaozhuanlianjie': '轮播图跳转链接',
'handling.qingshuruguanjianzi': '请输入关键字',
'handling.qingshurumiaoshu': '请输入描述',
'handling.qingshurubiaoti': '请输入标题',
'handling.qingshangchuangongsiLOGO': '请上传公司LOGO',
'handling.zhongzhishengchantongzhidan': '中止生产通知单',
'handling.zhongzhiyuanyin': '终止原因',
'handling.zhongzhishijian': '中止时间',
'handling.qingtianxieshenhebutongguo': '请填写审核不通过原因',
'handling.shougongfahuo': '手工发货',
'handling.fahuodizhi': '发货地址',
'handling.qingxuanzefahuodizhi': '请选择发货地址',
'handling.fahuoshijian': '发货时间',
'handling.qingtianxiefahuoshijian': '请填写发货时间',
'handling.fahuodanhao': '发货单号',
'handling.qingtianxiefahuodanhao': '请填写发货单号',
'handling.wuliugongsi': '物流公司',
'handling.qingxuanzewuliugongsi': '请选择物流公司',
'handling.xinzengwuliudan': '新增物流单',
'handling.shengchantongzhidanhao': '生产通知单号',
'handling.zhakanjiagongmingxi': '查看加工明细',
'handling.shenhedanju': '审核单据',
'handling.caozuo': '操作',
'handling.shenhe': '审核',
'handling.ninhaiyouweifahuodeshang': '您还有未发货的商品,是否确认全部发货都已完成?',
'handling.querenbendanquanbufahuo': '确认本单全部发货已收到回单',
'handling.jixufahuo': '继续发货',
'handling.ninshangpinduyifahuo': '您商品都已发货,是否确认还需要继续发货?',
'handling.yifahuo': '已发货',
'handling.yifahuoweifahuo': '已发货/未发货',
'handling.weifahuo': '未发货',
'handling.yishouhuo': '已收货',
'handling.chayishuliang': '差异数量',
'handling.fahuoshuliang': '发货数量',
'handling.daiquerenfahuo': '待确认发货',
'handling.yiquerenfahuo': '已确认发货',
'handling.daiquerenhuidan': '待确认回单',
'handling.yiquerenhuidan': '已确认回单',
'handling.querenfahuo': '确认发货',
'handling.querenshouhuo': '确认收货',
'handling.querenhuidan': '确认回单',
'handling.shoufahuotongji': '收发货统计',
'handling.shoufahuomingxi': '收发货明细',
'handling.wuliudanhao': '物流单号',
'handling.rukudanhao': '入库单号',
'handling.neibuzhuangtai': '内部状态',
'handling.rukushijian': '入库时间',
'handling.di': '第',
'handling.pici': '批次',
'handling.jiagongshangpindayushengyu': '加工商品大于剩余加工商品',
'handling.jiagongshangpindayushengyu1': '加工商品大于剩余加工商品, 是否确认提交?',
'handling.shi': '是',
'handling.fou': '否',
'handling.jiaofushuoming': '交付说明',
'handling.fukuanshuoming': '付款说明',
'handling.shuifeishuoming': '税费说明',
'handling.wuzishuoming': '物资说明',
'handling.baozhuangshuoming': '包装说明',
'handling.qitashuoming': '其他说明',
'handling.zuichang60gezifu30ge': '最长60个字符,30个汉字',
'handling.qingtianxiejiagongfei': '请填写加工费',
'handling.qingxuanzeyaojiagongdeshang': '请选择要加工的商品',
'handling.huiyuanID': '会员ID',
'handling.huiyuanmingcheng': '会员名称',
'handling.huiyuanleixing': '会员类型',
'handling.huiyuanjuese': '会员角色',
'handling.huiyuandengji': '会员等级',
'handling.querenshougongfahuo': '确认手工发货',
'handling.jintian': '今天',
'handling.yizhounei': '一周内',
'handling.yigeyuenei': '一个月内',
'handling.sangeyuenei': '三个月内',
'handling.liugeyuenei': '六个月内',
'handling.yiniannei': '一年内',
'handling.yinianqian': '一年前',
'handling.dingdanshijianquanbu': '订单时间(全部',
'handling.shengchantongzhidanchaxun': '生产通知单查询',
'handling.daixinzengshengchantongzhidan': '待新增生产通知单',
'handling.daishenhetongzhidanyi': '待审核通知单(一级',
'handling.daishenhetongzhidaner': '待审核通知单(二级)',
'handling.daitijiaoshengchantongzhidan': '待提交生产通知单',
'handling.daishouhuoshengchantongzhidan': '待收货生产通知单',
'handling.daishenheshengchantongzhidan': '待审核生产通知单(一级)',
'handling.daishenheshengchantongzhidan1': '待审核生产通知单(二级)',
'handling.daiquerenshengchantongzhidan': '待确认生产通知单',
'handling.daixinjianjiagongrukudan': '待新建加工入库单',
'handling.daixinzengjiagongfahuodan': '待新增加工发货单',
'handling.daixinzengwuliudan': '待新增物流单',
'handling.daifahuoshengchantongzhidan': '待发货生产通知单',
'handling.daiquerenshouhuoshengchantong': '待确认收货生产通知单',
'handling.daiquerenhuidanshengchantong': '待确认回单生产通知单',
'handling.daiquerenshouhuo': '待确认收货',
'handling.yiquerenshouhuo': '已确认收货',
'handling.gongyinghuiyuan': '供应会员',
'handling.danjushijian': '单据时间',
'handling.waibuzhuangtai': '外部状态',
'handling.tongzhidanhaozhaiyao': '通知单号/摘要',
'handling.fahuopicifahuodan': '发货批次/发货单号',
'handling.liuzhuanjilu': '流转记录',
'handling.caozuoren': '操作人',
'handling.bumen': '部门',
'handling.zhiwei': '职位',
'handling.zhuangtai': '状态',
'handling.caozuoshijian': '操作时间',
'handling.shenheyijian': '审核意见',
'handling.xuhao': '序号',
'handling.caozuojuese': '操作角色',
'handling.sousuotongzhidanhao': '搜索通知单号',
'handling.shurutongzhidanhaojinhang': '输入通知单号进行搜索',
'handling.tongzhidanzhaiyao': '通知单摘要',
'handling.jiagongqiyeming': '加工企业名',
'handling.danjushijianquanbu': '单据时间(全部)',
'handling.waibuzhuangtaiquanbu': '外部状态(全部)',
'handling.neibuzhuangtaiquanbu': '内部状态(全部)',
'handling.chaxun': '查询',
'handling.jiagongqiyemingcheng': '加工企业名称',
'handling.fahuopicirukudan': '发货批次/入库单号',
'handling.qingxuanzehangshuju': '请选择行数据',
'handling.liuzhuanjindu': '流转进度',
'handling.jiaofuxinxi': '交付信息',
'handling.qitayaoqiu': '其他要求',
'handling.fujian': '附件',
'handling.sousuo': '搜索',
'handling.sousuoshengchantongzhidanhao': '搜索生产通知单号',
}
import { ColumnsType } from 'antd/es/table';
import { getIntl } from 'umi';
const intl = getIntl();
export const enterprisesColumn: ColumnsType<any> = [
{
title: '会员ID',
title: intl.formatMessage({id: 'handling.huiyuanID'}),
dataIndex: 'memberId'
},
{
title: '会员名称',
title: intl.formatMessage({id: 'handling.huiyuanmingcheng'}),
dataIndex: 'name',
},
{
title: '会员类型',
title: intl.formatMessage({id: 'handling.huiyuanleixing'}),
dataIndex: "memberTypeName"
},
{
title: '会员角色',
title: intl.formatMessage({id: 'handling.huiyuanjuese'}),
dataIndex: "roleName"
},
{
title: '会员等级',
title: intl.formatMessage({id: 'handling.huiyuandengji'}),
dataIndex: "levelTag"
}
]
......@@ -4,11 +4,12 @@ import { getEnhanceSupplierToBeAddDetails, GetEnhanceSupplierToBeAddDetailsRespo
import { priceFormat } from '@/utils/numberFomat';
import moment, { Moment } from 'moment';
import React, { useMemo } from 'react';
import { getIntl } from 'umi';
import { SubmitDataType } from '../../types';
/** 修改生产通知单时使用 */
type EditInititalValueType = Omit<SubmitDataType,"deliveryDate" | "source1" > & {
type EditInititalValueType = Omit<SubmitDataType, "deliveryDate" | "source1"> & {
deliveryDate: Moment,
id: number,
source1: 1 | 0 | number | {},
......@@ -23,14 +24,16 @@ type OtherTypes = {
otherDesc: string
}
const intl = getIntl();
const useFormatData = () => {
const { id, lastTypeParams } = usePageStatus();
const isEdit = useMemo(() => lastTypeParams === '/edit', [lastTypeParams]);
const params = useMemo(() => { return id ? { id: id.toString() } : null }, [id]);
const { loading, initialValue }= useInitialValue<GetEnhanceSupplierToBeAddDetailsResponse, { id: string }>(getEnhanceSupplierToBeAddDetails, params)
const { loading, initialValue } = useInitialValue<GetEnhanceSupplierToBeAddDetailsResponse, { id: string }>(getEnhanceSupplierToBeAddDetails, params)
const cacheInitialValue = useMemo<EditInititalValueType>(() => {
if(initialValue === null) {
if (initialValue === null) {
return { source: 1, source1: 1 } as EditInititalValueType
}
const { summary, deliveryType, deliveryDate, processMemberId, processName, processRoleId, receiveAddress, receiveUserName, receiveUserTel, receiverAddressId, source, otherAsk, details } = initialValue;
......@@ -55,7 +58,7 @@ const useFormatData = () => {
unitName: _item.unit,
name: _item.productName,
isHasTax: _item.isHasTax,
isHasTaxAndTaxRate: `${_item.isHasTax ? '是': '否'}/${_item.taxRate}%`,
isHasTaxAndTaxRate: `${_item.isHasTax ? intl.formatMessage({ id: 'handling.shi' }) : intl.formatMessage({ id: 'handling.fou' })}/${_item.taxRate}%`,
enclosure: (_item.property as any).annex.map((_row) => {
return {
name: _row.name,
......@@ -80,7 +83,7 @@ const useFormatData = () => {
unitName: _item.unit,
name: _item.productName,
isHasTax: _item.isHasTax,
isHasTaxAndTaxRate: `${_item.isHasTax ? '是': '否'}/${_item.taxRate}%`,
isHasTaxAndTaxRate: `${_item.isHasTax ? intl.formatMessage({ id: 'handling.shi' }) : intl.formatMessage({ id: 'handling.fou' })}/${_item.taxRate}%`,
enclosure: (_item.property as any).annex.map((_row) => {
return {
name: _row.name,
......@@ -125,7 +128,7 @@ const useFormatData = () => {
}, [initialValue])
return { cacheInitialValue, isEdit, }
return { cacheInitialValue, isEdit, }
}
export default useFormatData;
......@@ -27,7 +27,7 @@ import { priceFormat } from '@/utils/numberFomat';
import { orderColumns, orderProductColumns } from './common/columns/orderColumn';
import { orderSchema } from './common/schemas/orderSchema'
import { EnterpriceType, FileType, SubmitDataType, RestDataType, OtherAskType, SelectedProcessProductType } from './types';
import { history, useIntl } from 'umi';
import { getIntl, history } from 'umi';
import moment from 'moment';
import useFormatData from './common/hooks/useFormatData';
import { GetOrderCommonEnhancePageRequest, GetOrderCommonEnhancePageResponseDetail } from '@/services/OrderNewV2Api';
......@@ -37,6 +37,7 @@ import { postEnhanceSupplierToBeAddAdd, postEnhanceSupplierToBeAddUpdate } from
import request from '@/utils/request';
const { confirm } = Modal;
const intl = getIntl();
const formActions = createFormActions();
const { onFieldInit$, onFieldValueChange$, onFieldInputChange$ } = FormEffectHooks
......@@ -55,17 +56,17 @@ registerVirtualBox('MellowCardBox', (_props) => {
/** @tofix 临时的,因为后端不返回只能值么临时搞着 */
const MALL_NAME = {
"1": "企业商城",
"2": "企业商城",
"3": "渠道商城",
"4": "渠道自有商城"
"1": intl.formatMessage({id: 'handling.qiyeshangcheng'}),
"2": intl.formatMessage({id: 'handling.qiyeshangcheng'}),
"3": intl.formatMessage({id: 'handling.qudaoshangcheng'}),
"4": intl.formatMessage({id: 'handling.qudaoziyoushangcheng'})
}
/** 来源 加工订单或者是加工商品 */
const ORDER_SOURCE = 1
const Create = () => {
const intl = useIntl();
const authInfo = getAuth();
const anchorColumn = useMemo(() => {
return [
......@@ -478,7 +479,7 @@ const Create = () => {
...other,
isHasTax,
taxRate,
isHasTaxAndTaxRate: `${isHasTax ? '是' : '否'}/${taxRate}%`,
isHasTaxAndTaxRate: `${isHasTax ? intl.formatMessage({id: 'handling.shi'}) : intl.formatMessage({id: 'handling.fou'})}/${taxRate}%`,
processUnitPrice,
processNum: processNum,
processTotalPrice: `${priceFormat(+processUnitPrice * +processNum)}`,
......@@ -494,8 +495,8 @@ const Create = () => {
})
if (shouldShowConfirmMsg) {
confirm({
title: '加工商品大于剩余加工商品',
content: '加工商品大于剩余加工商品, 是否确认提交?',
title: intl.formatMessage({id: 'handling.jiagongshangpindayushengyu'}),
content: intl.formatMessage({id: 'handling.jiagongshangpindayushengyu1'}),
onOk() {
formActions.setFieldValue(source === ORDER_SOURCE ? 'detail.layout1.orderList' : 'detail.layout1.productList', newData);
productDrawerToggle(false);
......@@ -823,12 +824,12 @@ const Create = () => {
otherAsk: {
annex: enclosure?.map((item) => ({name: item.name, value: item.url})) || [],
explain: [
{name: '交付说明', value: deliveryDesc},
{name: '付款说明', value: payDesc},
{name: '税费说明', value: taxDesc},
{name: '物资说明', value: materialDesc},
{name: '包装说明', value: packingDesc},
{name: '其他说明', value: otherDesc}
{name: intl.formatMessage({id: 'handling.jiaofushuoming'}), value: deliveryDesc},
{name: intl.formatMessage({id: 'handling.fukuanshuoming'}), value: payDesc},
{name: intl.formatMessage({id: 'handling.shuifeishuoming'}), value: taxDesc},
{name: intl.formatMessage({id: 'handling.wuzishuoming'}), value: materialDesc},
{name: intl.formatMessage({id: 'handling.baozhuangshuoming'}), value: packingDesc},
{name: intl.formatMessage({id: 'handling.qitashuoming'}), value: otherDesc}
]
},
details: source === 1 ? orderListFormated : productListFormated,
......
......@@ -49,7 +49,7 @@ const createSchema: ISchema = {
}
],
'x-component-props': {
placeholder: '最长60个字符,30个汉字'
placeholder: intl.formatMessage({id: 'handling.zuichang60gezifu30ge'})
}
},
deliveryType: {
......@@ -330,7 +330,7 @@ const createSchema: ISchema = {
"x-rules": [
{
required: true,
message: '请填写加工费'
message: intl.formatMessage({id: 'handling.qingtianxiejiagongfei'})
}
],
},
......@@ -355,14 +355,14 @@ const createSchema: ISchema = {
renderMoveUp: () => null,
renderExtraOperations: '{{renderProductListTableRemove}}',
operations: {
title: '操作'
title: intl.formatMessage({id: 'handling.caozuo'})
},
// columns: "{{tableColumns}}",
},
'x-rules': [
{
required: true,
message: '请选择要加工的商品'
message: intl.formatMessage({id: 'handling.qingxuanzeyaojiagongdeshang'})
}
],
items: {
......@@ -438,7 +438,7 @@ const createSchema: ISchema = {
"x-rules": [
{
required: true,
message: '请填写加工费'
message: intl.formatMessage({id: 'handling.qingtianxiejiagongfei'})
}
],
},
......
......@@ -34,7 +34,7 @@ const Info = () => {
const [submitLoading, setSubmitLoading] = useState<boolean>(false);
const { columns } = useColumnWithFilter(defaultColumns, [
{
title: '操作',
title: intl.formatMessage({id: 'handling.caozuo'}),
render: (text, record) => {
return <a onClick={() => handleViewDetail(record)}>{intl.formatMessage({id: 'handling.view.process.detail'})}</a>
}
......
import React from 'react';
import { Modal } from 'antd';
import styles from './index.less';
import { getIntl } from 'umi';
interface Iprops {
dataSource: {
......@@ -13,20 +14,20 @@ interface Iprops {
onClose?: () => void,
onConfirm?: () => void,
}
const intl = getIntl();
const ConfirmReceive: React.FC<Iprops> = (props: Iprops) => {
const { dataSource, visible, onClose, onConfirm } = props;
const rowList = [
{
title: '发货地址',
title: intl.formatMessage({id: 'handling.fahuodizhi'}),
dataIndex: 'address'
},
{
title: '发货地址',
title: intl.formatMessage({id: 'handling.fahuodizhi'}),
dataIndex: 'deliveryTime'
},
{
title: '发货单号',
title: intl.formatMessage({id: 'handling.fahuodanhao'}),
dataIndex: 'logisticsNo',
render: (text, record) => {
return (
......@@ -35,13 +36,13 @@ const ConfirmReceive: React.FC<Iprops> = (props: Iprops) => {
}
},
{
title: '发货地址',
title: intl.formatMessage({id: 'handling.fahuodizhi'}),
dataIndex: 'company'
}
]
return (
<Modal
title="确认收货"
title={intl.formatMessage({id: 'handling.querenshouhuo'})}
visible={visible}
onCancel={onClose}
onOk={onConfirm}
......
......@@ -89,7 +89,7 @@ const Info = () => {
anchors={anchorColumn}
extra={
initialValue?.outerTaskType === isManualDelivery && (
<Button loading={manualLoading} onClick={() => examToggle(true)} type="primary">确认手工发货</Button>
<Button loading={manualLoading} onClick={() => examToggle(true)} type="primary">{intl.formatMessage({id: 'handling.querenshougongfahuo'})}</Button>
) || null
}
>
......
......@@ -101,7 +101,7 @@ const Info = () => {
</div>
</AnchorPage>
<MachiningDetail visible={visible} dataProps={processDataProps} onClose={() => toggle(false)}/>
<ExamVerify visible={examVisible} title="审核单据" onSubmit={onExamVerifySubmit} onCancel={() => examToggle(false)} showLabel={false} />
<ExamVerify visible={examVisible} title={intl.formatMessage({id: 'handling.shenhedanju'})} onSubmit={onExamVerifySubmit} onCancel={() => examToggle(false)} showLabel={false} />
</Spin>
)
......
......@@ -36,7 +36,7 @@ const AllQuery = () => {
});
const { columns, setColumnsWithFilterOption } = useColumnWithFilter(queryColumns, [
{
title: '操作',
title: intl.formatMessage({id: 'handling.caozuo'}),
render: (text, record) => {
return (
<Space>
......
......@@ -3,27 +3,27 @@ import { ColumnsType } from 'antd/es/table';
import moment from 'moment';
import { Badge } from 'antd';
import EyePreview from '@/components/EyePreview';
import { Link } from 'umi';
import { getIntl, Link } from 'umi';
import StatusTag from '@/components/StatusTag';
import { innerStatusColor, outerStatusType } from '../colors';
/**
* 待新增加工发货单
*/
const intl = getIntl();
const commonColumns: ColumnsType<any> = [
{
title: '供应会员',
title: intl.formatMessage({id: 'handling.gongyinghuiyuan'}),
dataIndex: "supplierName"
},
{
title: '单据时间',
title: intl.formatMessage({id: 'handling.danjushijian'}),
dataIndex: 'createTime',
sorter: (a, b) => a.createTime - b.createTime,
render: (text, record) => moment(text).format('YYYY-MM-DD'),
},
{
title: '外部状态',
title: intl.formatMessage({id: 'handling.waibuzhuangtai'}),
dataIndex: 'outerStatus',
render: (text, record: any) => {
const offset = record.outerStatus % 5;
......@@ -31,7 +31,7 @@ const commonColumns: ColumnsType<any> = [
}
},
{
title: '内部状态',
title: intl.formatMessage({id: 'handling.neibuzhuangtai'}),
dataIndex: 'innerStatus',
render: (text, record: any) => {
const offset = record.processInnerStatus % 12
......@@ -54,7 +54,7 @@ const commonColumns: ColumnsType<any> = [
const linksColumns: ColumnsType<any> = [
{
title: '通知单号/摘要',
title: intl.formatMessage({id: 'handling.tongzhidanhaozhaiyao'}),
dataIndex: 'des',
render: (text, record) => {
return (
......@@ -67,7 +67,7 @@ const commonColumns: ColumnsType<any> = [
},
]
const batchColum = {
title: '发货批次/发货单号',
title: intl.formatMessage({id: 'handling.fahuopicifahuodan'}),
dataIndex: 'batch',
render: (text: any, record: any) => {
const id: number = record.deliveryId;
......@@ -77,7 +77,7 @@ const commonColumns: ColumnsType<any> = [
return (
// <EyePreview url={`${url}?id=${id}`} >{record[`${type}No`]}</EyePreview>
<div style={{display: 'flex', flexDirection: 'column'}}>
<span>{record.deliveryBatch}批次</span>
<span>{intl.formatMessage({id: 'handling.di'})}{record.deliveryBatch}{intl.formatMessage({id: 'handling.pici'})}</span>
<EyePreview url={`${links['delivery']}?id=${id}`} >{record[`deliveryNo`]}</EyePreview>
</div>
)
......
......@@ -3,24 +3,24 @@ import { ColumnsType } from 'antd/es/table';
import moment from 'moment';
import { Badge } from 'antd';
// import EyePreview from '@/components/EyePreview';
import { Link } from 'umi';
import { getIntl, Link } from 'umi';
import StatusTag from '@/components/StatusTag';
import { innerStatusColor, outerStatusType } from '../colors';
const intl = getIntl();
const commonColumns: ColumnsType<any> = [
{
title: '供应会员',
title: intl.formatMessage({id: 'handling.gongyinghuiyuan'}),
dataIndex: "supplierName"
},
{
title: '单据时间',
title: intl.formatMessage({id: 'handling.danjushijian'}),
dataIndex: 'createTime',
sorter: (a, b) => a.createTime - b.createTime,
render: (text, record) => moment(text).format('YYYY-MM-DD'),
},
{
title: '外部状态',
title: intl.formatMessage({id: 'handling.waibuzhuangtai'}),
dataIndex: 'outerStatus',
render: (text, record: any) => {
const offset = record.outerStatus % 5;
......@@ -28,7 +28,7 @@ const commonColumns: ColumnsType<any> = [
}
},
{
title: '内部状态',
title: intl.formatMessage({id: 'handling.neibuzhuangtai'}),
dataIndex: 'innerStatus',
render: (text, record: any) => {
const offset = record.processInnerStatus % 12
......@@ -43,7 +43,7 @@ const commonColumns: ColumnsType<any> = [
const setColumnsByLinks = (link: string) => {
const linksColumns: ColumnsType<any> = [
{
title: '通知单号/摘要',
title: intl.formatMessage({id: 'handling.tongzhidanhaozhaiyao'}),
dataIndex: 'des',
render: (text, record) => {
return (
......
......@@ -12,7 +12,7 @@ const intl = getIntl();
*/
export const columns: ColumnsType<GetEnhanceSupplierAllDetailsResponse["details"][0] & { isHasTax: 0 | 1, taxRate: number }> = [
{
title: intl.formatMessage({id: 'handling.assign.add.orderNo'}),
title: intl.formatMessage({ id: 'handling.assign.add.orderNo' }),
dataIndex: 'orderNo',
render: (text, record) => {
return (
......@@ -21,28 +21,28 @@ export const columns: ColumnsType<GetEnhanceSupplierAllDetailsResponse["details"
}
},
{
title: `${intl.formatMessage({id: 'handling.assign.add.product.id'})} / ${intl.formatMessage({id: 'handling.assign.add.product.name'})}`,
title: `${intl.formatMessage({ id: 'handling.assign.add.product.id' })} / ${intl.formatMessage({ id: 'handling.assign.add.product.name' })}`,
dataIndex: 'id',
render: (text, record) => {
return (
<div style={{display: 'flex', flexDirection: 'column'}}>
<div style={{ display: 'flex', flexDirection: 'column' }}>
<a>{record.productId}</a>
<span style={{marginTop: '8px'}}>{record.productName}</span>
<span style={{ marginTop: '8px' }}>{record.productName}</span>
</div>
)
}
},
{
title: intl.formatMessage({id: 'handling.assign.add.product.category'}),
title: intl.formatMessage({ id: 'handling.assign.add.product.category' }),
dataIndex: 'category',
},
{
title: intl.formatMessage({id: 'handling.assign.add.product.brandName'}),
title: intl.formatMessage({ id: 'handling.assign.add.product.brandName' }),
dataIndex: 'brand',
},
{
// title: '订单数量/单位',
title: `${intl.formatMessage({id: 'handling.assign.add.orderNum'})}/${intl.formatMessage({id: 'handling.assign.add.product.unitName'})}`,
title: `${intl.formatMessage({ id: 'handling.assign.add.orderNum' })}/${intl.formatMessage({ id: 'handling.assign.add.product.unitName' })}`,
dataIndex: 'unit',
render: (text, record) => {
const purchaseCount = +record.purchaseCount
......@@ -55,7 +55,7 @@ export const columns: ColumnsType<GetEnhanceSupplierAllDetailsResponse["details"
}
},
{
title: `${intl.formatMessage({id: 'handling.assign.add.product.surplus'})}/${intl.formatMessage({id: 'handling.assign.add.product.processNum'})}`,
title: `${intl.formatMessage({ id: 'handling.assign.add.product.surplus' })}/${intl.formatMessage({ id: 'handling.assign.add.product.processNum' })}`,
dataIndex: 'processNum',
render: (text, record) => {
return (
......@@ -64,27 +64,27 @@ export const columns: ColumnsType<GetEnhanceSupplierAllDetailsResponse["details"
}
},
{
title: `${intl.formatMessage({id: 'handling.assign.add.hasTax'})}/${intl.formatMessage({id: 'handling.assign.add.taxRate'})}`,
title: `${intl.formatMessage({ id: 'handling.assign.add.hasTax' })}/${intl.formatMessage({ id: 'handling.assign.add.taxRate' })}`,
dataIndex: 'isHasTax',
render: (text, record) => {
return (
<div style={{display: 'flex', flexDirection: 'column'}}>
<a>{record.isHasTax ? '是' : '否'}</a>
<span style={{marginTop: '8px'}}>{record.taxRate}%</span>
<div style={{ display: 'flex', flexDirection: 'column' }}>
<a>{record.isHasTax ? intl.formatMessage({ id: 'handling.shi' }) : intl.formatMessage({ id: 'handling.fou' })}</a>
<span style={{ marginTop: '8px' }}>{record.taxRate}%</span>
</div>
)
}
},
{
title: intl.formatMessage({id: 'handling.assign.add.product.processUnitPrice'}),
title: intl.formatMessage({ id: 'handling.assign.add.product.processUnitPrice' }),
dataIndex: 'processPrice',
},
{
title: intl.formatMessage({id: 'handling.assign.add.product.processTotalPrice'}),
title: intl.formatMessage({ id: 'handling.assign.add.product.processTotalPrice' }),
dataIndex: 'processTotalPrice',
},
{
title: intl.formatMessage({id: 'handling.assign.add.notice.deliveryDate'}),
title: intl.formatMessage({ id: 'handling.assign.add.notice.deliveryDate' }),
dataIndex: 'deliveryDate',
render: (text, record) => {
return moment(text).format('YYYY-MM-DD');
......@@ -94,27 +94,27 @@ export const columns: ColumnsType<GetEnhanceSupplierAllDetailsResponse["details"
export const productColumn = [
{
title: `${intl.formatMessage({id: 'handling.assign.add.product.id'})} / ${intl.formatMessage({id: 'handling.assign.add.product.name'})}`,
title: `${intl.formatMessage({ id: 'handling.assign.add.product.id' })} / ${intl.formatMessage({ id: 'handling.assign.add.product.name' })}`,
dataIndex: 'id',
render: (text, record) => {
return (
<div style={{display: 'flex', flexDirection: 'column'}}>
<div style={{ display: 'flex', flexDirection: 'column' }}>
<a>{record.productId}</a>
<span style={{marginTop: '8px'}}>{record.productName}</span>
<span style={{ marginTop: '8px' }}>{record.productName}</span>
</div>
)
}
},
{
title: intl.formatMessage({id: 'handling.assign.add.product.category'}),
title: intl.formatMessage({ id: 'handling.assign.add.product.category' }),
dataIndex: 'category',
},
{
title: intl.formatMessage({id: 'handling.assign.add.product.brandName'}),
title: intl.formatMessage({ id: 'handling.assign.add.product.brandName' }),
dataIndex: 'brand',
},
{
title: intl.formatMessage({id: 'handling.assign.add.product.unitName'}),
title: intl.formatMessage({ id: 'handling.assign.add.product.unitName' }),
dataIndex: 'unit',
render: (text, record) => {
// const purchaseCount = +record.purchaseCount
......@@ -127,7 +127,7 @@ export const productColumn = [
}
},
{
title: intl.formatMessage({id: 'handling.assign.add.product.processNum'}),
title: intl.formatMessage({ id: 'handling.assign.add.product.processNum' }),
dataIndex: 'processNum',
render: (text, record) => {
return (
......@@ -136,27 +136,27 @@ export const productColumn = [
}
},
{
title: `${intl.formatMessage({id: 'handling.assign.add.hasTax'})}/${intl.formatMessage({id: 'handling.assign.add.taxRate'})}`,
title: `${intl.formatMessage({ id: 'handling.assign.add.hasTax' })}/${intl.formatMessage({ id: 'handling.assign.add.taxRate' })}`,
dataIndex: 'isHasTax',
render: (text, record) => {
return (
<div style={{display: 'flex', flexDirection: 'column'}}>
<span>{record.isHasTax ? '是' : '否'}</span>
<span style={{marginTop: '8px'}}>{record.taxRate}%</span>
<div style={{ display: 'flex', flexDirection: 'column' }}>
<span>{record.isHasTax ? intl.formatMessage({ id: 'handling.shi' }) : intl.formatMessage({ id: 'handling.fou' })}</span>
<span style={{ marginTop: '8px' }}>{record.taxRate}%</span>
</div>
)
}
},
{
title: intl.formatMessage({id: 'handling.assign.add.product.processUnitPrice'}),
title: intl.formatMessage({ id: 'handling.assign.add.product.processUnitPrice' }),
dataIndex: 'processPrice',
},
{
title: intl.formatMessage({id: 'handling.assign.add.product.processTotalPrice'}),
title: intl.formatMessage({ id: 'handling.assign.add.product.processTotalPrice' }),
dataIndex: 'processTotalPrice',
},
{
title: intl.formatMessage({id: 'handling.assign.add.notice.deliveryDate'}),
title: intl.formatMessage({ id: 'handling.assign.add.notice.deliveryDate' }),
dataIndex: 'deliveryDate',
render: (text, record) => {
return moment(text).format('YYYY-MM-DD');
......
......@@ -3,41 +3,42 @@ import { ColumnsType } from 'antd/es/table';
import moment from 'moment';
import { Badge } from 'antd';
import EyePreview from '@/components/EyePreview';
import { getIntl } from 'umi';
const intl = getIntl();
export const innerFlowColumns = [
{
title: '流转记录',
title: intl.formatMessage({id: 'handling.liuzhuanjilu'}),
dataIndex: 'id'
},
{
title: '操作人',
title: intl.formatMessage({id: 'handling.caozuoren'}),
dataIndex: 'operator',
},
{
title: '部门',
title: intl.formatMessage({id: 'handling.bumen'}),
dataIndex: 'department'
},
{
title: '职位',
title: intl.formatMessage({id: 'handling.zhiwei'}),
dataIndex: 'jobTitle'
},
{
title: '状态',
title: intl.formatMessage({id: 'handling.zhuangtai'}),
dataIndex: 'status'
},
{
title: '操作',
title: intl.formatMessage({id: 'handling.caozuo'}),
dataIndex: 'operate'
},
{
title: '操作时间',
title: intl.formatMessage({id: 'handling.caozuoshijian'}),
dataIndex: 'operateTime',
render: (text, record) => {
return moment(text).format('YYYY-MM-DD HH:mm:ss')
}
},
{
title: '审核意见',
title: intl.formatMessage({id: 'handling.shenheyijian'}),
dataIndex: 'opinion'
}
]
......@@ -48,30 +49,30 @@ export const innerFlowColumns = [
export const outerWorkflowRecordsColumn = [
{
title: '序号',
title: intl.formatMessage({id: 'handling.xuhao'}),
dataIndex: 'id'
},
{
title: '操作角色',
title: intl.formatMessage({id: 'handling.caozuojuese'}),
dataIndex: 'roleName',
},
{
title: '状态',
title: intl.formatMessage({id: 'handling.zhuangtai'}),
dataIndex: 'status'
},
{
title: '操作',
title: intl.formatMessage({id: 'handling.caozuo'}),
dataIndex: 'operate'
},
{
title: '操作时间',
title: intl.formatMessage({id: 'handling.caozuoshijian'}),
dataIndex: 'operateTime',
render: (text, record) => {
return moment(text).format('YYYY-MM-DD HH:mm:ss');
}
},
{
title: '审核意见',
title: intl.formatMessage({id: 'handling.shenheyijian'}),
dataIndex: 'opinion'
}
]
......@@ -5,22 +5,23 @@ import { Badge } from 'antd';
import EyePreview from '@/components/EyePreview';
import { innerStatusColor, outerStatusType } from '../colors';
import StatusTag from '@/components/StatusTag';
import { Link } from 'umi';
import { getIntl, Link } from 'umi';
const intl = getIntl();
const commonColumns: ColumnsType<any> = [
{
title: '加工企业名称',
title: intl.formatMessage({id: 'handling.jiagongqiyemingcheng'}),
dataIndex: "processName"
},
{
title: '单据时间',
title: intl.formatMessage({id: 'handling.danjushijian'}),
dataIndex: 'createTime',
sorter: (a, b) => a.createTime - b.createTime,
render: (text, record) => moment(text).format('YYYY-MM-DD'),
},
{
title: '外部状态',
title: intl.formatMessage({id: 'handling.waibuzhuangtai'}),
dataIndex: 'outerStatus',
render: (text, record: any) => {
const offset = record.outerStatus % 5;
......@@ -28,7 +29,7 @@ const commonColumns: ColumnsType<any> = [
}
},
{
title: '内部状态',
title: intl.formatMessage({id: 'handling.neibuzhuangtai'}),
dataIndex: 'innerStatus',
render: (text, record: any) => {
const offset = record.supplierInnerStatus % 12
......@@ -51,7 +52,7 @@ const setColumnsByLinks = (links: { [key: string]: string }) => {
const linksColumns: ColumnsType<any> = [
{
title: '通知单号/摘要',
title: intl.formatMessage({id: 'handling.tongzhidanhaozhaiyao'}),
dataIndex: 'des',
render: (text, record) => {
return (
......@@ -64,14 +65,14 @@ const setColumnsByLinks = (links: { [key: string]: string }) => {
},
]
const batchColum = {
title: '发货批次/入库单号',
title: intl.formatMessage({id: 'handling.fahuopicirukudan'}),
dataIndex: 'batch',
render: (text: any, record: any) => {
const id: number = isStorage ? record.storageId : record.deliveryId;
return (
// <EyePreview url={`${url}?id=${id}`} >{record[`${type}No`]}</EyePreview>
<div style={{display: 'flex', flexDirection: 'column'}}>
<span>{record.deliveryBatch}批次</span>
<span>{intl.formatMessage({id: 'handling.di'})}{record.deliveryBatch}{intl.formatMessage({id: 'handling.pici'})}</span>
{
id && (
<Link to={`${links[type]}?id=${id}`}>{record[`${type}No`]}</Link>
......
import { message } from 'antd';
import React, { useCallback, useState } from 'react'
import { getIntl } from 'umi';
const intl = getIntl();
type ReturnRes = {
batchLoading: boolean,
handleAction: <T,>(keys: number[], api: (params: {idList: number[]}) => Promise<T>) => Promise<T>
......@@ -16,7 +17,7 @@ function useBatchSubmit(): ReturnRes {
const handleAction = useCallback(async <T,>(keys: number[], api: (params: {idList: number[]}) => Promise<T> ) => {
const selectedRowKeys = keys;
if(selectedRowKeys.length === 0) {
message.error("请选择行数据");
message.error(intl.formatMessage({id: 'handling.qingxuanzehangshuju'}));
// throw new Error("请选择行数据");
return {
code: -1
......
......@@ -10,11 +10,11 @@ function useGetAnchorHeader(options: { blackList: string[] }) {
const temp = [
{
key: 'progress',
name: '流转进度',
name: intl.formatMessage({id: 'handling.liuzhuanjindu'}),
},
{
key: 'basicInfo',
name: '基本信息',
name: intl.formatMessage({id: 'handling.jibenxinxi'}),
},
{
key: 'noticeDetails',
......@@ -22,24 +22,24 @@ function useGetAnchorHeader(options: { blackList: string[] }) {
},
{
key: 'deliveryDetail',
name: '收发货明细'
name: intl.formatMessage({id: 'handling.shoufahuomingxi'})
},
{
key: 'payInfo',
name: '交付信息'
name: intl.formatMessage({id: 'handling.jiaofuxinxi'})
},
{
key: 'otherRequire',
name: '其他要求'
name: intl.formatMessage({id: 'handling.qitayaoqiu'})
},
{
key: 'annex',
name: '附件'
name: intl.formatMessage({id: 'handling.fujian'})
},
{
key: 'record',
name: '流转记录'
name: intl.formatMessage({id: 'handling.liuzhuanjilu'})
}
]
return temp.filter((item) => !blackList.includes(item.key));
......
import { getIntl } from "umi";
const intl = getIntl();
/**
* 时间
*/
export const commonTimeList = [
{ label: '今天', value: 1},
{ label: '一周内', value: 2},
{ label: '一个月内', value: 3},
{ label: '三个月内', value: 4},
{ label: '六个月内', value: 5},
{ label: '一年内', value: 6 },
{ label: '一年前', value: 7}
{ label: intl.formatMessage({ id: 'handling.jintian' }), value: 1 },
{ label: intl.formatMessage({ id: 'handling.yizhounei' }), value: 2 },
{ label: intl.formatMessage({ id: 'handling.yigeyuenei' }), value: 3 },
{ label: intl.formatMessage({ id: 'handling.sangeyuenei' }), value: 4 },
{ label: intl.formatMessage({ id: 'handling.liugeyuenei' }), value: 5 },
{ label: intl.formatMessage({ id: 'handling.yiniannei' }), value: 6 },
{ label: intl.formatMessage({ id: 'handling.yinianqian' }), value: 7 }
];
/**
* 单据时间
*/
export const docTime = [{label: '单据时间(全部)', value: 0}].concat(commonTimeList);
export const docTime = [{ label: intl.formatMessage({id: 'handling.danjushijianquanbu'}), value: 0 }].concat(commonTimeList);
/**
* 下单时间
*/
export const orderTime = [{label: '订单时间(全部)', value: 0}].concat(commonTimeList);
export const orderTime = [{ label: intl.formatMessage({id: 'handling.dingdanshijianquanbu'}), value: 0 }].concat(commonTimeList);
......@@ -104,33 +107,33 @@ export const PENDING_RECEIVE_SCHEMA = "noticeNo"
* 下面设置各个 path 常量
*/
const QUERY_TITLE = '生产通知单查询';
const QUERY_TITLE = intl.formatMessage({id: 'handling.shengchantongzhidanchaxun'});
/**
* 待新增生产通知单
*/
const TO_BE_ADD_QUERY_TITLE = '待新增生产通知单';
const TO_BE_ADD_QUERY_TITLE = intl.formatMessage({id: 'handling.daixinzengshengchantongzhidan'});
/**
* 带审核生产通知单(一级)
*/
const PENDING_FIRST_TITLE = '待审核通知单(一级)';
const PENDING_FIRST_TITLE = intl.formatMessage({id: 'handling.daishenhetongzhidanyi'});
/**
* 待审核通知单(二级)
*/
const PENDING_SECOND_TITLE = '待审核通知单(二级)';
const PENDING_SECOND_TITLE = intl.formatMessage({id: 'handling.daishenhetongzhidaner'});
/**
* 待审核生产通知单
*/
const PENDING_SUBMIT_TITLE = '待提交生产通知单';
const PENDING_SUBMIT_TITLE = intl.formatMessage({id: 'handling.daitijiaoshengchantongzhidan'});
/**
* 待收货生产通知单
*/
export const PENDING_RECEIVE = '/pendingReceive';
const PENDING_RECEIVE_TITLE = '待收货生产通知单';
const PENDING_RECEIVE_TITLE = intl.formatMessage({id: 'handling.daishouhuoshengchantongzhidan'});
......@@ -143,11 +146,11 @@ export const ASSINGN_TITLE_MAPS = {
}
export const COMFIRM_TITLE_MAPS = {
[CONFIRM_QUERY]: '生产通知单查询',
[CONFIRM_PENDING_SUBMIT]: '待提交生产通知单',
[CONFIRM_PENDING_FIRST]: '待审核生产通知单(一级)',
[CONFIRM_PENDING_SECOND]: '待审核生产通知单(二级)',
[CONFIRM_PENDING_CONFIRM]: '待确认生产通知单'
[CONFIRM_QUERY]: intl.formatMessage({id: 'handling.shengchantongzhidanchaxun'}),
[CONFIRM_PENDING_SUBMIT]: intl.formatMessage({id: 'handling.daitijiaoshengchantongzhidan'}),
[CONFIRM_PENDING_FIRST]: intl.formatMessage({id: 'handling.daishenheshengchantongzhidan'}),
[CONFIRM_PENDING_SECOND]: intl.formatMessage({id: 'handling.daishenheshengchantongzhidan'}),
[CONFIRM_PENDING_CONFIRM]: intl.formatMessage({id: 'handling.daiquerenshengchantongzhidan1'})
}
......@@ -225,11 +228,11 @@ export const CONFIRM_DETAIL_INNER_STATUS_COLOR = [
"green", // 完成
]
type SUPPLIER_OUTER_STATUS_COLOR_TYPE = ("default" | "primary" | "danger"| "success" | "warning")[]
type SUPPLIER_OUTER_STATUS_COLOR_TYPE = ("default" | "primary" | "danger" | "success" | "warning")[]
/**
* 指派生产通知单 -> 列表页 -> 外部状态
*/
export const SUPPLIER_OUTER_STATUS_COLOR: SUPPLIER_OUTER_STATUS_COLOR_TYPE= [
export const SUPPLIER_OUTER_STATUS_COLOR: SUPPLIER_OUTER_STATUS_COLOR_TYPE = [
"default",
"default",
"primary",
......@@ -241,7 +244,7 @@ export const SUPPLIER_OUTER_STATUS_COLOR: SUPPLIER_OUTER_STATUS_COLOR_TYPE= [
/**
* 确认生产通知单 -> 列表页 -> 内部状态
*/
export const PROCESS_OUTER_STATUS_COLOR: ("default" | "processing" | "error"| "success" | "warning")[] = [
export const PROCESS_OUTER_STATUS_COLOR: ("default" | "processing" | "error" | "success" | "warning")[] = [
"error", // 不接受申请
"default", // 待提交审核 processInnerStatus = 1,
"warning", // 待审核 processInnerStatus = 2,
......@@ -257,9 +260,9 @@ export const PROCESS_OUTER_STATUS_COLOR: ("default" | "processing" | "error"| "s
"success", // 完成 processInnerStatus = 12
]
/**
* 待新增加工入库单
*/
/**
* 待新增加工入库单
*/
export const PENDING_ADD_PROCESS_PATH = '/memberCenter/handling/assign/pendingAddProcessing';
/**
......@@ -290,12 +293,12 @@ export const PENDING_RECEIPT_PATH = '/memberCenter/handling/confirm/pendingRecei
*/
export const PROCESS_TITLE = {
[PENDING_ADD_PROCESS_PATH]: "待新建加工入库单",
[PROCESSING_INVOICE_TO_BE_ADD_PATH]: "待新增加工发货单",
[PENDING_ADD_LOGISTICS_PATH]: "待新增物流单",
[PENDING_DELIVERD_PATH]: "待发货生产通知单",
[ASSIGN_PENDING_RECEIVE]: "待确认收货生产通知单",
[PENDING_RECEIPT_PATH]: "待确认回单生产通知单",
[PENDING_ADD_PROCESS_PATH]: intl.formatMessage({id: 'handling.daixinjianjiagongrukudan'}),
[PROCESSING_INVOICE_TO_BE_ADD_PATH]: intl.formatMessage({id: 'handling.daixinzengjiagongfahuodan'}),
[PENDING_ADD_LOGISTICS_PATH]: intl.formatMessage({id: 'handling.daixinzengwuliudan'}),
[PENDING_DELIVERD_PATH]: intl.formatMessage({id: 'handling.daifahuoshengchantongzhidan'}),
[ASSIGN_PENDING_RECEIVE]: intl.formatMessage({id: 'handling.daiquerenshouhuoshengchantong'}),
[PENDING_RECEIPT_PATH]: intl.formatMessage({id: 'handling.daiquerenhuidanshengchantong'}),
}
......@@ -305,22 +308,22 @@ export const PROCESS_TITLE = {
*/
export const DELIEVER_AND_RECEIVE_INNER_STATUS_TEXT = [
"",
"待确认发货",
"已确认发货",
"待确认收货",
"已确认收货",
"待确认回单",
"已确认回单"
intl.formatMessage({id: 'handling.daiquerenfahuo'}),
intl.formatMessage({id: 'handling.yiquerenfahuo'}),
intl.formatMessage({id: 'handling.daiquerenshouhuo'}),
intl.formatMessage({id: 'handling.yiquerenshouhuo'}),
intl.formatMessage({id: 'handling.daiquerenhuidan'}),
intl.formatMessage({id: 'handling.yiquerenhuidan'})
]
export const DELIEVER_AND_RECEIVE_INNER_BTN_TEXT = [
"",
"确认发货",
"确认发货",
"确认收货",
"确认收货",
"确认回单",
"确认回单"
intl.formatMessage({id: 'handling.querenfahuo'}),
intl.formatMessage({id: 'handling.querenfahuo'}),
intl.formatMessage({id: 'handling.querenshouhuo'}),
intl.formatMessage({id: 'handling.querenshouhuo'}),
intl.formatMessage({id: 'handling.querenhuidan'}),
intl.formatMessage({id: 'handling.querenhuidan'})
]
export const DELIEVER_AND_RECEIVE_INNER_STATUS = {
......@@ -333,4 +336,4 @@ export const DELIEVER_AND_RECEIVE_INNER_STATUS = {
}
// 用户当前的会员类型:1-企业会员,2-企业个人会员,3-渠道企业会员,4-渠道个人会员
export const ENTERPRISE_MALL = {"1": 1, "2": 1, "3": 3, '4': 4}; // 根据当前用户角色查询商城
export const ENTERPRISE_MALL = { "1": 1, "2": 1, "3": 3, '4': 4 }; // 根据当前用户角色查询商城
import { FORM_FILTER_PATH } from "@/formSchema/const";
import { ISchema } from "@formily/antd";
import { getIntl } from "umi";
import { docTime } from "..";
const intl = getIntl();
export const basicSchema: ISchema = {
type: 'object',
properties: {
......@@ -13,9 +14,9 @@ export const basicSchema: ISchema = {
type: 'string',
'x-component': 'Search',
'x-component-props': {
placeholder: '搜索',
placeholder: intl.formatMessage({id: 'handling.sousuo'}),
align: 'flex-left',
tip: '输入通知单号进行搜索',
tip: intl.formatMessage({id: 'handling.shurutongzhidanhaojinhang'}),
},
},
[FORM_FILTER_PATH]: {
......@@ -31,14 +32,14 @@ export const basicSchema: ISchema = {
supplierName: {
type: 'string',
'x-component-props': {
placeholder: '供应会员',
placeholder: intl.formatMessage({id: 'handling.gongyinghuiyuan'}),
allowClear: true,
},
},
summary: {
type: 'string',
'x-component-props': {
placeholder: '通知单摘要',
placeholder: intl.formatMessage({id: 'handling.tongzhidanzhaiyao'}),
allowClear: true
}
},
......@@ -47,7 +48,7 @@ export const basicSchema: ISchema = {
default: 0,
enum: docTime,
'x-component-props': {
placeholder: '单据时间(全部)',
placeholder: intl.formatMessage({id: 'handling.danjushijianquanbu'}),
allowClear: true,
},
},
......@@ -57,7 +58,7 @@ export const basicSchema: ISchema = {
span: 1,
},
'x-component-props': {
children: '查询',
children: intl.formatMessage({id: 'handling.chaxun'}),
},
},
},
......@@ -98,7 +99,7 @@ export const pendingFirstQuerySchema: ISchema = {
type: 'string',
'x-component': 'Search',
'x-component-props': {
placeholder: '搜索生产通知单号',
placeholder: intl.formatMessage({id: 'handling.sousuoshengchantongzhidanhao'}),
},
},
},
......@@ -115,14 +116,14 @@ export const pendingFirstQuerySchema: ISchema = {
summary: {
type: 'string',
'x-component-props': {
placeholder: '通知单摘要',
placeholder: intl.formatMessage({id: 'handling.tongzhidanzhaiyao'}),
allowClear: true,
},
},
supplierName: {
type: 'string',
'x-component-props': {
placeholder: '供应会员',
placeholder: intl.formatMessage({id: 'handling.gongyinghuiyuan'}),
allowClear: true,
},
},
......@@ -131,7 +132,7 @@ export const pendingFirstQuerySchema: ISchema = {
default: 0,
enum: docTime,
'x-component-props': {
placeholder: '单据时间(全部)',
placeholder: intl.formatMessage({id: 'handling.danjushijianquanbu'}),
allowClear: true,
},
},
......@@ -140,7 +141,7 @@ export const pendingFirstQuerySchema: ISchema = {
default: undefined,
enum: [],
'x-component-props': {
placeholder: '外部状态(全部)',
placeholder: intl.formatMessage({id: 'handling.waibuzhuangtaiquanbu'}),
allowClear: true,
},
},
......@@ -149,7 +150,7 @@ export const pendingFirstQuerySchema: ISchema = {
default: undefined,
enum: [],
'x-component-props': {
placeholder: '内部状态(全部)',
placeholder: intl.formatMessage({id: 'handling.neibuzhuangtaiquanbu'}),
allowClear: true,
},
},
......@@ -159,7 +160,7 @@ export const pendingFirstQuerySchema: ISchema = {
span: 1,
},
'x-component-props': {
children: '查询',
children: intl.formatMessage({id: 'handling.chaxun'}),
},
},
},
......
import { ISchema } from '@formily/antd';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { docTime } from '../../common';
import { getIntl } from 'umi';
const intl = getIntl();
export const querySchema: ISchema = {
type: 'object',
properties: {
......@@ -13,9 +14,9 @@ export const querySchema: ISchema = {
type: 'string',
'x-component': 'Search',
'x-component-props': {
placeholder: '搜索通知单号',
placeholder: intl.formatMessage({id: 'handling.sousuotongzhidanhao'}),
align: 'flex-left',
tip: '输入通知单号进行搜索',
tip: intl.formatMessage({id: 'handling.shurutongzhidanhaojinhang'}),
},
},
[FORM_FILTER_PATH]: {
......@@ -31,14 +32,14 @@ export const querySchema: ISchema = {
summary: {
type: 'string',
'x-component-props': {
placeholder: '通知单摘要',
placeholder: intl.formatMessage({id: 'handling.tongzhidanzhaiyao'}),
allowClear: true,
},
},
processName: {
type: 'string',
'x-component-props': {
placeholder: '加工企业名',
placeholder: intl.formatMessage({id: 'handling.jiagongqiyeming'}),
allowClear: true,
},
},
......@@ -47,7 +48,7 @@ export const querySchema: ISchema = {
default: 0,
enum: docTime,
'x-component-props': {
placeholder: '单据时间(全部)',
placeholder: intl.formatMessage({id: 'handling.danjushijianquanbu'}),
allowClear: true,
},
},
......@@ -56,7 +57,7 @@ export const querySchema: ISchema = {
default: undefined,
enum: [],
'x-component-props': {
placeholder: '外部状态(全部)',
placeholder: intl.formatMessage({id: 'handling.waibuzhuangtaiquanbu'}),
allowClear: true,
},
},
......@@ -65,7 +66,7 @@ export const querySchema: ISchema = {
default: undefined,
enum: [],
'x-component-props': {
placeholder: '内部状态(全部)',
placeholder: intl.formatMessage({id: 'handling.neibuzhuangtaiquanbu'}),
allowClear: true,
},
},
......@@ -75,7 +76,7 @@ export const querySchema: ISchema = {
span: 1,
},
'x-component-props': {
children: '查询',
children: intl.formatMessage({id: 'handling.chaxun'}),
},
},
},
......@@ -114,7 +115,7 @@ export const querySchema: ISchema = {
type: 'string',
'x-component': 'Search',
'x-component-props': {
placeholder: '搜索通知单号',
placeholder: intl.formatMessage({id: 'handling.sousuotongzhidanhao'}),
},
},
},
......@@ -131,14 +132,14 @@ export const querySchema: ISchema = {
summary: {
type: 'string',
'x-component-props': {
placeholder: '通知单摘要',
placeholder: intl.formatMessage({id: 'handling.tongzhidanzhaiyao'}),
allowClear: true,
},
},
processName: {
type: 'string',
'x-component-props': {
placeholder: '加工企业名称',
placeholder: intl.formatMessage({id: 'handling.jiagongqiyemingcheng'}),
allowClear: true,
},
},
......@@ -147,7 +148,7 @@ export const querySchema: ISchema = {
default: 0,
enum: docTime,
'x-component-props': {
placeholder: '单据时间(全部)',
placeholder: intl.formatMessage({id: 'handling.danjushijianquanbu'}),
allowClear: true,
},
},
......@@ -156,7 +157,7 @@ export const querySchema: ISchema = {
// default: undefined,
// enum: [],
// 'x-component-props': {
// placeholder: '外部状态(全部)',
// placeholder: intl.formatMessage({id: 'handling.waibuzhuangtaiquanbu'}),
// allowClear: true,
// },
// },
......@@ -165,7 +166,7 @@ export const querySchema: ISchema = {
// default: undefined,
// enum: [],
// 'x-component-props': {
// placeholder: '内部状态(全部)',
// placeholder: intl.formatMessage({id: 'handling.neibuzhuangtaiquanbu'}),
// allowClear: true,
// },
// },
......@@ -175,7 +176,7 @@ export const querySchema: ISchema = {
span: 1,
},
'x-component-props': {
children: '查询',
children: intl.formatMessage({id: 'handling.chaxun'}),
},
},
},
......
......@@ -75,16 +75,16 @@ const statisticsColumns: ColumnsType<GetEnhanceSupplierAllDetailsResponse["detai
dataIndex: 'processTotalPrice',
},
{
title: '已发货/未发货',
title: intl.formatMessage({id: 'handling.yifahuoweifahuo'}),
dataIndex: 'receiveNum',
render: (text, record) => {
const descOptions = [
{
title: "已发货",
title: intl.formatMessage({id: 'handling.yifahuo'}),
value: record.deliverNum
},
{
title: '未发货',
title: intl.formatMessage({id: 'handling.weifahuo'}),
value: record.notDeliverNum
}
]
......@@ -94,11 +94,11 @@ const statisticsColumns: ColumnsType<GetEnhanceSupplierAllDetailsResponse["detai
}
},
{
title: '已收货',
title: intl.formatMessage({id: 'handling.yishouhuo'}),
dataIndex: 'receiveNum'
},
{
title: '差异数量',
title: intl.formatMessage({id: 'handling.chayishuliang'}),
dataIndex: 'differenceNum'
},
// {
......@@ -152,7 +152,7 @@ const infoOrderColumns = [
dataIndex: 'processNum'
},
{
title: '发货数量',
title: intl.formatMessage({id: 'handling.fahuoshuliang'}),
dataIndex: intl.formatMessage({id: 'handling.assign.add.product.deliverNum'})
}
]
......
......@@ -5,9 +5,9 @@ import { statisticsColumns as orderColumns, productColumns, infoOrderColumns, in
import ButtonSwitch from '@/components/ButtonSwitch';
import { Table, Button, Tabs } from 'antd';
import CustomizeColumn from '@/components/CustomizeColumn';
import { Link } from 'umi';
import { getIntl, Link } from 'umi';
import moment from 'moment';
const intl = getIntl();
const TabPane = Tabs.TabPane;
type infoDataSourceType = GetEnhanceSupplierAllDetailsResponse["pnoReceiveDeliverDetailDOList"]
......@@ -46,16 +46,16 @@ const format = 'YYYY-MM-DD HH:mm:ss';
* isConfirm_deliverStatus_receiveStatus_receiptStatus
*/
const INNER_STATUS_TEXT = {
"1_1_1": '待确认发货',
'2_1_1': '已确认发货',
'2_2_1': '待确认回单',
'2_2_2': '已确认回单'
"1_1_1": intl.formatMessage({id: 'handling.daiquerenfahuo'}),
'2_1_1': intl.formatMessage({id: 'handling.yiquerenfahuo'}),
'2_2_1': intl.formatMessage({id: 'handling.daiquerenhuidan'}),
'2_2_2': intl.formatMessage({id: 'handling.yiquerenhuidan'})
}
const ACTION_TEXT = {
'1_1_1': '确认发货',
'2_1_1': '确认收货',
'2_2_1': '确认回单'
'1_1_1': intl.formatMessage({id: 'handling.querenfahuo'}),
'2_1_1': intl.formatMessage({id: 'handling.querenshouhuo'}),
'2_2_1': intl.formatMessage({id: 'handling.querenhuidan'})
}
const DeliveryInfo: React.FC<Iprops> = (props: Iprops) => {
......@@ -81,11 +81,11 @@ const DeliveryInfo: React.FC<Iprops> = (props: Iprops) => {
const options = [
{
label: '收发货统计',
label: intl.formatMessage({id: 'handling.shoufahuotongji'}),
value: 'statistics'
},
{
label: "收发货明细",
label: intl.formatMessage({id: 'handling.shoufahuomingxi'}),
value: 'info'
}
]
......@@ -108,7 +108,7 @@ const DeliveryInfo: React.FC<Iprops> = (props: Iprops) => {
const currentInnerStatus = `${activeData?.deliverStatus}_${activeData?.receiveStatus}_${activeData?.receiptStatus}`;
return [
{
title: '发货单号',
title: intl.formatMessage({id: 'handling.fahuodanhao'}),
value: (
<Link
to={`/memberCenter/tranactionAbility/stockSellStorage/bills/detail?id=${activeData?.deliveryId}`}
......@@ -118,7 +118,7 @@ const DeliveryInfo: React.FC<Iprops> = (props: Iprops) => {
)
},
{
title: "物流单号",
title: intl.formatMessage({id: 'handling.wuliudanhao'}),
value: (
<Link to={`/memberCenter/logisticsAbility/logisticsBillSubmit/logisticsBillQuery/preview?id=${activeData?.logisticsOrderId}`}>
{activeData?.logisticsOrderNo}
......@@ -126,13 +126,13 @@ const DeliveryInfo: React.FC<Iprops> = (props: Iprops) => {
)
},
{
title: "入库单号",
title: intl.formatMessage({id: 'handling.rukudanhao'}),
value: (
<Link to={`/memberCenter/tranactionAbility/stockSellStorage/bills/detail?id=${activeData?.storageId}`}>{activeData?.storageNo}</Link>
)
},
{
title: "内部状态",
title: intl.formatMessage({id: 'handling.neibuzhuangtai'}),
value: (
<div style={{display: 'flex', flexDirection: 'row', justifyContent: 'space-between', width: '100%'}}>
<span>{INNER_STATUS_TEXT[currentInnerStatus] || ''}</span>
......@@ -149,20 +149,20 @@ const DeliveryInfo: React.FC<Iprops> = (props: Iprops) => {
)
},
{
title: '发货时间',
title: intl.formatMessage({id: 'handling.fahuoshijian'}),
value: (
activeData?.deliveryTime
&& moment(activeData?.deliveryTime).format(format)
)
},
{
title: '物流公司',
title: intl.formatMessage({id: 'handling.wuliugongsi'}),
value: (
activeData?.logisticsCompany
)
},
{
title: '入库时间',
title: intl.formatMessage({id: 'handling.rukushijian'}),
value: (
activeData?.storageTime
&& moment(activeData?.storageTime).format(format)
......@@ -177,7 +177,7 @@ const DeliveryInfo: React.FC<Iprops> = (props: Iprops) => {
return (
<MellowCard
title="收发货统计"
title={intl.formatMessage({id: 'handling.shoufahuotongji'})}
extra={
<ButtonSwitch options={cacheOptions} value={radioValue} onChange={handleRadioChange} />
}
......@@ -194,7 +194,7 @@ const DeliveryInfo: React.FC<Iprops> = (props: Iprops) => {
{
tabOptions.map((_item) => {
return (
<TabPane tab={`${_item}批次`} key={_item}>
<TabPane tab={`${intl.formatMessage({id: 'handling.di'})}${_item}${intl.formatMessage({id: 'handling.pici'})}`} key={_item}>
<CustomizeColumn data={batchColumns} column={4} />
<Table columns={infoColumns} rowKey={(record) => `${record.produceNoticeOrderDetailId}-${record.productId}`} dataSource={infoDataSource[activeBatch - 1]?.pnoReceiveDeliverDetailProductBOList}></Table>
</TabPane>
......
......@@ -9,6 +9,8 @@
import { Modal } from 'antd';
import NiceForm from '@/components/NiceForm';
import moment from 'moment';
import { getIntl } from 'umi';
const intl = getIntl();
const formActions = createFormActions();
interface Iprops {
......@@ -62,18 +64,18 @@ import moment from 'moment';
},
properties: {
dateTime: {
title: showLabel && '中止时间' || '',
title: showLabel && intl.formatMessage({id: 'handling.zhongzhishijian'}) || '',
type: 'date',
default: moment().format('YYYY-MM-DD HH:mm:ss'),
editable: false,
},
reason: {
title: showLabel && '终止原因' || '',
title: showLabel && intl.formatMessage({id: 'handling.zhongzhiyuanyin'}) || '',
type: 'textarea',
'x-rules': [
{
required: true,
message: '请填写审核不通过原因',
message: intl.formatMessage({id: 'handling.qingtianxieshenhebutongguo'}),
},
],
},
......
......@@ -68,7 +68,7 @@ const Info = () => {
extra={
(
inRangeStatus.includes(initialValue?.outerStatus) && (
<Button onClick={() => examToggle(true)} type="primary">中止生产通知单</Button>
<Button onClick={() => examToggle(true)} type="primary">{intl.formatMessage({id: 'handling.zhongzhishengchantongzhidan'})}</Button>
)
)
}
......@@ -110,7 +110,7 @@ const Info = () => {
</div>
</AnchorPage>
<MachiningDetail visible={visible} dataProps={processDataProps} onClose={() => toggle(false)}/>
<StopModal visible={examVisible} title="终止原因" onSubmit={onExamVerifySubmit} onCancel={() => examToggle(false)} />
<StopModal visible={examVisible} title={intl.formatMessage({id: 'handling.zhongzhiyuanyin'})} onSubmit={onExamVerifySubmit} onCancel={() => examToggle(false)} />
</Spin>
)
......
......@@ -38,7 +38,7 @@ const AllQuery = () => {
<Space>
{
record.processInnerStatus === ADD_LOGISTICS && (
<Link to={`${ADD_LOGISTICS_PATH}?createType=3&id=${record.id}`}>新增物流单</Link>
<Link to={`${ADD_LOGISTICS_PATH}?createType=3&id=${record.id}`}>{intl.formatMessage({id: 'handling.xinzengwuliudan'})}</Link>
)
}
{
......
......@@ -8,7 +8,8 @@ import React, { useEffect, useMemo } from 'react';
import { createAsyncFormActions, createFormActions, ISchema, FormEffectHooks } from '@formily/antd';
import { Modal, Cascader } from 'antd';
import NiceForm from '@/components/NiceForm';
import { getIntl } from 'umi';
const intl = getIntl();
const formActions = createFormActions();
export type AddressOptionType = {
......@@ -73,45 +74,45 @@ const DeliveryHandle: React.FC<Iprops> = (props: Iprops) => {
},
properties: {
address: {
title: '发货地址',
title: intl.formatMessage({id: 'handling.fahuodizhi'}),
type: 'string',
enum: addressOptions,
'x-rules': [
{
required: true,
message: '请选择发货地址',
message: intl.formatMessage({id: 'handling.qingxuanzefahuodizhi'}),
},
],
},
deliveryTime: {
title: '发货时间',
title: intl.formatMessage({id: 'handling.fahuoshijian'}),
type: 'date',
'x-rules': [
{
required: true,
message: '请填写发货时间',
message: intl.formatMessage({id: 'handling.qingtianxiefahuoshijian'}),
},
],
},
deliveryNo: {
title: '发货单号',
title: intl.formatMessage({id: 'handling.fahuodanhao'}),
type: 'string',
'x-rules': [
{
required: true,
message: '请填写发货单号',
message: intl.formatMessage({id: 'handling.qingtianxiefahuodanhao'}),
},
],
},
company: {
title: '物流公司',
title: intl.formatMessage({id: 'handling.wuliugongsi'}),
type: 'string',
enum: companyOptions,
'x-rules': [
{
required: true,
message: '请选择物流公司',
message: intl.formatMessage({id: 'handling.qingxuanzewuliugongsi'}),
},
],
},
......
......@@ -133,7 +133,7 @@ const Info = () => {
anchors={anchorColumn}
extra={
initialValue?.outerTaskType === isManualDelivery && (
<Button onClick={() => examToggle(true)} type="primary">手工发货</Button>
<Button onClick={() => examToggle(true)} type="primary">{intl.formatMessage({id: 'handling.shougongfahuo'})}</Button>
) || null
}
>
......@@ -183,7 +183,7 @@ const Info = () => {
<MachiningDetail visible={visible} dataProps={processDataProps} onClose={() => toggle(false)}/>
<DeliveryHandle
visible={examVisible}
title="手工发货"
title={intl.formatMessage({id: 'handling.shougongfahuo'})}
onSubmit={handleSubmit}
onCancel={() => examToggle(false)}
addressOptions={addressList}
......
......@@ -40,7 +40,7 @@ const Info = () => {
{
title: intl.formatMessage({id: 'common.table.action'}),
render: (text, record) => {
return <a onClick={() => handleViewDetail(record)}>查看加工明细</a>
return <a onClick={() => handleViewDetail(record)}>{intl.formatMessage({id: 'handling.zhakanjiagongmingxi'})}</a>
}
}
]);
......@@ -60,7 +60,7 @@ const Info = () => {
return (
<Spin spinning={loading}>
<AnchorPage
title={`生产通知单号:${initialValue?.noticeNo}`}
title={`${intl.formatMessage({id: 'handling.shengchantongzhidanhao'})}:${initialValue?.noticeNo}`}
anchors={anchorColumn}
extra={
<Button onClick={() => examToggle(true)} type="primary">{intl.formatMessage({id: 'handling.detail.otherRequire'})}</Button>
......@@ -105,7 +105,7 @@ const Info = () => {
<MachiningDetail visible={visible} dataProps={processDataProps} onClose={() => toggle(false)}/>
<ExamVerify
visible={examVisible}
title="审核单据"
title={intl.formatMessage({id: 'handling.shenhedanju'})}
onSubmit={handleSubmit}
onCancel={() => examToggle(false)}
showLabel={false}
......
......@@ -38,9 +38,9 @@ const Info = () => {
const innerWorkflowRecordsList = initialValue?.innerWorkflowRecordsList || [];
const { columns } = useColumnWithFilter(defaultColumns, [
{
title: '操作',
title: intl.formatMessage({id: 'handling.caozuo'}),
render: (text, record) => {
return <a onClick={() => handleViewDetail(record)}>查看加工明细</a>
return <a onClick={() => handleViewDetail(record)}>{intl.formatMessage({id: 'handling.zhakanjiagongmingxi'})}</a>
}
}
]);
......@@ -60,10 +60,10 @@ const Info = () => {
return (
<Spin spinning={loading}>
<AnchorPage
title={`生产通知单号:${initialValue?.noticeNo}`}
title={`${intl.formatMessage({id: 'handling.shengchantongzhidanhao'})}:${initialValue?.noticeNo}`}
anchors={anchorColumn}
extra={
<Button onClick={() => examToggle(true)} type="primary">审核</Button>
<Button onClick={() => examToggle(true)} type="primary">{intl.formatMessage({id: 'handling.shenhe'})}</Button>
}
>
<AuditProcess
......@@ -105,7 +105,7 @@ const Info = () => {
<MachiningDetail visible={visible} dataProps={processDataProps} onClose={() => toggle(false)}/>
<ExamVerify
visible={examVisible}
title="审核单据"
title={intl.formatMessage({id: 'handling.shenhedanju'})}
onSubmit={handleSubmit}
onCancel={() => examToggle(false)}
showLabel={false}
......
......@@ -93,17 +93,17 @@ const Info = () => {
<Space>
{
confirmOrContinue.hasSomeNoDelivery && (
<Popconfirm title="您还有未发货的商品,是否确认全部发货都已完成?" onConfirm={() => handleAllConfirmReceipt(true)}>
<Button type="primary" >确认本单全部发货已收到回单</Button>
<Popconfirm title={intl.formatMessage({id: 'handling.ninhaiyouweifahuodeshang'})} onConfirm={() => handleAllConfirmReceipt(true)}>
<Button type="primary" >{intl.formatMessage({id: 'handling.querenbendanquanbufahuo'})}</Button>
</Popconfirm>
) || <Button type="primary" onClick={() => handleAllConfirmReceipt(true)} >确认本单全部发货已收到回单</Button>
) || <Button type="primary" onClick={() => handleAllConfirmReceipt(true)} >{intl.formatMessage({id: 'handling.querenbendanquanbufahuo'})}</Button>
}
{
!confirmOrContinue.hasSomeNoDelivery && (
<Popconfirm title="您商品都已发货,是否确认还需要继续发货?" onConfirm={() => handleAllConfirmReceipt(false)}>
<Button type="primary" >继续发货</Button>
<Popconfirm title={intl.formatMessage({id: 'handling.ninshangpinduyifahuo'})} onConfirm={() => handleAllConfirmReceipt(false)}>
<Button type="primary" >{intl.formatMessage({id: 'handling.jixufahuo'})}</Button>
</Popconfirm>
) && <Button type="primary" onClick={() => handleAllConfirmReceipt(false)}>继续发货</Button>
) && <Button type="primary" onClick={() => handleAllConfirmReceipt(false)}>{intl.formatMessage({id: 'handling.jixufahuo'})}</Button>
}
</Space>
)
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment