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>
<View className="mb-2.5"> <View className="mb-2.5">
<View <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 <TextArea
disabled={readOnly} disabled={readOnly}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,2 +1,2 @@
// App 相关常量 // 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(), orderSupplierId: generateShortId(),
supplierId: "", supplierId: "",
name: "瓜农1", name: "瓜农1",
type: "FARMER",
payeeName: "", payeeName: "",
idCard: "", idCard: "",
bankCard: "", bankCard: "",

View File

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

View File

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