Commit 8c4ea6c0 by lijinqi

Merge remote-tracking branch 'origin/develop' into develop

parents 896100d3 5b06e08d
...@@ -31,7 +31,7 @@ VITE_OUT_DIR=dist ...@@ -31,7 +31,7 @@ VITE_OUT_DIR=dist
VITE_MALL_H5_DOMAIN='http://mall.yudao.iocoder.cn' VITE_MALL_H5_DOMAIN='http://mall.yudao.iocoder.cn'
# 验证码的开关 # 验证码的开关
VITE_APP_CAPTCHA_ENABLE=true VITE_APP_CAPTCHA_ENABLE=false
# GoView域名 # GoView域名
VITE_GOVIEW_URL='http://127.0.0.1:3000' VITE_GOVIEW_URL='http://127.0.0.1:3000'
...@@ -53,5 +53,10 @@ export const ApiOrderApi = { ...@@ -53,5 +53,10 @@ export const ApiOrderApi = {
// 导出api订单 Excel // 导出api订单 Excel
exportApiOrder: async (params) => { exportApiOrder: async (params) => {
return await request.download({ url: `/apihub/api-order/export-excel`, params }) return await request.download({ url: `/apihub/api-order/export-excel`, params })
},
issueInvoice: async (data) =>{
return await request.put({ url: `/apihub/api-order/issue-invoice`, data})
} }
} }
...@@ -161,7 +161,7 @@ service.interceptors.response.use( ...@@ -161,7 +161,7 @@ service.interceptors.response.use(
}) })
} }
} else if (code === 500) { } else if (code === 500) {
ElMessage.error(t('sys.api.errMsg500')) ElMessage.error(msg)
return Promise.reject(new Error(msg)) return Promise.reject(new Error(msg))
} else if (code === 901) { } else if (code === 901) {
ElMessage.error({ ElMessage.error({
......
<template>
<Dialog v-model="dialogVisible" title="上传发票" width="45%">
<el-form-item label="发票地址" prop="invoiceUrl">
<UploadImg v-model="formData.invoiceUrl" />
<p class="upload-tips">
请上传 大小不超过 <span class="red-text">5MB</span> 格式为
<span class="red-text">png/jpg/jpeg</span>
的文件
</p>
</el-form-item>
<template #footer>
<el-button :disabled="formLoading" type="primary" @click="submitForm">确 定</el-button>
<el-button @click="dialogVisible = false">取 消</el-button>
</template>
</Dialog>
</template>
<script setup lang="ts">
import {ApiOrderApi} from "@/api/apihub/apiorder";
const { t } = useI18n() // 国际化
const message = useMessage() // 消息弹窗
const dialogVisible = ref(false) // 弹窗是否展示
const formRef = ref() // 表单 Ref
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
/** 提交表单 */
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
const submitForm = async () => {
// 提交请求
formLoading.value = true
try {
const data = unref(formData)
await ApiOrderApi.issueInvoice(data)
message.success(t('common.updateSuccess'))
dialogVisible.value = false
// 发送操作成功的事件
emit('success', true)
} catch (error) {
console.error(error);
}finally {
formLoading.value = false
}
}
const formData = ref({
id: undefined, // 订单编号
invoiceStatus: undefined,
invoiceUrl: ''
})
const open = async (row) => {
resetForm()
// 设置数据
formData.value.id = row.id
formData.value.invoiceStatus = row.invoiceStatus
formData.value.invoiceUrl = row.invoiceUrl
dialogVisible.value = true
}
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined, // 订单编号
invoiceStatus: undefined,
invoiceUrl: ''
}
formRef.value?.resetFields()
}
</script>
<style scoped lang="scss">
</style>
<template>
<!-- 图片查看弹窗 -->
<el-dialog
v-model="dialogVisible"
title="查看发票图片"
:width="`600px`"
:close-on-click-modal="false">
<div class="flex justify-center p-4">
<img
:src="formData.invoiceUrl"
alt="发票图片"
class="max-w-full max-h-[500px] object-contain"
@error="handleImageError"
/>
</div>
</el-dialog>
</template>
<script setup lang="ts">
const dialogVisible = ref(false) // 弹窗是否展示
const formData = ref({
id: undefined, // 订单编号
invoiceStatus: undefined,
invoiceUrl: ''
})
const open = async (row) => {
resetForm()
// 设置数据
formData.value.id = row.id
formData.value.invoiceStatus = row.invoiceStatus
formData.value.invoiceUrl = row.invoiceUrl
dialogVisible.value = true
}
defineExpose({open}) // 提供 open 方法,用于打开弹窗
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined, // 订单编号
invoiceStatus: undefined,
invoiceUrl: ''
}
}
const handleImageError = (e) => {
e.target.src = 'https://picsum.photos/600/400?grayscale&blur=2'; // 占位图
e.target.alt = '图片加载失败';
};
</script>
<style scoped lang="scss">
</style>
...@@ -93,18 +93,18 @@ ...@@ -93,18 +93,18 @@
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<!-- <el-table-column label="资讯类别" align="center" prop="category" />--> <!-- <el-table-column label="资讯类别" align="center" prop="category" />-->
<el-table-column label="资讯类别" align="center" prop="category"> <!-- <el-table-column label="资讯类别" align="center" prop="category">-->
<template #default="scope"> <!-- <template #default="scope">-->
<dict-tag :type="DICT_TYPE.HOME_INFO_INFORMATION_CATEGORY" :value="Number(scope.row.category)" /> <!-- <dict-tag :type="DICT_TYPE.HOME_INFO_INFORMATION_CATEGORY" :value="Number(scope.row.category)" />-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<!-- <el-table-column label="行业类别" align="center" prop="industryCategory" />--> <!-- <el-table-column label="行业类别" align="center" prop="industryCategory" />-->
<el-table-column label="行业类别" align="center" prop="industryCategory"> <!-- <el-table-column label="行业类别" align="center" prop="industryCategory">-->
<template #default="scope"> <!-- <template #default="scope">-->
<dict-tag :type="DICT_TYPE.HOME_INFO_INDUSTRY_CATEGORY" :value="Number(scope.row.industryCategory)" /> <!-- <dict-tag :type="DICT_TYPE.HOME_INFO_INDUSTRY_CATEGORY" :value="Number(scope.row.industryCategory)" />-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column label="标题" align="center" prop="title" /> <el-table-column label="标题" align="center" prop="title" />
<!-- <el-table-column label="描述内容" align="center" prop="description" />--> <!-- <el-table-column label="描述内容" align="center" prop="description" />-->
......
...@@ -249,6 +249,8 @@ ...@@ -249,6 +249,8 @@
import type { FormInstance } from 'element-plus' import type { FormInstance } from 'element-plus'
import OrderDeliveryForm from '@/views/mall/trade/order/form/OrderDeliveryForm.vue' import OrderDeliveryForm from '@/views/mall/trade/order/form/OrderDeliveryForm.vue'
import OrderUpdateRemarkForm from '@/views/mall/trade/order/form/OrderUpdateRemarkForm.vue' import OrderUpdateRemarkForm from '@/views/mall/trade/order/form/OrderUpdateRemarkForm.vue'
import OrderIssueInvoiceForm from "@/views/mall/trade/order/form/OrderIssueInvoiceForm.vue";
import OrderViewInvoiceForm from "@/views/mall/trade/order/form/OrderViewInvoiceForm.vue";
import * as TradeOrderApi from '@/api/mall/trade/order' import * as TradeOrderApi from '@/api/mall/trade/order'
import * as PickUpStoreApi from '@/api/mall/trade/delivery/pickUpStore' import * as PickUpStoreApi from '@/api/mall/trade/delivery/pickUpStore'
import { DICT_TYPE, getIntDictOptions, getStrDictOptions } from '@/utils/dict' import { DICT_TYPE, getIntDictOptions, getStrDictOptions } from '@/utils/dict'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment