|
@@ -20,6 +20,8 @@
|
|
</el-form>
|
|
</el-form>
|
|
<div>
|
|
<div>
|
|
<el-button @click="goback">返 回</el-button>
|
|
<el-button @click="goback">返 回</el-button>
|
|
|
|
+ <el-button :disabled="formLoading" type="primary" @click="remark">备 注</el-button>
|
|
|
|
+ <el-button :disabled="formLoading" type="primary" @click="updateAddress">修改地址</el-button>
|
|
<el-button :disabled="formLoading" type="primary" @click="submitForm">发 货</el-button>
|
|
<el-button :disabled="formLoading" type="primary" @click="submitForm">发 货</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -33,17 +35,19 @@ import * as TradeOrderApi from '@/api/mall/trade/order'
|
|
import OrderBaseInfo from '../components/OrderBaseInfo.vue'
|
|
import OrderBaseInfo from '../components/OrderBaseInfo.vue'
|
|
import OrderProduct from '../components/OrderProduct.vue'
|
|
import OrderProduct from '../components/OrderProduct.vue'
|
|
import { useRoute } from 'vue-router';
|
|
import { useRoute } from 'vue-router';
|
|
-
|
|
|
|
|
|
+import {h} from 'vue'
|
|
import { FormRules } from 'element-plus'
|
|
import { FormRules } from 'element-plus'
|
|
|
|
+import AddressForm from './AddressForm.vue'
|
|
const route = useRoute();
|
|
const route = useRoute();
|
|
const { push } = useRouter() // 路由跳转
|
|
const { push } = useRouter() // 路由跳转
|
|
|
|
|
|
|
|
+const { t } = useI18n() // 国际化
|
|
const message = useMessage() // 消息弹窗
|
|
const message = useMessage() // 消息弹窗
|
|
const formRules = reactive<FormRules>({
|
|
const formRules = reactive<FormRules>({
|
|
logisticsId: [{ required: true,message: '请选择物流公司' }],
|
|
logisticsId: [{ required: true,message: '请选择物流公司' }],
|
|
logisticsNo: [{ required: true,message: '请输入快递单号' }],
|
|
logisticsNo: [{ required: true,message: '请输入快递单号' }],
|
|
})
|
|
})
|
|
-
|
|
|
|
|
|
+const baseInfoRef = ref(null)
|
|
const formData = ref<TradeOrderApi.DeliveryVO>({
|
|
const formData = ref<TradeOrderApi.DeliveryVO>({
|
|
id: 0, // 订单编号
|
|
id: 0, // 订单编号
|
|
logisticsId: null, // 物流公司编号
|
|
logisticsId: null, // 物流公司编号
|
|
@@ -65,13 +69,15 @@ const customFilter = (input) => {
|
|
const winHeight = window.innerHeight || document.documentElement.clientHeight;
|
|
const winHeight = window.innerHeight || document.documentElement.clientHeight;
|
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
|
const orderId = ref(0)
|
|
const orderId = ref(0)
|
|
|
|
+const defaultRemark = ref('')
|
|
const deliveryExpressList = ref([])
|
|
const deliveryExpressList = ref([])
|
|
|
|
|
|
orderId.value = route.params.id as unknown as number
|
|
orderId.value = route.params.id as unknown as number
|
|
const goback = () => {
|
|
const goback = () => {
|
|
- push({ name: 'Order', query: {openType:"tobedone", }})
|
|
|
|
|
|
+ push({ name: 'Order'})
|
|
}
|
|
}
|
|
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
|
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
|
|
|
+// 发货
|
|
const submitForm = async () => {
|
|
const submitForm = async () => {
|
|
// 提交请求
|
|
// 提交请求
|
|
formLoading.value = true
|
|
formLoading.value = true
|
|
@@ -92,12 +98,44 @@ const submitForm = async () => {
|
|
goback()
|
|
goback()
|
|
} finally {
|
|
} finally {
|
|
formLoading.value = false
|
|
formLoading.value = false
|
|
-
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+// 获得备注
|
|
|
|
+const getRemark = async (id) => {
|
|
|
|
+ if (id) {
|
|
|
|
+ const res = (await TradeOrderApi.getOrder(id)) as TradeOrderApi.OrderVO
|
|
|
|
+ // 没有表单信息则关闭页面返回
|
|
|
|
+ if (!res) {
|
|
|
|
+ message.error('交易订单不存在')
|
|
|
|
+ close()
|
|
|
|
+ }
|
|
|
|
+ defaultRemark.value = res.remark
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+// 备注
|
|
|
|
+const remark = async () => {
|
|
|
|
+ const { value } = await ElMessageBox.prompt('请输入备注', '备注', {
|
|
|
|
+ inputValue:defaultRemark,
|
|
|
|
+ confirmButtonText: t('common.ok'),
|
|
|
|
+ cancelButtonText: t('common.cancel'),
|
|
|
|
+ })
|
|
|
|
+ try {
|
|
|
|
+ await TradeOrderApi.updateOrderRemark({ id: formData.value.id, remark: value })
|
|
|
|
+
|
|
|
|
+ message.success(t('common.updateSuccess'))
|
|
|
|
+ baseInfoRef.value.getDetail()
|
|
|
|
+ // 发送操作成功的事件
|
|
|
|
+ emit('success', true)
|
|
|
|
+ } finally {
|
|
|
|
+ formLoading.value = false
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+const updateAddress = async () => {
|
|
|
|
+
|
|
|
|
+};
|
|
onMounted(async () => {
|
|
onMounted(async () => {
|
|
formData.value.id = orderId.value;
|
|
formData.value.id = orderId.value;
|
|
|
|
+ await getRemark(formData.value.id)
|
|
deliveryExpressList.value = await DeliveryExpressApi.getSimpleDeliveryExpressList();
|
|
deliveryExpressList.value = await DeliveryExpressApi.getSimpleDeliveryExpressList();
|
|
// 当子组件挂载时,改变父组件的样式
|
|
// 当子组件挂载时,改变父组件的样式
|
|
document.getElementsByTagName('section')[1].style.padding = '0px';
|
|
document.getElementsByTagName('section')[1].style.padding = '0px';
|
|
@@ -126,7 +164,7 @@ onUnmounted(() => {
|
|
padding:1rem;
|
|
padding:1rem;
|
|
box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
.el-button{
|
|
.el-button{
|
|
- width: 48%;
|
|
|
|
|
|
+ width: 22%;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.el-select-dropdown .el-select-dropdown__list .el-select-dropdown__item {
|
|
.el-select-dropdown .el-select-dropdown__list .el-select-dropdown__item {
|