Commit dd96c2b2 by linjinhong

修改确认生产按钮以及添加转至锐印按钮

parent 95a49edc
...@@ -12,16 +12,16 @@ import axios from './axios' ...@@ -12,16 +12,16 @@ import axios from './axios'
import { PodMakeOrderData } from '@/types/api/podMakeOrder' import { PodMakeOrderData } from '@/types/api/podMakeOrder'
export interface AddressInfo { export interface AddressInfo {
id?:string id?: string
receiverName: string, receiverName: string
receiverPhone: string, receiverPhone: string
receiverCountry: string, receiverCountry: string
receiverProvince: string, receiverProvince: string
receiverCity: string, receiverCity: string
receiverDistrict: string, receiverDistrict: string
receiverAddress1: string, receiverAddress1: string
receiverAddress2: string, receiverAddress2: string
receiverPostCode: string, receiverPostCode: string
} }
export interface LogisticsData { export interface LogisticsData {
...@@ -399,3 +399,17 @@ export function createLogisticsOrdersApi(orderIds: (string | number)[]) { ...@@ -399,3 +399,17 @@ export function createLogisticsOrdersApi(orderIds: (string | number)[]) {
orderIds, orderIds,
) )
} }
//确认生产
export function confirmProductApi(orderIds: (string | number)[]) {
return axios.post<never, BaseRespData<never>>(
`factory/podJomallOrderUs/confirmProduct`,
orderIds,
)
}
//转至锐印
export function confirmProductToRiinApi(orderIds: (string | number)[]) {
return axios.post<never, BaseRespData<never>>(
`factory/podJomallOrderUs/confirmProductToRiin`,
orderIds,
)
}
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
> >
<template #ontherBtn> <template #ontherBtn>
<div style="margin-left: 10px; display: flex; gap: 10px"> <div style="margin-left: 10px; display: flex; gap: 10px">
<ElButton @click="downloadExcel" type="info" plain <ElButton @click="downloadExcel" type="primary" plain
>下载模版</ElButton >下载模版</ElButton
> >
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
> >
<template #ontherBtn> <template #ontherBtn>
<div style="margin-left: 10px; display: flex; gap: 10px"> <div style="margin-left: 10px; display: flex; gap: 10px">
<ElButton @click="downloadExcel" type="info" plain <ElButton @click="downloadExcel" type="primary" plain
>下载模版</ElButton >下载模版</ElButton
> >
......
...@@ -153,7 +153,7 @@ ...@@ -153,7 +153,7 @@
style="width: 130px" style="width: 130px"
> >
<ElOption <ElOption
v-for="(item, index) in ['自有物流','工厂物流']" v-for="(item, index) in ['自有物流', '工厂物流']"
:key="index" :key="index"
:value="index" :value="index"
:label="item" :label="item"
...@@ -245,16 +245,27 @@ ...@@ -245,16 +245,27 @@
</div> </div>
<div class="operation-box mb-10"> <div class="operation-box mb-10">
<span v-if="status === 'PICKING'" class="item"> <span v-if="status === 'PICKING'" class="item">
<ElButton :loading="downloadLoading" type="warning" @click="downloadTif"> 排版 </ElButton> <ElButton
:loading="downloadLoading"
type="warning"
@click="downloadTif"
>
排版
</ElButton>
</span> </span>
<span v-if="status === 'TO_BE_CONFIRMED'" class="item"> <span v-if="status === 'TO_BE_CONFIRMED'" class="item">
<ElButton type="success" @click="confirmOrder"> 确认 </ElButton> <ElButton type="success" @click="confirmProduct"> 确认生产 </ElButton>
</span> </span>
<span v-if="status === 'EXCEPTION_ORDER'" class="item"> <span v-if="status === 'EXCEPTION_ORDER'" class="item">
<ElButton type="success" @click="updateOrder"> 转至待确认 </ElButton> <ElButton type="success" @click="updateOrder"> 转至待确认 </ElButton>
</span> </span>
<span v-if="status === 'EXCEPTION_ORDER' && exceptionStatus === 3" class="item"> <span
<ElButton type="success" @click="asyncOrderAddress"> 同步收货地址 </ElButton> v-if="status === 'EXCEPTION_ORDER' && exceptionStatus === 3"
class="item"
>
<ElButton type="success" @click="asyncOrderAddress">
同步收货地址
</ElButton>
</span> </span>
<span <span
v-if="status === 'EXCEPTION_ORDER' && exceptionStatus === 1" v-if="status === 'EXCEPTION_ORDER' && exceptionStatus === 1"
...@@ -290,6 +301,11 @@ ...@@ -290,6 +301,11 @@
转为异常单 转为异常单
</ElButton> </ElButton>
</span> </span>
<span v-if="status === 'TO_BE_CONFIRMED'" class="item">
<ElButton type="warning" @click="confirmProductToRiin">
转至锐印生产
</ElButton>
</span>
<span <span
v-if="status === 'TO_BE_CONFIRMED' || status === 'EXCEPTION_ORDER'" v-if="status === 'TO_BE_CONFIRMED' || status === 'EXCEPTION_ORDER'"
class="item" class="item"
...@@ -596,7 +612,7 @@ ...@@ -596,7 +612,7 @@
<div class="order-detail-item"> <div class="order-detail-item">
<span class="order-detail-item-label">物流类型:</span> <span class="order-detail-item-label">物流类型:</span>
<span class="order-detail-item-value"> <span class="order-detail-item-value">
{{ ['自有物流','工厂物流'][row.shipmentType] }} {{ ['自有物流', '工厂物流'][row.shipmentType] }}
</span> </span>
</div> </div>
<div class="order-detail-item"> <div class="order-detail-item">
...@@ -775,8 +791,10 @@ ...@@ -775,8 +791,10 @@
</template> </template>
<template #operate="{ row }"> <template #operate="{ row }">
<div class="operate-box"> <div class="operate-box">
<span class="operate-item" style="display: flex;flex-direction: column"> <span
class="operate-item"
style="display: flex; flex-direction: column"
>
<ElButton <ElButton
link link
type="primary" type="primary"
...@@ -784,28 +802,35 @@ ...@@ -784,28 +802,35 @@
> >
操作日志 操作日志
</ElButton> </ElButton>
<ElButton <!-- <ElButton
v-if="!row.expressSheet && row.status === 'TO_BE_CONFIRMED'" v-if="!row.expressSheet && row.status === 'TO_BE_CONFIRMED'"
link link
type="primary" type="primary"
@click="confirm(row)" @click="confirm(row)"
> >
确认 确认
</ElButton> </ElButton> -->
<ElButton <ElButton
v-if="row.shipmentType===1 && ['CREATE_LOGISTICS','WAIT_SHIPMENT'].includes(status)" v-if="
row.shipmentType === 1 &&
['CREATE_LOGISTICS', 'WAIT_SHIPMENT'].includes(status)
"
link link
type="primary" type="primary"
@click="handleUpdateAddress(row)" @click="handleUpdateAddress(row)"
> >
修改地址 修改地址
</ElButton> </ElButton>
<ElButton <ElButton
v-if="row.shipmentType===0 && ['CREATE_LOGISTICS','WAIT_SHIPMENT'].includes(status)" v-if="
link row.shipmentType === 0 &&
type="primary" ['CREATE_LOGISTICS', 'WAIT_SHIPMENT'].includes(status)
@click="handleRefreshAddress(row)" "
> link
type="primary"
@click="handleRefreshAddress(row)"
>
刷新地址 刷新地址
</ElButton> </ElButton>
</span> </span>
...@@ -1172,7 +1197,13 @@ ...@@ -1172,7 +1197,13 @@
</el-button> </el-button>
</template> </template>
</el-dialog> </el-dialog>
<UpdateAddress v-if="updateAddVisible" v-model:form="currentRow" v-model:visible="updateAddVisible" :country-list="countryList" @success="search"></UpdateAddress> <UpdateAddress
v-if="updateAddVisible"
v-model:form="currentRow"
v-model:visible="updateAddVisible"
:country-list="countryList"
@success="search"
></UpdateAddress>
<ElDialog <ElDialog
v-model="exceptionDialogVisible" v-model="exceptionDialogVisible"
title="转为异常单" title="转为异常单"
...@@ -1233,7 +1264,6 @@ ...@@ -1233,7 +1264,6 @@
</ElDialog> </ElDialog>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { getUserMarkList } from '@/api/common' import { getUserMarkList } from '@/api/common'
import { ArrowDown, WarningFilled } from '@element-plus/icons-vue' import { ArrowDown, WarningFilled } from '@element-plus/icons-vue'
import { import {
...@@ -1265,7 +1295,12 @@ import { ...@@ -1265,7 +1295,12 @@ import {
changeLogisticsApi, changeLogisticsApi,
createLogisticsOrderApi, createLogisticsOrderApi,
updateLogisticsToPickingApi, updateLogisticsToPickingApi,
createLogisticsOrdersApi, syncReceiverAddress, refreshAddressApi, AddressInfo, createLogisticsOrdersApi,
syncReceiverAddress,
refreshAddressApi,
AddressInfo,
confirmProductApi,
confirmProductToRiinApi,
// handleExceptionOrderApi, // handleExceptionOrderApi,
} from '@/api/podUsOrder' } from '@/api/podUsOrder'
import { BaseRespData } from '@/types/api' import { BaseRespData } from '@/types/api'
...@@ -1426,7 +1461,7 @@ const getWeekRange = (weeks = 0, type: 'past' | 'future' = 'past') => { ...@@ -1426,7 +1461,7 @@ const getWeekRange = (weeks = 0, type: 'past' | 'future' = 'past') => {
type === 'past' ? now.subtract(weeks, 'week') : now.add(weeks, 'week') type === 'past' ? now.subtract(weeks, 'week') : now.add(weeks, 'week')
return [start.startOf('week').toDate(), start.endOf('week').toDate()] return [start.startOf('week').toDate(), start.endOf('week').toDate()]
} }
const handleRefreshAddress = async (row:PodUsOrderListData) => { const handleRefreshAddress = async (row: PodUsOrderListData) => {
try { try {
await showConfirm('确定刷新地址吗?', { await showConfirm('确定刷新地址吗?', {
confirmButtonText: '确认', confirmButtonText: '确认',
...@@ -1437,14 +1472,18 @@ const handleRefreshAddress = async (row:PodUsOrderListData) => { ...@@ -1437,14 +1472,18 @@ const handleRefreshAddress = async (row:PodUsOrderListData) => {
return return
} }
await refreshAddressApi([row.id]) await refreshAddressApi([row.id])
await ElMessageBox.alert('请修改/刷新地址后取消物流重新创建物流订单、获取跟踪号、获取打印面单。', '提示', { await ElMessageBox.alert(
type: 'warning', '请修改/刷新地址后取消物流重新创建物流订单、获取跟踪号、获取打印面单。',
confirmButtonText:'确定', '提示',
cancelButtonText:'取消', {
showCancelButton: true, type: 'warning',
}) confirmButtonText: '确定',
cancelButtonText: '取消',
showCancelButton: true,
},
)
} }
const handleUpdateAddress = async (row:PodUsOrderListData) => { const handleUpdateAddress = async (row: PodUsOrderListData) => {
const { data } = await getAllCountryApi() const { data } = await getAllCountryApi()
countryList.value = data countryList.value = data
currentRow.value = JSON.parse(JSON.stringify(row)) currentRow.value = JSON.parse(JSON.stringify(row))
...@@ -1482,7 +1521,8 @@ const tableColumns = computed(() => [ ...@@ -1482,7 +1521,8 @@ const tableColumns = computed(() => [
slot: 'innerLabel', slot: 'innerLabel',
width: 300, width: 300,
prop: 'innerLabel', prop: 'innerLabel',
},{ },
{
label: '异常原因', label: '异常原因',
width: 300, width: 300,
prop: 'exceptionReason', prop: 'exceptionReason',
...@@ -1622,6 +1662,49 @@ const confirm = async (row: ProductList) => { ...@@ -1622,6 +1662,49 @@ const confirm = async (row: ProductList) => {
confirmData.value = [] confirmData.value = []
confirmSelectionData.value = [] confirmSelectionData.value = []
} }
//确认生产
async function confirmProduct() {
if (selection.value.length === 0) {
return ElMessage.warning('请选择数据')
}
try {
await showConfirm('确定生产吗?', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
})
const ids = selection.value.map((el) => el.id)
await confirmProductApi([...ids])
ElMessage.success('操作成功')
search()
await loadTabData()
} catch {
return
}
}
//转至锐印
async function confirmProductToRiin() {
if (selection.value.length === 0) {
return ElMessage.warning('请选择数据')
}
try {
await showConfirm('确认转至锐印(Riin)生产吗?', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
})
const ids = selection.value.map((el) => el.id)
await confirmProductToRiinApi([...ids])
ElMessage.success('操作成功')
search()
await loadTabData()
} catch {
return
}
}
const handleConfirm = async () => { const handleConfirm = async () => {
if (!productionClientValue.value) { if (!productionClientValue.value) {
return ElMessage.warning('请选择生产端') return ElMessage.warning('请选择生产端')
...@@ -1679,28 +1762,27 @@ const handleUpdateRemark = async (item: ProductList) => { ...@@ -1679,28 +1762,27 @@ const handleUpdateRemark = async (item: ProductList) => {
const productionClientValue = ref('') const productionClientValue = ref('')
const productionClient = ref<ProductionClient[]>() const productionClient = ref<ProductionClient[]>()
const productionClientVisible = ref(false) const productionClientVisible = ref(false)
const confirmOrder = async () => { // const confirmOrder = async () => {
if (selection.value.length === 0) { // if (selection.value.length === 0) {
return ElMessage.warning('请选择数据') // return ElMessage.warning('请选择数据')
} // }
productionClientValue.value = '' // productionClientValue.value = ''
productionClientVisible.value = true // productionClientVisible.value = true
} // }
const downloadTif = async () => { const downloadTif = async () => {
if(!selection.value.length) { if (!selection.value.length) {
return ElMessage.warning('请选择数据') return ElMessage.warning('请选择数据')
} }
downloadLoading.value = true downloadLoading.value = true
try { try {
const res= await composingDesignImages(selection.value.map(el=>el.id)) const res = await composingDesignImages(selection.value.map((el) => el.id))
window.open('http://ps.jomalls.com/tiff/'+res.message, '_blank') window.open('http://ps.jomalls.com/tiff/' + res.message, '_blank')
downloadLoading.value = false downloadLoading.value = false
}catch (e){ } catch (e) {
console.log(e) console.log(e)
downloadLoading.value = false downloadLoading.value = false
} }
} }
const loadProductionClient = async () => { const loadProductionClient = async () => {
...@@ -2375,6 +2457,14 @@ const logisticsToPicking = async () => { ...@@ -2375,6 +2457,14 @@ const logisticsToPicking = async () => {
if (selection.value.length === 0) { if (selection.value.length === 0) {
return ElMessage.warning('请选择数据') return ElMessage.warning('请选择数据')
} }
if (
selection.value.some(
(el) =>
el.trackingNumber == null || String(el.trackingNumber).trim() === '',
)
) {
return ElMessage.warning('选中数据中有未创建物流的订单,请先创建物流')
}
try { try {
await ElMessageBox.confirm('确定转至待拣胚吗?', '提示', { await ElMessageBox.confirm('确定转至待拣胚吗?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
...@@ -2743,8 +2833,8 @@ const handleExceptionCommand = (command: number) => { ...@@ -2743,8 +2833,8 @@ const handleExceptionCommand = (command: number) => {
height: 100%; height: 100%;
overflow-y: auto; overflow-y: auto;
} }
.operate-item{ .operate-item {
.el-button{ .el-button {
margin-left: 0 !important; margin-left: 0 !important;
margin-top: 20px !important; margin-top: 20px !important;
} }
......
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 to comment