Browse Source

04.07 生产入库

领料申请(未完成)
master
jiayang yue 9 months ago
parent
commit
c61a702e77
  1. 5
      src/api/issueNotify/issueNotify.js
  2. 7
      src/api/production/warehousing.js
  3. 435
      src/views/modules/orderIssure/soIssueNotify/issueNotify.vue
  4. 659
      src/views/modules/production/warehousing.vue

5
src/api/issueNotify/issueNotify.js

@ -0,0 +1,5 @@
import { createAPI } from "@/utils/httpRequest.js";
export const searchMenuLanguageById = data => createAPI(`sys/menu/searchMenuLanguageById`,'post',data)
export const issueNotifyPageSearch = data => createAPI(`orderIssure/issureNotify/issueNotifyPageSearch`,'post',data)

7
src/api/production/warehousing.js

@ -0,0 +1,7 @@
import { createAPI } from "@/utils/httpRequest.js";
// 获取生产入库信息
export const searchProductionWarehousingInfo = data => createAPI(`/productionWarehousing/searchProductionWarehousingInfo`,'post',data)
// 生产入库接收
export const receiveProductionWarehousing = data => createAPI(`/productionWarehousing/receiveProductionWarehousing`,'post',data)

435
src/views/modules/orderIssure/soIssueNotify/issueNotify.vue

