feat 创建到库单

This commit is contained in:
Amjacks 2025-03-26 09:06:16 +08:00
parent 815f2af297
commit a82ef471a7
3 changed files with 553 additions and 556 deletions

View File

@ -147,3 +147,11 @@ export function TransferIn(params: any) {
data: params, data: params,
}); });
} }
export function createDelivery(params: any) {
return request({
url: '/api/delivery/create',
method: 'post',
data: params,
});
}

View File

@ -0,0 +1,119 @@
<template>
<el-drawer title="新建到货单" size="700px">
<el-row class="page-search" justify="space-between" align="middle">
<el-form ref="queryFormRef" :model="queryParams.params" :inline="true">
<el-form-item label="采购单" prop="RECEIVEREQUESTNAME">
<el-Input v-model="queryParams.params.RECEIVEREQUESTNAME" placeholder="单号" clearable />
</el-form-item>
</el-form>
<div class="page-search-btns">
<el-button type="primary" @click="queryInfo">搜索</el-button>
<el-button @click="resetQuery">重置</el-button>
<el-button type="primary" @click="handleCreate" v-loading="state.loadings">创建</el-button>
</div>
</el-row>
<div class="vue-element-page-table">
<div class="page-table-operate">
<div class="page-table-title">
<span>采购订单</span>
</div>
</div>
<el-table border v-loading="loading" :data="state.dataList"
highlight-current-row row-key="id" @selection-change="handleSelection">
<el-table-column type="selection" width="55" />
<el-table-column prop="SITENAME" label="工厂"/>
<el-table-column prop="RECEIVEREQUESTNAME" label="订单编号"/>
</el-table>
<div>
<pagination v-if="total > 0" :total="total" v-model:pageNumTo="queryParams.pageNum"
v-model:pageSizeTo="queryParams.pageSize" @pagination="handleQuery" />
</div>
</div>
</el-drawer>
</template>
<script setup lang="ts">
import { getCurrentInstance, onMounted, reactive, ref, toRefs } from 'vue'
import { ElForm, ElMessageBox, ElTable } from 'element-plus'
import { localStorage } from '@/utils/storage'
import { getQueryPageList } from '@/api/common'
import { createDelivery } from '@/api/StockIn'
const queryFormRef = ref(ElForm)
const { proxy }: any = getCurrentInstance()
//
let state = reactive({
dataList: [] as any, //
total: 0, //
selection: [] as any, //
loadings: false,
loading: true,
//
queryParams: {
queryId: 'GetPurchase',
version: 'G5002',
params: {
SITENAME: localStorage.get('siteName') || 'SDK',
RECEIVEREQUESTNAME: '' //
},
pageNum: 1,
pageSize: 10
}
})
const { queryParams, loading, total } = toRefs(state)
onMounted(()=> {
handleQuery()
})
//
const handleSelection = (val: any) => {
state.selection = val
}
//
function queryInfo() {
state.queryParams.pageNum = 1
handleQuery()
}
//
async function handleQuery() {
state.loading = true
await getQueryPageList(state.queryParams).then((res: any) => {
if (res.data.list.length > 0) {
state.dataList = res.data.list
state.total = res.data.total
} else {
state.dataList = res.data.list
proxy.$ElMessage.success('查询结果为空')
}
state.loading = false
})
}
const emits = defineEmits(['refresh'])
//
function handleCreate() {
if (state.selection.length == 0) {
ElMessageBox.alert('请选择条目', { confirmButtonText: 'OK' })
return
}
let name = "DK" + Date.now()
createDelivery({
receiveRequestName: name,
siteName: 'SDK',
dataList: state.selection
}).then((res: any) => {
if (res.success) {
ElMessageBox.alert('创建到货单:' + name, '提醒框', {
confirmButtonText: 'OK'
}).then(() => {
emits('refresh', name)
})
} else {
proxy.$ElMessage.error(res.message)
}
})
}
function resetQuery() {
queryFormRef.value.resetFields();
handleQuery();
}
</script>

File diff suppressed because it is too large Load Diff