no message

main
HUOJIN\92525 2025-04-27 17:34:46 +08:00
parent 435620059b
commit 9b61dab6c6
7 changed files with 109 additions and 35 deletions

View File

@ -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);
},
};

View File

@ -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>

View File

@ -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>

View File

@ -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) {

View File

@ -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'">
<template #icon>
<SearchOutlined/>
</template>
查询
</a-button>
<a-button @click="resetQuery" class="smart-margin-left10" v-privilege="'pick:query'">
<template #icon>
<ReloadOutlined/>
</template>
重置
</a-button>
<a-button-group>
<a-button type="primary" @click="onSearch" v-privilege="'pick:query'">
<template #icon>
<SearchOutlined/>
</template>
查询
</a-button>
<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);
}

View File

@ -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) => {

View File

@ -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();