|
|
@@ -173,7 +173,7 @@
|
|
|
<picking-no-input ref="pickingNoInputRef" @loadData="loadTask" />
|
|
|
<big-picking ref="bigPickingRef" :model="model" :owner-map="ownerMap" :task-detail-list="taskDetailList" :warehouse="warehouse" />
|
|
|
<select-owner ref="selectOwnerRef" :taskList="allTaskList" :ownerMap="ownerMap" @queryOwner="queryOwner" />
|
|
|
- <owner-batch-task ref="ownerBatchTaskRef" :ownerMap="ownerMap" />
|
|
|
+<!-- <owner-batch-task ref="ownerBatchTaskRef" :ownerMap="ownerMap" />-->
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -182,7 +182,7 @@ import nodataUrl from '@/assets/nodata.png'
|
|
|
import { useRoute, useRouter } from 'vue-router'
|
|
|
import { getTaskList } from '@/views/outbound/picking/task/hooks/task'
|
|
|
import { computed, defineAsyncComponent, nextTick, ref } from 'vue'
|
|
|
-import { showDialog, showFailToast, showToast } from 'vant'
|
|
|
+import { showConfirmDialog, showDialog, showFailToast, showToast } from 'vant'
|
|
|
import { basicStore } from '@/store/modules/basic'
|
|
|
import { createPickingTask, getBigPickingTaskDetail, getPickingTaskDetail } from '@/api/picking'
|
|
|
import { useStore } from '@/store/modules/user'
|
|
|
@@ -195,6 +195,7 @@ import { getTimeHours } from '@/utils/date'
|
|
|
import { fetchPickingData } from '@/views/outbound/picking/list/hooks/list'
|
|
|
import { getPickingTaskDetailType } from '@/types/picking'
|
|
|
import OwnerBatchTask from '@/views/outbound/picking/components/OwnerBatchTask.vue'
|
|
|
+import { toMap } from '@/utils/dataType'
|
|
|
const router = useRouter()
|
|
|
const store = basicStore()
|
|
|
const storeUser = useStore()
|
|
|
@@ -354,9 +355,9 @@ const updateOwnerCheckAllStatus=()=>{
|
|
|
// 查看活动单列表
|
|
|
const ownerBatchTaskRef=ref(null)
|
|
|
const queryOwnerTask= (row)=>{
|
|
|
- let orderNoList = ownerCheckedResult.value.flatMap(item => item.matchedOrderNoList);
|
|
|
- if(row!=='all'){
|
|
|
- orderNoList=row.matchedOrderNoList
|
|
|
+ let orderNoList =row.matchedOrderNoList
|
|
|
+ if(row=='all'){
|
|
|
+ orderNoList=typeTaskList().flatMap(item => item.matchedOrderNoList);
|
|
|
}
|
|
|
const params = {
|
|
|
warehouse,
|
|
|
@@ -366,22 +367,59 @@ const queryOwnerTask= (row)=>{
|
|
|
page:1
|
|
|
};
|
|
|
showLoading()
|
|
|
- getPickingTaskDetail(<getPickingTaskDetailType>params).then(res=>{
|
|
|
+ getPickingTaskDetail(<getPickingTaskDetailType>params).then(res=> {
|
|
|
closeLoading()
|
|
|
- if(res.data.length===0){
|
|
|
- showToast({duration:5000,message:'任务已被获取,请刷新后重新查看!'})
|
|
|
+ if (res.data.length === 0) {
|
|
|
+ showToast({ duration: 5000, message: '任务已被获取,请刷新后重新查看!' })
|
|
|
return
|
|
|
}
|
|
|
- const dataList = res.data.filter(item => item.residualOrderQty <=30 )
|
|
|
- if(dataList.length==0){
|
|
|
- showToast({duration:5000,message:'当前选择活动单,没有30单内的数据!'})
|
|
|
+ const dataList = res.data.filter(item => item.residualOrderQty <= 30)
|
|
|
+ if (dataList.length == 0) {
|
|
|
+ showToast({ duration: 5000, message: '当前活动单,没有30单内的数据!' })
|
|
|
return
|
|
|
}
|
|
|
- ownerBatchTaskRef.value?.show(JSON.stringify(dataList))
|
|
|
+ taskList.value.sort((a, b) => {
|
|
|
+ if (a.customerId !== b.customerId) {
|
|
|
+ return a.customerId.localeCompare(b.customerId);
|
|
|
+ }
|
|
|
+ if (a.carrier !== b.carrier) {
|
|
|
+ return a.carrier.localeCompare(b.carrier)
|
|
|
+ }
|
|
|
+ return b.residualOrderQty - a.residualOrderQty
|
|
|
+ });
|
|
|
+ const dataListsSlice=dataList.slice(0, 10)
|
|
|
+ const sumQty = dataListsSlice.reduce((sum, item) => sum + Number(item.residualOrderQty), 0)
|
|
|
+ showConfirmDialog({
|
|
|
+ title: '温馨提示',
|
|
|
+ message:`您正在生成${dataListsSlice.length}个活动波次,共:${sumQty}单是否继续`,
|
|
|
+ allowHtml:true,
|
|
|
+ keyboardEnabled:false
|
|
|
+ }).then(() => {
|
|
|
+ _createPickingTask(dataListsSlice)
|
|
|
+ })
|
|
|
+ .catch(() => {})
|
|
|
}).catch(()=>{
|
|
|
closeLoading()
|
|
|
})
|
|
|
}
|
|
|
+const _createPickingTask=(dataList)=>{
|
|
|
+ const params = {
|
|
|
+ warehouse,
|
|
|
+ owners: [...new Set(dataList.map(item => item.customerId))],
|
|
|
+ carriers: [...new Set(dataList.map(item => item.carrier))],
|
|
|
+ type:'*',
|
|
|
+ uidMap:toMap(dataList,'uid','residualOrderQty'),
|
|
|
+ enableFlag:false
|
|
|
+ }
|
|
|
+ showLoading()
|
|
|
+ createPickingTask(params).then(res => {
|
|
|
+ closeLoading()
|
|
|
+ router.push({name:'PickingList',query: { code:res.data }})
|
|
|
+ }).catch(err => {
|
|
|
+ closeLoading()
|
|
|
+ showFailToast({duration:5000,message:err.message})
|
|
|
+ })
|
|
|
+}
|
|
|
/**
|
|
|
* 查看任务子列表
|
|
|
*/
|
|
|
@@ -585,24 +623,24 @@ const onClickRightIcon = () => {
|
|
|
actions.value = (modeType.value === 'task') ? taskActions : defaultActions
|
|
|
modeTrueFalseBy.value = true
|
|
|
}
|
|
|
-
|
|
|
+const typeTaskList = () => {
|
|
|
+ const list = JSON.parse(JSON.stringify(taskList.value));
|
|
|
+ return list.filter(item => item.type === '*');
|
|
|
+}
|
|
|
const onSelectMode= async (value) => {
|
|
|
if (value.key == 'selectOwner') {
|
|
|
selectOwnerRef.value?.show()
|
|
|
}else if(value.key == 'task') {
|
|
|
- const typeTaskList = () => {
|
|
|
- const list = JSON.parse(JSON.stringify(taskList.value));
|
|
|
- return list.filter(item => item.type === '*');
|
|
|
- }
|
|
|
if(typeTaskList().length==0){
|
|
|
showToast({duration:3000,message:'当前没有活动单'})
|
|
|
- }else {
|
|
|
- modeType.value=value.key
|
|
|
- taskList.value=typeTaskList()
|
|
|
- if(typeTaskList().length<=10){
|
|
|
- ownerCheckAllChange(true)
|
|
|
- }
|
|
|
+ return
|
|
|
}
|
|
|
+ queryOwnerTask('all')
|
|
|
+ // modeType.value=value.key
|
|
|
+ // taskList.value=typeTaskList()
|
|
|
+ // if(typeTaskList().length<=10){
|
|
|
+ // ownerCheckAllChange(true)
|
|
|
+ // }
|
|
|
}else if(value.key == 'all'){
|
|
|
queryOwner(value.key)
|
|
|
}
|