Browse Source

订单物料转换

master
rui_li 4 years ago
parent
commit
945a3e32c0
  1. 22
      src/api/yieldReport/com_transform_part.js
  2. 4
      src/api/yieldReport/order_transform_part.js
  3. 2
      src/views/modules/report/report_manage.vue
  4. 2
      src/views/modules/report/user_customer_report.vue
  5. 334
      src/views/modules/yieldReport/com_transform_part.vue
  6. 421
      src/views/modules/yieldReport/order_transform_part.vue

22
src/api/yieldReport/com_transform_part.js

@ -0,0 +1,22 @@
import { createAPI } from '@/utils/httpRequest.js'
// 获取转换物料的BOM信息
export const getTransformOrderBomData = data => createAPI('scheduling/getTransformOrderBomData', 'POST', data)
//获取转换物料的扫描卷信息
export const getTransformRollTable = data => createAPI('scheduling/getTransformRollTable', 'POST', data)
//扫描转换料号的卷信息
export const scanTransformPartRollNo = data => createAPI('scheduling/scanTransformPartRollNo', 'POST', data)
//转换卷的物料
export const transformRollPart = data => createAPI('scheduling/transformRollPart', 'POST', data)

4
src/api/yieldReport/order_transform_part.js

@ -0,0 +1,4 @@
import { createAPI } from '@/utils/httpRequest.js'
// 获取可以转换的工单
export const searchSapTransformOrder = data => createAPI('scheduling/searchSapTransformOrder', 'POST', data)

2
src/views/modules/report/report_manage.vue

@ -234,6 +234,8 @@ export default {
this.reportTypeList = data.rows;
//
this.pageData.reportType = data.rows[0].baseData;
//
this.refreshPageTables();
})
},

2
src/views/modules/report/user_customer_report.vue

@ -235,7 +235,7 @@ export default {
// }
// })
// //
customerReport.setAttribute('href', window.location.origin+'/#/customer-report-show?reportId='+currentRow.reportId);
customerReport.setAttribute('href', window.location.origin+'/#/customer_report_show?reportId='+currentRow.reportId);
//
customerReport.click();
},

334
src/views/modules/yieldReport/com_transform_part.vue

