feat(basic-data): 新增生产预付和工人预付费用管理功能
- 新增 ProductionAdvanceList 组件用于管理生产预付费用 - 新增 WorkerAdvanceList 组件用于管理工人预付费用 - 在 BasicData 模块导出新增的两个费用列表组件 - 更新 WorkerList 组件接口命名一致性 - 添加生产预付和工人预付相关的多语言配置 - 新增获取上一车车次号接口 getLastVehicleNo - 扩展采购订单相关接口支持三步保存流程 - 更新费用类型枚举增加 WORKER_ADVANCE 和 PRODUCTION_ADVANCE - 修改订单返点相关字段类型为字符串 - 优化订单 dealer信息结构并添加新字段 - 更新采购订单命令类型定义增加 orderId 字段 - 扩展箱类型枚举增加 OWN 类型 - 新增采购订单步骤相关命令类型定义
This commit is contained in:
parent
2c51527b89
commit
5c002a42cf
@ -0,0 +1,193 @@
|
||||
import { BizContainer, BizValueType, ModeType } from '@/components';
|
||||
import { business } from '@/services';
|
||||
import { useIntl } from '@@/exports';
|
||||
import {
|
||||
ProColumns,
|
||||
ProFormMoney,
|
||||
ProFormSwitch,
|
||||
ProFormText,
|
||||
} from '@ant-design/pro-components';
|
||||
import { ProDescriptionsItemProps } from '@ant-design/pro-descriptions';
|
||||
import React from 'react';
|
||||
|
||||
interface IProductionAdvanceListProps {
|
||||
ghost?: boolean;
|
||||
itemId?: BusinessAPI.CostItemVO['itemId'];
|
||||
search?: boolean;
|
||||
onValueChange?: () => void;
|
||||
mode?: ModeType;
|
||||
trigger?: () => React.ReactNode;
|
||||
}
|
||||
export default function ProductionAdvanceList(props: IProductionAdvanceListProps) {
|
||||
const {
|
||||
ghost = false,
|
||||
itemId,
|
||||
search = true,
|
||||
mode = 'drag',
|
||||
trigger,
|
||||
onValueChange,
|
||||
} = props;
|
||||
const intl = useIntl();
|
||||
const intlPrefix = 'productionAdvance';
|
||||
|
||||
const columns: ProColumns<BusinessAPI.CostItemVO, BizValueType>[] = [
|
||||
{
|
||||
title: intl.formatMessage({ id: intlPrefix + '.column.name' }),
|
||||
dataIndex: 'name',
|
||||
key: 'name',
|
||||
renderText: (text: string) => <span className="font-medium">{text}</span>,
|
||||
},
|
||||
{
|
||||
title: intl.formatMessage({ id: intlPrefix + '.column.unit' }),
|
||||
dataIndex: 'unit',
|
||||
key: 'unit',
|
||||
search: false,
|
||||
},
|
||||
{
|
||||
title: intl.formatMessage({ id: intlPrefix + '.column.price' }),
|
||||
dataIndex: 'price',
|
||||
key: 'price',
|
||||
valueType: 'money',
|
||||
search: false,
|
||||
},
|
||||
{
|
||||
title: intl.formatMessage({ id: intlPrefix + '.column.requireQuantityAndPrice' }),
|
||||
dataIndex: 'requireQuantityAndPrice',
|
||||
key: 'requireQuantityAndPrice',
|
||||
renderText: (text: boolean) => (
|
||||
<span className="font-medium">{text ? '是' : '否'}</span>
|
||||
),
|
||||
search: false,
|
||||
},
|
||||
];
|
||||
|
||||
const formContext = [
|
||||
<ProFormText key={'costType'} name={'costType'} hidden={true} />,
|
||||
<ProFormText
|
||||
key={'name'}
|
||||
name={'name'}
|
||||
label={intl.formatMessage({ id: intlPrefix + '.form.name.label' })}
|
||||
required={true}
|
||||
placeholder={intl.formatMessage({
|
||||
id: intlPrefix + '.form.name.placeholder',
|
||||
})}
|
||||
rules={[
|
||||
{
|
||||
required: true,
|
||||
message: intl.formatMessage({
|
||||
id: intlPrefix + '.form.name.required',
|
||||
}),
|
||||
},
|
||||
]}
|
||||
/>,
|
||||
<ProFormText
|
||||
key={'unit'}
|
||||
name={'unit'}
|
||||
label={intl.formatMessage({ id: intlPrefix + '.form.unit.label' })}
|
||||
placeholder={intl.formatMessage({
|
||||
id: intlPrefix + '.form.unit.placeholder',
|
||||
})}
|
||||
/>,
|
||||
<ProFormMoney
|
||||
key={'price'}
|
||||
name={'price'}
|
||||
label={intl.formatMessage({ id: intlPrefix + '.form.price.label' })}
|
||||
placeholder={intl.formatMessage({
|
||||
id: intlPrefix + '.form.price.placeholder',
|
||||
})}
|
||||
fieldProps={{
|
||||
precision: 2,
|
||||
}}
|
||||
/>,
|
||||
<ProFormSwitch
|
||||
key={'requireQuantityAndPrice'}
|
||||
name={'requireQuantityAndPrice'}
|
||||
label={intl.formatMessage({ id: intlPrefix + '.form.requireQuantityAndPrice.label' })}
|
||||
required={true}
|
||||
placeholder={intl.formatMessage({
|
||||
id: intlPrefix + '.form.requireQuantityAndPrice.placeholder',
|
||||
})}
|
||||
rules={[
|
||||
{
|
||||
required: true,
|
||||
message: intl.formatMessage({
|
||||
id: intlPrefix + '.form.requireQuantityAndPrice.required',
|
||||
}),
|
||||
},
|
||||
]}
|
||||
fieldProps={{
|
||||
checkedChildren: intl.formatMessage({
|
||||
id: intlPrefix + '.form.requireQuantityAndPrice.enum.checkedChildren',
|
||||
}),
|
||||
unCheckedChildren: intl.formatMessage({
|
||||
id: intlPrefix + '.form.requireQuantityAndPrice.enum.unCheckedChildren',
|
||||
}),
|
||||
}}
|
||||
/>,
|
||||
];
|
||||
|
||||
const detailColumns: ProDescriptionsItemProps<
|
||||
BusinessAPI.CostItemVO,
|
||||
BizValueType
|
||||
>[] = columns as ProDescriptionsItemProps<
|
||||
BusinessAPI.CostItemVO,
|
||||
BizValueType
|
||||
>[];
|
||||
|
||||
return (
|
||||
<BizContainer<
|
||||
typeof business.costItem,
|
||||
BusinessAPI.CostItemVO,
|
||||
BusinessAPI.CostItemPageQry,
|
||||
BusinessAPI.CostItemCreateCmd,
|
||||
BusinessAPI.CostItemUpdateCmd
|
||||
>
|
||||
rowKey={'itemId'}
|
||||
permission={'operation-cost-item'}
|
||||
func={business.costItem}
|
||||
method={'costItem'}
|
||||
methodUpper={'CostItem'}
|
||||
intlPrefix={intlPrefix}
|
||||
modeType={mode}
|
||||
onValueChange={onValueChange}
|
||||
container={{}}
|
||||
remark={{
|
||||
mode: 'editor',
|
||||
}}
|
||||
status
|
||||
drag={{
|
||||
fieldProps: {
|
||||
bordered: true,
|
||||
ghost,
|
||||
//@ts-ignore
|
||||
search,
|
||||
params: {
|
||||
costType: 'PRODUCTION_ADVANCE',
|
||||
},
|
||||
},
|
||||
columns,
|
||||
}}
|
||||
create={{
|
||||
formType: 'drawer',
|
||||
formContext,
|
||||
initValues: {
|
||||
showInEntry: false,
|
||||
requireQuantityAndPrice: false,
|
||||
costType: 'PRODUCTION_ADVANCE',
|
||||
status: true,
|
||||
},
|
||||
}}
|
||||
update={{
|
||||
formType: 'drawer',
|
||||
formContext,
|
||||
}}
|
||||
destroy={{}}
|
||||
detail={{
|
||||
rowId: itemId,
|
||||
formType: 'drawer',
|
||||
columns: detailColumns,
|
||||
trigger,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@ -0,0 +1,193 @@
|
||||
import { BizContainer, BizValueType, ModeType } from '@/components';
|
||||
import { business } from '@/services';
|
||||
import { useIntl } from '@@/exports';
|
||||
import {
|
||||
ProColumns,
|
||||
ProFormMoney,
|
||||
ProFormSwitch,
|
||||
ProFormText,
|
||||
} from '@ant-design/pro-components';
|
||||
import { ProDescriptionsItemProps } from '@ant-design/pro-descriptions';
|
||||
import React from 'react';
|
||||
|
||||
interface IWorkerAdvanceListProps {
|
||||
ghost?: boolean;
|
||||
itemId?: BusinessAPI.CostItemVO['itemId'];
|
||||
search?: boolean;
|
||||
onValueChange?: () => void;
|
||||
mode?: ModeType;
|
||||
trigger?: () => React.ReactNode;
|
||||
}
|
||||
export default function WorkerAdvanceList(props: IWorkerAdvanceListProps) {
|
||||
const {
|
||||
ghost = false,
|
||||
itemId,
|
||||
search = true,
|
||||
mode = 'drag',
|
||||
trigger,
|
||||
onValueChange,
|
||||
} = props;
|
||||
const intl = useIntl();
|
||||
const intlPrefix = 'workerAdvance';
|
||||
|
||||
const columns: ProColumns<BusinessAPI.CostItemVO, BizValueType>[] = [
|
||||
{
|
||||
title: intl.formatMessage({ id: intlPrefix + '.column.name' }),
|
||||
dataIndex: 'name',
|
||||
key: 'name',
|
||||
renderText: (text: string) => <span className="font-medium">{text}</span>,
|
||||
},
|
||||
{
|
||||
title: intl.formatMessage({ id: intlPrefix + '.column.unit' }),
|
||||
dataIndex: 'unit',
|
||||
key: 'unit',
|
||||
search: false,
|
||||
},
|
||||
{
|
||||
title: intl.formatMessage({ id: intlPrefix + '.column.price' }),
|
||||
dataIndex: 'price',
|
||||
key: 'price',
|
||||
valueType: 'money',
|
||||
search: false,
|
||||
},
|
||||
{
|
||||
title: intl.formatMessage({ id: intlPrefix + '.column.requireQuantityAndPrice' }),
|
||||
dataIndex: 'requireQuantityAndPrice',
|
||||
key: 'requireQuantityAndPrice',
|
||||
renderText: (text: boolean) => (
|
||||
<span className="font-medium">{text ? '是' : '否'}</span>
|
||||
),
|
||||
search: false,
|
||||
},
|
||||
];
|
||||
|
||||
const formContext = [
|
||||
<ProFormText key={'costType'} name={'costType'} hidden={true} />,
|
||||
<ProFormText
|
||||
key={'name'}
|
||||
name={'name'}
|
||||
label={intl.formatMessage({ id: intlPrefix + '.form.name.label' })}
|
||||
required={true}
|
||||
placeholder={intl.formatMessage({
|
||||
id: intlPrefix + '.form.name.placeholder',
|
||||
})}
|
||||
rules={[
|
||||
{
|
||||
required: true,
|
||||
message: intl.formatMessage({
|
||||
id: intlPrefix + '.form.name.required',
|
||||
}),
|
||||
},
|
||||
]}
|
||||
/>,
|
||||
<ProFormText
|
||||
key={'unit'}
|
||||
name={'unit'}
|
||||
label={intl.formatMessage({ id: intlPrefix + '.form.unit.label' })}
|
||||
placeholder={intl.formatMessage({
|
||||
id: intlPrefix + '.form.unit.placeholder',
|
||||
})}
|
||||
/>,
|
||||
<ProFormMoney
|
||||
key={'price'}
|
||||
name={'price'}
|
||||
label={intl.formatMessage({ id: intlPrefix + '.form.price.label' })}
|
||||
placeholder={intl.formatMessage({
|
||||
id: intlPrefix + '.form.price.placeholder',
|
||||
})}
|
||||
fieldProps={{
|
||||
precision: 2,
|
||||
}}
|
||||
/>,
|
||||
<ProFormSwitch
|
||||
key={'requireQuantityAndPrice'}
|
||||
name={'requireQuantityAndPrice'}
|
||||
label={intl.formatMessage({ id: intlPrefix + '.form.requireQuantityAndPrice.label' })}
|
||||
required={true}
|
||||
placeholder={intl.formatMessage({
|
||||
id: intlPrefix + '.form.requireQuantityAndPrice.placeholder',
|
||||
})}
|
||||
rules={[
|
||||
{
|
||||
required: true,
|
||||
message: intl.formatMessage({
|
||||
id: intlPrefix + '.form.requireQuantityAndPrice.required',
|
||||
}),
|
||||
},
|
||||
]}
|
||||
fieldProps={{
|
||||
checkedChildren: intl.formatMessage({
|
||||
id: intlPrefix + '.form.requireQuantityAndPrice.enum.checkedChildren',
|
||||
}),
|
||||
unCheckedChildren: intl.formatMessage({
|
||||
id: intlPrefix + '.form.requireQuantityAndPrice.enum.unCheckedChildren',
|
||||
}),
|
||||
}}
|
||||
/>,
|
||||
];
|
||||
|
||||
const detailColumns: ProDescriptionsItemProps<
|
||||
BusinessAPI.CostItemVO,
|
||||
BizValueType
|
||||
>[] = columns as ProDescriptionsItemProps<
|
||||
BusinessAPI.CostItemVO,
|
||||
BizValueType
|
||||
>[];
|
||||
|
||||
return (
|
||||
<BizContainer<
|
||||
typeof business.costItem,
|
||||
BusinessAPI.CostItemVO,
|
||||
BusinessAPI.CostItemPageQry,
|
||||
BusinessAPI.CostItemCreateCmd,
|
||||
BusinessAPI.CostItemUpdateCmd
|
||||
>
|
||||
rowKey={'itemId'}
|
||||
permission={'operation-cost-item'}
|
||||
func={business.costItem}
|
||||
method={'costItem'}
|
||||
methodUpper={'CostItem'}
|
||||
intlPrefix={intlPrefix}
|
||||
modeType={mode}
|
||||
onValueChange={onValueChange}
|
||||
container={{}}
|
||||
remark={{
|
||||
mode: 'editor',
|
||||
}}
|
||||
status
|
||||
drag={{
|
||||
fieldProps: {
|
||||
bordered: true,
|
||||
ghost,
|
||||
//@ts-ignore
|
||||
search,
|
||||
params: {
|
||||
costType: 'WORKER_ADVANCE',
|
||||
},
|
||||
},
|
||||
columns,
|
||||
}}
|
||||
create={{
|
||||
formType: 'drawer',
|
||||
formContext,
|
||||
initValues: {
|
||||
showInEntry: false,
|
||||
requireQuantityAndPrice: false,
|
||||
costType: 'WORKER_ADVANCE',
|
||||
status: true,
|
||||
},
|
||||
}}
|
||||
update={{
|
||||
formType: 'drawer',
|
||||
formContext,
|
||||
}}
|
||||
destroy={{}}
|
||||
detail={{
|
||||
rowId: itemId,
|
||||
formType: 'drawer',
|
||||
columns: detailColumns,
|
||||
trigger,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@ -10,7 +10,7 @@ import {
|
||||
import { ProDescriptionsItemProps } from '@ant-design/pro-descriptions';
|
||||
import React from 'react';
|
||||
|
||||
interface IExcipientListProps {
|
||||
interface IWorkerListProps {
|
||||
ghost?: boolean;
|
||||
itemId?: BusinessAPI.CostItemVO['itemId'];
|
||||
search?: boolean;
|
||||
@ -18,7 +18,7 @@ interface IExcipientListProps {
|
||||
mode?: ModeType;
|
||||
trigger?: () => React.ReactNode;
|
||||
}
|
||||
export default function ExcipientList(props: IExcipientListProps) {
|
||||
export default function WorkerList(props: IWorkerListProps) {
|
||||
const {
|
||||
ghost = false,
|
||||
itemId,
|
||||
|
||||
@ -4,3 +4,5 @@ export { default as BoxBrandList } from './BoxBrandList';
|
||||
export { default as ExcipientList } from './ExcipientList';
|
||||
export { default as WorkerList } from './WorkerList';
|
||||
export { default as GiftBoxList } from './GiftBoxList';
|
||||
export { default as ProductionAdvanceList } from './ProductionAdvanceList';
|
||||
export { default as WorkerAdvanceList } from './WorkerAdvanceList';
|
||||
|
||||
@ -1803,6 +1803,186 @@ export default {
|
||||
},
|
||||
},
|
||||
},
|
||||
productionAdvance: {
|
||||
column: {
|
||||
name: '费用名称',
|
||||
unit: '计量单位',
|
||||
price: '单价',
|
||||
requireQuantityAndPrice: '数量和单价',
|
||||
'requireQuantityAndPrice.tooltip': '是否需要填写数量和单价',
|
||||
remark: '备注',
|
||||
status: '状态',
|
||||
'status.enum.enabled': '正常',
|
||||
'status.enum.disabled': '禁用',
|
||||
'status.placeholder': '请选择状态',
|
||||
createdAt: '创建时间',
|
||||
option: '操作',
|
||||
},
|
||||
form: {
|
||||
name: {
|
||||
label: '费用名称',
|
||||
placeholder: '请输入费用名称',
|
||||
required: '费用名称为必填项',
|
||||
},
|
||||
unit: {
|
||||
label: '计量单位',
|
||||
placeholder: '请输入计量单位',
|
||||
required: '计量单位为必填项',
|
||||
},
|
||||
price: {
|
||||
label: '单价',
|
||||
placeholder: '请输入单价',
|
||||
required: '单价为必填项',
|
||||
},
|
||||
requireQuantityAndPrice: {
|
||||
label: '数量和单价',
|
||||
placeholder: '请选择数量和单价',
|
||||
required: '数量和单价为必填项',
|
||||
tooltip: '是否需要填写数量和单价',
|
||||
enum: {
|
||||
checkedChildren: '是',
|
||||
unCheckedChildren: '否',
|
||||
},
|
||||
},
|
||||
remark: {
|
||||
label: '备注',
|
||||
placeholder: '请输入备注',
|
||||
},
|
||||
status: {
|
||||
label: '状态',
|
||||
placeholder: '请选择状态',
|
||||
required: '状态为必填项',
|
||||
enum: {
|
||||
enabled: '正常',
|
||||
disabled: '禁用',
|
||||
},
|
||||
},
|
||||
},
|
||||
modal: {
|
||||
create: {
|
||||
title: '新增工种类型',
|
||||
button: '新增工种类型',
|
||||
success: '新增工种类型成功',
|
||||
},
|
||||
update: {
|
||||
title: '更新工种类型',
|
||||
button: '编辑',
|
||||
success: '更新工种类型成功',
|
||||
status: {
|
||||
success: '修改状态成功',
|
||||
},
|
||||
},
|
||||
delete: {
|
||||
success: '删除工种类型成功',
|
||||
button: '删除',
|
||||
confirm: {
|
||||
title: '确认删除',
|
||||
content: '您确定要删除该工种类型吗?',
|
||||
okText: '确定',
|
||||
cancelText: '取消',
|
||||
},
|
||||
},
|
||||
import: {
|
||||
title: '导入工种类型',
|
||||
button: '导入',
|
||||
success: '导入工种类型成功',
|
||||
},
|
||||
view: {
|
||||
title: '查看工种类型',
|
||||
button: '查看',
|
||||
},
|
||||
},
|
||||
},
|
||||
workerAdvance: {
|
||||
column: {
|
||||
name: '费用名称',
|
||||
unit: '计量单位',
|
||||
price: '单价',
|
||||
requireQuantityAndPrice: '数量和单价',
|
||||
'requireQuantityAndPrice.tooltip': '是否需要填写数量和单价',
|
||||
remark: '备注',
|
||||
status: '状态',
|
||||
'status.enum.enabled': '正常',
|
||||
'status.enum.disabled': '禁用',
|
||||
'status.placeholder': '请选择状态',
|
||||
createdAt: '创建时间',
|
||||
option: '操作',
|
||||
},
|
||||
form: {
|
||||
name: {
|
||||
label: '费用名称',
|
||||
placeholder: '请输入费用名称',
|
||||
required: '费用名称为必填项',
|
||||
},
|
||||
unit: {
|
||||
label: '计量单位',
|
||||
placeholder: '请输入计量单位',
|
||||
required: '计量单位为必填项',
|
||||
},
|
||||
price: {
|
||||
label: '单价',
|
||||
placeholder: '请输入单价',
|
||||
required: '单价为必填项',
|
||||
},
|
||||
requireQuantityAndPrice: {
|
||||
label: '数量和单价',
|
||||
placeholder: '请选择数量和单价',
|
||||
required: '数量和单价为必填项',
|
||||
tooltip: '是否需要填写数量和单价',
|
||||
enum: {
|
||||
checkedChildren: '是',
|
||||
unCheckedChildren: '否',
|
||||
},
|
||||
},
|
||||
remark: {
|
||||
label: '备注',
|
||||
placeholder: '请输入备注',
|
||||
},
|
||||
status: {
|
||||
label: '状态',
|
||||
placeholder: '请选择状态',
|
||||
required: '状态为必填项',
|
||||
enum: {
|
||||
enabled: '正常',
|
||||
disabled: '禁用',
|
||||
},
|
||||
},
|
||||
},
|
||||
modal: {
|
||||
create: {
|
||||
title: '新增工种类型',
|
||||
button: '新增工种类型',
|
||||
success: '新增工种类型成功',
|
||||
},
|
||||
update: {
|
||||
title: '更新工种类型',
|
||||
button: '编辑',
|
||||
success: '更新工种类型成功',
|
||||
status: {
|
||||
success: '修改状态成功',
|
||||
},
|
||||
},
|
||||
delete: {
|
||||
success: '删除工种类型成功',
|
||||
button: '删除',
|
||||
confirm: {
|
||||
title: '确认删除',
|
||||
content: '您确定要删除该工种类型吗?',
|
||||
okText: '确定',
|
||||
cancelText: '取消',
|
||||
},
|
||||
},
|
||||
import: {
|
||||
title: '导入工种类型',
|
||||
button: '导入',
|
||||
success: '导入工种类型成功',
|
||||
},
|
||||
view: {
|
||||
title: '查看工种类型',
|
||||
button: '查看',
|
||||
},
|
||||
},
|
||||
},
|
||||
giftBox: {
|
||||
column: {
|
||||
name: '礼盒名称',
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
import { ExcipientList } from '@/components';
|
||||
|
||||
export default function Page() {
|
||||
return <ExcipientList />;
|
||||
}
|
||||
3
packages/app-operation/src/pages/ProductData.tsx
Normal file
3
packages/app-operation/src/pages/ProductData.tsx
Normal file
@ -0,0 +1,3 @@
|
||||
export default function Page() {
|
||||
return <></>;
|
||||
}
|
||||
5
packages/app-operation/src/pages/ProductionAdvance.tsx
Normal file
5
packages/app-operation/src/pages/ProductionAdvance.tsx
Normal file
@ -0,0 +1,5 @@
|
||||
import { ProductionAdvanceList } from '@/components';
|
||||
|
||||
export default function Page() {
|
||||
return <ProductionAdvanceList />;
|
||||
}
|
||||
5
packages/app-operation/src/pages/WorkerAdvance.tsx
Normal file
5
packages/app-operation/src/pages/WorkerAdvance.tsx
Normal file
@ -0,0 +1,5 @@
|
||||
import { WorkerAdvanceList } from '@/components';
|
||||
|
||||
export default function Page() {
|
||||
return <WorkerAdvanceList />;
|
||||
}
|
||||
@ -88,6 +88,26 @@ export async function finalApprovePurchaseOrder(
|
||||
);
|
||||
}
|
||||
|
||||
/** 获取上一车车次号 GET /operation/getLastVehicleNo */
|
||||
export async function getLastVehicleNo(
|
||||
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
|
||||
params: BusinessAPI.getLastVehicleNoParams,
|
||||
options?: { [key: string]: any },
|
||||
) {
|
||||
return request<BusinessAPI.SingleResponseString>(
|
||||
'/operation/getLastVehicleNo',
|
||||
{
|
||||
method: 'GET',
|
||||
params: {
|
||||
...params,
|
||||
lastVehicleNoQry: undefined,
|
||||
...params['lastVehicleNoQry'],
|
||||
},
|
||||
...(options || {}),
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
/** 采购订单列表 GET /operation/listPurchaseOrder */
|
||||
export async function listPurchaseOrder(
|
||||
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
|
||||
@ -164,6 +184,54 @@ export async function rejectFinalPurchaseOrder(
|
||||
);
|
||||
}
|
||||
|
||||
/** 采购订单第一步:车辆信息和经销商信息保存 POST /operation/savePurchaseOrderStep1 */
|
||||
export async function savePurchaseOrderStep1(
|
||||
body: BusinessAPI.PurchaseOrderStep1Cmd,
|
||||
options?: { [key: string]: any },
|
||||
) {
|
||||
return request<BusinessAPI.SingleResponsePurchaseOrderVO>(
|
||||
'/operation/savePurchaseOrderStep1',
|
||||
{
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
data: body,
|
||||
...(options || {}),
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
/** 采购订单第二步:供应商信息保存 POST /operation/savePurchaseOrderStep2 */
|
||||
export async function savePurchaseOrderStep2(
|
||||
body: BusinessAPI.PurchaseOrderStep2Cmd,
|
||||
options?: { [key: string]: any },
|
||||
) {
|
||||
return request<BusinessAPI.Response>('/operation/savePurchaseOrderStep2', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
data: body,
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** 采购订单第三步:人工和辅料等费用信息保存 POST /operation/savePurchaseOrderStep3 */
|
||||
export async function savePurchaseOrderStep3(
|
||||
body: BusinessAPI.PurchaseOrderStep3Cmd,
|
||||
options?: { [key: string]: any },
|
||||
) {
|
||||
return request<BusinessAPI.Response>('/operation/savePurchaseOrderStep3', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
data: body,
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** 采购订单详情 GET /operation/showPurchaseOrder */
|
||||
export async function showPurchaseOrder(
|
||||
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
|
||||
|
||||
@ -803,7 +803,9 @@ declare namespace BusinessAPI {
|
||||
| 'PACKAGING_MATERIALS'
|
||||
| 'HUMAN_COST'
|
||||
| 'OTHER_COST'
|
||||
| 'FIXED_COST';
|
||||
| 'FIXED_COST'
|
||||
| 'WORKER_ADVANCE'
|
||||
| 'PRODUCTION_ADVANCE';
|
||||
/** 项目名称 */
|
||||
name: string;
|
||||
/** 单位 */
|
||||
@ -812,6 +814,8 @@ declare namespace BusinessAPI {
|
||||
price: number;
|
||||
/** 是否在录入时显示 */
|
||||
showInEntry: boolean;
|
||||
/** 是否需要填写数量和单价 */
|
||||
requireQuantityAndPrice: boolean;
|
||||
/** 备注 */
|
||||
remark?: string;
|
||||
/** 状态:1_启用;0_禁用 */
|
||||
@ -842,7 +846,9 @@ declare namespace BusinessAPI {
|
||||
| 'PACKAGING_MATERIALS'
|
||||
| 'HUMAN_COST'
|
||||
| 'OTHER_COST'
|
||||
| 'FIXED_COST';
|
||||
| 'FIXED_COST'
|
||||
| 'WORKER_ADVANCE'
|
||||
| 'PRODUCTION_ADVANCE';
|
||||
/** 是否在录入时显示 */
|
||||
showInEntry?: boolean;
|
||||
};
|
||||
@ -869,7 +875,9 @@ declare namespace BusinessAPI {
|
||||
| 'PACKAGING_MATERIALS'
|
||||
| 'HUMAN_COST'
|
||||
| 'OTHER_COST'
|
||||
| 'FIXED_COST';
|
||||
| 'FIXED_COST'
|
||||
| 'WORKER_ADVANCE'
|
||||
| 'PRODUCTION_ADVANCE';
|
||||
/** 项目名称 */
|
||||
name?: string;
|
||||
offset?: number;
|
||||
@ -890,7 +898,9 @@ declare namespace BusinessAPI {
|
||||
| 'PACKAGING_MATERIALS'
|
||||
| 'HUMAN_COST'
|
||||
| 'OTHER_COST'
|
||||
| 'FIXED_COST';
|
||||
| 'FIXED_COST'
|
||||
| 'WORKER_ADVANCE'
|
||||
| 'PRODUCTION_ADVANCE';
|
||||
/** 项目名称 */
|
||||
name: string;
|
||||
/** 单位 */
|
||||
@ -899,6 +909,8 @@ declare namespace BusinessAPI {
|
||||
price: number;
|
||||
/** 是否在录入时显示 */
|
||||
showInEntry: boolean;
|
||||
/** 是否需要填写数量和单价 */
|
||||
requireQuantityAndPrice: boolean;
|
||||
/** 备注 */
|
||||
remark?: string;
|
||||
/** 状态:1_启用;0_禁用 */
|
||||
@ -913,7 +925,9 @@ declare namespace BusinessAPI {
|
||||
| 'PACKAGING_MATERIALS'
|
||||
| 'HUMAN_COST'
|
||||
| 'OTHER_COST'
|
||||
| 'FIXED_COST';
|
||||
| 'FIXED_COST'
|
||||
| 'WORKER_ADVANCE'
|
||||
| 'PRODUCTION_ADVANCE';
|
||||
/** 项目名称 */
|
||||
name: string;
|
||||
/** 单位 */
|
||||
@ -922,6 +936,8 @@ declare namespace BusinessAPI {
|
||||
price: number;
|
||||
/** 是否在录入时显示 */
|
||||
showInEntry: boolean;
|
||||
/** 是否需要填写数量和单价 */
|
||||
requireQuantityAndPrice: boolean;
|
||||
/** 备注 */
|
||||
remark?: string;
|
||||
/** 状态:1_启用;0_禁用 */
|
||||
@ -1688,6 +1704,10 @@ declare namespace BusinessAPI {
|
||||
userRoleList?: UserRoleVO[];
|
||||
};
|
||||
|
||||
type getLastVehicleNoParams = {
|
||||
lastVehicleNoQry: LastVehicleNoQry;
|
||||
};
|
||||
|
||||
type GiftBoxCreateCmd = {
|
||||
/** 礼盒ID */
|
||||
boxId: string;
|
||||
@ -1786,6 +1806,11 @@ declare namespace BusinessAPI {
|
||||
createdAt?: string;
|
||||
};
|
||||
|
||||
type LastVehicleNoQry = {
|
||||
/** 状态:1_启用;0_禁用; */
|
||||
status?: boolean;
|
||||
};
|
||||
|
||||
type listAgreementParams = {
|
||||
agreementListQry: AgreementListQry;
|
||||
};
|
||||
@ -2351,7 +2376,9 @@ declare namespace BusinessAPI {
|
||||
| 'PACKAGING_MATERIALS'
|
||||
| 'HUMAN_COST'
|
||||
| 'OTHER_COST'
|
||||
| 'FIXED_COST';
|
||||
| 'FIXED_COST'
|
||||
| 'WORKER_ADVANCE'
|
||||
| 'PRODUCTION_ADVANCE';
|
||||
};
|
||||
|
||||
type OrderDealer = {
|
||||
@ -2375,36 +2402,24 @@ declare namespace BusinessAPI {
|
||||
strawMatCostFlag?: boolean;
|
||||
/** 发货单合计金额是否含包装费 */
|
||||
includePackingFlag?: boolean;
|
||||
/** 是否开启计提税金 */
|
||||
enableAccrualTax?: boolean;
|
||||
/** 计提税金比例 */
|
||||
accrualTaxRatio?: number;
|
||||
/** 是否开启公司返点 */
|
||||
enableCompanyRebate?: boolean;
|
||||
/** 公司返点比例 */
|
||||
companyRebateRatio?: number;
|
||||
/** 单据类型:delivery-发货单, purchase-采购底单, cost-成本单 */
|
||||
documentTypes?: string;
|
||||
/** 账户ID */
|
||||
accountId?: string;
|
||||
/** 公司名称 */
|
||||
companyName?: string;
|
||||
/** 税号 */
|
||||
taxNumber?: string;
|
||||
/** 银行账号 */
|
||||
bankAccount?: string;
|
||||
/** 单位地址 */
|
||||
companyAddress?: string;
|
||||
/** 电话 */
|
||||
phone?: string;
|
||||
/** 开户行 */
|
||||
openingBank?: string;
|
||||
/** 仓库ID */
|
||||
warehouseId?: string;
|
||||
/** 仓库名称 */
|
||||
warehouseName?: string;
|
||||
/** 仓库地址 */
|
||||
warehouseAddress?: string;
|
||||
/** 联系人 */
|
||||
contactPerson?: string;
|
||||
/** 联系电话 */
|
||||
contactPhone?: string;
|
||||
/** 收货人姓名 */
|
||||
receiverName?: string;
|
||||
/** 收货人电话 */
|
||||
receiverPhone?: string;
|
||||
/** 税费补贴 */
|
||||
taxSubsidy?: number;
|
||||
/** 计提税金 */
|
||||
taxProvision?: number;
|
||||
/** 成本差异 */
|
||||
costDifference?: number;
|
||||
/** 利润分成 */
|
||||
profitSharing?: number;
|
||||
};
|
||||
|
||||
type OrderPackage = {
|
||||
@ -2416,6 +2431,8 @@ declare namespace BusinessAPI {
|
||||
boxBrandId: string;
|
||||
/** 箱子品牌名称 */
|
||||
boxBrandName: string;
|
||||
/** 箱子品牌图片 */
|
||||
boxBrandImage?: string;
|
||||
/** 箱子分类ID */
|
||||
boxCategoryId: string;
|
||||
/** 箱子产品ID */
|
||||
@ -2431,22 +2448,22 @@ declare namespace BusinessAPI {
|
||||
/** 销售单价(元/个) */
|
||||
boxSalePrice?: number;
|
||||
/** 箱子类型:1_本次使用;2_额外运输;3_已使用额外运输;4_车上剩余; */
|
||||
boxType: 'USED' | 'EXTRA' | 'EXTRA_USED' | 'REMAIN';
|
||||
boxType: 'USED' | 'EXTRA' | 'EXTRA_USED' | 'REMAIN' | 'OWN';
|
||||
};
|
||||
|
||||
type OrderRebate = {
|
||||
/** 记录ID */
|
||||
orderRebateId?: number;
|
||||
orderRebateId?: string;
|
||||
/** 订单ID */
|
||||
orderId?: number;
|
||||
orderId?: string;
|
||||
/** 客户ID */
|
||||
customerId?: number;
|
||||
customerId?: string;
|
||||
/** 经销商ID */
|
||||
dealerId?: number;
|
||||
dealerId?: string;
|
||||
/** 客户名称 */
|
||||
name?: string;
|
||||
/** 返点计算方式:1_按净重计算;2_固定金额; */
|
||||
calcMethod?: 'BY_WEIGHT' | 'FIXED_AMOUNT';
|
||||
calcMethod?: 'NET_WEIGHT' | 'FIXED_AMOUNT';
|
||||
/** 返点净重 */
|
||||
netWeight?: number;
|
||||
/** 返点单价 */
|
||||
@ -3023,6 +3040,8 @@ declare namespace BusinessAPI {
|
||||
};
|
||||
|
||||
type PurchaseOrderApproveCmd = {
|
||||
/** 采购订单ID */
|
||||
orderId: string;
|
||||
/** 步骤标识 */
|
||||
active?: number;
|
||||
/** 产地负责人 */
|
||||
@ -3037,8 +3056,6 @@ declare namespace BusinessAPI {
|
||||
orderSupplierList: OrderSupplier[];
|
||||
/** 采购订单费用信息 */
|
||||
orderCostList: OrderCost[];
|
||||
/** 采购订单ID */
|
||||
orderId: string;
|
||||
/** 是否是暂存 */
|
||||
draft: boolean;
|
||||
pricingMethod?: 'BY_GROSS_WEIGHT' | 'BY_NET_WEIGHT';
|
||||
@ -3062,6 +3079,8 @@ declare namespace BusinessAPI {
|
||||
};
|
||||
|
||||
type PurchaseOrderCreateCmd = {
|
||||
/** 采购订单ID */
|
||||
orderId?: string;
|
||||
/** 步骤标识 */
|
||||
active?: number;
|
||||
/** 产地负责人 */
|
||||
@ -3126,12 +3145,8 @@ declare namespace BusinessAPI {
|
||||
| 'COMPLETED';
|
||||
/** 供应商名称 */
|
||||
supplierName?: string;
|
||||
/** 经销商付款账户ID */
|
||||
dealerPaymentAccountId?: string;
|
||||
/** 经销商ID */
|
||||
dealerId?: string;
|
||||
/** 创建人ID */
|
||||
createdBy?: string;
|
||||
offset?: number;
|
||||
};
|
||||
|
||||
@ -3154,12 +3169,43 @@ declare namespace BusinessAPI {
|
||||
orderId?: string;
|
||||
};
|
||||
|
||||
type PurchaseOrderStep1Cmd = {
|
||||
/** 采购订单ID */
|
||||
orderId?: string;
|
||||
/** 步骤标识 */
|
||||
active?: number;
|
||||
/** 车辆信息 */
|
||||
orderVehicle: OrderVehicle;
|
||||
/** 经销商信息 */
|
||||
orderDealer: OrderDealer;
|
||||
};
|
||||
|
||||
type PurchaseOrderStep2Cmd = {
|
||||
/** 采购订单ID */
|
||||
orderId: string;
|
||||
/** 步骤标识 */
|
||||
active?: number;
|
||||
/** 供应商信息 */
|
||||
orderSupplierList: OrderSupplier[];
|
||||
};
|
||||
|
||||
type PurchaseOrderStep3Cmd = {
|
||||
/** 采购订单ID */
|
||||
orderId: string;
|
||||
/** 步骤标识 */
|
||||
active?: number;
|
||||
/** 采购订单费用信息 */
|
||||
orderCostList: OrderCost[];
|
||||
};
|
||||
|
||||
type PurchaseOrderSubmitReviewCmd = {
|
||||
/** 采购订单ID */
|
||||
orderId: string;
|
||||
};
|
||||
|
||||
type PurchaseOrderUpdateCmd = {
|
||||
/** 采购订单ID */
|
||||
orderId: string;
|
||||
/** 步骤标识 */
|
||||
active?: number;
|
||||
/** 产地负责人 */
|
||||
@ -3174,8 +3220,6 @@ declare namespace BusinessAPI {
|
||||
orderSupplierList: OrderSupplier[];
|
||||
/** 采购订单费用信息 */
|
||||
orderCostList: OrderCost[];
|
||||
/** 采购订单ID */
|
||||
orderId: string;
|
||||
};
|
||||
|
||||
type PurchaseOrderVO = {
|
||||
@ -3498,6 +3542,10 @@ declare namespace BusinessAPI {
|
||||
totalAmount?: number;
|
||||
/** 瓜农姓名逗号隔开 */
|
||||
farmerInfo?: string;
|
||||
/** 公司ID */
|
||||
companyId?: string;
|
||||
/** 公司名称 */
|
||||
companyName?: string;
|
||||
/** 备注 */
|
||||
remark?: string;
|
||||
};
|
||||
@ -3575,6 +3623,8 @@ declare namespace BusinessAPI {
|
||||
singleWeight?: number;
|
||||
/** 总重(斤) */
|
||||
totalWeight?: number;
|
||||
/** 箱子品牌图片 */
|
||||
boxBrandImage?: string;
|
||||
/** 创建时间 */
|
||||
createdAt?: string;
|
||||
};
|
||||
@ -3596,6 +3646,21 @@ declare namespace BusinessAPI {
|
||||
status?: boolean;
|
||||
/** 发货单ID */
|
||||
shipOrderId?: string;
|
||||
/** 车辆编号 */
|
||||
vehicleNo?: string;
|
||||
/** 采购订单编号 */
|
||||
orderSn?: string;
|
||||
/** 发货单状态:1_待回款;2_部分回款;3_已回款;4_拒收完结;5_已完结; */
|
||||
state?:
|
||||
| 'WAIT_PAYMENT'
|
||||
| 'PARTIAL_PAYMENT'
|
||||
| 'FULL_PAYMENT'
|
||||
| 'REJECT_FINISH'
|
||||
| 'FINISH';
|
||||
/** 供应商名称 */
|
||||
supplierName?: string;
|
||||
/** 经销商ID */
|
||||
dealerId?: string;
|
||||
offset?: number;
|
||||
};
|
||||
|
||||
@ -3617,6 +3682,10 @@ declare namespace BusinessAPI {
|
||||
watermelonGrade?: string;
|
||||
/** 发货地址 */
|
||||
shippingAddress?: string;
|
||||
/** 公司ID */
|
||||
companyId?: string;
|
||||
/** 公司名称 */
|
||||
companyName?: string;
|
||||
/** 备注 */
|
||||
remark?: string;
|
||||
/** 发货单明细 */
|
||||
@ -3644,6 +3713,10 @@ declare namespace BusinessAPI {
|
||||
warehouseId?: string;
|
||||
/** 仓库名称 */
|
||||
warehouseName?: string;
|
||||
/** 公司ID */
|
||||
companyId?: string;
|
||||
/** 公司名称 */
|
||||
companyName?: string;
|
||||
/** 车次号 */
|
||||
vehicleNo?: string;
|
||||
/** 发货地址 */
|
||||
@ -3982,6 +4055,13 @@ declare namespace BusinessAPI {
|
||||
data?: ShipOrderVO;
|
||||
};
|
||||
|
||||
type SingleResponseString = {
|
||||
success?: boolean;
|
||||
errCode?: string;
|
||||
errMessage?: string;
|
||||
data?: string;
|
||||
};
|
||||
|
||||
type SingleResponseSupplierVO = {
|
||||
success?: boolean;
|
||||
errCode?: string;
|
||||
@ -4133,6 +4213,10 @@ declare namespace BusinessAPI {
|
||||
remark?: string;
|
||||
/** 状态:1_启用;0_禁用; */
|
||||
status: boolean;
|
||||
/** 创建人ID */
|
||||
createdBy: string;
|
||||
/** 创建人姓名 */
|
||||
createdByName?: string;
|
||||
/** 创建时间 */
|
||||
createdAt?: string;
|
||||
};
|
||||
|
||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user