feat(purchase): 更新采购模块功能和UI细节
- 在成本列表中过滤掉空箱费、纸箱费、运费和草帘费 - 自动添加纸箱费用项到订单成本列表 - 根据装车方式调整步骤导航逻辑 - 优化车辆信息表单,增加单位显示和可选性检查 - 预览页面过滤不显示带空箱和纸箱的成本项 - 优化供应商列表滚动视图样式 - 新增装车方式切换确认逻辑及对话框 - 支持硒砂瓜产品的不同装车方式选择 - 定金和价格输入框添加单位标识 - 提交审核前检查计提费是否为零并提示确认 - 添加运费和草帘费到订单成本列表 - 修复服务接口类型定义中的字段顺序和缺失属性 - 升级应用版本号至 v0.0.33
This commit is contained in:
parent
97681ae969
commit
a79fc0ef9f
@ -157,7 +157,12 @@ export default function CostList(props: {
|
|||||||
|
|
||||||
{orderCosts.map((orderCost) => {
|
{orderCosts.map((orderCost) => {
|
||||||
if (type === "MATERIAL_TYPE") {
|
if (type === "MATERIAL_TYPE") {
|
||||||
if (orderCost.name === "空箱费" || orderCost.name === "纸箱费") {
|
if (
|
||||||
|
orderCost.name === "空箱费" ||
|
||||||
|
orderCost.name === "纸箱费" ||
|
||||||
|
orderCost.name === "运费" ||
|
||||||
|
orderCost.name === "草帘费"
|
||||||
|
) {
|
||||||
return <></>;
|
return <></>;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { View } from "@tarojs/components";
|
|||||||
import { Icon } from "@/components";
|
import { Icon } from "@/components";
|
||||||
import { forwardRef, useEffect, useImperativeHandle, useState } from "react";
|
import { forwardRef, useEffect, useImperativeHandle, useState } from "react";
|
||||||
import { Button, Checkbox, Input, Toast } from "@nutui/nutui-react-taro";
|
import { Button, Checkbox, Input, Toast } from "@nutui/nutui-react-taro";
|
||||||
import { generateShortId } from "@/utils";
|
import { generateShortId, PurchaseOrderCalculator } from "@/utils";
|
||||||
import { EmptyBoxModule } from "@/components/purchase";
|
import { EmptyBoxModule } from "@/components/purchase";
|
||||||
|
|
||||||
// 定义ref暴露的方法接口
|
// 定义ref暴露的方法接口
|
||||||
@ -21,6 +21,8 @@ export default forwardRef<OrderCostItemRef, IOrderCostItemProps>(
|
|||||||
function OrderCostItem(props, ref) {
|
function OrderCostItem(props, ref) {
|
||||||
const { value, onChange } = props;
|
const { value, onChange } = props;
|
||||||
|
|
||||||
|
const calculator = new PurchaseOrderCalculator(value as any);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
orderId,
|
orderId,
|
||||||
orderSupplierList,
|
orderSupplierList,
|
||||||
@ -91,6 +93,27 @@ export default forwardRef<OrderCostItemRef, IOrderCostItemProps>(
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 自动把纸箱加进去
|
||||||
|
const boxCostItem = parsedCostTemplate.materialTypeList?.find(
|
||||||
|
(item: any) => item.name === "纸箱",
|
||||||
|
);
|
||||||
|
|
||||||
|
if (boxCostItem) {
|
||||||
|
newOrderCostItemList.push({
|
||||||
|
orderCostItemId: boxCostItem?.orderCostItemId || generateShortId(),
|
||||||
|
orderId: orderId,
|
||||||
|
costItemId: boxCostItem.costItemId,
|
||||||
|
name: boxCostItem.name,
|
||||||
|
price: calculator.getBoxSale(),
|
||||||
|
unit: boxCostItem.unit,
|
||||||
|
selected: true,
|
||||||
|
count: boxCostItem?.count || 1,
|
||||||
|
payerType: boxCostItem?.payerType,
|
||||||
|
type: boxCostItem.type,
|
||||||
|
rule: boxCostItem.rule,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
onChange?.({
|
onChange?.({
|
||||||
...value,
|
...value,
|
||||||
orderCostItemList: newOrderCostItemList,
|
orderCostItemList: newOrderCostItemList,
|
||||||
|
|||||||
@ -336,7 +336,22 @@ export default forwardRef<OrderOptionRef, IOrderOptionProps>(
|
|||||||
className="flex-1 bg-gray-200 text-gray-700"
|
className="flex-1 bg-gray-200 text-gray-700"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
if (active > 1) {
|
if (active > 1) {
|
||||||
setActive(active - 1);
|
if (active === 5) {
|
||||||
|
// 获取当前选中的供应商
|
||||||
|
const selectedIndex = orderSupplierList.findIndex(
|
||||||
|
(supplier) => supplier.selected,
|
||||||
|
);
|
||||||
|
if (
|
||||||
|
orderSupplierList[selectedIndex].loadingMode ===
|
||||||
|
"FRAME_WITH_NET"
|
||||||
|
) {
|
||||||
|
setActive(active - 2);
|
||||||
|
} else {
|
||||||
|
setActive(active - 1);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
setActive(active - 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
@ -407,7 +422,15 @@ export default forwardRef<OrderOptionRef, IOrderOptionProps>(
|
|||||||
) {
|
) {
|
||||||
const success = await saveSupplierInfo();
|
const success = await saveSupplierInfo();
|
||||||
if (success) {
|
if (success) {
|
||||||
setActive(active + 1);
|
// 判断装箱方式
|
||||||
|
if (
|
||||||
|
orderSupplierList[selectedIndex].loadingMode ===
|
||||||
|
"FRAME_WITH_NET"
|
||||||
|
) {
|
||||||
|
setActive(active + 2);
|
||||||
|
} else {
|
||||||
|
setActive(active + 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // 在第四步(包装信息)时进行校验
|
} // 在第四步(包装信息)时进行校验
|
||||||
|
|||||||
@ -782,6 +782,14 @@ export default forwardRef<OrderVehicleRef, IOrderVehicleProps>(
|
|||||||
onChange={handlePriceChange}
|
onChange={handlePriceChange}
|
||||||
onBlur={handlePriceBlur}
|
onBlur={handlePriceBlur}
|
||||||
/>
|
/>
|
||||||
|
<View
|
||||||
|
className="text-gray-500"
|
||||||
|
style={{
|
||||||
|
padding: `var(--nutui-input-padding)`,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
元
|
||||||
|
</View>
|
||||||
</View>
|
</View>
|
||||||
{priceError && (
|
{priceError && (
|
||||||
<View className="mt-1 text-xs text-red-500">
|
<View className="mt-1 text-xs text-red-500">
|
||||||
@ -796,7 +804,7 @@ export default forwardRef<OrderVehicleRef, IOrderVehicleProps>(
|
|||||||
</View>
|
</View>
|
||||||
<Checkbox
|
<Checkbox
|
||||||
className={"flex flex-row items-center"}
|
className={"flex flex-row items-center"}
|
||||||
checked={orderVehicle.openStrawCurtain}
|
checked={orderVehicle?.openStrawCurtain}
|
||||||
onChange={(checked) => {
|
onChange={(checked) => {
|
||||||
onChange?.({
|
onChange?.({
|
||||||
...value,
|
...value,
|
||||||
@ -812,7 +820,7 @@ export default forwardRef<OrderVehicleRef, IOrderVehicleProps>(
|
|||||||
</View>
|
</View>
|
||||||
</Checkbox>
|
</Checkbox>
|
||||||
</View>
|
</View>
|
||||||
{orderVehicle.openStrawCurtain && (
|
{orderVehicle?.openStrawCurtain && (
|
||||||
<View
|
<View
|
||||||
className={`flex h-10 w-full items-center rounded-md ${strawCurtainPriceError ? "border-4 border-red-500" : "border-4 border-gray-300"}`}
|
className={`flex h-10 w-full items-center rounded-md ${strawCurtainPriceError ? "border-4 border-red-500" : "border-4 border-gray-300"}`}
|
||||||
>
|
>
|
||||||
@ -823,9 +831,17 @@ export default forwardRef<OrderVehicleRef, IOrderVehicleProps>(
|
|||||||
onChange={handleStrawCurtainPriceChange}
|
onChange={handleStrawCurtainPriceChange}
|
||||||
onBlur={handleStrawCurtainPriceBlur}
|
onBlur={handleStrawCurtainPriceBlur}
|
||||||
/>
|
/>
|
||||||
|
<View
|
||||||
|
className="text-gray-500"
|
||||||
|
style={{
|
||||||
|
padding: `var(--nutui-input-padding)`,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
元
|
||||||
|
</View>
|
||||||
</View>
|
</View>
|
||||||
)}
|
)}
|
||||||
{strawCurtainPriceError && orderVehicle.openStrawCurtain && (
|
{strawCurtainPriceError && orderVehicle?.openStrawCurtain && (
|
||||||
<View className="mt-1 text-xs text-red-500">
|
<View className="mt-1 text-xs text-red-500">
|
||||||
请输入正确的草帘费用
|
请输入正确的草帘费用
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
@ -368,7 +368,9 @@ export default function PurchasePreview(props: IPurchasePreviewProps) {
|
|||||||
|
|
||||||
{purchaseOrder.orderCostItemList?.filter(
|
{purchaseOrder.orderCostItemList?.filter(
|
||||||
(orderCostItem: BusinessAPI.OrderCostItem) =>
|
(orderCostItem: BusinessAPI.OrderCostItem) =>
|
||||||
orderCostItem.type === "MATERIAL_TYPE",
|
orderCostItem.type === "MATERIAL_TYPE" &&
|
||||||
|
orderCostItem.name !== "带空箱" &&
|
||||||
|
orderCostItem.name !== "纸箱",
|
||||||
).length > 0 && (
|
).length > 0 && (
|
||||||
<>
|
<>
|
||||||
<View className="text-sm font-bold">辅料使用明细</View>
|
<View className="text-sm font-bold">辅料使用明细</View>
|
||||||
@ -377,7 +379,9 @@ export default function PurchasePreview(props: IPurchasePreviewProps) {
|
|||||||
{purchaseOrder.orderCostItemList
|
{purchaseOrder.orderCostItemList
|
||||||
?.filter(
|
?.filter(
|
||||||
(orderCostItem: BusinessAPI.OrderCostItem) =>
|
(orderCostItem: BusinessAPI.OrderCostItem) =>
|
||||||
orderCostItem.type === "MATERIAL_TYPE",
|
orderCostItem.type === "MATERIAL_TYPE" &&
|
||||||
|
orderCostItem.name !== "带空箱" &&
|
||||||
|
orderCostItem.name !== "纸箱",
|
||||||
)
|
)
|
||||||
.map((orderCostItem) => (
|
.map((orderCostItem) => (
|
||||||
<View
|
<View
|
||||||
|
|||||||
@ -70,7 +70,12 @@ export default function SupplierList(props: ISupplierListProps) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<View className={"sticky top-12 z-10 bg-[#D1D5DB] p-2.5"}>
|
<View className={"sticky top-12 z-10 bg-[#D1D5DB] p-2.5"}>
|
||||||
<ScrollView className={"rounded-xl bg-white shadow-sm"} scrollX>
|
<ScrollView
|
||||||
|
className={
|
||||||
|
"border-primary rounded-lg rounded-xl border-4 bg-white shadow-sm"
|
||||||
|
}
|
||||||
|
scrollX
|
||||||
|
>
|
||||||
<View className="flex flex-row">
|
<View className="flex flex-row">
|
||||||
{orderSupplierList?.map((supplierVO: BusinessAPI.OrderSupplier) => (
|
{orderSupplierList?.map((supplierVO: BusinessAPI.OrderSupplier) => (
|
||||||
<View
|
<View
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import { Image, View } from "@tarojs/components";
|
import { Image, View } from "@tarojs/components";
|
||||||
import {
|
import {
|
||||||
Button,
|
Button,
|
||||||
|
Dialog,
|
||||||
Input,
|
Input,
|
||||||
Popup,
|
Popup,
|
||||||
Radio,
|
Radio,
|
||||||
@ -123,6 +124,11 @@ export default forwardRef<WeighRef, IWeightProps>(function Weigh(props, ref) {
|
|||||||
[key: string]: boolean;
|
[key: string]: boolean;
|
||||||
}>({});
|
}>({});
|
||||||
|
|
||||||
|
// 装车方式切换确认状态
|
||||||
|
const [loadingModeConfirmVisible, setLoadingModeConfirmVisible] =
|
||||||
|
useState(false);
|
||||||
|
const [pendingLoadingMode, setPendingLoadingMode] = useState<string>("");
|
||||||
|
|
||||||
// 空磅照片上传处理函数
|
// 空磅照片上传处理函数
|
||||||
const handleEmptyWeightImgUpload = async () => {
|
const handleEmptyWeightImgUpload = async () => {
|
||||||
await Taro.chooseImage({
|
await Taro.chooseImage({
|
||||||
@ -203,6 +209,49 @@ export default forwardRef<WeighRef, IWeightProps>(function Weigh(props, ref) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 检查是否有包装信息
|
||||||
|
const hasPackageInfo = () => {
|
||||||
|
return (
|
||||||
|
supplierVO.orderPackageList && supplierVO.orderPackageList.length > 0
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
// 处理装车方式切换
|
||||||
|
const handleLoadingModeChange = (newLoadingMode: string) => {
|
||||||
|
// 如果切换到"搭架子+网垫"且有包装信息,需要确认
|
||||||
|
if (newLoadingMode === "FRAME_WITH_NET" && hasPackageInfo()) {
|
||||||
|
setPendingLoadingMode(newLoadingMode);
|
||||||
|
setLoadingModeConfirmVisible(true);
|
||||||
|
} else {
|
||||||
|
// 直接切换
|
||||||
|
setSupplierVO({
|
||||||
|
...supplierVO,
|
||||||
|
loadingMode: newLoadingMode as any,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// 确认切换装车方式并清空包装信息
|
||||||
|
const confirmLoadingModeChange = () => {
|
||||||
|
setLoadingModeConfirmVisible(false);
|
||||||
|
setSupplierVO({
|
||||||
|
...supplierVO,
|
||||||
|
loadingMode: pendingLoadingMode as any,
|
||||||
|
orderPackageList: [], // 清空包装信息
|
||||||
|
});
|
||||||
|
Toast.show("toast", {
|
||||||
|
title: "提示",
|
||||||
|
icon: "success",
|
||||||
|
content: "已切换装车方式并清空包装信息",
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// 取消切换装车方式
|
||||||
|
const cancelLoadingModeChange = () => {
|
||||||
|
setLoadingModeConfirmVisible(false);
|
||||||
|
setPendingLoadingMode("");
|
||||||
|
};
|
||||||
|
|
||||||
// 将校验方法暴露给父组件
|
// 将校验方法暴露给父组件
|
||||||
useImperativeHandle(ref, () => ({
|
useImperativeHandle(ref, () => ({
|
||||||
validate,
|
validate,
|
||||||
@ -566,27 +615,6 @@ export default forwardRef<WeighRef, IWeightProps>(function Weigh(props, ref) {
|
|||||||
|
|
||||||
{isFirst && (
|
{isFirst && (
|
||||||
<>
|
<>
|
||||||
{/* 装车方式 */}
|
|
||||||
{/*<View className="border-primary rounded-lg border-4 bg-white p-2.5 shadow-sm">*/}
|
|
||||||
{/* <View className={"flex items-center justify-between gap-2.5"}>*/}
|
|
||||||
{/* <View className="text-sm">装车需要纸箱吗?</View>*/}
|
|
||||||
{/* <View className="text-neutral-darkest text-sm font-medium">*/}
|
|
||||||
{/* <Radio.Group*/}
|
|
||||||
{/* direction="horizontal"*/}
|
|
||||||
{/* value={supplierVO.pricingMethod}*/}
|
|
||||||
{/* onChange={(value) => {*/}
|
|
||||||
{/* setSupplierVO({*/}
|
|
||||||
{/* ...supplierVO,*/}
|
|
||||||
{/* pricingMethod: value as any,*/}
|
|
||||||
{/* });*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* >*/}
|
|
||||||
{/* <Radio value="BY_GROSS_WEIGHT">需要</Radio>*/}
|
|
||||||
{/* <Radio value="BY_NET_WEIGHT">不需要</Radio>*/}
|
|
||||||
{/* </Radio.Group>*/}
|
|
||||||
{/* </View>*/}
|
|
||||||
{/* </View>*/}
|
|
||||||
{/*</View>*/}
|
|
||||||
<View className="border-primary rounded-lg border-4 bg-white p-2.5 shadow-sm">
|
<View className="border-primary rounded-lg border-4 bg-white p-2.5 shadow-sm">
|
||||||
<View className={"flex items-center justify-between gap-2.5"}>
|
<View className={"flex items-center justify-between gap-2.5"}>
|
||||||
<View className="text-sm">空车过磅时带纸箱了吗?</View>
|
<View className="text-sm">空车过磅时带纸箱了吗?</View>
|
||||||
@ -637,55 +665,97 @@ export default forwardRef<WeighRef, IWeightProps>(function Weigh(props, ref) {
|
|||||||
|
|
||||||
{productList.length > 0 && (
|
{productList.length > 0 && (
|
||||||
<View className="border-primary rounded-lg border-4 bg-white p-2.5 shadow-sm">
|
<View className="border-primary rounded-lg border-4 bg-white p-2.5 shadow-sm">
|
||||||
<View className={"flex items-center justify-between gap-2.5"}>
|
<View className={"flex flex-col gap-2.5"}>
|
||||||
<View className="text-sm">装的西瓜品种是?</View>
|
<View className={"flex items-center justify-between gap-2.5"}>
|
||||||
<View className="text-neutral-darkest text-sm font-medium">
|
<View className="text-sm">装的西瓜品种是?</View>
|
||||||
<Radio.Group
|
<View className="text-neutral-darkest text-sm font-medium">
|
||||||
direction="horizontal"
|
<Radio.Group
|
||||||
value={supplierVO.productId}
|
direction="horizontal"
|
||||||
onChange={(value) => {
|
value={supplierVO.productId}
|
||||||
// 清除错误状态
|
onChange={(value) => {
|
||||||
setProductIdError((prev) => ({
|
// 清除错误状态
|
||||||
...prev,
|
setProductIdError((prev) => ({
|
||||||
[supplierVO.orderSupplierId]: false,
|
...prev,
|
||||||
}));
|
[supplierVO.orderSupplierId]: false,
|
||||||
|
}));
|
||||||
|
|
||||||
if (value === "other") {
|
if (value === "other") {
|
||||||
// 点击"其他"时打开弹窗
|
// 点击"其他"时打开弹窗
|
||||||
setProductPopupVisible(true);
|
setProductPopupVisible(true);
|
||||||
} else {
|
} else {
|
||||||
// 根据用户选择设置西瓜品种
|
// 根据用户选择设置西瓜品种
|
||||||
const productId = value as string;
|
const productId = value as string;
|
||||||
const productVO = productList.find(
|
const productVO = productList.find(
|
||||||
(p) => p.productId === productId,
|
(p) => p.productId === productId,
|
||||||
);
|
);
|
||||||
|
|
||||||
if (productVO) {
|
if (productVO) {
|
||||||
setSupplierVO({
|
setSupplierVO({
|
||||||
...supplierVO,
|
...supplierVO,
|
||||||
productId: productVO?.productId,
|
productId: productVO?.productId,
|
||||||
productName: productVO?.name,
|
productName: productVO?.name,
|
||||||
});
|
loadingMode:
|
||||||
|
productVO?.name !== "硒砂瓜"
|
||||||
|
? "BOX_WITH_TAPE"
|
||||||
|
: undefined,
|
||||||
|
});
|
||||||
|
|
||||||
changeProduct(productVO);
|
changeProduct(productVO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}}
|
||||||
}}
|
|
||||||
>
|
|
||||||
<Radio
|
|
||||||
value={supplierVO.productId || productList?.[0].productId}
|
|
||||||
>
|
>
|
||||||
{supplierVO.productName || productList?.[0].name}
|
<Radio
|
||||||
</Radio>
|
value={
|
||||||
<Radio value="other">其他</Radio>
|
supplierVO.productId || productList?.[0].productId
|
||||||
</Radio.Group>
|
}
|
||||||
|
>
|
||||||
|
{supplierVO.productName || productList?.[0].name}
|
||||||
|
</Radio>
|
||||||
|
<Radio value="other">其他</Radio>
|
||||||
|
</Radio.Group>
|
||||||
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
{isProductIdError[supplierVO.orderSupplierId] && (
|
||||||
|
<View className="mt-1 text-xs text-red-500">
|
||||||
|
请选择西瓜品种
|
||||||
|
</View>
|
||||||
|
)}
|
||||||
|
{/*装车方式 */}
|
||||||
|
{supplierVO.productName === "硒砂瓜" && (
|
||||||
|
<>
|
||||||
|
<View className="text-neutral-darkest text-sm font-medium">
|
||||||
|
装车方式
|
||||||
|
</View>
|
||||||
|
<View className="flex flex-row gap-4">
|
||||||
|
<View
|
||||||
|
className={`flex flex-1 flex-row items-center justify-center rounded-md py-2 ${
|
||||||
|
supplierVO.loadingMode === "FRAME_WITH_NET"
|
||||||
|
? "bg-blue-100 text-blue-600"
|
||||||
|
: "border border-gray-300"
|
||||||
|
}`}
|
||||||
|
onClick={() => {
|
||||||
|
handleLoadingModeChange("FRAME_WITH_NET");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
搭架子+网垫
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
className={`flex flex-1 flex-row items-center justify-center rounded-md py-2 ${
|
||||||
|
supplierVO.loadingMode === "BOX_WITH_TAPE"
|
||||||
|
? "bg-blue-100 text-blue-600"
|
||||||
|
: "border border-gray-300"
|
||||||
|
}`}
|
||||||
|
onClick={() => {
|
||||||
|
handleLoadingModeChange("BOX_WITH_TAPE");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
纸箱+胶带+木隔板
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
</View>
|
</View>
|
||||||
{isProductIdError[supplierVO.orderSupplierId] && (
|
|
||||||
<View className="mt-1 text-xs text-red-500">
|
|
||||||
请选择西瓜品种
|
|
||||||
</View>
|
|
||||||
)}
|
|
||||||
</View>
|
</View>
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
@ -715,88 +785,92 @@ export default forwardRef<WeighRef, IWeightProps>(function Weigh(props, ref) {
|
|||||||
|
|
||||||
{/* 有定金吗,有定金就要填写本车扣多少定金 */}
|
{/* 有定金吗,有定金就要填写本车扣多少定金 */}
|
||||||
<View className="border-primary rounded-lg border-4 bg-white p-2.5 shadow-sm">
|
<View className="border-primary rounded-lg border-4 bg-white p-2.5 shadow-sm">
|
||||||
<View className={"flex items-center justify-between gap-2.5"}>
|
<View className={"flex flex-col gap-2.5"}>
|
||||||
<View className="text-sm">付{supplierVO.name}定金了吗?</View>
|
<View className={"flex items-center justify-between gap-2.5"}>
|
||||||
<View className="text-neutral-darkest text-sm font-medium">
|
<View className="text-sm">付{supplierVO.name}定金了吗?</View>
|
||||||
<Radio.Group
|
<View className="text-neutral-darkest text-sm font-medium">
|
||||||
direction="horizontal"
|
<Radio.Group
|
||||||
value={
|
direction="horizontal"
|
||||||
supplierVO.isDepositPaid === true
|
value={
|
||||||
? "true"
|
supplierVO.isDepositPaid === true
|
||||||
: supplierVO.isDepositPaid === false
|
? "true"
|
||||||
? "false"
|
: supplierVO.isDepositPaid === false
|
||||||
: undefined
|
? "false"
|
||||||
}
|
: undefined
|
||||||
onChange={(value) => {
|
}
|
||||||
const isDepositPaidValue =
|
|
||||||
value === "true"
|
|
||||||
? true
|
|
||||||
: value === "false"
|
|
||||||
? false
|
|
||||||
: undefined;
|
|
||||||
|
|
||||||
setSupplierVO({
|
|
||||||
...supplierVO,
|
|
||||||
// @ts-ignore
|
|
||||||
isDepositPaid: isDepositPaidValue,
|
|
||||||
// 如果选择了"有定金",默认定金金额为0
|
|
||||||
...(isDepositPaidValue === true && {
|
|
||||||
depositAmount: supplierVO.depositAmount ?? 0,
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<Radio value="true">付了</Radio>
|
|
||||||
<Radio value="false">没付</Radio>
|
|
||||||
</Radio.Group>
|
|
||||||
</View>
|
|
||||||
</View>
|
|
||||||
|
|
||||||
{supplierVO.isDepositPaid === true && (
|
|
||||||
<View className="mt-2.5">
|
|
||||||
<View className="mb-1 text-sm">本车需付多少订金</View>
|
|
||||||
<View
|
|
||||||
className={`flex h-10 w-full items-center rounded-md ${depositError[supplierVO.orderSupplierId] ? "border-4 border-red-500" : "border-4 border-gray-300"}`}
|
|
||||||
>
|
|
||||||
<Input
|
|
||||||
placeholder="0"
|
|
||||||
type="digit"
|
|
||||||
value={supplierVO.depositAmount?.toString()}
|
|
||||||
onChange={(value) => {
|
onChange={(value) => {
|
||||||
const numValue = validatePrice(value);
|
const isDepositPaidValue =
|
||||||
if (numValue !== undefined) {
|
value === "true"
|
||||||
setSupplierVO({
|
? true
|
||||||
...supplierVO,
|
: value === "false"
|
||||||
depositAmount: numValue as any,
|
? false
|
||||||
});
|
: undefined;
|
||||||
// 校验输入值
|
|
||||||
validateDepositAmount(true, numValue as any);
|
setSupplierVO({
|
||||||
}
|
...supplierVO,
|
||||||
}}
|
// @ts-ignore
|
||||||
onBlur={() => {
|
isDepositPaid: isDepositPaidValue,
|
||||||
// 失去焦点时进行校验
|
// 如果选择了"有定金",默认定金金额为0
|
||||||
validateDepositAmount(
|
...(isDepositPaidValue === true && {
|
||||||
supplierVO.isDepositPaid,
|
depositAmount: supplierVO.depositAmount ?? 0,
|
||||||
supplierVO.depositAmount,
|
}),
|
||||||
);
|
});
|
||||||
}}
|
|
||||||
/>
|
|
||||||
<View
|
|
||||||
className="text-gray-500"
|
|
||||||
style={{
|
|
||||||
padding: `var(--nutui-input-padding)`,
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
元
|
<Radio value="true">付了</Radio>
|
||||||
</View>
|
<Radio value="false">没付</Radio>
|
||||||
|
</Radio.Group>
|
||||||
</View>
|
</View>
|
||||||
{depositError[supplierVO.orderSupplierId] && (
|
|
||||||
<View className="mt-1 text-xs text-red-500">
|
|
||||||
请输入有效的定金金额(必须大于0)
|
|
||||||
</View>
|
|
||||||
)}
|
|
||||||
</View>
|
</View>
|
||||||
)}
|
|
||||||
|
{supplierVO.isDepositPaid === true && (
|
||||||
|
<>
|
||||||
|
<View className="text-neutral-darkest text-sm font-medium">
|
||||||
|
本车需付多少订金
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
className={`flex h-10 w-full items-center rounded-md ${depositError[supplierVO.orderSupplierId] ? "border-4 border-red-500" : "border-4 border-gray-300"}`}
|
||||||
|
>
|
||||||
|
<Input
|
||||||
|
placeholder="0"
|
||||||
|
type="digit"
|
||||||
|
value={supplierVO.depositAmount?.toString()}
|
||||||
|
onChange={(value) => {
|
||||||
|
const numValue = validatePrice(value);
|
||||||
|
if (numValue !== undefined) {
|
||||||
|
setSupplierVO({
|
||||||
|
...supplierVO,
|
||||||
|
depositAmount: numValue as any,
|
||||||
|
});
|
||||||
|
// 校验输入值
|
||||||
|
validateDepositAmount(true, numValue as any);
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
onBlur={() => {
|
||||||
|
// 失去焦点时进行校验
|
||||||
|
validateDepositAmount(
|
||||||
|
supplierVO.isDepositPaid,
|
||||||
|
supplierVO.depositAmount,
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<View
|
||||||
|
className="text-gray-500"
|
||||||
|
style={{
|
||||||
|
padding: `var(--nutui-input-padding)`,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
元
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
{depositError[supplierVO.orderSupplierId] && (
|
||||||
|
<View className="mt-1 text-xs text-red-500">
|
||||||
|
请输入有效的定金金额(必须大于0)
|
||||||
|
</View>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
{/* 采购单价区域 */}
|
{/* 采购单价区域 */}
|
||||||
@ -836,6 +910,14 @@ export default forwardRef<WeighRef, IWeightProps>(function Weigh(props, ref) {
|
|||||||
validatePurchasePrice(supplierVO.purchasePrice);
|
validatePurchasePrice(supplierVO.purchasePrice);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
<View
|
||||||
|
className="text-gray-500"
|
||||||
|
style={{
|
||||||
|
padding: `var(--nutui-input-padding)`,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
元/斤
|
||||||
|
</View>
|
||||||
</View>
|
</View>
|
||||||
{priceError[supplierVO.orderSupplierId] && (
|
{priceError[supplierVO.orderSupplierId] && (
|
||||||
<View className="mt-1 text-xs text-red-500">
|
<View className="mt-1 text-xs text-red-500">
|
||||||
@ -887,6 +969,14 @@ export default forwardRef<WeighRef, IWeightProps>(function Weigh(props, ref) {
|
|||||||
validateEmptyWeight(supplierVO.emptyWeight);
|
validateEmptyWeight(supplierVO.emptyWeight);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
<View
|
||||||
|
className="text-gray-500"
|
||||||
|
style={{
|
||||||
|
padding: `var(--nutui-input-padding)`,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
kg
|
||||||
|
</View>
|
||||||
</View>
|
</View>
|
||||||
{emptyWeightError[supplierVO.orderSupplierId] && (
|
{emptyWeightError[supplierVO.orderSupplierId] && (
|
||||||
<View className="mt-1 text-xs text-red-500">
|
<View className="mt-1 text-xs text-red-500">
|
||||||
@ -938,6 +1028,14 @@ export default forwardRef<WeighRef, IWeightProps>(function Weigh(props, ref) {
|
|||||||
validateTotalWeight(supplierVO.totalWeight);
|
validateTotalWeight(supplierVO.totalWeight);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
<View
|
||||||
|
className="text-gray-500"
|
||||||
|
style={{
|
||||||
|
padding: `var(--nutui-input-padding)`,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
kg
|
||||||
|
</View>
|
||||||
</View>
|
</View>
|
||||||
{totalWeightError[supplierVO.orderSupplierId] && (
|
{totalWeightError[supplierVO.orderSupplierId] && (
|
||||||
<View className="mt-1 text-xs text-red-500">
|
<View className="mt-1 text-xs text-red-500">
|
||||||
@ -1047,6 +1145,15 @@ export default forwardRef<WeighRef, IWeightProps>(function Weigh(props, ref) {
|
|||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
|
{/* 装车方式切换确认对话框 */}
|
||||||
|
<Dialog
|
||||||
|
visible={loadingModeConfirmVisible}
|
||||||
|
title="装车方式切换确认"
|
||||||
|
content="检测到已经录入包装信息,切换到搭架子+网垫将会清空所有包装信息,是否确认切换?"
|
||||||
|
onCancel={cancelLoadingModeChange}
|
||||||
|
onConfirm={confirmLoadingModeChange}
|
||||||
|
/>
|
||||||
</View>
|
</View>
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export default function DeliveryFormSection(props: {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
init(purchaseOrderVO);
|
init(purchaseOrderVO);
|
||||||
}, [purchaseOrderVO]);
|
}, [purchaseOrderVO.orderDealer.dealerId]);
|
||||||
|
|
||||||
// 更新模板配置
|
// 更新模板配置
|
||||||
const updateTemplateConfig = async (template: any[], data: any) => {
|
const updateTemplateConfig = async (template: any[], data: any) => {
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
// App 相关常量
|
// App 相关常量
|
||||||
export const APP_VERSION = "v0.0.32";
|
export const APP_VERSION = "v0.0.33";
|
||||||
|
|||||||
@ -303,6 +303,8 @@ export default hocAuth(function Page(props: CommonComponent) {
|
|||||||
// 暂存和提交审核的Dialog状态
|
// 暂存和提交审核的Dialog状态
|
||||||
const [saveDialogVisible, setSaveDialogVisible] = useState(false);
|
const [saveDialogVisible, setSaveDialogVisible] = useState(false);
|
||||||
const [submitDialogVisible, setSubmitDialogVisible] = useState(false);
|
const [submitDialogVisible, setSubmitDialogVisible] = useState(false);
|
||||||
|
const [provisionZeroConfirmVisible, setProvisionZeroConfirmVisible] =
|
||||||
|
useState(false);
|
||||||
|
|
||||||
// 控制更多操作的ActionSheet显示状态
|
// 控制更多操作的ActionSheet显示状态
|
||||||
const [moreActionVisible, setMoreActionVisible] = useState(false);
|
const [moreActionVisible, setMoreActionVisible] = useState(false);
|
||||||
@ -352,9 +354,26 @@ export default hocAuth(function Page(props: CommonComponent) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 检查计提费是否为0
|
||||||
|
const checkProvisionFeeZero = () => {
|
||||||
|
const provisionCost = purchaseOrderVO?.orderCostList.find(
|
||||||
|
(item) => item.name === "计提费" && item.type === "OTHER_TYPE",
|
||||||
|
);
|
||||||
|
|
||||||
|
// 如果没有计提费或者计提费金额为0,返回true
|
||||||
|
return !provisionCost || provisionCost.price === 0;
|
||||||
|
};
|
||||||
|
|
||||||
// 提交老板审核操作
|
// 提交老板审核操作
|
||||||
const handleSubmit = () => {
|
const handleSubmit = () => {
|
||||||
setSubmitDialogVisible(true);
|
// 检查计提费是否为0
|
||||||
|
if (checkProvisionFeeZero()) {
|
||||||
|
// 计提费为0,弹出确认对话框
|
||||||
|
setProvisionZeroConfirmVisible(true);
|
||||||
|
} else {
|
||||||
|
// 计提费不为0,直接弹出提交确认对话框
|
||||||
|
setSubmitDialogVisible(true);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 确认提交老板审核
|
// 确认提交老板审核
|
||||||
@ -396,6 +415,17 @@ export default hocAuth(function Page(props: CommonComponent) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 确认计提费为0仍继续提交
|
||||||
|
const confirmProvisionZeroSubmit = () => {
|
||||||
|
setProvisionZeroConfirmVisible(false);
|
||||||
|
confirmSubmit();
|
||||||
|
};
|
||||||
|
|
||||||
|
// 取消提交(当计提费为0时)
|
||||||
|
const cancelProvisionZeroSubmit = () => {
|
||||||
|
setProvisionZeroConfirmVisible(false);
|
||||||
|
};
|
||||||
|
|
||||||
// 表单校验
|
// 表单校验
|
||||||
const validateForm = () => {
|
const validateForm = () => {
|
||||||
// 校验销售方
|
// 校验销售方
|
||||||
@ -490,6 +520,38 @@ export default hocAuth(function Page(props: CommonComponent) {
|
|||||||
selected: true,
|
selected: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 加运费
|
||||||
|
if (purchaseOrderVO.orderVehicle.price) {
|
||||||
|
purchaseOrderVO.orderCostList.push({
|
||||||
|
orderCostId: generateShortId(),
|
||||||
|
costId: "",
|
||||||
|
name: "运费",
|
||||||
|
price: purchaseOrderVO.orderVehicle.price,
|
||||||
|
unit: "元",
|
||||||
|
count: 1,
|
||||||
|
type: "OTHER_TYPE",
|
||||||
|
costItemIds: [],
|
||||||
|
principal: "",
|
||||||
|
selected: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加草帘
|
||||||
|
if (purchaseOrderVO.orderVehicle.openStrawCurtain) {
|
||||||
|
purchaseOrderVO.orderCostList.push({
|
||||||
|
orderCostId: generateShortId(),
|
||||||
|
costId: "",
|
||||||
|
name: "草帘费",
|
||||||
|
price: purchaseOrderVO.orderVehicle.strawCurtainPrice!,
|
||||||
|
unit: "元",
|
||||||
|
count: 1,
|
||||||
|
type: "OTHER_TYPE",
|
||||||
|
costItemIds: [],
|
||||||
|
principal: "",
|
||||||
|
selected: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setPurchaseOrderVO(purchaseOrderVO);
|
setPurchaseOrderVO(purchaseOrderVO);
|
||||||
@ -744,6 +806,16 @@ export default hocAuth(function Page(props: CommonComponent) {
|
|||||||
onConfirm={confirmSave}
|
onConfirm={confirmSave}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
{/* 计提费为0确认对话框 */}
|
||||||
|
<Dialog
|
||||||
|
visible={provisionZeroConfirmVisible}
|
||||||
|
title="计提费确认"
|
||||||
|
content="检测到计提费为0,请确认是否需要继续提交给老板审核?"
|
||||||
|
confirmText={"确认并提交"}
|
||||||
|
onCancel={cancelProvisionZeroSubmit}
|
||||||
|
onConfirm={confirmProvisionZeroSubmit}
|
||||||
|
/>
|
||||||
|
|
||||||
{/* 提交审核确认对话框 */}
|
{/* 提交审核确认对话框 */}
|
||||||
<Dialog
|
<Dialog
|
||||||
visible={submitDialogVisible}
|
visible={submitDialogVisible}
|
||||||
|
|||||||
@ -179,15 +179,6 @@ export default hocAuth(function Page(props: CommonComponent) {
|
|||||||
setStep(purchase.steps[purchaseOrder?.active! - 1]);
|
setStep(purchase.steps[purchaseOrder?.active! - 1]);
|
||||||
}, [purchaseOrder?.active]);
|
}, [purchaseOrder?.active]);
|
||||||
|
|
||||||
// useEffect(() => {
|
|
||||||
// if (defaultStep) {
|
|
||||||
// setPurchaseOrder((prev) => ({
|
|
||||||
// ...prev!,
|
|
||||||
// active: defaultStep + 1,
|
|
||||||
// }));
|
|
||||||
// }
|
|
||||||
// }, [defaultStep]);
|
|
||||||
|
|
||||||
const setOrderSupplierList = (
|
const setOrderSupplierList = (
|
||||||
orderSupplierList: BusinessAPI.OrderSupplier[],
|
orderSupplierList: BusinessAPI.OrderSupplier[],
|
||||||
) => {
|
) => {
|
||||||
|
|||||||
@ -2022,6 +2022,8 @@ declare namespace BusinessAPI {
|
|||||||
type LastVehicleNoQry = {
|
type LastVehicleNoQry = {
|
||||||
/** 状态:1_启用;0_禁用; */
|
/** 状态:1_启用;0_禁用; */
|
||||||
status?: boolean;
|
status?: boolean;
|
||||||
|
/** 经销商ID */
|
||||||
|
dealerId?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
type listAgreementParams = {
|
type listAgreementParams = {
|
||||||
@ -2362,8 +2364,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: AgreementVO[];
|
data?: AgreementVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseBoxBrandVO = {
|
type MultiResponseBoxBrandVO = {
|
||||||
@ -2371,8 +2373,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: BoxBrandVO[];
|
data?: BoxBrandVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseBoxProductVO = {
|
type MultiResponseBoxProductVO = {
|
||||||
@ -2380,8 +2382,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: BoxProductVO[];
|
data?: BoxProductVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseBoxSpecVO = {
|
type MultiResponseBoxSpecVO = {
|
||||||
@ -2389,8 +2391,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: BoxSpecVO[];
|
data?: BoxSpecVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseCompanyPaymentAccountVO = {
|
type MultiResponseCompanyPaymentAccountVO = {
|
||||||
@ -2398,8 +2400,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: CompanyPaymentAccountVO[];
|
data?: CompanyPaymentAccountVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseCompanyVO = {
|
type MultiResponseCompanyVO = {
|
||||||
@ -2407,8 +2409,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: CompanyVO[];
|
data?: CompanyVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseCostItemVO = {
|
type MultiResponseCostItemVO = {
|
||||||
@ -2416,8 +2418,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: CostItemVO[];
|
data?: CostItemVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseCostVO = {
|
type MultiResponseCostVO = {
|
||||||
@ -2425,8 +2427,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: CostVO[];
|
data?: CostVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseDealerPaymentAccountVO = {
|
type MultiResponseDealerPaymentAccountVO = {
|
||||||
@ -2434,8 +2436,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: DealerPaymentAccountVO[];
|
data?: DealerPaymentAccountVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseDealerRebateCustomerVO = {
|
type MultiResponseDealerRebateCustomerVO = {
|
||||||
@ -2443,8 +2445,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: DealerRebateCustomerVO[];
|
data?: DealerRebateCustomerVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseDealerVO = {
|
type MultiResponseDealerVO = {
|
||||||
@ -2452,8 +2454,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: DealerVO[];
|
data?: DealerVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseDealerWarehouseVO = {
|
type MultiResponseDealerWarehouseVO = {
|
||||||
@ -2461,8 +2463,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: DealerWarehouseVO[];
|
data?: DealerWarehouseVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseDictionaryVO = {
|
type MultiResponseDictionaryVO = {
|
||||||
@ -2470,8 +2472,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: DictionaryVO[];
|
data?: DictionaryVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseEmployeeVO = {
|
type MultiResponseEmployeeVO = {
|
||||||
@ -2479,8 +2481,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: EmployeeVO[];
|
data?: EmployeeVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseGiftBoxVO = {
|
type MultiResponseGiftBoxVO = {
|
||||||
@ -2488,8 +2490,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: GiftBoxVO[];
|
data?: GiftBoxVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseMaterialVO = {
|
type MultiResponseMaterialVO = {
|
||||||
@ -2497,8 +2499,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: MaterialVO[];
|
data?: MaterialVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseMenuVO = {
|
type MultiResponseMenuVO = {
|
||||||
@ -2506,8 +2508,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: MenuVO[];
|
data?: MenuVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponsePermissionVO = {
|
type MultiResponsePermissionVO = {
|
||||||
@ -2515,8 +2517,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: PermissionVO[];
|
data?: PermissionVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponsePlatformVO = {
|
type MultiResponsePlatformVO = {
|
||||||
@ -2524,8 +2526,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: PlatformVO[];
|
data?: PlatformVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseProductVO = {
|
type MultiResponseProductVO = {
|
||||||
@ -2533,8 +2535,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: ProductVO[];
|
data?: ProductVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponsePurchaseOrderVO = {
|
type MultiResponsePurchaseOrderVO = {
|
||||||
@ -2542,8 +2544,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: PurchaseOrderVO[];
|
data?: PurchaseOrderVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseRoleVO = {
|
type MultiResponseRoleVO = {
|
||||||
@ -2551,8 +2553,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: RoleVO[];
|
data?: RoleVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseShipOrderVO = {
|
type MultiResponseShipOrderVO = {
|
||||||
@ -2560,8 +2562,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: ShipOrderVO[];
|
data?: ShipOrderVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseSupplierVO = {
|
type MultiResponseSupplierVO = {
|
||||||
@ -2569,8 +2571,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: SupplierVO[];
|
data?: SupplierVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseTreeLong = {
|
type MultiResponseTreeLong = {
|
||||||
@ -2578,8 +2580,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: TreeLong[];
|
data?: TreeLong[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type MultiResponseUserVO = {
|
type MultiResponseUserVO = {
|
||||||
@ -2587,8 +2589,8 @@ declare namespace BusinessAPI {
|
|||||||
errCode?: string;
|
errCode?: string;
|
||||||
errMessage?: string;
|
errMessage?: string;
|
||||||
data?: UserVO[];
|
data?: UserVO[];
|
||||||
notEmpty?: boolean;
|
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
|
notEmpty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type OrderCompany = {
|
type OrderCompany = {
|
||||||
@ -2648,7 +2650,7 @@ declare namespace BusinessAPI {
|
|||||||
| "PRODUCTION_TYPE"
|
| "PRODUCTION_TYPE"
|
||||||
| "OTHER_TYPE";
|
| "OTHER_TYPE";
|
||||||
/** 关联项目id */
|
/** 关联项目id */
|
||||||
costItemIds?: number[];
|
costItemIds?: string[];
|
||||||
/** 是否选中 */
|
/** 是否选中 */
|
||||||
selected: boolean;
|
selected: boolean;
|
||||||
};
|
};
|
||||||
@ -2812,6 +2814,8 @@ declare namespace BusinessAPI {
|
|||||||
purchasePrice: number;
|
purchasePrice: number;
|
||||||
/** 箱子类型 */
|
/** 箱子类型 */
|
||||||
packageUsage: SupplierPackageUsage[];
|
packageUsage: SupplierPackageUsage[];
|
||||||
|
/** 装车模式 1_搭架子+网垫;2_纸箱+胶带+木隔板 */
|
||||||
|
loadingMode?: "FRAME_WITH_NET" | "BOX_WITH_TAPE";
|
||||||
/** 销售单价(元/斤) */
|
/** 销售单价(元/斤) */
|
||||||
salePrice: number;
|
salePrice: number;
|
||||||
/** 报价方式:1_按毛重报价;2_按净重报价; */
|
/** 报价方式:1_按毛重报价;2_按净重报价; */
|
||||||
@ -2891,6 +2895,8 @@ declare namespace BusinessAPI {
|
|||||||
isDepositPaid?: boolean;
|
isDepositPaid?: boolean;
|
||||||
/** 定金金额 */
|
/** 定金金额 */
|
||||||
depositAmount?: number;
|
depositAmount?: number;
|
||||||
|
/** 装车模式 1_搭架子+网垫;2_纸箱+胶带+木隔板 */
|
||||||
|
loadingMode?: "FRAME_WITH_NET" | "BOX_WITH_TAPE";
|
||||||
};
|
};
|
||||||
|
|
||||||
type OrderSupplierVO = {
|
type OrderSupplierVO = {
|
||||||
@ -2918,6 +2924,8 @@ declare namespace BusinessAPI {
|
|||||||
productId?: string;
|
productId?: string;
|
||||||
/** 产品名称 */
|
/** 产品名称 */
|
||||||
productName?: string;
|
productName?: string;
|
||||||
|
/** 装车模式 1_搭架子+网垫;2_纸箱+胶带+木隔板 */
|
||||||
|
loadingMode?: "FRAME_WITH_NET" | "BOX_WITH_TAPE";
|
||||||
/** 空车重量(kg) */
|
/** 空车重量(kg) */
|
||||||
emptyWeight?: number;
|
emptyWeight?: number;
|
||||||
/** 总重量(kg) */
|
/** 总重量(kg) */
|
||||||
@ -3094,9 +3102,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: AgreementVO[];
|
data?: AgreementVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseBoxBrandVO = {
|
type PageResponseBoxBrandVO = {
|
||||||
@ -3107,9 +3115,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: BoxBrandVO[];
|
data?: BoxBrandVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseBoxProductVO = {
|
type PageResponseBoxProductVO = {
|
||||||
@ -3120,9 +3128,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: BoxProductVO[];
|
data?: BoxProductVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseBoxSpecVO = {
|
type PageResponseBoxSpecVO = {
|
||||||
@ -3133,9 +3141,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: BoxSpecVO[];
|
data?: BoxSpecVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseChannelVO = {
|
type PageResponseChannelVO = {
|
||||||
@ -3146,9 +3154,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: ChannelVO[];
|
data?: ChannelVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseCompanyPaymentAccountVO = {
|
type PageResponseCompanyPaymentAccountVO = {
|
||||||
@ -3159,9 +3167,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: CompanyPaymentAccountVO[];
|
data?: CompanyPaymentAccountVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseCompanyVO = {
|
type PageResponseCompanyVO = {
|
||||||
@ -3172,9 +3180,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: CompanyVO[];
|
data?: CompanyVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseCostItemVO = {
|
type PageResponseCostItemVO = {
|
||||||
@ -3185,9 +3193,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: CostItemVO[];
|
data?: CostItemVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseCostVO = {
|
type PageResponseCostVO = {
|
||||||
@ -3198,9 +3206,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: CostVO[];
|
data?: CostVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseDealerPaymentAccountVO = {
|
type PageResponseDealerPaymentAccountVO = {
|
||||||
@ -3211,9 +3219,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: DealerPaymentAccountVO[];
|
data?: DealerPaymentAccountVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseDealerRebateCustomerVO = {
|
type PageResponseDealerRebateCustomerVO = {
|
||||||
@ -3224,9 +3232,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: DealerRebateCustomerVO[];
|
data?: DealerRebateCustomerVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseDealerVO = {
|
type PageResponseDealerVO = {
|
||||||
@ -3237,9 +3245,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: DealerVO[];
|
data?: DealerVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseDealerWarehouseVO = {
|
type PageResponseDealerWarehouseVO = {
|
||||||
@ -3250,9 +3258,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: DealerWarehouseVO[];
|
data?: DealerWarehouseVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseDictionaryVO = {
|
type PageResponseDictionaryVO = {
|
||||||
@ -3263,9 +3271,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: DictionaryVO[];
|
data?: DictionaryVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseEmployeeVO = {
|
type PageResponseEmployeeVO = {
|
||||||
@ -3276,9 +3284,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: EmployeeVO[];
|
data?: EmployeeVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseGiftBoxVO = {
|
type PageResponseGiftBoxVO = {
|
||||||
@ -3289,9 +3297,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: GiftBoxVO[];
|
data?: GiftBoxVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseMaterialVO = {
|
type PageResponseMaterialVO = {
|
||||||
@ -3302,9 +3310,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: MaterialVO[];
|
data?: MaterialVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseOrderSupplierVO = {
|
type PageResponseOrderSupplierVO = {
|
||||||
@ -3315,9 +3323,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: OrderSupplierVO[];
|
data?: OrderSupplierVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponsePermissionVO = {
|
type PageResponsePermissionVO = {
|
||||||
@ -3328,9 +3336,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: PermissionVO[];
|
data?: PermissionVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponsePlatformVO = {
|
type PageResponsePlatformVO = {
|
||||||
@ -3341,9 +3349,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: PlatformVO[];
|
data?: PlatformVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseProductVO = {
|
type PageResponseProductVO = {
|
||||||
@ -3354,9 +3362,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: ProductVO[];
|
data?: ProductVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponsePurchaseOrderVO = {
|
type PageResponsePurchaseOrderVO = {
|
||||||
@ -3367,9 +3375,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: PurchaseOrderVO[];
|
data?: PurchaseOrderVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseRoleVO = {
|
type PageResponseRoleVO = {
|
||||||
@ -3380,9 +3388,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: RoleVO[];
|
data?: RoleVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseShipOrderVO = {
|
type PageResponseShipOrderVO = {
|
||||||
@ -3393,9 +3401,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: ShipOrderVO[];
|
data?: ShipOrderVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseSupplierVO = {
|
type PageResponseSupplierVO = {
|
||||||
@ -3406,9 +3414,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: SupplierVO[];
|
data?: SupplierVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type PageResponseUserVO = {
|
type PageResponseUserVO = {
|
||||||
@ -3419,9 +3427,9 @@ declare namespace BusinessAPI {
|
|||||||
pageSize?: number;
|
pageSize?: number;
|
||||||
pageIndex?: number;
|
pageIndex?: number;
|
||||||
data?: UserVO[];
|
data?: UserVO[];
|
||||||
|
empty?: boolean;
|
||||||
notEmpty?: boolean;
|
notEmpty?: boolean;
|
||||||
totalPages?: number;
|
totalPages?: number;
|
||||||
empty?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
type pageRoleParams = {
|
type pageRoleParams = {
|
||||||
@ -4919,11 +4927,11 @@ declare namespace BusinessAPI {
|
|||||||
};
|
};
|
||||||
|
|
||||||
type TreeLong = {
|
type TreeLong = {
|
||||||
config?: TreeNodeConfig;
|
|
||||||
weight?: any;
|
|
||||||
parentId?: number;
|
|
||||||
name?: { empty?: boolean };
|
name?: { empty?: boolean };
|
||||||
id?: number;
|
id?: number;
|
||||||
|
parentId?: number;
|
||||||
|
config?: TreeNodeConfig;
|
||||||
|
weight?: any;
|
||||||
empty?: boolean;
|
empty?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user