|
|
@@ -0,0 +1,122 @@
|
|
|
+<template>
|
|
|
+ <AidopDemoShell :title="pageTitle" subtitle="只读列表">
|
|
|
+ <el-form :inline="true" :model="query" class="mb12" @submit.prevent>
|
|
|
+ <el-form-item label="入库单号">
|
|
|
+ <el-input v-model="query.inboundNo" clearable style="width: 200px" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="工单号">
|
|
|
+ <el-input v-model="query.workOrderNo" clearable style="width: 200px" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="ERP工单号">
|
|
|
+ <el-input v-model="query.erpWorkOrderNo" clearable style="width: 200px" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="批次">
|
|
|
+ <el-input v-model="query.batch" clearable style="width: 200px" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="入库日期">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="inboundDateRange"
|
|
|
+ type="daterange"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ range-separator="-"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ unlink-panels
|
|
|
+ style="width: 260px"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="doSearch">查询</el-button>
|
|
|
+ <el-button @click="resetQuery">重置</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ <el-table :data="rows" row-key="id" v-loading="loading" border stripe>
|
|
|
+ <el-table-column prop="inboundNo" label="入库单号" min-width="150" show-overflow-tooltip resizable />
|
|
|
+ <el-table-column prop="lineNo" label="项次" min-width="90" resizable />
|
|
|
+ <el-table-column prop="inboundDate" label="入库日期" min-width="150" resizable />
|
|
|
+ <el-table-column prop="status" label="状态" min-width="100" resizable />
|
|
|
+ <el-table-column prop="inboundType" label="入库类型" min-width="120" resizable />
|
|
|
+ <el-table-column prop="productionLine" label="生产线" min-width="120" show-overflow-tooltip resizable />
|
|
|
+ <el-table-column prop="workOrderNo" label="工单号" min-width="140" show-overflow-tooltip resizable />
|
|
|
+ <el-table-column prop="erpWorkOrderNo" label="ERP工单号" min-width="140" show-overflow-tooltip resizable />
|
|
|
+ <el-table-column prop="materialCode" label="物料编码" min-width="140" show-overflow-tooltip resizable />
|
|
|
+ <el-table-column prop="materialName" label="物料名称" min-width="160" show-overflow-tooltip resizable />
|
|
|
+ <el-table-column prop="spec" label="规格型号" min-width="140" show-overflow-tooltip resizable />
|
|
|
+ <el-table-column prop="inboundLocation" label="入库位" min-width="120" show-overflow-tooltip resizable />
|
|
|
+ <el-table-column prop="batch" label="批次" min-width="140" show-overflow-tooltip resizable />
|
|
|
+ <el-table-column prop="qty" label="数量" min-width="100" resizable />
|
|
|
+ <el-table-column prop="unit" label="单位" min-width="90" resizable />
|
|
|
+ <el-table-column prop="relatedBillNo" label="相关单号" min-width="150" show-overflow-tooltip resizable />
|
|
|
+ <el-table-column prop="createTime" label="创建时间" min-width="170" resizable />
|
|
|
+ <template #empty>
|
|
|
+ <el-empty description="暂无数据" />
|
|
|
+ </template>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <div class="pager">
|
|
|
+ <el-pagination
|
|
|
+ v-model:current-page="query.page"
|
|
|
+ v-model:page-size="query.pageSize"
|
|
|
+ :total="total"
|
|
|
+ :page-sizes="[10, 20, 50]"
|
|
|
+ layout="total, sizes, prev, pager, next"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </AidopDemoShell>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup lang="ts" name="aidopS7ProductionReceiptOrderList">
|
|
|
+import { computed, reactive, ref } from 'vue';
|
|
|
+import { useRoute } from 'vue-router';
|
|
|
+import AidopDemoShell from '/@/views/aidop/components/AidopDemoShell.vue';
|
|
|
+
|
|
|
+const route = useRoute();
|
|
|
+const pageTitle = computed(() => (route.meta?.title as string) || '生产入库单列表');
|
|
|
+
|
|
|
+const query = reactive({
|
|
|
+ inboundNo: '',
|
|
|
+ workOrderNo: '',
|
|
|
+ erpWorkOrderNo: '',
|
|
|
+ batch: '',
|
|
|
+ inboundDateStart: '',
|
|
|
+ inboundDateEnd: '',
|
|
|
+ page: 1,
|
|
|
+ pageSize: 10,
|
|
|
+});
|
|
|
+
|
|
|
+const inboundDateRange = ref<[string, string] | null>(null);
|
|
|
+
|
|
|
+// 本批次为只读 UI 骨架,尚无真实生产入库单接口:渲染空表,不发请求、不造数据。
|
|
|
+const loading = ref(false);
|
|
|
+const rows = ref<Record<string, unknown>[]>([]);
|
|
|
+const total = ref(0);
|
|
|
+
|
|
|
+function doSearch() {
|
|
|
+ query.inboundDateStart = inboundDateRange.value?.[0] || '';
|
|
|
+ query.inboundDateEnd = inboundDateRange.value?.[1] || '';
|
|
|
+ query.page = 1;
|
|
|
+}
|
|
|
+
|
|
|
+function resetQuery() {
|
|
|
+ query.inboundNo = '';
|
|
|
+ query.workOrderNo = '';
|
|
|
+ query.erpWorkOrderNo = '';
|
|
|
+ query.batch = '';
|
|
|
+ inboundDateRange.value = null;
|
|
|
+ query.inboundDateStart = '';
|
|
|
+ query.inboundDateEnd = '';
|
|
|
+ query.page = 1;
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+.mb12 {
|
|
|
+ margin-bottom: 12px;
|
|
|
+}
|
|
|
+.pager {
|
|
|
+ margin-top: 12px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-end;
|
|
|
+}
|
|
|
+</style>
|