|
|
@@ -1,4 +1,4 @@
|
|
|
-import { View, ScrollView, Text } from '@tarojs/components'
|
|
|
+import { View, ScrollView, Text, Textarea } from '@tarojs/components'
|
|
|
import { useQuery, useMutation } from '@tanstack/react-query'
|
|
|
import { useState, useEffect } from 'react'
|
|
|
import Taro from '@tarojs/taro'
|
|
|
@@ -28,6 +28,7 @@ export default function OrderSubmitPage() {
|
|
|
const [selectedAddress, setSelectedAddress] = useState<Address | null>(null)
|
|
|
const [orderItems, setOrderItems] = useState<CheckoutItem[]>([])
|
|
|
const [totalAmount, setTotalAmount] = useState(0)
|
|
|
+ const [remark, setRemark] = useState("")
|
|
|
|
|
|
// 获取地址列表
|
|
|
const { data: addresses } = useQuery({
|
|
|
@@ -62,7 +63,8 @@ export default function OrderSubmitPage() {
|
|
|
products: orderItems.map(item => ({
|
|
|
id: item.id,
|
|
|
num: item.quantity
|
|
|
- }))
|
|
|
+ })),
|
|
|
+ remark: remark || undefined // 可选字段,如果为空则不传
|
|
|
}
|
|
|
|
|
|
const response = await orderClient['create-order']['$post']({ json: orderData })
|
|
|
@@ -159,6 +161,11 @@ export default function OrderSubmitPage() {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+ // 处理备注输入
|
|
|
+ const handleRemarkChange = (e: any) => {
|
|
|
+ setRemark(e.detail.value)
|
|
|
+ }
|
|
|
+
|
|
|
// 提交订单
|
|
|
const handleSubmitOrder = () => {
|
|
|
if (!selectedAddress) {
|
|
|
@@ -258,6 +265,28 @@ export default function OrderSubmitPage() {
|
|
|
<Text className="total-price">¥{totalAmount.toFixed(2)}</Text>
|
|
|
</View>
|
|
|
</View>
|
|
|
+
|
|
|
+
|
|
|
+ {/* 备注区域 */}
|
|
|
+ <View className="remark-section">
|
|
|
+ <View className="remark-header">
|
|
|
+ <Text className="remark-title">订单备注</Text>
|
|
|
+ <Text className="remark-tip">(选填,请填写与订单相关的备注信息)</Text>
|
|
|
+ </View>
|
|
|
+ <Textarea
|
|
|
+ className="remark-textarea"
|
|
|
+ placeholder="请输入订单备注信息..."
|
|
|
+ value={remark}
|
|
|
+ onInput={handleRemarkChange}
|
|
|
+ maxlength={255}
|
|
|
+ showConfirmBar={true}
|
|
|
+ />
|
|
|
+ <View className="remark-counter">
|
|
|
+ <Text className="remark-count">{remark.length}/255</Text>
|
|
|
+ </View>
|
|
|
+ </View>
|
|
|
+
|
|
|
+
|
|
|
</ScrollView>
|
|
|
|
|
|
{/* 底部提交栏 */}
|