master
吴普建 11 months ago
parent 9b92babe46
commit ba0c39443c

@ -1,56 +1,56 @@
<template>
<div class="h-full">
<my-card title="搜索条件" search>
<n-form ref="formRef" inline label-width="auto" :model="searchForm" size="medium">
<n-form-item label="采购订单编号">
<n-input v-model:value="searchForm.poCode" placeholder="请输入采购订单编号" />
</n-form-item>
<n-form-item label="供应商名称">
<n-input v-model:value="searchForm.vendorName" placeholder="请输入供应商名称" />
</n-form-item>
<n-form-item label="单据状态">
<n-select v-model:value="searchForm.status" class="w-180px" :options="wms_item_recpt_status"></n-select>
<!-- <n-input v-model:value="searchForm.status" placeholder="请选择单据状态" /> -->
</n-form-item>
<n-form-item>
<component :is="useSearchBtn(search, reset)"></component>
</n-form-item>
</n-form>
</my-card>
<my-card title="采购入库列表">
<template #right>
<div class="flex-center">
<component
:is="useDelBtn(delSelect, undefined, '确定要删除所有已选中的数据吗?', Boolean(!selectKeys.length))"
v-hasPermi="['wms:recpt:remove']"
></component>
<!-- <component :is="useAddBtn(handleAddTable, undefined, '新增')" v-hasPermi="['wms:recpt:add']"></component>
<component :is="useDownBtn(handleExport)"></component> -->
<n-button size="small" class="mr-5px" type="primary" @click="getWmsItemRecptData">
<icon-mdi-refresh class="mr-4px text-16px" :class="{ 'animate-spin': loading }" />
刷新表格
</n-button>
</div>
</template>
<div>
<n-data-table
:row-key="row => row.recptId"
:columns="columns"
:data="data"
:loading="loading"
:scroll-x="1000"
@update-checked-row-keys="handleSelect"
/>
<my-pagination v-model:search-form="searchForm" @init="init"></my-pagination>
</div>
<table-action-modal
v-model:visible="showModal"
:type="modalType"
:edit-data="editData"
:get-list="getWmsItemRecptData"
/>
</my-card>
</div>
<div class="h-full">
<my-card title="搜索条件" search>
<n-form ref="formRef" inline label-width="auto" :model="searchForm" size="medium">
<n-form-item label="采购订单编号">
<n-input v-model:value="searchForm.poCode" placeholder="请输入采购订单编号" />
</n-form-item>
<n-form-item label="供应商名称">
<n-input v-model:value="searchForm.vendorName" placeholder="请输入供应商名称" />
</n-form-item>
<n-form-item label="单据状态">
<n-select v-model:value="searchForm.status" class="w-180px" :options="wms_item_recpt_status"></n-select>
<!-- <n-input v-model:value="searchForm.status" placeholder="请选择单据状态" /> -->
</n-form-item>
<n-form-item>
<component :is="useSearchBtn(search, reset)"></component>
</n-form-item>
</n-form>
</my-card>
<my-card title="采购入库列表">
<template #right>
<div class="flex-center">
<component
:is="useDelBtn(delSelect, undefined, '确定要删除所有已选中的数据吗?', Boolean(!selectKeys.length))"
v-hasPermi="['wms:recpt:remove']"
></component>
<!-- <component :is="useAddBtn(handleAddTable, undefined, '新增')" v-hasPermi="['wms:recpt:add']"></component>
<component :is="useDownBtn(handleExport)"></component> -->
<n-button size="small" class="mr-5px" type="primary" @click="getWmsItemRecptData">
<icon-mdi-refresh class="mr-4px text-16px" :class="{ 'animate-spin': loading }" />
刷新表格
</n-button>
</div>
</template>
<div>
<n-data-table
:row-key="row => row.recptId"
:columns="columns"
:data="data"
:loading="loading"
:scroll-x="1000"
@update-checked-row-keys="handleSelect"
/>
<my-pagination v-model:search-form="searchForm" @init="init"></my-pagination>
</div>
<table-action-modal
v-model:visible="showModal"
:type="modalType"
:edit-data="editData"
:get-list="getWmsItemRecptData"
/>
</my-card>
</div>
</template>
<script lang="tsx" setup>
@ -63,10 +63,10 @@ import { useLoading, useBoolean } from '@/hooks';
// import { deepClone } from '@/utils';
import { selectWmsItemRecptList, delWmsItemRecpt } from '@/service/api/wms/recpt';
import {
useSearchBtn,
useDelBtn,
// useBtn,
useEditBtn
useSearchBtn,
useDelBtn,
// useBtn,
useEditBtn
} from '@/hooks/common/useBtn';
// import { download } from '@/service/request/helpers';
import { useSocketStore } from '@/store/modules/socket/index';
@ -90,213 +90,203 @@ const message = useMessage();
const total = ref();
const page = ref(1);
const searchForm = ref({
pageNum: 1,
pageSize: 10,
total: 0,
poCode: undefined,
vendorName: undefined,
attr1: 'YL',
status: null
pageNum: 1,
pageSize: 10,
total: 0,
poCode: undefined,
vendorName: undefined,
attr1: 'YL',
status: null
});
const editData = ref<wms.recptRawType.columns>({
recptId: null,
recptCode: null,
recptName: null,
iqcId: null,
iqcCode: null,
poCode: null,
vendorId: null,
vendorCode: null,
vendorName: null,
vendorNick: null,
warehouseId: null,
warehouseCode: null,
warehouseName: null,
locationId: null,
locationCode: null,
locationName: null,
areaId: null,
areaCode: null,
areaName: null,
recptDate: null,
status: null,
remark: null,
attr1: null,
attr2: null,
attr3: null,
attr4: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
type: null,
fromBillId: null,
fromBillCode: null,
fromBillName: null,
snidCode: null,
createByNick: null,
manageBy: null,
manageByNick: null,
headBy: null,
headByNick: null,
salseDeptId: null,
salseDeptName: null,
salseBy: null,
salseByNick: null
recptId: null,
recptCode: null,
recptName: null,
iqcId: null,
iqcCode: null,
poCode: null,
vendorId: null,
vendorCode: null,
vendorName: null,
vendorNick: null,
warehouseId: null,
warehouseCode: null,
warehouseName: null,
locationId: null,
locationCode: null,
locationName: null,
areaId: null,
areaCode: null,
areaName: null,
recptDate: null,
status: null,
remark: null,
attr1: null,
attr2: null,
attr3: null,
attr4: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
type: null,
fromBillId: null,
fromBillCode: null,
fromBillName: null,
snidCode: null,
createByNick: null,
manageBy: null,
manageByNick: null,
headBy: null,
headByNick: null,
salseDeptId: null,
salseDeptName: null,
salseBy: null,
salseByNick: null
});
const selectKeys = ref<DataTableRowKey[]>([]);
function handleSelect(keys: DataTableRowKey[]) {
selectKeys.value = keys;
selectKeys.value = keys;
}
const data = ref<wms.recptRawType.columns[]>([]);
const columns: Ref<DataTableColumns<wms.recptRawType.columns>> = ref([
{
type: 'selection',
align: 'center'
},
{
title: '入库单编号',
key: 'recptCode',
align: 'center',
width: 110,
ellipsis: {
tooltip: true
}
},
{
title: '入库单名称',
key: 'recptName',
align: 'center',
width: 110,
ellipsis: {
tooltip: true
}
},
{
title: '销售订单编号',
key: 'poCode',
align: 'center',
width: 110,
ellipsis: {
tooltip: true
}
},
{
title: '供应商名称',
key: 'vendorName',
align: 'center',
width: 110,
ellipsis: {
tooltip: true
}
},
{
title: '仓库名称',
key: 'warehouseName',
align: 'center',
width: 110,
ellipsis: {
tooltip: true
}
},
// {
// title: '',
// key: 'locationName',
// align: 'center',
// width: 110
// },
// {
// title: '',
// key: 'areaName',
// align: 'center',
// width: 110
// },
{
title: '入库日期',
key: 'recptDate',
align: 'center',
width: 110,
ellipsis: {
tooltip: true
}
},
{
title: '创建时间',
key: 'createTime',
align: 'center',
width: 180,
ellipsis: {
tooltip: true
}
},
{
title: '单据状态',
key: 'status',
align: 'center',
render: row => {
return <dict-tag options={wms_item_recpt_status.value} value={row.status}></dict-tag>;
},
width: 110,
ellipsis: {
tooltip: true
}
},
{
title: '来源单据编码',
key: 'fromBillCode',
align: 'center',
width: 110,
ellipsis: {
tooltip: true
}
},
{
title: '负责人简称',
key: 'headByNick',
align: 'center',
width: 110,
ellipsis: {
tooltip: true
}
},
{
title: '操作',
key: 'action',
fixed: 'right',
width: 220,
align: 'center',
render: row => {
console.log(wms_item_recpt_status.value, row.status, '----');
if (row.status === 'FINISHED') {
return (
<n-button size="small" type="info" onClick={() => print(row)}>
补打标签
</n-button>
);
}
const Btn: JSX.Element[] = [];
if (row.status !== 'FINISHED') {
Btn.push(
useEditBtn(
() => {
router.push({
name: 'storage_auxiliaryProduceinfo',
query: { id: row.recptId, warehouseId: row.warehouseId }
});
},
'tiny',
'执行入库'
)
);
}
return Btn;
}
}
{
type: 'selection',
align: 'center'
},
{
title: '入库单编号',
key: 'recptCode',
align: 'center',
width: 130,
ellipsis: {
tooltip: true
}
},
{
title: '入库单名称',
key: 'recptName',
align: 'center',
ellipsis: {
tooltip: true
}
},
{
title: '销售订单编号',
key: 'poCode',
align: 'center',
ellipsis: {
tooltip: true
}
},
{
title: '供应商名称',
key: 'vendorName',
align: 'center',
ellipsis: {
tooltip: true
}
},
{
title: '仓库名称',
key: 'warehouseName',
align: 'center',
ellipsis: {
tooltip: true
}
},
// {
// title: '',
// key: 'locationName',
// align: 'center',
// width: 110
// },
// {
// title: '',
// key: 'areaName',
// align: 'center',
// width: 110
// },
{
title: '入库日期',
key: 'recptDate',
align: 'center',
ellipsis: {
tooltip: true
}
},
{
title: '创建时间',
key: 'createTime',
align: 'center',
ellipsis: {
tooltip: true
}
},
{
title: '单据状态',
key: 'status',
align: 'center',
render: row => {
return <dict-tag options={wms_item_recpt_status.value} value={row.status}></dict-tag>;
},
ellipsis: {
tooltip: true
}
},
{
title: '来源单据编码',
key: 'fromBillCode',
align: 'center',
ellipsis: {
tooltip: true
}
},
{
title: '负责人简称',
key: 'headByNick',
align: 'center',
ellipsis: {
tooltip: true
}
},
{
title: '操作',
key: 'action',
fixed: 'right',
align: 'center',
render: row => {
console.log(wms_item_recpt_status.value, row.status, '----');
if (row.status === 'FINISHED') {
return (
<n-button size="small" type="info" onClick={() => print(row)}>
补打标签
</n-button>
);
}
const Btn: JSX.Element[] = [];
if (row.status !== 'FINISHED') {
Btn.push(
useEditBtn(
() => {
router.push({
name: 'storage_auxiliaryProduceinfo',
query: {id: row.recptId, warehouseId: row.warehouseId}
});
},
'tiny',
'执行入库'
)
);
}
return Btn;
}
}
]) as Ref<DataTableColumns<any>>;
const { loading, startLoading, endLoading } = useLoading(false);
const {loading, startLoading, endLoading} = useLoading(false);
// const { setTrue: openModal } = useBoolean();
// function setModalType(type: ModalType) {
@ -304,34 +294,35 @@ const { loading, startLoading, endLoading } = useLoading(false);
// }
//
function reset() {
searchForm.value.pageNum = 1;
page.value = 1;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const { pageNum, pageSize, ...rest } = searchForm.value;
for (const key in rest) {
if (searchForm.value[key] !== '' && searchForm.value[key] !== 'YL') {
searchForm.value[key] = null;
}
}
getWmsItemRecptData();
searchForm.value.pageNum = 1;
page.value = 1;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const {pageNum, pageSize, ...rest} = searchForm.value;
for (const key in rest) {
if (searchForm.value[key] !== '' && searchForm.value[key] !== 'YL') {
searchForm.value[key] = null;
}
}
getWmsItemRecptData();
}
function print(row: wms.recptRawType.columns) {
socketStore.setMsg(
JSON.stringify({
templateType: 'YL-MB',
printValue: row.lineList
})
);
window.$message?.success('已发送打印命令');
socketStore.setMsg(
JSON.stringify({
templateType: 'YL-MB',
printValue: row.lineList
})
);
window.$message?.success('已发送打印命令');
}
// async function handleEditTable(issueId: number) {
// console.log('', issueId);
// }
function search() {
searchForm.value.pageNum = 1;
init();
searchForm.value.pageNum = 1;
init();
}
//
@ -357,32 +348,34 @@ function search() {
//
function getWmsItemRecptData() {
startLoading();
selectWmsItemRecptList({ params: searchForm.value }).then(res => {
data.value = res.rows;
total.value = res.total;
searchForm.value.total = res.total;
if (data.value) {
setTimeout(() => {
endLoading();
}, 200);
}
});
startLoading();
selectWmsItemRecptList({params: searchForm.value}).then(res => {
data.value = res.rows;
total.value = res.total;
searchForm.value.total = res.total;
if (data.value) {
setTimeout(() => {
endLoading();
}, 200);
}
});
}
//
function delSelect() {
delWmsItemRecpt(selectKeys.value.join(',') as string).then(() => {
getWmsItemRecptData();
message.success('删除成功');
});
delWmsItemRecpt(selectKeys.value.join(',') as string).then(() => {
getWmsItemRecptData();
message.success('删除成功');
});
}
// function handleExport() {
// show.value = true;
// }
function init() {
getWmsItemRecptData();
//
getWmsItemRecptData();
//
}
init();
</script>

Loading…
Cancel
Save