Commit b517d0c9 by qinjianhui

Merge branch 'dev' into 'master'

Dev

See merge request !10
parents 03336ad7 76a2385e
......@@ -5,6 +5,8 @@ import {
SearchForm,
Tab,
LogListData,
ProductionClient,
WarehouseListData,
} from '@/types/api/podUsOrder'
import axios from './axios'
import { PodMakeOrderData } from '@/types/api/podMakeOrder'
......@@ -42,10 +44,18 @@ export function getCardOrderList(
},
)
}
export function confirmOrderApi(data: number[]) {
export function confirmOrderApi(data: number[], productionClient: string) {
return axios.post<never, BaseRespData<never>>(
'factory/podJomallOrderUs/confirmOrders',
data,
{
ids: data.join(','),
productionClient,
},
)
}
export function getProductionClientApi() {
return axios.get<never, BaseRespData<ProductionClient[]>>(
'factory/podJomallOrderUs/getProductionClientList',
)
}
export function updateExceptionOrderApi(data: number[]) {
......@@ -110,6 +120,42 @@ export function printProductionOrderApi(orderIds: number[]) {
orderIds,
)
}
export function printPrintOrderApi(
orderIds: number[],
productionClient: string,
) {
return axios.post<never, BaseRespData<string>>(
'factory/podJomallOrderUs/printPickPdf',
{
ids: orderIds.join(','),
productionClient,
},
)
}
export function printPickingOrderApi(
orderIds: number[],
productionClient: string,
) {
return axios.post<never, BaseRespData<string>>(
'factory/podJomallOrderUs/pickingComplete',
{
ids: orderIds.join(','),
productionClient,
},
)
}
export function stockOutCheckApi(orderIds: number[]) {
return axios.get<never, BaseRespData<number[]>>(
`factory/podJomallOrderUs/replenishVerify?ids=${orderIds.join(',')}`,
)
}
export function toBeConfirmedApi(orderIds: number[]) {
return axios.get<never, BaseRespData<never>>(
`factory/podJomallOrderUs/updateStockOutOrderToWaitConfirmed?ids=${orderIds.join(
',',
)}`,
)
}
export function getOrderDetailById(id: number) {
return axios.get<never, BaseRespData<ProductList>>(
`factory/podJomallOrderProductUs/getProductUsById?id=${id}`,
......@@ -119,6 +165,7 @@ export function getPackingDataApi(
code: string,
factoryNo: number,
box: number | null,
warehouseId: number | string,
) {
return axios.get<never, BaseRespData<PodMakeOrderData>>(
'/factory/podJomallOrderUs/getPodBoxDetailsBySkuOrNo',
......@@ -127,15 +174,19 @@ export function getPackingDataApi(
podJomallUsNo: code,
box,
factoryNo,
warehouseId,
},
},
)
}
export function getPodBoxListApi(factoryNo: number | string) {
export function getPodBoxListApi(
factoryNo: number | string,
warehouseId: number | string,
) {
return axios.get<never, BaseRespData<PodMakeOrderData[]>>(
'factory/podJomallOrderUs/getPodBoxOrderDetails',
{
params: { factoryNo },
params: { factoryNo, warehouseId },
},
)
}
......@@ -143,9 +194,10 @@ export function getPodBoxListApi(factoryNo: number | string) {
export function submitInspectionApi(
data: { id: number; version?: number }[],
boxIndex: number | null,
warehouseId: number | string,
) {
return axios.post<never, BaseRespData<never>>(
`factory/podJomallOrderUs/podPrintOrderComplete?box=${boxIndex}`,
`factory/podJomallOrderUs/podPrintOrderComplete?box=${boxIndex}&warehouseId=${warehouseId}`,
{
orderParamList: data,
},
......@@ -170,3 +222,8 @@ export function updateRemarkApi(id: number, content: string) {
{ id, content },
)
}
export function loadWarehouseListApi() {
return axios.get<never, BaseRespData<WarehouseListData[]>>(
'factoryWarehouseInfo/getAll',
)
}
......@@ -90,9 +90,21 @@ defineProps({
})
const attrs = useAttrs()
const slots = useSlots() as Record<string, Slot>
const setCurrentRow = (row: T) => {
tableRef.value?.setCurrentRow(row)
}
const toggleRowSelection = (row: T, selected: boolean = true) => {
tableRef.value?.toggleRowSelection(row, selected)
}
const clearSelection = () => {
tableRef.value?.clearSelection()
}
defineExpose({
tableRef,
setCurrentRow,
toggleRowSelection,
clearSelection,
})
</script>
......
......@@ -43,4 +43,5 @@ export interface ProductList {
count?: number
power?: boolean
variantImage?: string
podJomallUsNo?: string
}
......@@ -110,6 +110,10 @@ export interface LogListData {
deleteContent: string
createTime: string
}
export interface ProductionClient {
code?: string
remark?: string
}
export interface PodOrderRes extends ProductList {
expectDeliveryTime?: string | null
thirdOrderNumber?: string | null
......@@ -124,3 +128,13 @@ export interface PodOrderRes extends ProductList {
note?: Array<{ prop: string | number; value: string | number }>
imgList: cardImages[]
}
export interface WarehouseListData {
code?: string
defaulted?: number
factoryCode?: string
factoryId?: number
id: number
name?: string
remarks?: string
sort?: number
}
......@@ -472,7 +472,7 @@
>
<span>工艺:</span>
<span
:title="String(cardItem?.process)"
:title="String(cardItem?.processName)"
style="
display: inline-block;
width: 100%;
......@@ -480,8 +480,8 @@
text-overflow: ellipsis;
"
>
{{ cardItem?.process }}
</span>
{{ cardItem?.processName }}
</span>
</el-col>
<el-col
:span="12"
......
......@@ -36,6 +36,21 @@
/>
</ElSelect>
</div>
<div class="form-item">
<ElSelect
v-model="warehouseId"
placeholder="请选择仓库"
style="width: 200px"
@change="handleWarehouseChange"
>
<ElOption
v-for="item in warehouseList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</ElSelect>
</div>
<div class="form-item" style="flex: 1">
<ElInput
ref="productionOrderRef"
......@@ -207,12 +222,14 @@ import {
import useUserStore from '@/store/user'
import { Check } from '@element-plus/icons-vue'
import socket from '@/utils/websocket'
import { WarehouseListData } from '@/types/api/podUsOrder'
const { getCLodop } = useLodop()
const props = defineProps<{
modelValue: boolean
printOrder: (data: OrderData, callback: (status: boolean) => void) => void
warehouseList: WarehouseListData[]
}>()
const emit = defineEmits(['update:modelValue', 'set-printer', 'refresh'])
const visible = computed({
......@@ -294,6 +311,8 @@ watch(visible, async (value: boolean) => {
if (value) {
podOrderDetailsData.value = {}
currentCode = ''
warehouseId.value = props.warehouseList[0].id
_warehouseId.value = props.warehouseList[0].id
if (userStore.user?.factory.id) {
try {
await socket.init(
......@@ -306,11 +325,13 @@ watch(visible, async (value: boolean) => {
socket.send({
code: 'STARTORDER',
factoryNo: userStore.user?.factory.id,
warehouseId: warehouseId.value,
})
} catch (error) {
console.error(error)
}
}
initOrderDetailBox()
initPrintDevice()
} else {
......@@ -318,6 +339,7 @@ watch(visible, async (value: boolean) => {
socket.send({
code: 'ENDORDER',
factoryNo: userStore.user?.factory.id,
warehouseId: warehouseId.value,
})
socket.close()
}
......@@ -382,7 +404,7 @@ const renderItemBox = (bool: boolean) => {
}
if (currentCode) {
for (const product of productList) {
if (product.podJomallNo === currentCode) {
if (product.podJomallUsNo === currentCode) {
coverImage.value = product.variantImage || ''
nextTick(() => {
tableRef.value?.setCurrentRow(product)
......@@ -500,7 +522,12 @@ const getPackingData = async (code: string) => {
productionOrder.value = ''
return
}
const res = await getPackingDataApi(code, factoryNo, boxIndex.value)
const res = await getPackingDataApi(
code,
factoryNo,
boxIndex.value,
warehouseId.value,
)
if (res.code !== 200) {
ElMessage.warning(res.message)
isLock.value = false
......@@ -535,7 +562,11 @@ const submitInspection = async (callback: () => void) => {
]
: []
try {
const res = await submitInspectionApi(data, boxIndex.value)
const res = await submitInspectionApi(
data,
boxIndex.value,
warehouseId.value,
)
if (res.code !== 200) return
ElMessage.warning(res.message)
isLock.value = false
......@@ -560,7 +591,7 @@ const initOrderDetailBox = async () => {
fullscreen: true,
})
try {
const res = await getPodBoxListApi(factoryNo)
const res = await getPodBoxListApi(factoryNo, warehouseId.value)
if (res.code !== 200) {
ElMessage.warning(res.message)
return
......@@ -814,6 +845,26 @@ const handleCurrentChange = (row: ProductList) => {
coverImage.value = row.variantImage || ''
}
}
const warehouseId = ref<string | number>('')
const _warehouseId = ref<string | number>('')
const handleWarehouseChange = (value: string | number) => {
if (!value) return
if (_warehouseId.value !== warehouseId.value) {
socket.send({
code: 'ENDORDER',
factoryNo: userStore.user?.factory.id,
warehouseId: _warehouseId.value,
})
}
warehouseId.value = value
socket.send({
code: 'STARTORDER',
factoryNo: userStore.user?.factory.id,
warehouseId: warehouseId.value,
})
_warehouseId.value = value
initOrderDetailBox()
}
</script>
<style scoped lang="scss">
......
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