Browse Source

生产订单打印 2022-04-22 sxm

master
[li_she] 4 years ago
parent
commit
5d90b1ef91
  1. 5
      src/api/shopOrder/shopOrder.js
  2. 177
      src/views/modules/shopOrder/shopOrder/shopOrder.vue

5
src/api/shopOrder/shopOrder.js

@ -38,3 +38,8 @@ export const deleteShopOrderData = data => createAPI(`/shopOrder/deleteShopOrder
export const saveShopOrderData = data => createAPI(`/shopOrder/saveShopOrderData`,'post',data) export const saveShopOrderData = data => createAPI(`/shopOrder/saveShopOrderData`,'post',data)
export const getShopOrderDetail = data => createAPI(`/shopOrder/getShopOrderDetail`,'post',data) export const getShopOrderDetail = data => createAPI(`/shopOrder/getShopOrderDetail`,'post',data)
// 获取shoporder 信息
export const getOrderInfo = data => createAPI(`/shopOrder/getOrderInfo`,'post',data)
// 获取 shoporder sap sobom 信息
export const getShopOrderSapSOBOM = data => createAPI(`/shopOrder/getShopOrderSapSOBOM`,'post',data)

177
src/views/modules/shopOrder/shopOrder/shopOrder.vue

@ -3,7 +3,8 @@
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;"> <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;">
<el-form-item :label="'订单号:'"> <el-form-item :label="'订单号:'">
<el-input v-model="modelData.orderNo" readonly style="width: 130px"></el-input> <el-input v-model="modelData.orderNo" readonly style="width: 130px"></el-input>
<el-button @click="modelFlag2=true" type="primary" style="margin-left: 2px;margin-top: 0px">{{'列表'}}</el-button>
<el-button @click="modelFlag2=true" type="primary" style="margin-left: 2px;margin-top: 0px">{{ '列表' }}
</el-button>
</el-form-item> </el-form-item>
<el-form-item :label="'物料编码:'"> <el-form-item :label="'物料编码:'">
<el-input v-model="modelData.partNo" readonly style="width: 130px"></el-input> <el-input v-model="modelData.partNo" readonly style="width: 130px"></el-input>
@ -34,7 +35,8 @@
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;"> <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
<el-button @click="updateModal" type="primary" style="margin-left: 2px;margin-top: 0px">{{ '编辑' }}</el-button> <el-button @click="updateModal" type="primary" style="margin-left: 2px;margin-top: 0px">{{ '编辑' }}</el-button>
<el-button @click="deleteData" type="primary" style="margin-left: 2px;margin-top: 0px">{{ '删除' }}</el-button> <el-button @click="deleteData" type="primary" style="margin-left: 2px;margin-top: 0px">{{ '删除' }}</el-button>
<el-button @click="printOrder()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'打印'}}</el-button>
<el-button @click="printOrder()" type="primary" style="margin-left: 2px;margin-top: 0px">{{ '打印' }}
</el-button>
</el-form> </el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 10px;"> <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 10px;">
<el-form-item :label="'订单类型:'"> <el-form-item :label="'订单类型:'">
@ -161,7 +163,8 @@
</el-form> </el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 10px;"> <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 10px;">
<el-form-item :label="'技术注意事项:'" style=""> <el-form-item :label="'技术注意事项:'" style="">
<el-input v-model="modelData.techInfo" type="textarea" readonly :autosize="{ minRows: 1, maxRows: 3}" style="width: 520px"></el-input>
<el-input v-model="modelData.techInfo" type="textarea" readonly :autosize="{ minRows: 1, maxRows: 3}"
style="width: 520px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 10px;"> <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 10px;">
@ -413,11 +416,13 @@
<el-form-item> <el-form-item>
<span slot="label" style="" @click="getBaseList(16)"><a herf="#">订单类型</a></span> <span slot="label" style="" @click="getBaseList(16)"><a herf="#">订单类型</a></span>
<el-input v-model="updateData.orderType" style="width: 160px" onblur="this.value=this.value.toUpperCase()"></el-input>
<el-input v-model="updateData.orderType" style="width: 160px"
onblur="this.value=this.value.toUpperCase()"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<span slot="label" style="" @click="getBaseList(15)"><a herf="#">计划方式</a></span> <span slot="label" style="" @click="getBaseList(15)"><a herf="#">计划方式</a></span>
<el-input v-model="updateData.planner" style="width: 160px" onblur="this.value=this.value.toUpperCase()"></el-input>
<el-input v-model="updateData.planner" style="width: 160px"
onblur="this.value=this.value.toUpperCase()"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="'原生产订单号:'"> <el-form-item :label="'原生产订单号:'">
<el-input v-model="updateData.oriSOOrderNo" style="width: 160px"></el-input> <el-input v-model="updateData.oriSOOrderNo" style="width: 160px"></el-input>
@ -428,7 +433,8 @@
<el-form-item> <el-form-item>
<span slot="label" style="" @click="getBaseList(17)"><a herf="#">项目编码</a></span> <span slot="label" style="" @click="getBaseList(17)"><a herf="#">项目编码</a></span>
<el-input v-model="updateData.projectID" style="width: 160px" onblur="this.value=this.value.toUpperCase()"></el-input>
<el-input v-model="updateData.projectID" style="width: 160px"
onblur="this.value=this.value.toUpperCase()"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="'制造提前期:'"> <el-form-item :label="'制造提前期:'">
<el-input v-model="updateData.leadtime" type="number" style="width: 160px"></el-input> <el-input v-model="updateData.leadtime" type="number" style="width: 160px"></el-input>
@ -443,7 +449,8 @@
</el-form> </el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;"> <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;">
<el-form-item :label="'技术注意事项:'"> <el-form-item :label="'技术注意事项:'">
<el-input v-model="updateData.techInfo" type="textarea" :autosize="{ minRows: 1, maxRows: 3}" style="width: 520px"></el-input>
<el-input v-model="updateData.techInfo" type="textarea" :autosize="{ minRows: 1, maxRows: 3}"
style="width: 520px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 5px;"> <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 5px;">
@ -466,10 +473,12 @@
getShopOrderData, getShopOrderData,
deleteShopOrderData, deleteShopOrderData,
saveShopOrderData, saveShopOrderData,
getShopOrderDetail
getShopOrderDetail,
getOrderInfo,
getShopOrderSapSOBOM
} from "@/api/shopOrder/shopOrder.js" } from "@/api/shopOrder/shopOrder.js"
import Chooselist from '@/views/modules/common/Chooselist' import Chooselist from '@/views/modules/common/Chooselist'
export default { export default {
//-线() //-线()
name: "searchProductionLineOutputReportInOrderNo", name: "searchProductionLineOutputReportInOrderNo",
@ -1637,6 +1646,8 @@
columnWidth: 60 columnWidth: 60
} }
], ],
orderInfo: null,
orderSoBom: []
} }
}, },
watch: { watch: {
@ -1671,18 +1682,36 @@
}) })
}, },
methods: { methods: {
async getOrderInfo() {
await getOrderInfo(this.modelData).then(({data}) => {
this.orderInfo = data.orderInfo;
})
},
async getShopOrderSapSOBOM() {
await getShopOrderSapSOBOM(this.modelData).then(({data}) => {
this.orderSoBom = data.soBomList
})
},
// //
printOrder(){
async printOrder() {
if (!this.modelData.orderNo) {
return this.$message.warning('请先选择订单')
}
//
await this.getOrderInfo()
await this.getShopOrderSapSOBOM();
//
const LODOP = this.getLodop() const LODOP = this.getLodop()
let height = 270 *10
if (LODOP) {
LODOP.PRINT_DESIGN();
debugger;;
if (LODOP && this.orderInfo) {
LODOP.SET_LICENSES("", "13F0BE83846277CB60918577C6281375", "", ""); LODOP.SET_LICENSES("", "13F0BE83846277CB60918577C6281375", "", "");
LODOP.NewPage(); LODOP.NewPage();
LODOP.PRINT_INIT("");
LODOP.SET_PRINT_PAGESIZE(0, 2400, 1400, ""); LODOP.SET_PRINT_PAGESIZE(0, 2400, 1400, "");
LODOP.ADD_PRINT_LINE(102, 15, 103, 771, 0, 1); LODOP.ADD_PRINT_LINE(102, 15, 103, 771, 0, 1);
LODOP.ADD_PRINT_TEXT(7,257,254,50,"订单编号");
LODOP.ADD_PRINT_TEXT(7, 257, 254, 50, this.orderInfo.orderNo);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 24); LODOP.SET_PRINT_STYLEA(0, "FontSize", 24);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2); LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
LODOP.ADD_PRINT_LINE(141, 16, 142, 772, 0, 1); LODOP.ADD_PRINT_LINE(141, 16, 142, 772, 0, 1);
@ -1690,10 +1719,9 @@
LODOP.ADD_PRINT_LINE(232, 137, 62, 138, 0, 1); LODOP.ADD_PRINT_LINE(232, 137, 62, 138, 0, 1);
LODOP.ADD_PRINT_LINE(232, 15, 233, 771, 0, 1); LODOP.ADD_PRINT_LINE(232, 15, 233, 771, 0, 1);
LODOP.ADD_PRINT_LINE(270, 16, 271, 772, 0, 1); LODOP.ADD_PRINT_LINE(270, 16, 271, 772, 0, 1);
LODOP.ADD_PRINT_LINE(311,15,62,16,0,1);
LODOP.ADD_PRINT_LINE(311,772,62,773,0,1);
LODOP.ADD_PRINT_LINE(271, 15, 62, 16, 0, 1);
LODOP.ADD_PRINT_LINE(271, 772, 62, 773, 0, 1);
LODOP.ADD_PRINT_LINE(62, 16, 63, 772, 0, 1); LODOP.ADD_PRINT_LINE(62, 16, 63, 772, 0, 1);
LODOP.ADD_PRINT_LINE(310,16,311,772,0,1);
LODOP.ADD_PRINT_TEXT(71, 20, 100, 30, "产品编码:"); LODOP.ADD_PRINT_TEXT(71, 20, 100, 30, "产品编码:");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(109, 19, 100, 30, "产品描述:"); LODOP.ADD_PRINT_TEXT(109, 19, 100, 30, "产品描述:");
@ -1704,19 +1732,19 @@
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(238, 18, 100, 30, "材料信息"); LODOP.ADD_PRINT_TEXT(238, 18, 100, 30, "材料信息");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(70,145,262,30,"partNo");
LODOP.ADD_PRINT_TEXT(70, 145, 262, 30, this.orderInfo.partNo);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_LINE(102, 413, 62, 414, 0, 1); LODOP.ADD_PRINT_LINE(102, 413, 62, 414, 0, 1);
LODOP.ADD_PRINT_LINE(102, 545, 62, 546, 0, 1); LODOP.ADD_PRINT_LINE(102, 545, 62, 546, 0, 1);
LODOP.ADD_PRINT_TEXT(71, 420, 110, 30, "生产数量"); LODOP.ADD_PRINT_TEXT(71, 420, 110, 30, "生产数量");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(71,548,220,30,"rollQty");
LODOP.ADD_PRINT_TEXT(71, 548, 220, 30, this.orderInfo.lotSize);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(196,144,554,30,"备注");
LODOP.ADD_PRINT_TEXT(196, 144, 554, 30, this.orderInfo.remark);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(148,143,554,30,"firstItemNo");
LODOP.ADD_PRINT_TEXT(148, 143, 554, 30, this.orderInfo.firstItemNo);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(108,144,554,30,"partDesc");
LODOP.ADD_PRINT_TEXT(108, 144, 554, 30, this.orderInfo.partDesc);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_LINE(310, 74, 270, 75, 0, 1); LODOP.ADD_PRINT_LINE(310, 74, 270, 75, 0, 1);
LODOP.ADD_PRINT_LINE(310, 178, 270, 179, 0, 1); LODOP.ADD_PRINT_LINE(310, 178, 270, 179, 0, 1);
@ -1744,38 +1772,95 @@
LODOP.ADD_PRINT_TEXT(278, 655, 114, 30, "实发数量"); LODOP.ADD_PRINT_TEXT(278, 655, 114, 30, "实发数量");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2); LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
for (let i = 0; i < 3; i++) {
LODOP.ADD_PRINT_LINE(310, 15, 270, 16, 0, 1);
LODOP.ADD_PRINT_LINE(311, 16, 310, 772, 0, 1);
LODOP.ADD_PRINT_LINE(310, 772, 270, 773, 0, 1);
let sumTop = 24
for (let i = 0; i < this.orderSoBom.length; i++) {
let bom = this.orderSoBom[i]
sumTop += 40
let top = 40 * (i + 1) let top = 40 * (i + 1)
let xTop = 270+top
let xZTop = 310 + top
let cTop = 279 + top let cTop = 279 + top
LODOP.ADD_PRINT_LINE(310,74,xTop,75,0,1);
LODOP.ADD_PRINT_LINE(310,178,xTop,179,0,1);
LODOP.ADD_PRINT_LINE(310,372,xTop,373,0,1);
LODOP.ADD_PRINT_LINE(310,458,xTop,459,0,1);
LODOP.ADD_PRINT_LINE(310,520,xTop,521,0,1);
LODOP.ADD_PRINT_LINE(310,653,xTop,654,0,1);
LODOP.ADD_PRINT_TEXT(cTop,20,48,30,"序号");
let xhTop = 310 + top
LODOP.ADD_PRINT_LINE(310, 74, xZTop, 75, 0, 1);
LODOP.ADD_PRINT_LINE(310,178,xZTop,179,0,1);
LODOP.ADD_PRINT_LINE(310,372,xZTop,373,0,1);
LODOP.ADD_PRINT_LINE(310,458,xZTop,459,0,1);
LODOP.ADD_PRINT_LINE(310,520,xZTop,521,0,1);
LODOP.ADD_PRINT_LINE(310,653,xZTop,654,0,1);
LODOP.ADD_PRINT_TEXT(319,20,48,30,"1");
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(319,75,100,30,bom.componentPartNo);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(319,181,189,30, bom.partDesc);
LODOP.ADD_PRINT_TEXT(319,374,83,30, bom.defaultLocationID);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(319,459,58,30,bom.spec);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(319,523,124,30,bom.qtyRequired);
LODOP.SET_PRINT_STYLEA(0,"Alignment",3);
LODOP.ADD_PRINT_TEXT(319,655,114,30, bom.qtyReserved);
LODOP.SET_PRINT_STYLEA(0,"Alignment",3);
LODOP.ADD_PRINT_LINE(310,15,xZTop,16,0,1);
LODOP.ADD_PRINT_LINE(xhTop,16,xhTop+1,772,0,1);
LODOP.ADD_PRINT_LINE(311,16,310,772,0,1);
LODOP.ADD_PRINT_LINE(310,772,xZTop,773,0,1);
// LODOP.ADD_PRINT_LINE(310, 74, xZTop, 75, 0, 1);
// LODOP.ADD_PRINT_LINE(310, 178, xZTop, 179, 0, 1);
// LODOP.ADD_PRINT_LINE(310, 372, xZTop, 373, 0, 1);
// LODOP.ADD_PRINT_LINE(310, 458, xZTop, 459, 0, 1);
// LODOP.ADD_PRINT_LINE(310, 520, xZTop, 521, 0, 1);
// LODOP.ADD_PRINT_LINE(310, 653, xZTop, 654, 0, 1);
// LODOP.ADD_PRINT_TEXT(cTop, 20, 48, 30, (i + 1));
// LODOP.SET_PRINT_STYLEA(0, "FontSize", 9);
// LODOP.ADD_PRINT_TEXT(cTop, 75, 100, 30, bom.componentPartNo);
// LODOP.SET_PRINT_STYLEA(0, "FontSize", 9);
// LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
// LODOP.ADD_PRINT_TEXT(cTop, 181, 189, 30, bom.partDesc);
// LODOP.SET_PRINT_STYLEA(0, "FontSize", 9);
// LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
// LODOP.ADD_PRINT_TEXT(cTop, 374, 83, 30, bom.defaultLocationID);
// LODOP.SET_PRINT_STYLEA(0, "FontSize", 9);
// LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
// LODOP.ADD_PRINT_TEXT(cTop, 459, 58, 30, bom.spec+"666");
// LODOP.SET_PRINT_STYLEA(0, "FontSize", 9);
// LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
// LODOP.ADD_PRINT_TEXT(cTop, 523, 124, 30, bom.qtyRequired);
// LODOP.SET_PRINT_STYLEA(0, "FontSize", 9);
// LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
// LODOP.ADD_PRINT_TEXT(cTop, 655, 114, 30, bom.qtyReserved+"100");
// LODOP.SET_PRINT_STYLEA(0, "FontSize", 9);
// LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
// LODOP.ADD_PRINT_LINE(310, 15, xZTop, 16, 0, 1);
// LODOP.ADD_PRINT_LINE(xhTop, 16, xhTop + 1, 772, 0, 1);
// LODOP.ADD_PRINT_LINE(311, 16, 310, 772, 0, 1);
// LODOP.ADD_PRINT_LINE(310, 772, xZTop, 773, 0, 1);
}
let oneTop = sumTop + 310
let towTop = sumTop + 360
LODOP.ADD_PRINT_TEXT(oneTop, 15, 80, 30, "发料人:");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(cTop,75,100,30,"物料编码");
LODOP.ADD_PRINT_TEXT(oneTop, 102, 100, 30, this.$store.state.user.userDisplay);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(cTop,181,189,30,"物料名称/规格型号");
LODOP.ADD_PRINT_TEXT(oneTop, 263, 80, 30, "收料人:");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(cTop,374,83,30,"库位");
// LODOP.ADD_PRINT_TEXT(oneTop, 348, 100, 30, "slr");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(cTop,459,58,30,"单位");
// LODOP.ADD_PRINT_TEXT(oneTop, 594, 100, 30, "sg");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(cTop,523,124,30,"需求数量");
LODOP.ADD_PRINT_TEXT(oneTop, 516, 65, 30, "生管:");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(cTop,655,114,30,"实发数量");
LODOP.ADD_PRINT_TEXT(towTop, 445, 95, 30, "打印时间:");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
}
//LODOP.PREVIEW();
LODOP.ADD_PRINT_TEXT(towTop, 552, 221, 30, this.dayjs().format('YYYY-MM-DD HH:mm:ss'));
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.PRINT_DESIGN();
///LODOP.PREVIEW();
// LODOP.PRINT(); // LODOP.PRINT();
console.log("操作成功!") console.log("操作成功!")
} }

Loading…
Cancel
Save