|
|
@@ -64,12 +64,12 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
- <el-button slot="reference" type="primary" style="width: 100%"
|
|
|
- >搜索</el-button
|
|
|
- >
|
|
|
+ <el-button slot="reference" type="primary" style="width: 100%">
|
|
|
+ 搜索
|
|
|
+ </el-button>
|
|
|
</el-popover>
|
|
|
|
|
|
- <div class="list-box">
|
|
|
+ <div class="list-box" style="padding-bottom: 80px">
|
|
|
<div
|
|
|
class="list-item"
|
|
|
v-for="i in productList"
|
|
|
@@ -92,17 +92,13 @@
|
|
|
}}</div>
|
|
|
</template>
|
|
|
</el-popover> -->
|
|
|
- <div class="ele-elip" style="width: 100%">{{
|
|
|
- i.productCode
|
|
|
- }}</div>
|
|
|
- <div class="ele-elip" style="width: 100%">{{
|
|
|
- i.productName
|
|
|
- }}</div>
|
|
|
+ <div class="ele-elip" style="width: 100%">
|
|
|
+ {{ i.productCode }}
|
|
|
+ </div>
|
|
|
+ <div class="ele-elip" style="width: 100%">
|
|
|
+ {{ i.productName }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div class="list-item"></div>
|
|
|
- <div class="list-item"></div>
|
|
|
- <div class="list-item"></div>
|
|
|
- <div class="list-item"></div>
|
|
|
</div>
|
|
|
|
|
|
<div class="footer-box">
|
|
|
@@ -110,7 +106,7 @@
|
|
|
@size-change="handleSizeChange"
|
|
|
@current-change="handleCurrentChange"
|
|
|
:current-page.sync="productBody.pageNum"
|
|
|
- :page-size="20"
|
|
|
+ :page-size="productBody.size"
|
|
|
layout="sizes,pager"
|
|
|
:total="total"
|
|
|
:pager-count="5"
|
|
|
@@ -150,12 +146,11 @@
|
|
|
|
|
|
<template v-slot:content>
|
|
|
<div>
|
|
|
- <seek-page :seekList="seekList" @search="search"></seek-page>
|
|
|
- <workOrderTable
|
|
|
- v-if="activeType == '生产工单'"
|
|
|
+ <component
|
|
|
+ :is="activeComponentName"
|
|
|
ref="tableRef"
|
|
|
:tableQuery="tableQuery"
|
|
|
- ></workOrderTable>
|
|
|
+ ></component>
|
|
|
</div>
|
|
|
</template>
|
|
|
</ele-split-layout>
|
|
|
@@ -169,43 +164,72 @@
|
|
|
import seekPage from '@/components/common/seekPage.vue';
|
|
|
import { getAllProductInWorkOrder } from '@/api/produce/workOrder';
|
|
|
import workOrderTable from './components/tables/workOrderTable.vue';
|
|
|
+ import materialTable from './components/tables/materialTable.vue';
|
|
|
+ import materialReturnTable from './components/tables/materialReturnTable.vue';
|
|
|
+ import workReportTable from './components/tables/workReportTable.vue';
|
|
|
+ import qualityWorkOrderTable from './components/tables/qualityWorkOrderTable.vue';
|
|
|
+ import wmsOutInt from './components/tables/wmsOutInt.vue';
|
|
|
+ import batchRecordTable from './components/tables/batchRecordTable.vue';
|
|
|
+ import deviceBatchRecordTable from './components/tables/deviceBatchRecordTable.vue';
|
|
|
+ import craftFilesTable from './components/tables/craftFilesTable.vue';
|
|
|
|
|
|
export default {
|
|
|
- components: { seekPage, workOrderTable },
|
|
|
+ components: {
|
|
|
+ seekPage,
|
|
|
+ workOrderTable,
|
|
|
+ materialTable,
|
|
|
+ materialReturnTable,
|
|
|
+ workReportTable,
|
|
|
+ qualityWorkOrderTable,
|
|
|
+ wmsOutInt,
|
|
|
+ batchRecordTable,
|
|
|
+ deviceBatchRecordTable,
|
|
|
+ craftFilesTable
|
|
|
+ },
|
|
|
name: 'batchRecord',
|
|
|
mixins: [dictMixins, tableColumnsMixin],
|
|
|
data() {
|
|
|
return {
|
|
|
types: [
|
|
|
{
|
|
|
- name: '生产工单'
|
|
|
+ name: '生产工单',
|
|
|
+ componentName: 'workOrderTable'
|
|
|
},
|
|
|
{
|
|
|
- name: '领料单'
|
|
|
+ name: '领料单',
|
|
|
+ componentName: 'materialTable'
|
|
|
},
|
|
|
{
|
|
|
- name: '退料单'
|
|
|
+ name: '退料单',
|
|
|
+ componentName: 'materialReturnTable'
|
|
|
},
|
|
|
{
|
|
|
- name: '报工'
|
|
|
+ name: '报工',
|
|
|
+ componentName: 'workReportTable'
|
|
|
},
|
|
|
{
|
|
|
- name: '质检工单'
|
|
|
+ name: '质检工单',
|
|
|
+ componentName: 'qualityWorkOrderTable'
|
|
|
},
|
|
|
{
|
|
|
- name: '入库单'
|
|
|
+ name: '入库单',
|
|
|
+ componentName: 'wmsOutInt'
|
|
|
},
|
|
|
{
|
|
|
- name: '生产记录'
|
|
|
+ name: '生产记录',
|
|
|
+ componentName: 'batchRecordTable'
|
|
|
},
|
|
|
{
|
|
|
- name: '设备工单'
|
|
|
+ name: '设备工单',
|
|
|
+ componentName: 'deviceBatchRecordTable'
|
|
|
},
|
|
|
{
|
|
|
- name: '工艺文件'
|
|
|
+ name: '工艺文件',
|
|
|
+ componentName: 'craftFilesTable'
|
|
|
}
|
|
|
],
|
|
|
activeType: '生产工单',
|
|
|
+ activeComponentName: 'workOrderTable',
|
|
|
// 产品搜索条件
|
|
|
productBody: {
|
|
|
param: '',
|
|
|
@@ -227,24 +251,7 @@
|
|
|
}
|
|
|
};
|
|
|
},
|
|
|
- computed: {
|
|
|
- seekList() {
|
|
|
- return [
|
|
|
- {
|
|
|
- label: '单据编码:',
|
|
|
- value: 'workOrderCode',
|
|
|
- type: 'input',
|
|
|
- placeholder: '请输入'
|
|
|
- },
|
|
|
- {
|
|
|
- label: '单据名称:',
|
|
|
- value: 'workOrderName',
|
|
|
- type: 'input',
|
|
|
- placeholder: '请输入'
|
|
|
- }
|
|
|
- ];
|
|
|
- }
|
|
|
- },
|
|
|
+ computed: {},
|
|
|
created() {
|
|
|
this.getAllProductInWorkOrder();
|
|
|
},
|
|
|
@@ -253,9 +260,6 @@
|
|
|
reload() {
|
|
|
this.$refs.tableRef?.reload();
|
|
|
},
|
|
|
- search(where) {
|
|
|
- this.$refs.tableRef?.reload(where);
|
|
|
- },
|
|
|
// 获取产品和批次号
|
|
|
async getAllProductInWorkOrder() {
|
|
|
try {
|
|
|
@@ -282,6 +286,7 @@
|
|
|
// 选择批记录类型
|
|
|
changeActiveType(i) {
|
|
|
this.activeType = i.name;
|
|
|
+ this.activeComponentName = i.componentName;
|
|
|
this.reload();
|
|
|
},
|
|
|
resetSubmit() {
|
|
|
@@ -304,12 +309,12 @@
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
.left-box {
|
|
|
+ height: 100%;
|
|
|
display: flex;
|
|
|
|
|
|
.left-item {
|
|
|
flex: 1;
|
|
|
border-right: 1px solid #ededed;
|
|
|
- max-height: 78%;
|
|
|
padding: 0 5px;
|
|
|
width: 33.3%;
|
|
|
position: relative;
|
|
|
@@ -325,7 +330,6 @@
|
|
|
|
|
|
.list-box {
|
|
|
margin-top: 10px;
|
|
|
- max-height: 80vh;
|
|
|
overflow-y: auto;
|
|
|
box-sizing: border-box;
|
|
|
|