feat 到货单详情检索

This commit is contained in:
Amjacks 2025-04-08 13:09:09 +08:00
parent 72119a3f4f
commit fe529041f7

View File

@ -1,15 +1,57 @@
<template> <template>
<el-drawer title="新建到货单" size="900px"> <el-drawer title="新建到货单" size="900px">
<el-row class="page-search" justify="space-between" align="middle"> <el-row class="page-search" justify="space-between" align="middle">
<el-form ref="queryFormRef" :model="queryParams.params" :inline="true"> <el-form ref="queryFormRef" :model="queryParams.params" label-width="60px" label-position="left">
<el-form-item label="采购单" prop="RECEIVEREQUESTNAME"> <el-row :gutter="21">
<el-Input v-model="queryParams.params.RECEIVEREQUESTNAME" placeholder="单号" clearable /> <el-col :span="7">
</el-form-item> <el-form-item label="组织" prop="erpFactory">
<el-select v-model="queryParams.params.erpFactory" placeholder="下拉选择" style="width: 160px">
<el-option v-for="item in state.orgList" :key="item.ERPFACTORY" :label="item.DESCRIPTION"
:value="item.ERPFACTORY" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="采购单号" prop="receiveRequestName">
<el-Input v-model="queryParams.params.receiveRequestName" placeholder="单号" clearable />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="订单状态" prop="receiveRequestState">
<el-select v-model="queryParams.params.receiveRequestState" placeholder="下拉选择" style="width: 160px">
<el-option v-for="item in state.orderStatus" :key="item.label" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="料号" prop="materialSpecName">
<el-Input v-model="queryParams.params.materialSpecName" clearable />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="品名" prop="descCn">
<el-Input v-model="queryParams.params.descCn" clearable />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="开始时间" prop="fromDate">
<el-date-picker v-model="queryParams.params.fromDate" value-format="YYYYMMDD" type="date"
placeholder="选择开始时间" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="结束时间" prop="toDate">
<el-date-picker v-model="queryParams.params.toDate" value-format="YYYYMMDD" type="date"
placeholder="选择结束时间" />
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div class="page-search-btns"> <div class="page-search-btns">
<el-button type="primary" @click="queryInfo">搜索</el-button> <el-button type="primary" @click="queryInfo">搜索</el-button>
<el-button @click="resetQuery">重置</el-button> <el-button @click="resetQuery">重置</el-button>
<el-button type="primary" @click="handleCreate" v-loading="state.loadings">创建</el-button> <el-button type="primary" @click="handleCreate" v-loading="state.btnLoading">创建</el-button>
</div> </div>
</el-row> </el-row>
@ -22,8 +64,13 @@
<el-table border v-loading="loading" :data="state.dataList" <el-table border v-loading="loading" :data="state.dataList"
highlight-current-row row-key="id" @selection-change="handleSelection"> highlight-current-row row-key="id" @selection-change="handleSelection">
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column prop="siteName" label="工厂"/> <template v-for="(col, index) in column" :key="index">
<el-table-column prop="receiveRequestName" label="订单编号"/> <el-table-column v-if="!col.hide" :label="col.header" :width="col.width" show-overflow-tooltip>
<template #default="scope">
<span>{{ scope.row[col.field] }}</span>
</template>
</el-table-column>
</template>
</el-table> </el-table>
<div> <div>
<pagination v-if="total > 0" :total="total" v-model:pageNumTo="queryParams.pageNum" <pagination v-if="total > 0" :total="total" v-model:pageNumTo="queryParams.pageNum"
@ -57,6 +104,7 @@ import { getCurrentInstance, onMounted, reactive, ref, toRefs } from 'vue'
import { ElForm, ElMessageBox, ElTable } from 'element-plus' import { ElForm, ElMessageBox, ElTable } from 'element-plus'
import { localStorage } from '@/utils/storage' import { localStorage } from '@/utils/storage'
import { createDelivery, getPurchase, getReceiveDetail } from '@/api/StockIn' import { createDelivery, getPurchase, getReceiveDetail } from '@/api/StockIn'
import { getORG } from '@/api/auth'
const queryFormRef = ref(ElForm) const queryFormRef = ref(ElForm)
const { proxy }: any = getCurrentInstance() const { proxy }: any = getCurrentInstance()
@ -65,31 +113,77 @@ let state = reactive({
dataList: [] as any, // dataList: [] as any, //
total: 0, // total: 0, //
selection: [] as any, // selection: [] as any, //
loadings: false, btnLoading: false,
loading: true, loading: true,
receiveLoading: false, receiveLoading: false,
receiveList: [] as any, receiveList: [] as any,
column: [] as any,
//
orgList: [] as any,
//
orderStatus: [{
label: "未完成",
value: "Created"
},{
label: "完成",
value: "Completed"
}],
// //
queryParams: { queryParams: {
params: { params: {
SITENAME: localStorage.get('siteName') || 'SDK', // siteName
RECEIVEREQUESTNAME: '' // siteName: localStorage.get('siteName') || 'SDK',
//
erpFactory: '',
//
receiveRequestName: '',
//
receiveRequestState: '',
//
materialSpecName: '',
//
descCn: '',
//
fromDate: '',
//
toDate: ''
}, },
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
} }
}) })
const { queryParams, loading, total, receiveLoading } = toRefs(state) const { queryParams, column, loading, total, receiveLoading } = toRefs(state)
onMounted(()=> { onMounted(()=> {
state.column = [
{ header: "组织", field: "erpFactory", hide: false },
{ header: "组织(CN)", field: "orgName", hide: false },
{ header: "订单编号", field: "receiveRequestName", hide: false },
{ header: "料号", field: "materialSpecName", hide: false },
{ header: "品名", field: "descCn", hide: false },
{ header: "出入库类型编码", field: "receiveRequestType", hide: false },
{ header: "订单状态", field: "receiveRequestState", hide: false },
{ header: "供应商编号", field: "supplierNo", hide: false },
{ header: "单据日期" , field: "orderDate", hide: false},
{ header: "供应商名称", field: "supplierName", hide: false },
{ header: "创建日期", field: "createTime", hide: false },
{ header: "最后操作名称", field: "lastEventName", hide: false },
{ header: "最后操作时间", field: "lastEventTime", hide: false },
{ header: "最后操作人", field: "lastEventUser", hide: false },
{ header: "最后操作注释", field: "lastEventComment", hide: false },
]
//
getORG({ orgNo: null }).then((res: any) => {
state.orgList = res.resultObj
})
handleQuery() handleQuery()
}) })
// //
const handleSelection = (val: any) => { const handleSelection = (val: any) => {
state.selection = val
state.receiveLoading = true
if (val.length === 0) { if (val.length === 0) {
return return
} }
state.selection = val
state.receiveLoading = true
let nameList: any = [] let nameList: any = []
val.forEach((item: any) => nameList.push(item.receiveRequestName)) val.forEach((item: any) => nameList.push(item.receiveRequestName))
// //
@ -106,6 +200,7 @@ function queryInfo() {
// //
async function handleQuery() { async function handleQuery() {
state.loading = true state.loading = true
state.receiveList = []
await getPurchase(state.queryParams).then((res: any) => { await getPurchase(state.queryParams).then((res: any) => {
state.dataList = res.resultObj.list state.dataList = res.resultObj.list
state.total = res.resultObj.total state.total = res.resultObj.total
@ -139,6 +234,13 @@ function handleCreate() {
} }
function resetQuery() { function resetQuery() {
queryFormRef.value.resetFields(); queryFormRef.value.resetFields();
state.queryParams.params.erpFactory = '';
state.queryParams.params.receiveRequestName = '';
state.queryParams.params.receiveRequestState = '';
state.queryParams.params.materialSpecName = '';
state.queryParams.params.descCn = '';
state.queryParams.params.fromDate = '';
state.queryParams.params.toDate = '';
queryInfo(); queryInfo();
} }
</script> </script>