@ -0,0 +1,435 @@
<template>
<div class="mod-config">
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()">
<el-form-item :label="'申请单号'">
<el-input v-model="searchData.notifyNo" style="width: 120px" clearable></el-input>
</el-form-item>
<el-form-item :label="'申请日期:'">
<el-date-picker
style="width: 120px"
v-model="searchData.notifyDateStart"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
-
<el-date-picker
style="width: 120px"
v-model="searchData.notifyDateEnd"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="'生产订单号'">
<el-input v-model="searchData.orderNo" style="width: 120px" clearable></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()">
<el-form-item :label="'IFS提货单号'">
<el-input v-model="searchData.ifsPickListNo" style="width: 120px" clearable></el-input>
</el-form-item>
<el-form-item :label="'要求发料日期:'">
<el-date-picker
style="width: 120px"
v-model="searchData.needDateStart"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
-
<el-date-picker
style="width: 120px"
v-model="searchData.needDateEnd"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="'3H订单号'">
<el-input v-model="searchData.thOrderNo" style="width: 120px" clearable></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-button v-if="!authSearch" @click="getDataList()">查询</el-button>
<el-button v-if="!authSave" type="primary" @click="addModal()">新增</el-button>
</el-form-item>
</el-form>
<el-table
:height="height"
:data="dataList"
border
style="width: 100%;">
<el-table-column
v-for="(item, index) in columnList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed === '' ? false : item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
</template>
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="100"
label="操作">
<template slot-scope="scope">
<a v-if="!authUpdate" type="text" size="small" @click="createBillLading(scope.row)">创建提货单</a>
<el-dropdown trigger="click">
<el-link style="cursor: pointer;font-size: 12px">更多</el-link>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="getBillOfLadingDetail(scope.row)">提货单明细</el-dropdown-item>
<el-dropdown-item @click.native="createBillLadingSummary(scope.row)">创建提货单汇总</el-dropdown-item>
<el-dropdown-item @click.native="getBillLadingSummary(scope.row)">提货单汇总</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[20, 50, 100, 200, 500]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<el-dialog title="申请单" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="600px">
<el-form :model="modalData" :rules="rules" label-position="top" label-width="100px">
<el-form-item label="申请单号" prop="notifyNo">
<el-input v-model="modalData.notifyNo" :disabled="modalDisableFlag"></el-input>
</el-form-item>
<el-form-item label="站点" prop="site">
<el-input v-model="modalData.site" :disabled="modalDisableFlag"></el-input>
</el-form-item>
<el-form-item label="申请日期" prop="notifyDate">
<el-date-picker v-model="modalData.notifyDate" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="申请人" prop="createBy">
<el-input v-model="modalData.createBy"></el-input>
</el-form-item>
<el-form-item label="录入时间" prop="createDate">
<el-date-picker v-model="modalData.createDate" type="datetime" placeholder="选择日期时间"></el-date-picker>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="modalData.remark"></el-input>
</el-form-item>
<el-form-item label="是否领料" prop="issueFlag">
<el-select v-model="modalData.issueFlag" placeholder="请选择">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
<el-form-item label="领料结果" prop="issueResult">
<el-input v-model="modalData.issueResult"></el-input>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-input v-model="modalData.status"></el-input>
</el-form-item>
<el-form-item label="IFS提货单号" prop="ifsPickListNo">
<el-input v-model="modalData.ifsPickListNo"></el-input>
</el-form-item>
<el-form-item label="3H订单号" prop="thOrderNo">
<el-input v-model="modalData.thOrderNo"></el-input>
</el-form-item>
<el-form-item label="要求发料日期" prop="needDate">
<el-date-picker v-model="modalData.needDate" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="生产订单号" prop="orderNo">
<el-input v-model="modalData.orderNo"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="saveData()">保存</el-button>
<el-button type="primary" @click="modalFlag = false; modalDisableFlag = false">关闭</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {issueNotifyPageSearch} from "../../../../api/issueNotify/issueNotify";
export default {
name: 'IssureNotifyList',
data() {
return {
authSearch: false,
authSave: false,
authUpdate: false,
authDelete: false,
searchData: {
notifyNo: '',
site: this.$store.state.user.site,
ifsPickListNo: '',
thOrderNo: '',
orderNo: '',
notifyDateStart: '',
notifyDateEnd: '',
needDateStart: '',
needDateEnd: '',
page: 1,
limit: 20
},
dataList: [],
pageIndex: 1,
pageSize: 50,
totalPage: 0,
height: 200,
modalFlag: false,
modalDisableFlag: false,
modalData: {
notifyNo: '',
site: '',
notifyDate: '',
createBy: '',
createDate: '',
remark: '',
issueFlag: '',
issueResult: '',
status: '',
ifsPickListNo: '',
updateBy: '',
updateDate: '',
thOrderNo: '',
needDate: '',
orderNo: ''
},
modalCompareData: {},
rules: {
notifyNo: [{ required: true, message: '请输入申请单号', trigger: 'blur' }],
site: [{ required: true, message: '请输入站点', trigger: 'blur' }]
},
columnList: [
{
columnProp: 'notifyNo',
columnLabel: '申请单号',
headerAlign: 'center',
align: 'center',
columnSortable: false,
columnWidth: 120,
columnHidden: false,
fixed: ''
},
{
columnProp: 'notifyDate',
columnLabel: '申请日期',
headerAlign: 'center',
align: 'center',
columnSortable: false,
columnWidth: 120,
columnHidden: false,
fixed: ''
},
{
columnProp: 'status',
columnLabel: '状态',
headerAlign: 'center',
align: 'center',
columnSortable: false,
columnWidth: 80,
columnHidden: false,
fixed: ''
},
{
columnProp: 'ifsPickListNo',
columnLabel: 'IFS提货单号',
headerAlign: 'center',
align: 'center',
columnSortable: false,
columnWidth: 130,
columnHidden: false,
fixed: ''
},
{
columnProp: 'thOrderNo',
columnLabel: '3H订单号',
headerAlign: 'center',
align: 'center',
columnSortable: false,
columnWidth: 130,
columnHidden: false,
fixed: ''
},
{
columnProp: 'needDate',
columnLabel: '要求发料日期',
headerAlign: 'center',
align: 'center',
columnSortable: false,
columnWidth: 120,
columnHidden: false,
fixed: ''
},
{
columnProp: 'orderNo',
columnLabel: '生产订单号',
headerAlign: 'center',
align: 'center',
columnSortable: false,
columnWidth: 130,
columnHidden: false,
fixed: ''
},
{
columnProp: 'createBy',
columnLabel: '申请人',
headerAlign: 'center',
align: 'center',
columnSortable: false,
columnWidth: 100,
columnHidden: false,
fixed: ''
},
{
columnProp: 'createDate',
columnLabel: '录入时间',
headerAlign: 'center',
align: 'center',
columnSortable: false,
columnWidth: 140,
columnHidden: false,
fixed: ''
},
]
};
},
mounted() {
this.$nextTick(() => {
this.height = window.innerHeight - 150
})
this.getDataList();
},
methods: {
getDataList() {
this.searchData.page = this.pageIndex;
this.searchData.limit = this.pageSize;
issueNotifyPageSearch(this.searchData)
.then(({data}) => {
if (data.code === 0) {
//
this.dataList = data.page.list;
this.pageIndex = data.page.currPage
this.pageSize = data.page.pageSize
this.totalPage = data.page.totalCount
} else {
this.$message.error(data.msg);
}
})
},
sizeChangeHandle(val) {
this.pageSize = val;
this.pageIndex = 1;
this.getDataList();
},
currentChangeHandle(val) {
this.pageIndex = val;
this.getDataList();
},
addModal() {
this.modalData = {
notifyNo: '',
site: '',
notifyDate: '',
createBy: '',
createDate: '',
remark: '',
issueFlag: '',
issueResult: '',
status: '',
ifsPickListNo: '',
updateBy: '',
updateDate: '',
thOrderNo: '',
needDate: '',
orderNo: ''
};
this.modalDisableFlag = false;
this.modalFlag = true;
},
createBillLading(row) {
this.$confirm('确定创建提货单吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
axios.post('/createBillLading', row)
.then(response => {
this.$message.success('创建成功');
this.getDataList();
})
.catch(error => {
this.$message.error('创建失败');
});
}).catch(() => {});
},
saveData() {
if (!this.modalData.notifyNo) {
this.$message.warning('申请单号不能为空');
return;
}
if (!this.modalData.site) {
this.$message.warning('站点不能为空');
return;
}
if (this.modalDisableFlag) {
//
axios.put('/issureNotify', this.modalData)
.then(response => {
this.$message.success('修改成功');
this.getDataList();
this.modalFlag = false;
this.modalDisableFlag = false;
})
.catch(error => {
this.$message.error('修改失败');
});
} else {
//
axios.post('/issureNotify', this.modalData)
.then(response => {
this.$message.success('新增成功');
this.getDataList();
this.modalFlag = false;
})
.catch(error => {
this.$message.error('新增失败');
});
}
},
deleteIssureNotify(row) {
this.$confirm('确定删除该记录吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
axios.delete(`/issureNotify/${row.notifyNo}/${row.site}`)
.then(response => {
this.$message.success('删除成功');
this.getDataList();
})
.catch(error => {
this.$message.error('删除失败');
});
}).catch(() => {});
}
}
};
</script>
<style lang="scss" scoped>
.el-table /deep/ .cell {
height: auto;
line-height: 1.5;
}
</style>

