diff --git a/apps/web-antd/src/views/mall/trade/order/data.ts b/apps/web-antd/src/views/mall/trade/order/data.ts index 310949c55..0f1541bfa 100644 --- a/apps/web-antd/src/views/mall/trade/order/data.ts +++ b/apps/web-antd/src/views/mall/trade/order/data.ts @@ -10,6 +10,7 @@ import { convertToInteger, formatToFraction } from '@vben/utils'; import { getSimpleDeliveryExpressList } from '#/api/mall/trade/delivery/express'; import { getSimpleDeliveryPickUpStoreList } from '#/api/mall/trade/delivery/pickUpStore'; +import { getAreaTree } from '#/api/system/area'; import { getRangePickerDefaultProps } from '#/utils'; const pickUpStoreList = ref([]); @@ -340,3 +341,62 @@ export function usePriceFormSchema(): VbenFormSchema[] { }, ]; } + +/** 订单修改地址表单配置 */ +export function useAddressFormSchema(): VbenFormSchema[] { + return [ + { + component: 'Input', + fieldName: 'id', + dependencies: { + triggerFields: [''], + show: () => false, + }, + }, + { + fieldName: 'receiverName', + label: '收件人', + component: 'Input', + componentProps: { + placeholder: '请输入收件人名称', + }, + rules: 'required', + }, + { + fieldName: 'receiverMobile', + label: '手机号', + component: 'Input', + componentProps: { + placeholder: '请输入收件人手机号', + }, + rules: 'required', + }, + { + fieldName: 'receiverAreaId', + label: '所在地', + component: 'ApiTreeSelect', + componentProps: { + api: () => getAreaTree(), + fieldNames: { + label: 'name', + value: 'id', + children: 'children', + }, + placeholder: '请选择收件人所在地', + treeDefaultExpandAll: true, + }, + rules: 'required', + }, + { + fieldName: 'receiverDetailAddress', + label: '详细地址', + component: 'Input', + componentProps: { + placeholder: '请输入收件人详细地址', + type: 'textarea', + rows: 3, + }, + rules: 'required', + }, + ]; +} diff --git a/apps/web-antd/src/views/mall/trade/order/detail/index.vue b/apps/web-antd/src/views/mall/trade/order/detail/index.vue index 94598bfbe..fb6cad496 100644 --- a/apps/web-antd/src/views/mall/trade/order/detail/index.vue +++ b/apps/web-antd/src/views/mall/trade/order/detail/index.vue @@ -25,10 +25,10 @@ import { useDescription } from '#/components/description'; import { DictTag } from '#/components/dict-tag'; import { TableAction } from '#/components/table-action'; +import AddressForm from '../modules/address-form.vue'; import DeliveryForm from '../modules/delivery-form.vue'; import PriceForm from '../modules/price-form.vue'; import RemarkForm from '../modules/remark-form.vue'; -import OrderUpdateAddressForm from '../modules/update-address-form.vue'; import { useDeliveryInfoSchema, useExpressTrackColumns, @@ -151,8 +151,8 @@ const [RemarkFormModal, remarkFormModalApi] = useVbenModal({ destroyOnClose: true, }); -const [OrderUpdateAddressFormModal, addressFormModalApi] = useVbenModal({ - connectedComponent: OrderUpdateAddressForm, +const [AddressFormModal, addressFormModalApi] = useVbenModal({ + connectedComponent: AddressForm, destroyOnClose: true, }); @@ -299,7 +299,7 @@ onMounted(async () => { - + diff --git a/apps/web-antd/src/views/mall/trade/order/modules/address-form.vue b/apps/web-antd/src/views/mall/trade/order/modules/address-form.vue new file mode 100644 index 000000000..23a31489f --- /dev/null +++ b/apps/web-antd/src/views/mall/trade/order/modules/address-form.vue @@ -0,0 +1,77 @@ + + + diff --git a/apps/web-antd/src/views/mall/trade/order/modules/delivery-form.vue b/apps/web-antd/src/views/mall/trade/order/modules/delivery-form.vue index 5bf26abc3..7b31a84c3 100644 --- a/apps/web-antd/src/views/mall/trade/order/modules/delivery-form.vue +++ b/apps/web-antd/src/views/mall/trade/order/modules/delivery-form.vue @@ -113,10 +113,10 @@ const [Modal, modalApi] = useVbenModal({ } modalApi.lock(); try { + // 设置到 values if (data.logisticsId === 0) { await formApi.setValues({ expressType: 'none' }); } - // 设置到 values } finally { modalApi.unlock(); } @@ -125,7 +125,7 @@ const [Modal, modalApi] = useVbenModal({ diff --git a/apps/web-antd/src/views/mall/trade/order/modules/update-address-form.vue b/apps/web-antd/src/views/mall/trade/order/modules/update-address-form.vue deleted file mode 100644 index f513ada5e..000000000 --- a/apps/web-antd/src/views/mall/trade/order/modules/update-address-form.vue +++ /dev/null @@ -1,131 +0,0 @@ - - - \ No newline at end of file