Commit c9d64291 by qinjianhui

fix: 工厂端修改

parent 4765943b
......@@ -26,12 +26,12 @@ export function getOrderDetail(id: number) {
},
)
}
export function getSubOrderBySubOrderNumber(factorySubOrderNumber: string) {
export function getSubOrderBySubOrderNumber(thirdSubOrderNumber: string) {
return axios.get<never, BaseRespData<PodProductList>>(
'factory/podJomallOrderProduct/getSubOrderBySubOrderNumber',
'factory/podJomallOrderProduct/getSubOrderByThirdSubOrderNumber',
{
params: {
factorySubOrderNumber,
thirdSubOrderNumber,
},
},
)
......
......@@ -346,10 +346,10 @@ watch(
isAutoSure.value = false
if (props.type === 1) {
placeholderText.value =
'扫描枪输入生产单号,录入下一单本单自动生产完成,最后一单扫两次完成生产'
'扫描枪输入第三方订单号,录入下一单本单自动生产完成,最后一单扫两次完成生产'
} else if (props.type === 2) {
placeholderText.value =
'扫描枪输入生产单号,录入下一单本单自动发货完成,最后一单扫两次完成发货'
'扫描枪输入第三方订单号,录入下一单本单自动发货完成,最后一单扫两次完成发货'
}
sendNum.value = 0
// canlogisticsList('GNKD').then((res) => {
......@@ -625,7 +625,6 @@ const trackcodeInput = async () => {
} catch (e) {
console.error(e)
productInfo.value = {}
playAudio('weight_search_error')
nextTick(() => {
if (trackingNumberRef.value) {
;(trackingNumberRef.value as HTMLInputElement).focus()
......
......@@ -175,11 +175,14 @@
<ElButton type="danger" @click="voidedBtn">作废</ElButton>
</span> -->
</div>
<template v-if="['IN_PRODUCTION', 'WAIT_SHIPMENT'].includes(status)">
<div
v-if="['IN_PRODUCTION', 'WAIT_SHIPMENT'].includes(status)"
v-if="CardOrderList.length"
v-loading="loading"
element-loading-text="加载中..."
class="card-mode"
>
<div v-loading="loading" class="card-list">
<div class="card-list">
<div
v-for="cardItem in CardOrderList"
:key="cardItem.id"
......@@ -187,9 +190,9 @@
@click="cardClick(cardItem)"
>
<CardWrapper
@contextmenu.prevent="(v)=>rightClick(v,cardItem)"
:card-item="cardItem"
:class="{ active: isSelectStatused(cardItem) }"
@contextmenu.prevent="(v) => rightClick(v, cardItem)"
>
<!-- <template #top_right> 工厂类型 </template> -->
<template #bottom_left>
......@@ -376,7 +379,11 @@
</el-col>
</el-row>
<el-row style="margin-top: 5px">
<el-col :span="14" :offset="0" style="white-space: nowrap">
<el-col
:span="14"
:offset="0"
style="white-space: nowrap"
>
<span
:title="`店铺单号:${cardItem?.shopNumber}`"
style="
......@@ -389,6 +396,26 @@
{{ cardItem?.shopNumber }}
</span>
</el-col>
<el-col
:span="10"
:offset="0"
style="white-space: nowrap"
>
<span
:title="`第三方订单号:${cardItem?.thirdSubOrderNumber}`"
style="
display: inline-block;
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
"
@click.stop="
copy(String(cardItem?.thirdSubOrderNumber || ''))
"
>
{{ cardItem?.thirdSubOrderNumber }}
</span>
</el-col>
</el-row>
</div>
</template>
......@@ -396,6 +423,8 @@
</div>
</div>
</div>
<div v-else class="empty">暂无数据</div>
</template>
<div
v-else
ref="tableWrapperRef"
......@@ -404,13 +433,12 @@
class="order-list flex-1 overflow-hidden"
>
<TableView
ref="tableRef"
:paginated-data="tableData"
:columns="tableColumns"
default-expand-all
:span-method="arraySpanMethod"
@right-click="rightClick"
@selection-change="handleSelectionChange"
@right-click="rightClick"
>
<template #expand="{ row }">
<div v-if="row.productList" class="table-expand">
......@@ -726,15 +754,11 @@
>
<LogList :log-list="logList" />
</el-dialog>
<el-dialog
v-model="countVisible"
title="数据统计"
width="400px"
:close-on-click-modal="false"
>
<p>基版 <b>{{cardItem?.baseSku}}</b> 的统计数量为:<b> {{count}}</b></p>
</el-dialog>
<right-menu :show_copy_shop_number="['IN_PRODUCTION','WAIT_SHIPMENT'].includes(status)" ref="rightMenuRef" @change="rightChange" />
<right-menu
ref="rightMenuRef"
:show_copy_shop_number="['IN_PRODUCTION', 'WAIT_SHIPMENT'].includes(status)"
@change="rightChange"
/>
<fastProduction
v-model:detailVisible="detailVisible"
:title="fastTitle"
......@@ -762,7 +786,7 @@ import {
getCardOrderList,
getOrderDetail,
getInProductionCount,
getWaitShipmentCount
getWaitShipmentCount,
} from '@/api/podOrder'
import TableView from '@/components/TableView.vue'
import {
......@@ -792,57 +816,64 @@ import {
imageAryInter,
CardOrderData,
} from '@/types/api/podOrder'
import {ArrowUp,ArrowDown} from '@element-plus/icons-vue'
import { ArrowUp, ArrowDown } from '@element-plus/icons-vue'
import { getLogisticsCompanyList } from '@/api/common'
import { ElButton, type FormRules } from 'element-plus'
import { showConfirm } from '@/utils/ui'
import { filePath } from '@/api/axios'
import LogList from '@/components/LogList.vue'
const tableRef = ref();
const tableRef = ref()
const countVisible = ref(false)
const keyCode = ref('');
const cardItem = ref<PodProductList | CardOrderData>();
const keyCode = ref('')
const cardItem = ref<PodProductList | CardOrderData>()
const rightMenuRef = ref()
const count = ref<number>(0)
const rightClick = (e:MouseEvent,item:PodProductList | CardOrderData) => {
const rightClick = (e: MouseEvent, item: PodProductList | CardOrderData) => {
cardItem.value = item
rightMenuRef.value.setPosition({
x: e.clientX,
y: e.clientY,
cardItem: e.clientY,
el: e
el: e,
})
}
const rightChange =async (code:string) => {
const flag = ['IN_PRODUCTION','WAIT_SHIPMENT'].includes(status.value)
const rightChange = async (code: string) => {
const flag = ['IN_PRODUCTION', 'WAIT_SHIPMENT'].includes(status.value)
if (code === 'check_all') {
if(flag){
if (flag) {
selection.value = JSON.parse(JSON.stringify(CardOrderList.value))
} else{
if( tableRef.value && tableRef.value?.tableRef){
} else {
if (tableRef.value && tableRef.value?.tableRef) {
tableRef.value?.tableRef.toggleAllSelection()
}
// selection.value = JSON.parse(JSON.stringify(tableData.value))
}
} else if (code === 'clear_check') {
selection.value = []
tableRef.value?.tableRef.toggleAllSelection()
} else if (code === 'copy_code') {
const str = selection.value.map(item=>item.factorySubOrderNumber || item.factoryOrderNumber).join()
const str = selection.value
.map((item) => item.factorySubOrderNumber || item.factoryOrderNumber)
.join()
navigator.clipboard.writeText(str)
ElMessage.success('复制成功')
} else if (code === 'copy_shopNumber') {
const str = selection.value.map(item=>item.shopNumber).join()
const str = selection.value.map((item) => item.shopNumber).join()
navigator.clipboard.writeText(str)
ElMessage.success('复制成功')
} else if (code === 'count') {
countVisible.value = true
let res
if(status.value==='WAIT_SHIPMENT'){
res = await getWaitShipmentCount(cardItem.value?.productionFileId,cardItem.value?.baseSku)
}else if(status.value==='IN_PRODUCTION'){
res = await getInProductionCount(cardItem.value?.productionFileId,cardItem.value?.baseSku)
if (status.value === 'WAIT_SHIPMENT') {
res = await getWaitShipmentCount(
cardItem.value?.productionFileId,
cardItem.value?.baseSku,
)
} else if (status.value === 'IN_PRODUCTION') {
res = await getInProductionCount(
cardItem.value?.productionFileId,
cardItem.value?.baseSku,
)
}
count.value = (res?.data || 0) as number
}
......@@ -1039,16 +1070,17 @@ const fastToProduction = (title: string, type: number) => {
}
const cardClick = (data: PodProductList | CardOrderData) => {
const status = isSelectStatused(data)
if(keyCode.value==='Shift'){
if(selection.value.length){
const startIndex=CardOrderList.value.findIndex(el=>el.id===selection.value[0].id)
const endIndex = CardOrderList.value.findIndex(el=>el.id===data.id)
selection.value =[]
for(let k =startIndex;k<=endIndex;k++ ){
if (keyCode.value === 'Shift') {
if (selection.value.length) {
const startIndex = CardOrderList.value.findIndex(
(el) => el.id === selection.value[0].id,
)
const endIndex = CardOrderList.value.findIndex((el) => el.id === data.id)
selection.value = []
for (let k = startIndex; k <= endIndex; k++) {
selection.value.push(JSON.parse(JSON.stringify(CardOrderList.value[k])))
}
}
}
if (status) {
selection.value = selection.value.filter(
......@@ -1148,6 +1180,7 @@ const {
onPageSizeChange: handleSizeChange,
} = usePageList<OrderData | CardOrderData>({
query: async (page, pageSize) => {
console.log(111111)
const commonParams = {
...searchForm.value,
status: status.value,
......@@ -1164,8 +1197,9 @@ const {
// 动态选择接口
const fetchData =
status.value === 'IN_PRODUCTION' ? getCardOrderList : getOrderList
const res = await fetchData(commonParams, page, pageSize)
return res.data
return fetchData(commonParams, page, pageSize).then(
(res) => res.data,
) as never
},
})
// 发货
......@@ -1391,7 +1425,11 @@ const addInternalTag = async () => {
}).then(async ({ value }: { value: string }) => {
try {
const res = await addInternalTagApi(
selection.value.map((item: CardOrderData | PodProductList) => item.id),
selection.value.map((item: CardOrderData | PodProductList) =>
status.value === 'IN_PRODUCTION' || status.value === 'WAIT_SHIPMENT'
? (item.podOrderId as number)
: item.id,
),
value,
)
ElMessage.success(res.message)
......@@ -1402,34 +1440,6 @@ const addInternalTag = async () => {
}
})
}
// const voidedBtn = async () => {
// if (selection.value.length === 0) {
// return ElMessage({
// message: '请选择订单',
// type: 'warning',
// offset: window.innerHeight / 2,
// })
// }
// ElMessageBox.prompt('', '作废', {
// confirmButtonText: '确认',
// cancelButtonText: '取消',
// inputPlaceholder: '请输入作废原因',
// inputPattern: /.+/,
// inputErrorMessage: '作废原因不能为空',
// }).then(async ({ value }) => {
// try {
// const res = await reasonInvalidationApi(
// selection.value.map((item) => item.id),
// value,
// )
// ElMessage.success(res.message)
// loadTabData()
// loadDiffList()
// } catch (e) {
// // showError(e)
// }
// })
// }
const printManuscript = async () => {
if (selection.value.length === 0) {
return ElMessage({
......@@ -1550,18 +1560,18 @@ const getSafeImages = (item: PodProductList | CardOrderData): cardImages[] => {
if (!item.images) return []
return item.images as cardImages[]
}
const listenerKeydown= (e:KeyboardEvent) => {
console.log(e)
const listenerKeydown = (e: KeyboardEvent) => {
keyCode.value = e?.key
}
onBeforeUnmount(()=>{
document.removeEventListener('keydown', listenerKeydown)
})
onMounted(() => {
document.addEventListener('keydown', listenerKeydown)
getLogisticsList()
loadTabData()
})
onBeforeUnmount(() => {
document.removeEventListener('keydown', listenerKeydown)
})
</script>
<style lang="scss" scoped>
.header-filter-form {
......@@ -1573,12 +1583,13 @@ onMounted(() => {
.card-mode {
padding-top: 10px;
overflow: auto;
.card-list {
flex: 1;
.card-list {
display: grid;
grid-template-columns: repeat(6, 1fr);
grid-template-rows: max-content;
gap: 10px;
overflow: hidden;
.card-list_item {
border: 1px solid #eee;
border-top-left-radius: 10px;
......@@ -1626,7 +1637,14 @@ onMounted(() => {
}
}
}
.empty {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
color: #777;
overflow: hidden;
}
.tabs {
display: flex;
align-items: center;
......
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