refactor(order): 优化订单表单和供应商信息管理

- 在供应商信息中添加类型字段区分农民和其他摊位
- 移除产地采购单合同上传检查逻辑
- 修复车牌号分割时的空白字符处理
- 为输入框添加空值默认显示避免undefined
- 更新应用版本号从v0.0.70到v0.0.73
- 优化订单金额计算逻辑和供应商名称显示
This commit is contained in:
shenyifei 2026-01-13 16:52:18 +08:00
parent 547167af12
commit 0742491943
11 changed files with 54 additions and 43 deletions

View File

@ -288,7 +288,7 @@ const Step1Form = forwardRef<Step1FormRef, Step1FormProps>((props, ref) => {
</View>
<View className="mb-2.5">
<View
className={`flex h-10 w-full items-center rounded-md ${formErrors.remark ? "border-4 border-red-500" : "border-4 border-gray-300"}`}
className={`flex w-full items-center rounded-md ${formErrors.remark ? "border-4 border-red-500" : "border-4 border-gray-300"}`}
>
<TextArea
disabled={readOnly}

View File

@ -102,36 +102,36 @@ export default function OrderSubmitReview(props: IOrderSubmitReviewProps) {
}
// 产地采购单需要判断瓜农是否上传合同
if (orderVO.type === "PRODUCTION_PURCHASE") {
// 检查是否存在合同未上传的瓜农
const hasNoUpdateContractSupplier = orderVO.orderSupplierList?.find(
(supplier) => !supplier.contractUpload,
);
if (hasNoUpdateContractSupplier) {
Dialog.open("dialog", {
title: "提交审核提醒",
content: `检测到瓜农“${hasNoUpdateContractSupplier.name}”未上传合同。请返回票证上传步骤上传合同?`,
confirmText: "去票证上传",
cancelText: "取消",
onConfirm: async () => {
Taro.redirectTo({
url: buildUrl(purchase.path[orderVO.type].create, {
orderId: orderVO.orderId,
supplierId: hasNoUpdateContractSupplier.supplierId,
step: "5",
}),
});
Dialog.close("dialog");
},
onCancel: () => {
Dialog.close("dialog");
},
});
e.stopPropagation();
return;
}
}
// if (orderVO.type === "PRODUCTION_PURCHASE") {
// // 检查是否存在合同未上传的瓜农
// const hasNoUpdateContractSupplier = orderVO.orderSupplierList?.find(
// (supplier) => !supplier.contractUpload,
// );
//
// if (hasNoUpdateContractSupplier) {
// Dialog.open("dialog", {
// title: "提交审核提醒",
// content: `检测到瓜农“${hasNoUpdateContractSupplier.name}”未上传合同。请返回票证上传步骤上传合同?`,
// confirmText: "去票证上传",
// cancelText: "取消",
// onConfirm: async () => {
// Taro.redirectTo({
// url: buildUrl(purchase.path[orderVO.type].create, {
// orderId: orderVO.orderId,
// supplierId: hasNoUpdateContractSupplier.supplierId,
// step: "5",
// }),
// });
// Dialog.close("dialog");
// },
// onCancel: () => {
// Dialog.close("dialog");
// },
// });
// e.stopPropagation();
// return;
// }
// }
Dialog.open("dialog", {
title: "提交审核提醒",

View File

@ -274,6 +274,7 @@ export default forwardRef<MadeOptionRef, IMadeOptionProps>(function MadeOption(
orderSupplierId: generateShortId(),
supplierId: "",
name: "瓜农" + (orderSupplierList.length + 1),
type: "FARMER",
payeeName: "",
idCard: "",
bankName: "",

View File

@ -214,6 +214,7 @@ export default forwardRef<MarketOptionRef, IMarketOptionProps>(
orderSupplierId: generateShortId(),
supplierId: "",
name: "档口" + (orderSupplierList.length + 1),
type: "OTHER_STALL",
payeeName: "",
idCard: "",
bankName: "",

View File

@ -482,7 +482,7 @@ export default forwardRef<OrderVehicleRef, IOrderVehicleProps>(
orderVehicle: {
...newVehicle,
// 通过 - 分割
plate: newVehicle.plate?.split("-")[0]!,
plate: newVehicle.plate?.split("-")[0].trim()!,
dealerId: newVehicle.dealerId || orderVehicle?.dealerId,
dealerName: newVehicle.dealerName || orderVehicle?.dealerName,
deliveryTime: dayjs().format("YYYY-MM-DD"),
@ -609,7 +609,7 @@ export default forwardRef<OrderVehicleRef, IOrderVehicleProps>(
clearable
type="text"
placeholder="请输入车牌号"
value={orderVehicle?.plate}
value={orderVehicle?.plate || ""}
onChange={handlePlateChange}
onBlur={handlePlateBlur}
/>
@ -631,7 +631,7 @@ export default forwardRef<OrderVehicleRef, IOrderVehicleProps>(
clearable
type="text"
placeholder="请输入司机姓名"
value={orderVehicle?.driver}
value={orderVehicle?.driver || ""}
onChange={handleDriverChange}
onBlur={handleDriverBlur}
/>
@ -653,7 +653,7 @@ export default forwardRef<OrderVehicleRef, IOrderVehicleProps>(
clearable
type="tel"
placeholder="请输入联系电话"
value={orderVehicle?.phone}
value={orderVehicle?.phone || ""}
onChange={handlePhoneChange}
onBlur={handlePhoneBlur}
/>
@ -675,7 +675,7 @@ export default forwardRef<OrderVehicleRef, IOrderVehicleProps>(
clearable
type="text"
placeholder="请输入出发地"
value={orderVehicle?.origin}
value={orderVehicle?.origin || ""}
onChange={handleOriginChange}
onBlur={handleOriginBlur}
/>
@ -744,7 +744,7 @@ export default forwardRef<OrderVehicleRef, IOrderVehicleProps>(
clearable
type="text"
placeholder="请输入目的地"
value={orderVehicle?.destination}
value={orderVehicle?.destination || ""}
onChange={(value) => handleDestinationChange(value)}
onBlur={handleDestinationBlur}
/>
@ -768,7 +768,7 @@ export default forwardRef<OrderVehicleRef, IOrderVehicleProps>(
clearable
type="digit"
placeholder="请输入运费可填0"
value={orderVehicle?.price?.toString()}
value={orderVehicle?.price?.toString() || ""}
onChange={handlePriceChange}
onBlur={handlePriceBlur}
/>
@ -818,7 +818,7 @@ export default forwardRef<OrderVehicleRef, IOrderVehicleProps>(
clearable
type="digit"
placeholder="请输入草帘费用"
value={orderVehicle?.strawCurtainPrice?.toString()}
value={orderVehicle?.strawCurtainPrice?.toString() || ""}
onChange={handleStrawCurtainPriceChange}
onBlur={handleStrawCurtainPriceBlur}
/>

View File

@ -28,11 +28,11 @@ export default forwardRef<StallInfoRef, IStallInfoProps>(
orderSupplierId: generateShortId(),
supplierId: "", // 空的supplierId表示其他家档口
name: "",
type: "OTHER_STALL",
payeeName: "",
bankName: "",
bankCard: "",
phone: "",
type: "",
selected: true,
isPaper: false,
orderPackageList: [],

View File

@ -28,6 +28,7 @@ export default forwardRef<SupplierInfoRef, ISupplierInfoProps>(
supplierId: "",
name: "瓜农1",
payeeName: "",
type: "FARMER",
idCard: "",
bankName: "",
bankCard: "",

View File

@ -1,2 +1,2 @@
// App 相关常量
export const APP_VERSION = "v0.0.70";
export const APP_VERSION = "v0.0.73";

View File

@ -33,6 +33,7 @@ const defaultSupplierList: Partial<BusinessAPI.OrderSupplier>[] = [
orderSupplierId: generateShortId(),
supplierId: "",
name: "瓜农1",
type: "FARMER",
payeeName: "",
idCard: "",
bankCard: "",

View File

@ -29,6 +29,7 @@ const defaultSupplierList: Partial<BusinessAPI.OrderSupplier>[] = [
orderSupplierId: generateShortId(),
supplierId: "",
name: "档口1",
type: "OTHER_STALL",
payeeName: "",
idCard: "",
bankCard: "",

View File

@ -137,8 +137,14 @@ export const convertOrderShipVOToExamplesFormat = (
},
otherFees: {},
totalAmount: {
amount: calculator.getSalesAmount(),
farmer: orderShip.farmerInfo || "",
amount: calculator.getMarketPrice(),
farmer:
orderShip.farmerInfo ||
orderVO.orderSupplierList
.map((item) => {
return item.name;
})
.join("、"),
},
otherInfo: {
data: orderShip.orderShipItemList,