659
src/views/modules/production/warehousing.vue

@ -0,0 +1,659 @@
<template xmlns="http://www.w3.org/1999/html">
<div class="mod-config">
<!-- 查询条件 -->
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()">
<el-form-item label="生产订单号">
<el-input v-model="searchData.orderNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="产品料号">
<el-input v-model="searchData.partNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'3H订单号'">
<el-input v-model="searchData.thOrderNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'计划完工日期'">
<el-date-picker
style="width: 120px"
v-model="searchData.startDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label=" ">
<div style="text-align: center;"><i class="el-icon-right"></i></div>
</el-form-item>
<el-form-item :label="' '">
<el-date-picker
style="width: 120px"
v-model="searchData.endDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="' '">
<el-button @click="getDataList()">查询</el-button>
</el-form-item>
</el-form>
<!-- 询价列表 -->
<el-table
:height="height"
:data="dataList"
border
style="width: 100%;margin-top: 5px">
<el-table-column
v-for="(item,index) in columnList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:align="item.align"
:fixed="item.fixed === ''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="100"
label="操作">
<template slot-scope="scope">
<el-link style="cursor: pointer" @click="receiveModal(scope.row)">接收</el-link>
</template>
</el-table-column>
</el-table>
<!-- 分页插件 -->
<el-pagination style="margin-top: 0px"
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[20, 50, 100, 200, 500]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<el-dialog
:title="modalData.title"
v-drag
@close="closeSaveDataDialog"
:close-on-click-modal="false"
top="10%"
:visible.sync="modalFlag"
width="650px"
>
<el-form
:inline="true"
label-position="top"
:model="modalData"
:rules="rules"
style="margin-top: -5px;"
>
<el-row :gutter="10">
<el-col :span="5">
<el-form-item label="生产订单号" prop="orderNo">
<el-input v-model="modalData.orderNo" disabled style="width: 110px"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="下单号" prop="releaseNo">
<el-input v-model="modalData.releaseNo" disabled style="width: 80px"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="次序号" prop="sequenceNo">
<el-input v-model="modalData.sequenceNo" disabled style="width: 80px"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="3H订单号" prop="thOrderNo">
<el-input v-model="modalData.thOrderNo" disabled style="width: 110px"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="订单数量" prop="lotSize">
<el-input v-model="modalData.lotSize" disabled style="width: 110px"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="5">
<el-form-item label="产品编号" prop="partNo">
<el-input v-model="modalData.partNo" disabled style="width: 110px"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="产品名称" prop="partDesc">
<el-input v-model="modalData.partDesc" disabled style="width: 185px"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="已入库数量" prop="stockQty">
<el-input v-model="modalData.stockQty" disabled style="width: 110px"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="待入库数量" prop="needQty">
<el-input v-model="modalData.needQty" disabled style="width: 110px"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<fieldset style="border: 2px solid #000000; padding: 10px; margin: 10px 0;">
<legend style="padding: 0 5px;">入库信息</legend>
<el-form
:inline="true"
label-position="top"
:model="modalData"
:rules="rules"
style="margin-top: -5px;"
>
<el-row :gutter="10">
<el-col :span="6">
<el-form-item label="入库数量" prop="quantity" :rules="rules.quantity">
<el-input v-model="modalData.quantity" style="width: 110px"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="库位" prop="locationNo" :rules="rules.locationNo">
<el-input v-model="modalData.locationNo" style="width: 110px"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="批号" prop="serialNo" :rules="rules.serialNo">
<el-input v-model="modalData.serialNo" style="width: 110px"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="W/D/R" prop="waivDevRejNo" :rules="rules.waivDevRejNo">
<el-input v-model="modalData.waivDevRejNo" style="width: 110px"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" style="margin-top: 10px;">
<el-col :span="6" style="margin-top: -5px">
<el-form-item>
<el-checkbox v-model="modalData.simplifiedMaterial"
:true-label="'Yes'"
:false-label="'No'">
简化物料检查
</el-checkbox>
</el-form-item>
</el-col>
<el-col :span="12">
<el-footer
style="height:25px; margin-top: 10px; padding-bottom:5px; text-align:center"
>
<el-button type="primary" @click="saveData()">保存</el-button>
<el-button type="primary" @click="modalFlag = false">关闭</el-button>
</el-footer>
</el-col>
<el-col :span="7" style="margin-top: -15px">
<el-form-item>
<el-checkbox v-model="modalData.autoReport"
:true-label="'Yes'"
:false-label="'No'">
工序的自动报告
</el-checkbox>
</el-form-item>
</el-col>
</el-row>
</el-form>
</fieldset>
<el-form style="margin-top: -25px">
<el-form-item :label="' '">
</el-form-item>
</el-form>
</el-dialog>
</div>
</template>
<script>
import {getTableDefaultListLanguage, getTableUserListLanguage} from "../../../api/table";
import {receiveProductionWarehousing, searchProductionWarehousingInfo} from "../../../api/production/warehousing";
export default {
data() {
return {
loading:false,
//
exportData: [],
exportName: '询价申请' + this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader: ['询价申请'],
exportFooter: [],
resultList: [],
// ======== ========
pageIndex: 1,
pageSize: 50,
totalPage: 0,
height: 200,
//
searchData: {
site: this.$store.state.user.site,
orderNo: '',
partNo: '',
thOrderNo: '',
startDate: '',
endDate: '',
page: 1,
limit: 50,
},
//
// ======== ========
modalData: {
site: this.$store.state.user.site,
userName: this.$store.state.user.name,
orderNo: '',
releaseNo: '',
sequenceNo: '',
thOrderNo: '',
lotSize: '',
partNo: '',
partDesc: '',
stockQty: '',
needQty: '',
quantity: '',
locationNo: '',
serialNo: '',
waivDevRejNo: '',
simplifiedMaterial: '',
autoReport: '',
},
// ======== ========
dataList: [],
// ======== ========
columnList: [
{
userId: this.$store.state.user.name,
functionId: 400001,
serialNumber: '400001Table1OrderNo',
tableId: '400001Table1',
tableName: '生产入库表',
columnProp: 'orderNo',
headerAlign: 'center',
align: 'left',
columnLabel: '生产订单号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 70
},
{
userId: this.$store.state.user.name,
functionId: 400001,
serialNumber: '400001Table1ReleaseNo',
tableId: '400001Table1',
tableName: '生产入库表',
columnProp: 'releaseNo',
headerAlign: 'center',
align: 'left',
columnLabel: '下达号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 50
},
{
userId: this.$store.state.user.name,
functionId: 400001,
serialNumber: '400001Table1SequenceNo',
tableId: '400001Table1',
tableName: '生产入库表',
columnProp: 'sequenceNo',
headerAlign: 'center',
align: 'left',
columnLabel: '次序号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 50
},
{
userId: this.$store.state.user.name,
functionId: 400001,
serialNumber: '400001Table1ThOrderNo',
tableId: '400001Table1',
tableName: '生产入库表',
columnProp: 'thOrderNo',
headerAlign: 'center',
align: 'left',
columnLabel: '3H订单号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 90
},
{
userId: this.$store.state.user.name,
functionId: 400001,
serialNumber: '400001Table1PartNo',
tableId: '400001Table1',
tableName: '生产入库表',
columnProp: 'partNo',
headerAlign: 'center',
align: 'left',
columnLabel: '产品料号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 90
},
{
userId: this.$store.state.user.name,
functionId: 400001,
serialNumber: '400001Table1PartDesc',
tableId: '400001Table1',
tableName: '生产入库表',
columnProp: 'partDesc',
headerAlign: 'center',
align: 'left',
columnLabel: '料号名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 210
},
{
userId: this.$store.state.user.name,
functionId: 400001,
serialNumber: '400001Table1LotSize',
tableId: '400001Table1',
tableName: '生产入库表',
columnProp: 'lotSize',
headerAlign: 'center',
align: 'right',
columnLabel: '订单数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 70
},
{
userId: this.$store.state.user.name,
functionId: 400001,
serialNumber: '400001Table1StockQty',
tableId: '400001Table1',
tableName: '生产入库表',
columnProp: 'stockQty',
headerAlign: 'center',
align: 'right',
columnLabel: '已入库数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 70
},
{
userId: this.$store.state.user.name,
functionId: 400001,
serialNumber: '400001Table1NeedQty',
tableId: '400001Table1',
tableName: '生产入库表',
columnProp: 'needQty',
headerAlign: 'center',
align: 'right',
columnLabel: '待入库数量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 70
},
],
// ======== ========
rules: {
quantity: [
{required: true, message: ' ', trigger: 'change'},
{required: true, message: ' ', trigger: 'blur'},
],
serialNo: [
{required: true, message: ' ', trigger: 'change'},
{required: true, message: ' ', trigger: 'blur'},
],
locationNo: [
{required: true, message: ' ', trigger: 'change'},
{required: true, message: ' ', trigger: 'blur'},
],
waivDevRejNo: [
{required: true, message: ' ', trigger: 'change'},
{required: true, message: ' ', trigger: 'blur'},
],
},
// ======== ========
modalFlag: false,
modalDisableFlag: false,
}
},
mounted() {
this.$nextTick(() => {
/*第二个表格高度的动态调整*/
this.height = window.innerHeight - 150;
})
},
created() {
//
this.getTableUserColumn(this.$route.meta.menuId+'table1',1)
this.getDataList()
},
methods: {
// ======== ========
/**
* 每页数
* @param val
*/
sizeChangeHandle(val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
/**
* 当前页
* @param val
*/
currentChangeHandle(val) {
this.pageIndex = val
this.getDataList()
},
/**
* 获取数据列表
*/
getDataList() {
this.searchData.limit = this.pageSize
this.searchData.page = this.pageIndex
let inData = {
...this.searchData,
}
if (this.searchData.orderNo === '' || this.searchData.orderNo == null) {
inData.orderNo = '%%'
}
if (this.searchData.partNo === '' || this.searchData.partNo == null) {
inData.partNo = '%%'
}
searchProductionWarehousingInfo(inData).then(({data}) => {
if (data.code === 0) {
this.dataList = data.page.list
this.pageIndex = data.page.currPage
this.pageSize = data.page.pageSize
this.totalPage = data.page.totalCount
}
})
},
// ======== / ========
/**
* 询价信息新增模态框
*/
receiveModal(row) {
this.modalData = {
site: this.$store.state.user.site,
userName: this.$store.state.user.name,
orderNo: row.orderNo,
releaseNo: row.releaseNo,
sequenceNo: row.sequenceNo,
thOrderNo: row.thOrderNo,
partNo: row.partNo,
partDesc: row.partDesc,
stockQty: row.stockQty,
needQty: row.needQty,
quantity: '',
locationNo: '',
lotSize: '',
waivDevRejNo: '',
simplifiedMaterial: 'Yes',
autoReport: 'Yes',
}
this.modalFlag = true
},
/**
* 客户信息新增/编辑
*/
async saveData() {
if (this.modalData.quantity === '' || this.modalData.quantity == null) {
this.$message.warning('入库数量不能为空')
return
}
if (this.modalData.quantity <= 0 || this.modalData.quantity > this.modalData.needQty) {
this.$message.warning('入库数量必须大于0且小于待入库数量')
return
}
if (this.modalData.locationNo === '' || this.modalData.locationNo == null) {
this.$message.warning('库位不能为空')
return
}
if (this.modalData.serialNo === '' || this.modalData.serialNo == null) {
this.$message.warning('批号不能为空')
return
}
if (this.modalData.waivDevRejNo === '' || this.modalData.waivDevRejNo == null) {
this.$message.warning('W/D/R不能为空')
return
}
receiveProductionWarehousing(this.modalData).then(({data}) => {
if (data && data.code === 0) {
this.getDataList()
this.modalFlag = false
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
//
closeSaveDataDialog() {
this.modalData = {
site: this.$store.state.user.site,
userName: this.$store.state.user.name,
orderNo: '',
releaseNo: '',
sequenceNo: '',
thOrderNo: '',
partNo: '',
partDesc: '',
stockQty: '',
needQty: '',
quantity: '',
locationNo: '',
lotSize: '',
waivDevRejNo: '',
simplifiedMaterial: 'Yes',
autoReport: 'Yes',
}
this.modalFlag = false
},
//
async getTableUserColumn(tableId, columnId) {
let queryTableUser = {
userId: this.$store.state.user.name,
functionId: this.$route.meta.menuId,
tableId: tableId,
status: true,
languageCode: this.$i18n.locale
}
await getTableUserListLanguage(queryTableUser).then(({data}) => {
if (data.rows.length > 0) {
switch (columnId) {
case 1:
this.columnList = data.rows
break;
}
} else {
this.getColumnList(tableId, columnId)
}
})
},
// tableDefault
async getColumnList (tableId, columnId) {
let queryTable= {
functionId: this.$route.meta.menuId,
tableId: tableId,
languageCode: this.$i18n.locale
}
await getTableDefaultListLanguage(queryTable).then(({data}) => {
if (!data.rows.length === 0) {
switch (columnId) {
case 1:
this.columnList = data.rows
break;
}
}
})
},
},
}
</script>
<style lang="scss" scoped>
.el-table /deep/ .cell {
height: auto;
line-height: 1.5;
}
</style>
Loading…
Cancel
Save