Commit efe7a90e by wuqian

输入内容判断

parent dd4dc916
......@@ -22,6 +22,7 @@ export interface SearchForm {
internalMemo?: string
productionFileId?: string
interceptedStatus?: boolean
platform?: string
}
export interface CardOrderData {
id: number
......
......@@ -12,3 +12,7 @@ export function useValue<T extends object>(
return [value, resetToDefault]
}
export function getLastSegment(str: string): string {
const lastIndex = str.lastIndexOf('_')
return lastIndex !== -1 ? str.slice(lastIndex + 1) : str
}
......@@ -30,7 +30,13 @@ export default function useShipment(callback?: () => void) {
const shipmentLoading = ref(false)
const shipmentOrderRef = ref<ShipmentType>()
const searchShipmentByOrderNumber = async () => {
const code = productionOrderNumber.value
let code = productionOrderNumber.value
// AAAB_60527128-9_1_JMSC250121017 新版示例
const regex = /^[A-Z]{4}_/ //是否以四个大写字母加下划线开头
if (regex.test(code)) {
code =
code.split('_')[0] + '-' + code.split('_')[code.split('_').length - 1]
}
shipmentVisible.value = true
if (!code) {
isLock.value = false
......
import { getQaOrderBySubOrderNumber, qaFinishedApi } from '@/api/order'
import { InspectionData, QaData, shopRemark } from '@/types/api/order'
import { useValue } from '@/utils/hooks/useValue'
import { useValue, getLastSegment } from '@/utils/hooks/useValue'
import { showConfirm } from '@/utils/ui'
import { computed, ref } from 'vue'
......@@ -45,9 +45,8 @@ export default function useQuarantine() {
return indexList
}
const searchQaByOrderNumber = () => {
const uid = shipmentUid.value
const code = qaCode.value
const code = getLastSegment(qaCode.value)
if (!code) {
isLock.value = false
playAudio('picking_warning')
......@@ -83,7 +82,12 @@ export default function useQuarantine() {
// 查找是否已经存在
const row = sourceData.value.find(
(item) =>
(uid === item.shipmentUid && (code1 === item.subOrderNumber || item.factorySubOrderNumber == code1)) || (!uid && (item.factorySubOrderNumber == code1 || item.subOrderNumber == code1)),
(uid === item.shipmentUid &&
(code1 === item.subOrderNumber ||
item.factorySubOrderNumber == code1)) ||
(!uid &&
(item.factorySubOrderNumber == code1 ||
item.subOrderNumber == code1)),
)
if (row) {
// 质检数量不能大于发货数量
......@@ -100,7 +104,10 @@ export default function useQuarantine() {
offset: window.innerHeight / 2,
})
}
const len = sourceData.value.filter(el => el.factorySubOrderNumber == code1 || code1 === el.subOrderNumber)
const len = sourceData.value.filter(
(el) =>
el.factorySubOrderNumber == code1 || code1 === el.subOrderNumber,
)
const scansNum = sourceData.value[index].scansNum || 0
const indexList = findAllIndex(code1)
......@@ -111,7 +118,6 @@ export default function useQuarantine() {
sourceData.value[i]['scansNum'] = scansNum + 1
}
})
} else {
if (row.shipmentNum !== scansNum) {
sourceData.value[index]['scansNum'] = scansNum + 1
......@@ -163,17 +169,32 @@ export default function useQuarantine() {
Number(e.shipmentNum || 0) ===
Number(e.passNum || 0) + Number(e.notPassNum || 0),
).length
const row = sourceData.value.find(item => {
return (uid === item.shipmentUid && (code1 === item.subOrderNumber || item.factorySubOrderNumber == code1)) || (!uid && (item.factorySubOrderNumber == code1 || item.subOrderNumber == code1))
const row = sourceData.value.find((item) => {
return (
(uid === item.shipmentUid &&
(code1 === item.subOrderNumber ||
item.factorySubOrderNumber == code1)) ||
(!uid &&
(item.factorySubOrderNumber == code1 ||
item.subOrderNumber == code1))
)
})
const index = sourceData.value.findIndex(item => {
return (uid === item.shipmentUid && (code1 === item.subOrderNumber || item.factorySubOrderNumber == code1)) || (!uid && (item.factorySubOrderNumber == code1 || item.subOrderNumber == code1))
const index = sourceData.value.findIndex((item) => {
return (
(uid === item.shipmentUid &&
(code1 === item.subOrderNumber ||
item.factorySubOrderNumber == code1)) ||
(!uid &&
(item.factorySubOrderNumber == code1 ||
item.subOrderNumber == code1))
)
})
if (row) {
// row.passNum += 1
currentRow.value = row
cloneRow.value = JSON.parse(JSON.stringify(currentRow.value))
if (!row.inspectionStatus && !sourceData.value[index].scansNum) sourceData.value[index].scansNum = 1
if (!row.inspectionStatus && !sourceData.value[index].scansNum)
sourceData.value[index].scansNum = 1
}
qaInputRef.value.focus()
isLock.value = false
......
import { getOrderBySubOrderNumber, saveOrder } from '@/api/order'
import { ICompareObjects, OrderData, ProductList, ShipmentForm, ShipmentOrderRes } from '@/types/api/order'
import { useValue } from '@/utils/hooks/useValue'
import {
ICompareObjects,
OrderData,
ProductList,
ShipmentForm,
ShipmentOrderRes,
} from '@/types/api/order'
import { useValue ,getLastSegment} from '@/utils/hooks/useValue'
import { nextTick, ref } from 'vue'
import { ShipmentType } from '../Shipment.vue'
......@@ -24,7 +30,7 @@ export default function useShipment(callback?: () => void) {
const shipmentLoading = ref(false)
const shipmentOrderRef = ref<ShipmentType>()
const searchShipmentByOrderNumber = async () => {
const code = productionOrderNumber.value
const code = getLastSegment(productionOrderNumber.value)
shipmentVisible.value = true
if (!code) {
isLock.value = false
......@@ -98,8 +104,7 @@ export default function useShipment(callback?: () => void) {
ElMessageBox.confirm('不能加入,地址信息不一致!', '重要提示', {
confirmButtonText: '确定',
type: 'warning',
}).catch(() => {
})
}).catch(() => {})
} else {
canJoin(res.data, code)
}
......@@ -213,7 +218,7 @@ export default function useShipment(callback?: () => void) {
try {
const res = await saveOrder(data, shipmentForm.value)
fetch(res.message || '')
.then(response => {
.then((response) => {
// 确保响应是 OK
if (!response.ok) {
throw new Error('网络响应错误')
......@@ -221,14 +226,16 @@ export default function useShipment(callback?: () => void) {
// 返回图片的二进制数据(Blob)
return response.blob()
})
.then(blob => {
.then((blob) => {
const a = document.createElement('a')
a.href = window.URL.createObjectURL(blob)
a.target = '_blank'
a.download = (res.message as string).split('/')[ (res.message as string).split('/').length - 1]
a.download = (res.message as string).split('/')[
(res.message as string).split('/').length - 1
]
a.click()
})
.catch(error => {
.catch((error) => {
console.error('下载图片时出错:', error)
})
ElMessage.success('发货成功')
......
......@@ -47,6 +47,31 @@
></el-option>
</el-select>
</ElFormItem>
<ElFormItem label="平台">
<ElSelect
v-model="searchForm.platform"
value-key=""
placeholder="请选择"
clearable
filterable
popper-class="customize-select-style"
style="width: 150px"
>
<ElOption
v-for="(item, index) in platformJson"
:key="index"
:label="item.type"
:value="item.type"
style="width: 160px"
>
<img
:src="`/images/icon/${item.icon.split('/').pop()}`"
style="height: 20px; margin: 5px 10px 0 0"
/>
<span :title="item.type">{{ item.type }}</span>
</ElOption>
</ElSelect>
</ElFormItem>
<ElFormItem label="SKU">
<ElInput
v-model.trim="searchForm.sku"
......@@ -1214,6 +1239,7 @@ import { CustomColumn } from '@/types/table'
import LogList from '@/components/LogList.vue'
import CommonCard from '@/components/CommonCard.vue'
import RightClickMenu from '@/components/RightClickMenu.vue'
import platformJson from '../../../json/platform.json'
const tableRef = ref()
const loading = ref(false)
const currentPage = ref(1)
......@@ -1665,6 +1691,7 @@ const [searchForm] = useValue<SearchForm>({
userMark: '',
customizedQuantity: '',
order: 'desc',
platform:''
})
const tableColumns = computed<CustomColumn<CardOrderData[]>>(() => {
return [
......
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