@ -0,0 +1,334 @@
<template>
<div class="customer-css">
<el-dialog :title="titleCon" v-drag v-bind="$attrs" v-on="$listeners"
width="800px" style="height: 485px;" class="customer-dialog">
<el-form :inline="true" label-position="top" style="height: 350px;"
label-width="80px">
<!-- 菜单信息 -->
<el-row>
<el-col :span="4" >
<el-form-item :label="'物料编码:'">
<el-input v-model="pageData.partNo" readonly="readonly" style="width: 120px"></el-input>
</el-form-item>
</el-col>
<el-col :span="7" >
<el-form-item :label="'物料描述:'">
<el-input v-model="pageData.partDesc" readonly="readonly" style="width: 180px"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" >
<el-form-item :label="'原物料编码:'">
<el-input v-model="pageData.oriPartNo" readonly="readonly" style="width: 120px"></el-input>
</el-form-item>
</el-col>
<el-col :span="7" >
<el-form-item :label="'原物料描述:'">
<el-input v-model="pageData.oriPartDesc" readonly="readonly" style="width: 180px"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5" >
<el-form-item :label="'扫描卷号:'">
<el-input v-model="pageData.rollNo" ref="rollNo" style="width: 120px"
@keyup.enter.native="scanTransformOrderRollNo"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="customer-button">
<el-button type="primary" @click="transformRollPartBun" style="margin-left: 10px; margin-bottom: 5px;">
转换</el-button>
</el-form-item>
</el-col>
</el-row>
<!-- 主材料 -->
<el-form>
<fieldset class="customer-fieldset" style="width: 775px;">
<legend>扫描卷列表</legend>
<el-table height="220"
:data="transformPartList"
border
v-loading="dataListLoading"
style="width: 100%; margin-top: -5px;">
<el-table-column
v-for="(item,index) in transformPartColumns" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed"
:width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<el-input type="number" class="table-input" align="right" v-if="item.columnHidden"
v-model="scope.row[item.columnProp]"></el-input>
<span v-else>{{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>
</fieldset>
</el-form>
</el-form>
</el-dialog>
</div>
</template>
<script>
import {
getTransformOrderBomData,
getTransformRollTable,
scanTransformPartRollNo,
transformRollPart,
} from '@/api/yieldReport/com_transform_part.js';
export default {
data() {
return {
titleCon: '物料转换',
pageData: {
site: this.$store.state.user.site,
username: this.$store.state.user.name,
orderNo: '',
itemNo: 0,
rollNo: '',
oriPartNo: '',
oriPartDesc: '',
partNo: '',
partDesc: '',
transType: 'sw-part',
status: 'N',
reportTime: '',
},
bomData: {},
transformPartList: [],
transformPartColumns: [
{
userId: this.$store.state.user.name,
functionId: 5305,
serialNumber: '5305TransRollSortNo',
tableId: "5305TransRoll",
tableName: "转换卷号",
columnProp: "sortNo",
headerAlign: "center",
align: "center",
columnLabel: "序号",
columnWidth: 60,
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 5305,
serialNumber: '5305TransRollRollNo',
tableId: "5305TransRoll",
tableName: "转换卷号",
columnProp: "rollNo",
headerAlign: "center",
align: "center",
columnLabel: "卷号",
columnWidth: 120,
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 5305,
serialNumber: '5305TransRollRollQty',
tableId: "5305TransRoll",
tableName: "转换卷号",
columnProp: "rollQty",
headerAlign: "center",
align: "center",
columnLabel: "数量",
columnWidth: 60,
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 5305,
serialNumber: '5305TransRollPartNo',
tableId: "5305TransRoll",
tableName: "转换卷号",
columnProp: "partNo",
headerAlign: "center",
align: "center",
columnLabel: "物料编码",
columnWidth: 100,
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
{
userId: this.$store.state.user.name,
functionId: 5305,
serialNumber: '5305TransRollPartDesc',
tableId: "5305TransRoll",
tableName: "转换卷号",
columnProp: "partDesc",
headerAlign: "center",
align: "center",
columnLabel: "物料描述",
columnWidth: '',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false
},
],
dataListLoading: false,
}
},
methods: {
/*初始化页面参数*/
init(transformOrder) {
//
this.pageData.orderNo = transformOrder.orderNo;
this.pageData.itemNo = transformOrder.orderItemNo;
this.pageData.rollNo = '';
this.pageData.partNo = transformOrder.partNo;
this.pageData.partDesc = transformOrder.partDescription;
this.pageData.oriPartNo = '';
this.pageData.oriPartDesc = '';
//
this.$nextTick(() => {
this.$refs.rollNo.focus();
})
//BOM
this.refreshTransformOrderBomData();
//
this.refreshPageTableData();
},
/*关闭modal*/
closeDialog(){
this.$emit('update:visible', false);
},
/*刷新当前的页面参数*/
refreshPageTableData(){
//
this.refreshTransformRollTable();
},
//
refreshTransformRollTable(){
//
this.pageData.rollNo = '';
getTransformRollTable(this.pageData).then(({data}) => {
this.transformPartList = data.rows;
});
},
//
refreshTransformOrderBomData(){
//
getTransformOrderBomData(this.pageData).then(({data}) => {
this.bomData = data.row;
//
this.pageData.oriPartNo = data.row.partNo;
this.pageData.oriPartDesc = data.row.partDesc;
});
},
//
scanTransformOrderRollNo(){
scanTransformPartRollNo(this.pageData).then(({data}) => {
//
if(data.code == 500){
this.$message.error(data.msg);
}else{
//使
this.pageData.rollNo = '';
//
this.refreshTransformRollTable();
}
});
},
/*执行转换卷操作*/
transformRollPartBun(){
//
if(this.transformPartList.length == 0){
this.$message.error('请先扫描卷后再试!');
return false;
}
//
transformRollPart(this.pageData).then(({data}) => {
//
if(data.code == 500){
this.$message.error(data.msg);
}else{
//使
this.pageData.rollNo = '';
//
this.refreshTransformRollTable();
}
});
},
},
created() {
//
}
}
</script>
<style scoped lang="scss">
/*调节页面button和input的上下间距*/
.customer-css .customer-button{
margin-top: 25px;
}
/*调节样式*/
.customer-item{
margin-top: -10px;
}
/*fieldset下table的样式*/
.customer-fieldset /deep/ .el-table__header th.is-leaf{
line-height: 16px;
}
/deep/ .customer-tab .el-tabs__content{
padding: 0px !important;
}
/*table中input 修改样式*/
/deep/ div.table-input {
padding: 0px 0px;
height: 25px !important;
}
/*table中input*/
div.table-input /deep/ input.el-input__inner{
padding: 0px 0px;
height: 23px !important;
text-align: right;
}
</style>

421
src/views/modules/yieldReport/order_transform_part.vue

@ -0,0 +1,421 @@
<template>
<div class="customer-css">
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
<el-form-item :label="'工厂编码:'">
<el-input v-model="searchData.site" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'生产订单号:'">
<el-input v-model="searchData.orderNo" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'订单日期:'">
<el-date-picker
style="width: 130px"
v-model="searchData.date1"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="'至:'">
<el-date-picker
style="width: 130px"
v-model="searchData.date2"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="'是否已转换:'">
<el-select filterable v-model="searchData.slittedFlag" style="width: 130px">
<el-option label="全部" value="ALL"></el-option>
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
<el-button @click="refreshPageTables" type="primary" style="margin-left: 10px;margin-top: 0px">{{'查询'}}</el-button>
<download-excel
:fields="fields()"
:data="exportData"
type="xls"
:name="exportName"
:header="exportHeader"
:footer="exportFooter"
:fetch="createExportData"
worksheet="导出信息"
class="el-button el-button--primary el-button--medium">
{{ buttons.download }}
</download-excel>
</el-form-item>
</el-form>
<el-table
:height="height"
:data="transformOrderList"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
header-align="center"
align="center"
width="70"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="transformPartModal(scope.row)">转换</a>
</template>
</el-table-column>
<el-table-column
v-for="(item,index) in transformOrderColumns" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed"
: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>
<!-- 分切报工的组件 -->
<comTransformPart ref="comTransformPart" :close-on-click-modal="false"
:visible.sync="showTransformPartFlag"
@refreshPageTables="refreshPageTables">
</comTransformPart>
</div>
</template>
<script>
/*组件*/
import comTransformPart from "./com_transform_part";/*转换物料*/
import {
searchSapTransformOrder,
} from "@/api/yieldReport/order_transform_part.js"
export default {
data() {
return {
tagNo:'',
showTransformPartFlag: false,
currentRow: {},
// start
exportData: [],
exportName: "SAP分卷订单"+this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader: ["SAP分卷订单"],
exportFooter: [],
// end
height: 200,
buttons: {
download:'导出',
},
searchData: {
site: this.$store.state.user.site,
user: this.$store.state.user.name,
orderNo: '',
date1: '',
date2: '',
slittedFlag: 'ALL',
},
transformOrderList: [],
transformOrderColumns: [
{
userId: this.$store.state.user.name,
functionId: 6033,
serialNumber: '6033TableOrderNo',
tableId: "6033Table",
tableName: "查询SAP分卷订单表",
columnProp: "orderNo",
headerAlign: "center",
align: "left",
columnLabel: "生产订单号",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 6033,
serialNumber: '6033TableOrderDate',
tableId: "6033Table",
tableName: "查询SAP分卷订单表",
columnProp: "orderDate",
headerAlign: "center",
align: "left",
columnLabel: "订单日期",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 6033,
serialNumber: '6033TablePlanReceiptDate',
tableId: "6033Table",
tableName: "查询SAP分卷订单表",
columnProp: "planReceiptDate",
headerAlign: "center",
align: "left",
columnLabel: "要求交货日期",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 6033,
serialNumber: '6033TableSupplierID',
tableId: "6033Table",
tableName: "查询SAP分卷订单表",
columnProp: "supplierID",
headerAlign: "center",
align: "left",
columnLabel: "供应商编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 6033,
serialNumber: '6033TableStatus',
tableId: "6033Table",
tableName: "查询SAP分卷订单表",
columnProp: "status",
headerAlign: "center",
align: "left",
columnLabel: "订单状态",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 70
},
{
userId: this.$store.state.user.name,
functionId: 6033,
serialNumber: '6033TableSupplierName',
tableId: "6033Table",
tableName: "查询SAP分卷订单表",
columnProp: "supplierName",
headerAlign: "center",
align: "left",
columnLabel: "供应商名称",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 300
},
{
userId: this.$store.state.user.name,
functionId: 6033,
serialNumber: '6033TableOrderItemNo',
tableId: "6033Table",
tableName: "查询SAP分卷订单表",
columnProp: "orderItemNo",
headerAlign: "center",
align: "left",
columnLabel: "订单序号",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 70
},
{
userId: this.$store.state.user.name,
functionId: 6033,
serialNumber: '6033TablePartNo',
tableId: "6033Table",
tableName: "查询SAP分卷订单表",
columnProp: "partNo",
headerAlign: "center",
align: "left",
columnLabel: "物料编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 6033,
serialNumber: '6033TablePartDescription',
tableId: "6033Table",
tableName: "查询SAP分卷订单表",
columnProp: "partDescription",
headerAlign: "center",
align: "left",
columnLabel: "物料名称",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 300
},
{
userId: this.$store.state.user.name,
functionId: 6033,
serialNumber: '6033TableQuantity',
tableId: "6033Table",
tableName: "查询SAP分卷订单表",
columnProp: "quantity",
headerAlign: "center",
align: "right",
columnLabel: "订单数量",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 6033,
serialNumber: '6033TableCancelledFlag',
tableId: "6033Table",
tableName: "查询SAP分卷订单表",
columnProp: "cancelledFlag",
headerAlign: "center",
align: "left",
columnLabel: "是否取消",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 70
},
{
userId: this.$store.state.user.name,
functionId: 6033,
serialNumber: '6033TableSAPOrderNo',
tableId: "6033Table",
tableName: "查询SAP分卷订单表",
columnProp: "sAPOrderNo",
headerAlign: "center",
align: "left",
columnLabel: "SAP订单识别号",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 6033,
serialNumber: '6033TableSite',
tableId: "6033Table",
tableName: "查询SAP分卷订单表",
columnProp: "site",
headerAlign: "center",
align: "left",
columnLabel: "工厂编号",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 70
},
],
dataListLoading: false,
}
},
/*组件*/
components: {
comTransformPart, /*换物料*/
},
mounted() {
this.$nextTick(() => {
this.height = window.innerHeight - 138;
})
},
methods: {
//table
refreshPageTables() {
searchSapTransformOrder(this.searchData).then(({data}) => {
this.transformOrderList = data.rows
})
},
//excel
createExportData() {
return this.transformOrderList;
},
fields() {
let json = "{"
this.transformOrderColumns.forEach((item, index) => {
if (index == this.transformOrderColumns.length - 1) {
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
} else {
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
}
})
json += "}"
let s = eval("(" + json + ")")
return s
},
// end
/*转换物料*/
transformPartModal(currentRow){
this.currentRow = currentRow;
//
this.$nextTick(() => {
this.showTransformPartFlag = true;
this.$refs.comTransformPart.init(this.currentRow);
});
},
},
created() {
//
}
}
</script>
<style>
.el-textarea__inner {
padding: 5px 5px;
}
</style>
Loading…
Cancel
Save