no message
parent
435620059b
commit
9b61dab6c6
|
|
@ -0,0 +1,18 @@
|
|||
/**
|
||||
* 入库明细 api 封装
|
||||
*
|
||||
* @Author: 霍锦
|
||||
* @Date: 2025-03-26 15:16:28
|
||||
* @Copyright 友仓
|
||||
*/
|
||||
import {postRequest} from '/@/lib/axios';
|
||||
|
||||
export const shippingApi = {
|
||||
|
||||
/**
|
||||
* 分配明细 @author 霍锦
|
||||
*/
|
||||
allocationPickDetail: (param: any) => {
|
||||
return postRequest('/shipping/allocationPickDetail', param);
|
||||
},
|
||||
};
|
||||
|
|
@ -19,7 +19,7 @@
|
|||
<a-radio-group button-style="solid" v-model:value="queryForm.status" @change="onSearch">
|
||||
<a-radio-button :value="undefined">全部</a-radio-button>
|
||||
<a-radio-button :value="ASN_ORDER_STATUS_ENUM.CREATED.value">已创建</a-radio-button>
|
||||
<a-radio-button :value="ASN_ORDER_STATUS_ENUM.PARTIALLY_IN.value">部分入库</a-radio-button>
|
||||
<a-radio-button :value="ASN_ORDER_STATUS_ENUM.PARTIALLY_IN.value">入库中</a-radio-button>
|
||||
<a-radio-button :value="ASN_ORDER_STATUS_ENUM.COMPLETED.value">已完成</a-radio-button>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<div class="header">
|
||||
<div>
|
||||
关键字:
|
||||
<a-input style="width: 250px" v-model:value="queryForm.keywords" placeholder="物料/库位/容器"/>
|
||||
<a-input style="width: 250px" v-model:value="queryForm.keywords" placeholder="物料/库位/容器" @change="onSearch"/>
|
||||
<a-button class="button-style" type="primary" @click="onSearch" v-privilege="'task:query'">搜索</a-button>
|
||||
<a-button class="button-style" type="default" @click="resetQuery" v-privilege="'task:query'">重置</a-button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
<a-row :gutter="24">
|
||||
<a-col :span="8">
|
||||
<a-form-item label="客户" name="customerId">
|
||||
<CustomerSelect style="width: 100%" v-model:value="form.customerId" :disabled-flag="true"
|
||||
@change="changeCustomerSelect"/>
|
||||
<CustomerSelect style="width: 100%" v-model:value="form.customerId" :disabled-flag="true" />
|
||||
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="8">
|
||||
|
|
@ -140,13 +140,6 @@ const rules = {
|
|||
|
||||
};
|
||||
|
||||
//选择客户
|
||||
function changeCustomerSelect(selectValue: any) {
|
||||
if (selectValue) {
|
||||
form.customerId = selectValue.customerId;
|
||||
}
|
||||
}
|
||||
|
||||
//选择收货单位
|
||||
function changeAddressSelect(selectValue: any) {
|
||||
if (selectValue) {
|
||||
|
|
|
|||
|
|
@ -10,21 +10,38 @@
|
|||
<a-form class="smart-query-form">
|
||||
<a-row class="smart-query-form-row">
|
||||
<a-form-item label="客户订单号" class="smart-query-form-item">
|
||||
<a-input style="width: 200px" v-model:value="queryForm.customerNumber" placeholder="客户订单号"/>
|
||||
<a-input style="width: 200px" v-model:value="queryForm.customerNumber" placeholder="客户订单号"
|
||||
@change="onSearch"/>
|
||||
</a-form-item>
|
||||
<a-form-item label="单据类型" class="smart-query-form-item">
|
||||
<SmartEnumSelect style="width: 200px" enum-name="PICK_ORDER_TYPE_ENUM" v-model:value="queryForm.orderType"
|
||||
@change="onSearch"/>
|
||||
</a-form-item>
|
||||
<a-form-item label="状态" class="smart-query-form-item">
|
||||
<a-radio-group button-style="solid" v-model:value="queryForm.status" @change="onSearch">
|
||||
<a-radio-button :value="undefined">全部</a-radio-button>
|
||||
<a-radio-button :value="PICK_ORDER_STATUS_ENUM.CREATED.value">已创建</a-radio-button>
|
||||
<a-radio-button :value="PICK_ORDER_STATUS_ENUM.PARTIALLY_ALLOCATED.value">分配中</a-radio-button>
|
||||
<a-radio-button :value="PICK_ORDER_STATUS_ENUM.ALLOCATED.value">已分配</a-radio-button>
|
||||
<a-radio-button :value="PICK_ORDER_STATUS_ENUM.PARTIALLY_PICKED.value">拣货中</a-radio-button>
|
||||
<a-radio-button :value="PICK_ORDER_STATUS_ENUM.COMPLETED.value">已完成</a-radio-button>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
<a-form-item class="smart-query-form-item">
|
||||
<a-button type="primary" @click="onSearch" class="smart-margin-left10" v-privilege="'pick:query'">
|
||||
<a-button-group>
|
||||
<a-button type="primary" @click="onSearch" v-privilege="'pick:query'">
|
||||
<template #icon>
|
||||
<SearchOutlined/>
|
||||
</template>
|
||||
查询
|
||||
</a-button>
|
||||
<a-button @click="resetQuery" class="smart-margin-left10" v-privilege="'pick:query'">
|
||||
<a-button @click="resetQuery" v-privilege="'pick:query'">
|
||||
<template #icon>
|
||||
<ReloadOutlined/>
|
||||
</template>
|
||||
重置
|
||||
</a-button>
|
||||
</a-button-group>
|
||||
</a-form-item>
|
||||
</a-row>
|
||||
</a-form>
|
||||
|
|
@ -159,6 +176,8 @@ import {pickApi} from '/@/api/business/wms/shipping/pick/pick-api';
|
|||
import {pickDetailApi} from '/@/api/business/wms/shipping/pickDetail/pick-detail-api'
|
||||
import {TABLE_ID_CONST} from "/@/constants/support/table-id-const";
|
||||
import {useRoute, useRouter} from "vue-router";
|
||||
import SmartEnumSelect from "/@/components/framework/smart-enum-select/index.vue";
|
||||
import {PICK_ORDER_STATUS_ENUM} from "/@/api/business/wms/shipping/pick/pick-const";
|
||||
|
||||
// ---------------------------- 表格列 ----------------------------
|
||||
|
||||
|
|
@ -300,6 +319,8 @@ const totals = computed(() => {
|
|||
|
||||
const queryFormState = {
|
||||
customerNumber: undefined, //客户订单号
|
||||
status: undefined,//状态
|
||||
orderType: undefined,//订单类型
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
};
|
||||
|
|
@ -417,7 +438,7 @@ async function requestBatchDelete() {
|
|||
SmartLoading.show();
|
||||
const response = await pickApi.batchDelete(selectedRowKeyList.value);
|
||||
console.log(response)
|
||||
const {error, success} = JSON.parse(response.msg);
|
||||
const {error, success} = JSON.parse(response.data);
|
||||
if (success) {
|
||||
message.success(success);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<div class="header">
|
||||
<div>
|
||||
关键字:
|
||||
<a-input style="width: 250px" v-model:value="queryForm.keyword" placeholder="姓名/手机号/登录账号"/>
|
||||
<a-input style="width: 250px" v-model:value="queryForm.keywords" placeholder="" @change="onSearch"/>
|
||||
<a-button class="button-style" type="primary" @click="onSearch" v-privilege="'pickDetail:query'">搜索</a-button>
|
||||
<a-button class="button-style" type="default" @click="resetQuery" v-privilege="'pickDetail:query'">重置
|
||||
</a-button>
|
||||
|
|
@ -35,6 +35,14 @@
|
|||
</template>
|
||||
批量移除
|
||||
</a-button>
|
||||
<a-button class="button-style" type="primary" v-privilege="'shipping:allocationPickDetail'"
|
||||
@click="confirmAllocationPickDetail"
|
||||
:disabled="props.pickId==0 || selectedRowKeyList.length == 0">
|
||||
<template #icon>
|
||||
<EditOutlined/>
|
||||
</template>
|
||||
分配明细
|
||||
</a-button>
|
||||
<TableOperator class="smart-margin-bottom5" v-model="columns" :tableId="TABLE_ID_CONST.BUSINESS.WMS.PICK_DETAIL"
|
||||
:refresh="queryData"/>
|
||||
</div>
|
||||
|
|
@ -100,6 +108,7 @@ import {smartSentry} from '/@/lib/smart-sentry';
|
|||
import {TABLE_ID_CONST} from "/@/constants/support/table-id-const";
|
||||
import TableOperator from '/@/components/support/table-operator/index.vue';
|
||||
import {pickDetailApi} from "/@/api/business/wms/shipping/pickDetail/pick-detail-api";
|
||||
import {shippingApi} from '/@/api/business/wms/shipping/shipping-api'
|
||||
import PICKDetailForm from "/@/views/business/wms/shipping/pickDetail/pick-detail-form.vue";
|
||||
import {message, Modal} from "ant-design-vue";
|
||||
import {SmartLoading} from '/@/components/framework/smart-loading';
|
||||
|
|
@ -153,7 +162,7 @@ const defaultQueryForm = {
|
|||
pageNum: 1,
|
||||
pageSize: PAGE_SIZE,
|
||||
pickId: 0,
|
||||
keyword: undefined,
|
||||
keywords: undefined,
|
||||
}
|
||||
|
||||
// 查询表单
|
||||
|
|
@ -281,6 +290,46 @@ async function requestBatchDelete() {
|
|||
}
|
||||
}
|
||||
|
||||
//批量分配明细
|
||||
function confirmAllocationPickDetail() {
|
||||
Modal.confirm({
|
||||
title: '提示',
|
||||
content: '确定要批量分配这些数据吗?',
|
||||
okText: '分配',
|
||||
okType: 'danger',
|
||||
onOk() {
|
||||
requestAllocationPickDetail();
|
||||
},
|
||||
cancelText: '取消',
|
||||
onCancel() {
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
//请求批量分配明细
|
||||
async function requestAllocationPickDetail() {
|
||||
try {
|
||||
SmartLoading.show();
|
||||
const response = await shippingApi.allocationPickDetail({
|
||||
pickId: props.pickId,
|
||||
pickDetailIds: selectedRowKeyList.value
|
||||
});
|
||||
const {error, success} = JSON.parse(response.data);
|
||||
if (error) {
|
||||
message.error(error);
|
||||
}
|
||||
if (success) {
|
||||
message.success(success);
|
||||
}
|
||||
await queryData();
|
||||
selectedRowKeyList.value=[];
|
||||
} catch (e) {
|
||||
smartSentry.captureError(e);
|
||||
} finally {
|
||||
SmartLoading.hide();
|
||||
}
|
||||
}
|
||||
|
||||
watch(
|
||||
() => props.pickId,
|
||||
(value) => {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<a-form ref="formRef" :model="form" :rules="rules" :label-col="{ span: 5 }">
|
||||
|
||||
<a-form-item label="物料" name="itemId">
|
||||
<ItemSelect style="width: 100%" v-model:value="form.itemId" :disabledFlag="true" @change="changeItemSelect"/>
|
||||
<ItemSelect style="width: 100%" v-model:value="form.itemId" :disabledFlag="true"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="数量" name="orderQuantity">
|
||||
|
|
@ -73,13 +73,6 @@ function onClose() {
|
|||
visibleFlag.value = false;
|
||||
}
|
||||
|
||||
//选择物料
|
||||
function changeItemSelect(selectValue: any) {
|
||||
if (selectValue) {
|
||||
form.itemId = selectValue.itemId;
|
||||
}
|
||||
}
|
||||
|
||||
// 获取当前日期并去除符号作为批次
|
||||
function getCurrentDateWithoutSymbols() {
|
||||
const now = new Date();
|
||||
|
|
|
|||
Loading…
Reference in New Issue