feat: 换货退款拦截错误展示
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 11m41s
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 11m41s
This commit is contained in:
@@ -88,8 +88,11 @@ export class ExchangeService extends BaseService {
|
||||
* POST /api/admin/exchanges
|
||||
* @param data 创建参数
|
||||
*/
|
||||
static createExchange(data: CreateExchangeRequest): Promise<BaseResponse<ExchangeResponse>> {
|
||||
return this.create<ExchangeResponse>('/api/admin/exchanges', data)
|
||||
static createExchange(
|
||||
data: CreateExchangeRequest,
|
||||
config?: Record<string, any>
|
||||
): Promise<BaseResponse<ExchangeResponse>> {
|
||||
return this.post<BaseResponse<ExchangeResponse>>('/api/admin/exchanges', data, config)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -50,6 +50,14 @@
|
||||
@closed="handleCloseCreateDialog"
|
||||
>
|
||||
<ElForm ref="createFormRef" :model="createForm" :rules="createRules" label-width="120px">
|
||||
<ElAlert
|
||||
v-if="createFailureMessage"
|
||||
:title="createFailureMessage"
|
||||
type="error"
|
||||
:closable="false"
|
||||
show-icon
|
||||
style="margin-bottom: 18px"
|
||||
/>
|
||||
<ElFormItem label="流程类型" prop="flow_type">
|
||||
<ElSelect
|
||||
v-model="createForm.flow_type"
|
||||
@@ -123,6 +131,7 @@
|
||||
:loading="oldCardSearchLoading"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
@change="handleOldIdentifierChange"
|
||||
>
|
||||
<ElOption
|
||||
v-for="card in oldIotCardOptions"
|
||||
@@ -154,6 +163,7 @@
|
||||
:loading="oldDeviceSearchLoading"
|
||||
style="width: 100%"
|
||||
clearable
|
||||
@change="handleOldIdentifierChange"
|
||||
>
|
||||
<ElOption
|
||||
v-for="device in oldDeviceOptions"
|
||||
@@ -374,7 +384,7 @@
|
||||
import { ExchangeService, CardService, DeviceService } from '@/api/modules'
|
||||
import type { ExchangeResponse } from '@/api/modules/exchange'
|
||||
import type { StandaloneIotCard, Device } from '@/types/api'
|
||||
import { ElMessage, ElTag, ElButton, ElMessageBox, ElSwitch } from 'element-plus'
|
||||
import { ElAlert, ElMessage, ElTag, ElButton, ElMessageBox, ElSwitch } from 'element-plus'
|
||||
import type { FormInstance, FormRules } from 'element-plus'
|
||||
import type { SearchFormItem } from '@/types'
|
||||
import { useCheckedColumns } from '@/composables/useCheckedColumns'
|
||||
@@ -394,6 +404,7 @@
|
||||
const shipFormRef = ref<FormInstance>()
|
||||
const createDialogVisible = ref(false)
|
||||
const createLoading = ref(false)
|
||||
const createFailureMessage = ref('')
|
||||
const tableRef = ref()
|
||||
const createFormRef = ref<FormInstance>()
|
||||
|
||||
@@ -823,6 +834,7 @@
|
||||
|
||||
// 显示创建对话框
|
||||
const showCreateDialog = () => {
|
||||
createFailureMessage.value = ''
|
||||
createDialogVisible.value = true
|
||||
}
|
||||
|
||||
@@ -835,6 +847,7 @@
|
||||
|
||||
// 流程类型变更
|
||||
const handleFlowTypeChange = async () => {
|
||||
createFailureMessage.value = ''
|
||||
// 清空新资产标识符和数据迁移选项
|
||||
createForm.new_identifier = ''
|
||||
createForm.migrate_data = false
|
||||
@@ -854,6 +867,7 @@
|
||||
|
||||
// 旧资产类型变更
|
||||
const handleOldAssetTypeChange = async () => {
|
||||
createFailureMessage.value = ''
|
||||
// 清空旧资产标识符
|
||||
createForm.old_identifier = ''
|
||||
oldIotCardOptions.value = []
|
||||
@@ -882,6 +896,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
const handleOldIdentifierChange = () => {
|
||||
createFailureMessage.value = ''
|
||||
}
|
||||
|
||||
const refreshExchangeDetail = async (id: number) => {
|
||||
try {
|
||||
const res = await ExchangeService.getExchangeDetail(id)
|
||||
@@ -1198,6 +1216,7 @@
|
||||
createFormRef.value?.validate(async (valid) => {
|
||||
if (!valid || createLoading.value) return
|
||||
|
||||
createFailureMessage.value = ''
|
||||
createLoading.value = true
|
||||
try {
|
||||
const exchangeReason =
|
||||
@@ -1219,7 +1238,9 @@
|
||||
requestData.migrate_data = createForm.migrate_data
|
||||
}
|
||||
|
||||
const res = await ExchangeService.createExchange(requestData)
|
||||
const res = await ExchangeService.createExchange(requestData, {
|
||||
requestOptions: { errorMessageMode: 'none' }
|
||||
})
|
||||
if (res.code === 0) {
|
||||
ElMessage.success('换货单创建成功')
|
||||
createDialogVisible.value = false
|
||||
@@ -1227,9 +1248,9 @@
|
||||
return
|
||||
}
|
||||
|
||||
ElMessage.error(res.msg || '换货单创建失败')
|
||||
} catch (error) {
|
||||
console.error('创建换货单失败:', error)
|
||||
createFailureMessage.value = res.msg || '换货单创建失败'
|
||||
} catch (error: any) {
|
||||
createFailureMessage.value = error?.response?.data?.msg || '换货单创建失败'
|
||||
} finally {
|
||||
createLoading.value = false
|
||||
}
|
||||
@@ -1238,6 +1259,7 @@
|
||||
|
||||
// 关闭创建对话框
|
||||
const handleCloseCreateDialog = () => {
|
||||
createFailureMessage.value = ''
|
||||
createFormRef.value?.resetFields()
|
||||
// 清空搜索选项
|
||||
oldIotCardOptions.value = []
|
||||
|
||||
Reference in New Issue
Block a user