Browse Source

0412 新看板

master
ruanqi 3 years ago
parent
commit
e6951ff209
  1. 1
      src/api/board.js
  2. 1
      src/api/production.js
  3. 3
      src/api/production/inspect.js
  4. 1
      src/router/index.js
  5. 196
      src/views/modules/board/inspectBoard.vue
  6. 54
      src/views/modules/production/dailyPlanReport.vue
  7. 42
      src/views/modules/production/generateReport.vue
  8. 158
      src/views/modules/production/inspect.vue
  9. 142
      src/views/modules/production/print_inspect_label.js
  10. 45
      src/views/modules/production/productionBlankingSearch.vue

1
src/api/board.js

@ -21,3 +21,4 @@ export const transFerBoardForHunlian= data => createAPI(`board/transFerBoardForH
export const getSiteData= data => createAPI(`board/getSiteData`,'post',data)
export const SORoutingBoardForShuiZhu= data => createAPI(`board/SORoutingBoardForShuiZhu`,'post',data)
export const SeqNoForLiuHua= data => createAPI(`board/SeqNoForLiuHua`,'post',data)
export const getInspectBoard= data => createAPI(`board/getInspectBoard`,'post',data)

1
src/api/production.js

@ -64,3 +64,4 @@ export const getAllWorkCenterDataForUser=data => createAPI(`dailyPlan/getAllWork
export const getWorkCenterUserData=data => createAPI(`dailyPlan/getWorkCenterUserData`, 'post', data);
export const addUserSkill=data => createAPI(`dailyPlan/addUserSkill`, 'post', data);
export const deleteUserSkill=data => createAPI(`dailyPlan/deleteUserSkill`, 'post', data);
export const getPartNoOnHand= data => createAPI(`dailyPlan/getPartNoOnHand`, 'post', data);

3
src/api/production/inspect.js

@ -2,3 +2,6 @@ import { createAPI } from "@/utils/httpRequest.js";
// 获取生产报告信息
export const getInspectData = data => createAPI(`inspect/getInspectData`, 'post', data);
export const inspectSave = data => createAPI(`inspect/inspectSave`, 'post', data);
export const inspectPrint = data => createAPI(`inspect/inspectPrint`, 'post', data);
export const cancelInspect = data => createAPI(`inspect/cancelInspect`, 'post', data);

1
src/router/index.js

@ -40,6 +40,7 @@ const globalRoutes = [
{ path: '/test', component: _import('modules/board/test'), name: 'test', meta: { title: 'test' } },
{ path: '/SeqNoForLiuHua', component: _import('modules/board/SeqNoForLiuHua'), name: 'SeqNoForLiuHua', meta: { title: '生产派工单看板' } },
{ path: '/SORoutingBoardForShuiZhu', component: _import('modules/board/SORoutingBoardForShuiZhu'), name: 'SORoutingBoardForShuiZhu', meta: { title: '水煮烘烤工序看板' } },
{ path: '/inspectBoard', component: _import('modules/board/inspectBoard'), name: 'inspectBoard', meta: { title: '实验室检验看板' } },
]

196
src/views/modules/board/inspectBoard.vue

@ -0,0 +1,196 @@
<template>
<div class="mod-config">
<div style="text-align: center">
<h1>实验室看板</h1>
</div>
<div class="board2">
<!-- @mouseenter.native="mouseEnter"-->
<!-- @mouseleave.native="mouseLeave"-->
<el-table
cell-style="cc"
:height="height"
:data="tableData"
ref="wt_table"
border
:row-class-name="tableRowClassName"
style="width: 100%;">
<el-table-column
prop="transNo"
header-align="center"
align="left"
min-width="80"
style="font-size: 20px"
label="入库通知单号">
</el-table-column>
<el-table-column
prop="orderNo"
header-align="center"
align="left"
min-width="65"
style="font-size: 20px"
label="生产订单号">
</el-table-column>
<el-table-column
prop="toTypeFlag"
header-align="center"
align="left"
min-width="60"
style="font-size: 20px"
label="检验单类型">
</el-table-column>
<el-table-column
prop="site"
header-align="center"
align="left"
min-width="65"
style="font-size: 20px"
label="工厂编号">
</el-table-column>
<el-table-column
prop="transDate"
header-align="center"
align="left"
min-width="105"
label="生成日期">
</el-table-column>
<el-table-column
prop="partNo"
header-align="center"
align="left"
min-width="105"
label="产品编号">
</el-table-column>
<el-table-column
prop="partDescSpec"
header-align="center"
align="left"
min-width="180"
label="产品名称">
</el-table-column>
<el-table-column
prop="transQty"
header-align="center"
align="right"
min-width="60"
label="本单数量">
</el-table-column>
<el-table-column
prop="seqNo"
header-align="center"
align="right"
min-width="45"
label="派工单号">
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
let rollstop = ''
let rolltimer = ''//
let refresher = '' //
import {
getInspectBoard,
} from '@/api/board.js'
export default {
name: 'inspectBoard',
data () {
return {
pageIndex: 1,
totalPage: 1,
height: 200,
tableData: [],
//
// refreshTime: 5,
// rollTime: 5,
// rollPx: 1,
}
},
mounted () {
this.$nextTick(() => {
this.height = window.innerHeight - 80
})
// this.autoRoll()
},
methods: {
tableRowClassName ({row, rowIndex}) {
},
search () {
let inData= {number:this.pageIndex};
getInspectBoard(inData).then(({data}) => {
this.tableData = data.rows;
this.totalPage= data.maxPage;
if(this.pageIndex+1>data.maxPage){
this.pageIndex=1
}else {
this.pageIndex=this.pageIndex+1
}
})
},
//
// mouseEnter (time) {
// //
// this.autoRoll(true)
// },
//
// mouseLeave () {
// //
// this.autoRoll()
// },
//
// autoRoll (stop) {
// if (stop) {
// clearInterval(rolltimer)
// return
// }
// // DOM
// const table = this.$refs.wt_table
// // div
// const divData = table.bodyWrapper
// //
// rolltimer = setInterval(() => {
// //
// divData.scrollTop = this.decimalUtil.add(Number(divData.scrollTop), Number(this.rollPx))
// // (+=)
// if (divData.clientHeight + divData.scrollTop +1>= divData.scrollHeight) {
// // table
// divData.scrollTop = 0
// }
// }, this.rollTime * 10)
// },
refreshTable () {
refresher = setInterval(() => {
this.search()
}, 30000)
}
},
created () {
this.search()
this.refreshTable()
}
}
</script>
<style >
.board2 .el-table .cell {
line-height: 13px;
font-size: 12px;
height: 13px;
padding: 0px;
}
.board2 .el-table .success-row {
background: #1bb61b;
}
.board2 .el-table .false-row {
/*background: #cbcb14;*/
background: #db1212;
}
.board2 .el-table .yellow-row{
background: #ffff00;
}
</style>

54
src/views/modules/production/dailyPlanReport.vue

@ -192,8 +192,16 @@
<el-form-item :label="'所需数量:'">
<el-input v-model="reportData.qtyRequired" disabled style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'库存数量:'">
<el-input v-model="reportData.qtyOnHand" disabled style="width: 130px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: 0px;">
<el-form-item :label="'混炼胶报工重量:'">
<el-input v-model="reportData.reportQty" type="number" style="width: 130px"></el-input>
<el-input v-model="reportData.qtyReal" type="number" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'库存抵扣数量:'">
<el-input v-model="reportData.qtyRef" type="number" style="width: 130px"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
@ -210,7 +218,7 @@
<script>
import {
getHunlianTaskData,getHunlianTaskDetailData
,cancelTask,reportTask,cancelReportTask
,cancelTask,reportTask,cancelReportTask,getPartNoOnHand
} from "@/api/production.js"
import {
printTransNoLabel,
@ -244,6 +252,9 @@
taskNo:'',
qtyRequired: '',
reportQty:'',
qtyOnHand:'',
qtyReal:'',
qtyRef:'',
}
}
},
@ -286,6 +297,26 @@
this.detailFlag=true;
},
getPartNoOnHand(site,partNo){
let inData={
site:site,
partNo:partNo,
}
getPartNoOnHand(inData).then(({data}) => {
if (data && data.code === 0) {
if(data.row!=null){
this.reportData.qtyOnHand=data.row.qtyOnHand;
}else {
this.reportData.qtyOnHand=0;
}
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
printPartCard(row){
let array=[];
let data={
@ -329,14 +360,16 @@
},
reportTaskModal(row){
this.reportData={
site:row.site,
taskNo:row.taskNo,
qtyRequired: row.taskQty,
reportQty:'',
partNo:row.partNo,
userId:this.$store.state.user.name,
}
this.reportData.site=row.site;
this.reportData.taskNo=row.taskNo;
this.reportData.qtyRequired=row.taskQty;
this.reportData.reportQty='';
this.reportData.partNo=row.partNo;
this.reportData.userId=row.userId;
this.reportData.qtyReal=0;
this.reportData.qtyRef=0;
this.getPartNoOnHand(row.site,row.partNo);
this.reportModalFlag=true;
},
cancelReportTask(row){
@ -358,6 +391,7 @@
})
},
reportSave(){
this.reportData.reportQty=Number(Number(this.reportData.qtyReal)+Number(this.reportData.qtyRef)).toFixed(2);
if(this.reportData.reportQty<this.reportData.qtyRequired){
this.$alert('报工数量不足,无法报工!', '错误', {
confirmButtonText: '确定'

42
src/views/modules/production/generateReport.vue

@ -751,47 +751,7 @@
initReportModal (row) {
this.scanSeqNo=row.seqNo
this.searchSeqNo()
// this.setUp.reviewFlag = true;
// this.setUp.disabled = true;
// let currentData = JSON.parse(JSON.stringify(row));
// this.KGReported=0
// this.KGApprove=0
// this.KGRework=0
// this.saveHeaderData.qtyApprove=0
// this.saveHeaderData.qtyUnApprove=0
// this.saveHeaderData.qtyRework=0
// this.saveHeaderData.site = currentData.site;
// this.saveHeaderData.seqNo = currentData.seqNo;
// this.saveHeaderData.itemNo = currentData.itemNo;
// this.saveHeaderData.operationDesc = currentData.itemDesc;
// this.saveHeaderData.partNo = currentData.partNo;
// this.saveHeaderData.partDescription = currentData.partSpec;
// this.saveHeaderData.workCenterNo = currentData.sWorkCenterNo;
// this.saveHeaderData.workCenterDesc = currentData.workCenterDesc;
// this.saveHeaderData.orderRef1=currentData.orderRef1;
// this.saveHeaderData.orderNo=currentData.orderNo;
// this.saveHeaderData.scheduleType=currentData.scheduleType;
// this.saveHeaderData.operatorId=currentData.operatorId;
// this.saveHeaderData.operatorName=currentData.operatorName;
// this.saveHeaderData.userId=this.$store.state.user.name;
// this.qty1='';
// this.qty2 ='';
// this.saveHeaderData.planStartTime = this.dayjs(new Date()).format('YYYY-MM-DD 00:00:00')
// searchReportedQty(this.saveHeaderData).then(({data}) => {
// this.qty1 = data.row.qtyReported;
// this.qty2 =data.row.lastApproveQty;
// this.saveHeaderData.manufacturingTime=data.row.timeReported;
// if(data.row.weightFactor==-1){
// this.qty3 ="erp"
// this.KGReported=''
// this.KGApprove=''
// this.KGRework=''
// this.factorFlag=true;
// }else {
// this.qty3 =data.row.weightFactor
// this.factorFlag=false;
// }
// })
},
closeDialog () {
Object.assign(this.$data.saveHeaderData, this.$options.data.call(this).saveHeaderData)

158
src/views/modules/production/inspect.vue

@ -91,9 +91,9 @@
fixed="left"
label="操作">
<template slot-scope="scope" class="foo_container">
<a type="text" size="small" @click="toPrint(scope.row)">打印</a>
<a v-if="scope.row.needReceiveFlag=='N'" type="text" size="small" @click="inspectModal(scope.row)">检验</a>
<a v-if="scope.row.toTypeFlag=='硫化检验单'&&scope.row.inspectedFlag=='N'" type="text" size="small" @click="cancelJob(scope.row)">删除检验单</a>
<a v-if="scope.row.inspectedFlag=='Y'" type="text" size="small" @click="toPrint(scope.row)">补打结果</a>
<a v-if="scope.row.toTypeFlag=='硫化检验单'&&scope.row.inspectedFlag=='N'" type="text" size="small" @click="cancelInspect(scope.row)">删除检验单</a>
</template>
</el-table-column>
<el-table-column
@ -132,7 +132,7 @@
label="是否检验">
</el-table-column>
<el-table-column
prop="inspectRemark"
prop="inspectResult"
header-align="center"
align="left"
min-width="70"
@ -181,7 +181,7 @@
label="操作员">
</el-table-column>
<el-table-column
prop="inspectResult"
prop="inspectRemark"
header-align="center"
align="left"
min-width="150"
@ -203,7 +203,7 @@
</el-table-column>
</el-table>
<el-dialog title="录入检验结果" :close-on-click-modal="false" v-drag :visible.sync="inspectFlag" width="500px">
<el-dialog title="录入检验结果" :close-on-click-modal="false" v-drag :visible.sync="inspectFlag" width="480px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'检验单号:'">
<el-input v-model="inspectData.transNo" disabled style="width: 130px"></el-input>
@ -217,10 +217,21 @@
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: 0px;">
<el-form-item :label="'规格/型号:'">
<el-input v-model="inspectData.partDescSpec" disabled style="width: 410px;" ></el-input>
<el-input v-model="inspectData.partDescSpec" disabled style="width: 417px;" ></el-input>
</el-form-item>
</el-form>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: 0px;">
<el-form-item :label="'检验结果:'">
<el-select v-model="inspectData.inspectResult" style="width: 120px">
<el-option label="合格" value="合格"></el-option>
<el-option label="不合格" value="不合格"></el-option>
</el-select>
</el-form-item>
<el-form-item label="检验备注">
<el-input type="textarea" style="width: 282px" v-model="inspectData.inspectRemark"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:40px;margin-top: 30px;text-align:center">
<el-button type="primary" @click="inspectSave()">保存</el-button>
<el-button type="primary" @click="inspectFlag = false">关闭</el-button>
</el-footer>
@ -233,15 +244,14 @@
<script>
import {
getInspectData,
inspectSave,
inspectPrint,
cancelInspect,
} from '@/api/production/inspect.js'
import Chooselist from '@/views/modules/common/Chooselist'
import {
printSeqNoLabel,
} from "@/views/modules/production/print_seqNo_label.js"
import {
printPartLabel,
} from "@/views/modules/production/print_part_label.js"
printInspectLabel,
} from "@/views/modules/production/print_inspect_label.js"
export default {
name: 'soscheduleRouting',
components: {
@ -295,6 +305,12 @@
orderNo:'',
partNo:'',
partDescSpec:'',
site:'',
toTypeFlag:'',
inspectResult:'',
inspectRemark:'',
operatorName:'',
seqNo:'',
},
inspectFlag:false,
}
@ -346,43 +362,61 @@
this.tableData = data.rows
})
},
inspectModal(){
this.inspectData
inspectModal(row){
this.inspectData.transNo=row.transNo;
this.inspectData.orderNo=row.orderNo;
this.inspectData.partNo=row.partNo;
this.inspectData.partDescSpec=row.partDescSpec;
this.inspectData.site=row.site;
this.inspectData.toTypeFlag=row.toTypeFlag;
this.inspectData.transDate=row.transDate;
this.inspectData.transQty=row.transQty;
this.inspectData.operatorName=row.operatorName;
this.inspectData.inspectResult= JSON.parse(JSON.stringify(row.inspectResult));
this.inspectData.inspectRemark= JSON.parse(JSON.stringify(row.inspectRemark));
this.inspectData.seqNo=row.seqNo;
this.inspectFlag=true;
},
createExportData () {
return this.tableData
},
startDownload () {
// this.exportData = this.dataList
},
finishDownload () {
},
getStrDate () {
let dd = new Date()
let Y = dd.getFullYear()
let M = (dd.getMonth() + 1) < 10 ? '0' + (dd.getMonth() + 1) : (dd.getMonth() + 1)// 100
let D = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate()// 100
let H = dd.getHours() < 10 ? '0' + dd.getHours() : dd.getHours()
let MM = dd.getMinutes() < 10 ? '0' + dd.getMinutes() : dd.getMinutes()
let S = dd.getSeconds() < 10 ? '0' + dd.getSeconds() : dd.getSeconds()
return Y + M + D + H + MM + S
},
cancelJob(row){
if(row.qtyReported>0){
this.$alert('该派工单已经有报工无法取消!', '错误', {
inspectSave(){
if(this.inspectData.inspectResult==''||this.inspectData.inspectResult==null){
this.$alert('请选择检验结果!', '错误', {
confirmButtonText: '确定'
})
return false
}
this.$confirm(`确定取消此派工单`, '提示', {
inspectSave(this.inspectData).then(({data}) => {
if (data && data.code === 0) {
this.search ();
let printData=data.row
if(printData.toTypeFlag=='混炼胶入库'){
printData.seqNo=printData.orderNo
}
let array=[];
array.push(printData)
printInspectLabel(array)
this.inspectFlag=false
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
}
})
}else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
cancelInspect(row){
this.$confirm(`是否删除这条检验单?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
cancelJob(row).then(({data}) => {
cancelInspect(row).then(({data}) => {
if (data && data.code === 0) {
this.search ();
this.$message({
@ -392,16 +426,54 @@
onClose: () => {
}
})
}else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
}).catch(() => {
})
},
toPrint(row){
let array=[];
array.push(row)
printSeqNoLabel(array)
inspectPrint(row).then(({data}) => {
if (data && data.code === 0) {
let printData=data.row
if(printData.toTypeFlag=='混炼胶入库'){
printData.seqNo=printData.orderNo
}
let array=[];
array.push(printData)
printInspectLabel(array)
}else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
createExportData () {
return this.tableData
},
startDownload () {
// this.exportData = this.dataList
},
finishDownload () {
},
getStrDate () {
let dd = new Date()
let Y = dd.getFullYear()
let M = (dd.getMonth() + 1) < 10 ? '0' + (dd.getMonth() + 1) : (dd.getMonth() + 1)// 100
let D = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate()// 100
let H = dd.getHours() < 10 ? '0' + dd.getHours() : dd.getHours()
let MM = dd.getMinutes() < 10 ? '0' + dd.getMinutes() : dd.getMinutes()
let S = dd.getSeconds() < 10 ? '0' + dd.getSeconds() : dd.getSeconds()
return Y + M + D + H + MM + S
},
},
created () {
}

142
src/views/modules/production/print_inspect_label.js

@ -0,0 +1,142 @@
/*调用js打印标签*/
import getLodop from '@/utils/LodopFuncs.js'
/*打印材料卷标签*/
export function printInspectLabel(printList) {
const LODOP = getLodop()
if (LODOP) {
//LODOP.SET_LICENSES("", "AF8A5800B84BCC5218BCF67B92627BEA", "", "");
LODOP.SET_LICENSES("", "AF8A5800B823CC8E18BCF67B925E7BF0", "", "");
// LODOP.SET_PRINTER_INDEXA("小标签打印机");
//循环调用打印机
for(let i = 0; i < printList.length; i++){
let printData = printList[i];
LODOP.NewPage();
LODOP.SET_PRINT_PAGESIZE(0,1000,700,"");
LODOP.ADD_PRINT_TEXT(88,8,108,25,"Part:");
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(88,50,200,50,printData.partNo+'|'+printData.partDesc);
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(153,8,128,24,"Operator:");
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(153,110,140,20,printData.operatorName);
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(132,8,113,25,"Shift:");
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(132,110,139,25,printData.sShiftNo);
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(41,8,98,25,"Job No:");
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(41,110,136,25,printData.seqNo);
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(173,8,94,25,"Order No:");
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(173,110,141,25,printData.orderNo);
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(64,8,96,25,"Q.T.Y:");
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(64,70,188,24,printData.qtyRequired+printData.umid+' | '+printData.weight+'公斤');
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(194,8,128,25,"MFG Date:");
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(194,110,170,25,printData.sScheduledDate);
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(224,5,256,24,"Manufactured by A&M Polymer");
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.ADD_PRINT_TEXT(224,212,156,25,"IATF:16949 Certified");
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Alignment",3);
LODOP.ADD_PRINT_LINE(218,2,217,374,0,1);
LODOP.ADD_PRINT_TEXT(12,122,135,30,"检验单标签");
LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(194,266,110,25,"工厂编码:"+printData.site);
LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(175,265,110,20,"工序:"+printData.itemDesc);
LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
LODOP.ADD_PRINT_TEXT(63,259,100,25,"检验结果:");
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
LODOP.SET_PRINT_STYLEA(0,"Bold",0);
LODOP.ADD_PRINT_TEXT(85,249,123,69,printData.remark);
LODOP.SET_PRINT_STYLEA(0,"FontSize",27);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
}
// LODOP.PRINT_DESIGN();
// LODOP.PREVIEW();
LODOP.PRINT();
console.log("操作成功!")
}
}
// LODOP.SET_PRINT_PAGESIZE(0,1000,700,"");
// LODOP.ADD_PRINT_BARCODE(11,244,208,140,"QRCode",printData.seqNo);
// LODOP.ADD_PRINT_TEXT(58,8,108,25,"PartNo:");
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.SET_PRINT_STYLEA(0,"Bold",1);
// LODOP.ADD_PRINT_TEXT(58,110,140,25,printData.partNo);
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.SET_PRINT_STYLEA(0,"Bold",1);
// LODOP.ADD_PRINT_TEXT(111,8,128,24,"Operator:");
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.SET_PRINT_STYLEA(0,"Bold",1);
// LODOP.ADD_PRINT_TEXT(111,110,140,20,printData.operatorName);
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.SET_PRINT_STYLEA(0,"Bold",1);
// LODOP.ADD_PRINT_TEXT(84,8,113,25,"Shift:");
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.SET_PRINT_STYLEA(0,"Bold",1);
// LODOP.ADD_PRINT_TEXT(84,110,139,25,printData.sShiftNo);
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.SET_PRINT_STYLEA(0,"Bold",1);
// LODOP.ADD_PRINT_TEXT(9,8,98,25,"SeqNo:");
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.SET_PRINT_STYLEA(0,"Bold",1);
// LODOP.ADD_PRINT_TEXT(9,110,136,25,printData.seqNo);
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.SET_PRINT_STYLEA(0,"Bold",1);
// LODOP.ADD_PRINT_TEXT(136,8,94,25,"OrderNo:");
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.SET_PRINT_STYLEA(0,"Bold",1);
// LODOP.ADD_PRINT_TEXT(136,110,141,25,printData.orderNo);
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.SET_PRINT_STYLEA(0,"Bold",1);
// LODOP.ADD_PRINT_TEXT(34,8,96,25,"Qty:");
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.SET_PRINT_STYLEA(0,"Bold",1);
// LODOP.ADD_PRINT_TEXT(34,110,138,24,printData.qtyRequired);
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.SET_PRINT_STYLEA(0,"Bold",1);
// LODOP.ADD_PRINT_TEXT(162,8,128,25,"ScheduledDate:");
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.SET_PRINT_STYLEA(0,"Bold",1);
// LODOP.ADD_PRINT_TEXT(162,110,170,25,printData.sScheduledDate);
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.SET_PRINT_STYLEA(0,"Bold",1);
// LODOP.ADD_PRINT_TEXT(192,5,256,24,"Manufactured by A&M Polymer");
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.ADD_PRINT_TEXT(192,259,109,25,"vender Code:");
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.ADD_PRINT_TEXT(210,5,257,35,"No.188 Taigu Road,Lili lndustrial Park,Wujiang District,Suzhou,China");
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.ADD_PRINT_TEXT(246,5,407,35,"Phone: 086-0512-63678826 Email: service@husenrubber.com");
// LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
// LODOP.ADD_PRINT_LINE(186,2,187,374,0,1);

45
src/views/modules/production/productionBlankingSearch.vue

@ -65,6 +65,13 @@
min-width="120"
label="硫化产品名称">
</el-table-column>
<el-table-column
prop="componentPartNo"
header-align="center"
align="left"
min-width="70"
label="混炼物料编码">
</el-table-column>
<el-table-column
prop="compPartDescSpec"
header-align="center"
@ -111,16 +118,24 @@
prop="planStartDate"
header-align="center"
align="center"
min-width="45"
min-width="100"
label="需求日期">
</el-table-column>
</el-table>
</div>
<el-dialog title="混炼任务合并" :close-on-click-modal="false" v-drag :visible.sync="sumFlag" width="700px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'硫化产品名称:'">
<el-input v-model="hunlianPartDesc" style="width: 120px"></el-input>
<el-form-item :label="'混炼物料编码:'">
<el-input v-model="hunlianPartNo" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'混炼产品名称:'">
<el-input v-model="hunlianPartDesc" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'仓库库存:'">
<el-input v-model="hunlianOnHand" readonly style="width: 130px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: 0px;">
<el-form-item :label="'混炼胶用量:'">
<el-input v-model="qty1" readonly style="width: 130px"></el-input>
</el-form-item>
@ -217,6 +232,7 @@
<script>
import {
productionBlankingSearch,
getPartNoOnHand,
saveHunlianTask,
} from '@/api/production.js'
export default {
@ -238,6 +254,8 @@
qty3:0,
hunlianPartDesc:'',
modalTableData:[],
hunlianPartNo:'',
hunlianOnHand:'',
}
},
mounted () {
@ -337,13 +355,34 @@
this.qty3=num3;
}
}
this.getPartNoOnHand(dataList[0].site,dataList[0].componentPartNo);
this.hunlianPartDesc=dataList[0].compPartDescSpec;
this.hunlianPartNo=dataList[0].componentPartNo;
this.qty1=Number(this.qty1).toFixed(2);
this.qty2=Number(this.qty2).toFixed(2);
this.qty3=Number(this.qty3).toFixed(2);
this.modalTableData=JSON.parse(JSON.stringify(dataList))
this.sumFlag=true;
},
getPartNoOnHand(site,partNo){
let inData={
site:site,
partNo:partNo,
}
getPartNoOnHand(inData).then(({data}) => {
if (data && data.code === 0) {
if(data.row!=null){
this.hunlianOnHand=data.row.qtyOnHand;
}else {
this.hunlianOnHand=0;
}
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
saveNewPlan(){
if(this.modalTableData.length==0){
this.$alert("列表中不存在周计划!", '错误', {

Loading…
Cancel
Save