Commit cbb55ef3 by wusiyi

Merge branch 'dev_order_new_optimize' into 'dev'

Dev order new optimize

See merge request !265
parents e76438b8 72aef730
......@@ -63,18 +63,50 @@ export function useOrderSearchForm(
searchForm.value.shipmentType = ''
}
/** 扫码枪扫完一单后追加英文逗号,便于连续扫多个操作单号 */
const handleOperationNoScanEnter = (event: KeyboardEvent) => {
event.preventDefault()
const val = (searchForm.value.operationNo || '').trim()
if (!val || val.endsWith(',')) return
searchForm.value.operationNo = `${val},`
}
const getQueryPayload = () => {
const { productMarkList: rawProductMarks, tagsIdArr, ...rest } =
searchForm.value
const {
productMarkList: rawProductMarks,
tagsIdArr,
operationNo,
...rest
} = searchForm.value
const markQuery = normalizeProductMarkListForQuery(rawProductMarks)
const tagsId =
Array.isArray(tagsIdArr) && tagsIdArr.length > 0
? tagsIdArr.join(',')
: undefined
const processedOperationNo = (() => {
const originalValue = operationNo || ''
if (!originalValue) return ''
const values = originalValue.split(/[,,;;]/).filter((v) => v.trim())
const processedValues = values.map((value) => {
const trimmedValue = value.trim()
const underscoreCount = (trimmedValue.match(/_/g) || []).length
if (underscoreCount >= 3) {
const parts = trimmedValue.split('_')
return parts[3]
}
return trimmedValue
})
return processedValues.join(',')
})()
const raw: Record<string, unknown> = {
...rest,
...markQuery,
...(tagsId !== undefined ? { tagsId } : {}),
operationNo: processedOperationNo,
startTime: dateRange.value?.[0] || null,
endTime: dateRange.value?.[1] || null,
}
......@@ -99,6 +131,7 @@ export function useOrderSearchForm(
toggleMulti,
changeReplaceShipment,
getQueryPayload,
handleOperationNoScanEnter,
reset,
}
}
......@@ -165,6 +165,7 @@
placeholder="多个操作单号,分隔"
clearable
style="width: 140px"
@keydown.enter.prevent="handleOperationNoScanEnter"
/>
</ElFormItem>
......@@ -490,30 +491,22 @@
<ElDropdownMenu>
<ElDropdownItem
command="createLogistic"
:disabled="
cardSelectList.some((item) => item.shipmentType !== 1)
"
:disabled="isShowLogisticsButton"
>创建物流订单</ElDropdownItem
>
<ElDropdownItem
command="getTrackingNumber"
:disabled="
cardSelectList.some((item) => item.shipmentType !== 1)
"
:disabled="isShowLogisticsButton"
>获取跟踪号</ElDropdownItem
>
<ElDropdownItem
command="getPrintOrder"
:disabled="
cardSelectList.some((item) => item.shipmentType !== 1)
"
:disabled="isShowLogisticsButton"
>获取打印面单</ElDropdownItem
>
<ElDropdownItem
command="cancelLogistic"
:disabled="
cardSelectList.some((item) => item.shipmentType !== 1)
"
:disabled="isShowLogisticsButton"
>取消物流订单</ElDropdownItem
>
</ElDropdownMenu>
......@@ -837,7 +830,18 @@
@row-click="handleRowClick"
>
<template #operation="{ row }">
<div class="main-table-operation">
<div
v-if="
!(
status === 'ALL' &&
([, '已取消', '已完成', '已归档'].includes(
row.statusName,
) ||
row.pause)
)
"
class="main-table-operation"
>
<span v-if="status === 'PENDING_RECEIVE'" class="item">
<ElButton
type="primary"
......@@ -1391,6 +1395,7 @@ const {
toggleMulti,
changeReplaceShipment,
getQueryPayload,
handleOperationNoScanEnter,
reset,
} = useOrderSearchForm(
() => refreshCurrentViewProxy.value(),
......@@ -1488,6 +1493,7 @@ const {
operationOrderList,
logList,
tableRef,
currentRow,
selectedRows,
cardSelectList,
loading,
......@@ -1862,6 +1868,9 @@ const mainColumns = computed(() => [
label: status.value !== 'SUSPEND' ? '订单状态' : '挂起前状态',
minWidth: 120,
align: 'center',
render: (row: FactoryOrderNewListData) => {
return <span>{row.pause ? '挂起' : row.statusName}</span>
},
},
{
label: '客户标签',
......@@ -1918,6 +1927,8 @@ const mainColumns = computed(() => [
e.stopPropagation()
if (row.expressSheet) {
window.open(filePath + row.expressSheet, '_blank')
} else {
ElMessage.warning('未获取到物流面单,请获取后再打印!')
}
}}
>
......@@ -2028,7 +2039,7 @@ function getOperationOrderMarkLabel(row: operateOrderListData): string {
return ''
}
const operationOrderColumns = [
const operationOrderColumns = computed(() => [
{
key: 'operationNo',
prop: 'operationNo',
......@@ -2118,6 +2129,7 @@ const operationOrderColumns = [
minWidth: 120,
align: 'center',
showOverflowTooltip: true,
showColumn: currentRow.value?.pause === true,
},
{
key: 'craftName',
......@@ -2143,7 +2155,7 @@ const operationOrderColumns = [
align: 'center',
showOverflowTooltip: true,
},
]
])
const baseProductColumns = computed(() => [
{
......@@ -3369,6 +3381,15 @@ const getFunctionSwitch = async () => {
if (res.code !== 200) return
isEnableSorting.value = res.data.enable
}
// 物流接口是否展示
const isShowLogisticsButton = computed(() => {
if (isCardLayout.value) {
return cardSelectList.value.find((item) => item.shipmentType !== 1)
} else {
return selectedRows.value.find((item) => item.shipmentType !== 1)
}
})
onMounted(() => {
loadStatusTreeCounts()
loadAllDictionaries()
......
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