Browse Source

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

master
[li_she] 4 years ago
parent
commit
5d90b1ef91
  1. 5
      src/api/shopOrder/shopOrder.js
  2. 645
      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)

645
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>
@ -29,12 +30,13 @@
<el-input v-model="modelData.status" readonly style="width: 130px"></el-input> <el-input v-model="modelData.status" readonly style="width: 130px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-tabs v-model="activeName" >
<el-tabs v-model="activeName">
<el-tab-pane :label="'订单'" name="first"> <el-tab-pane :label="'订单'" name="first">
<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="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="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="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="'订单类型:'">
@ -123,7 +125,7 @@
</el-form> </el-form>
</fieldset> </fieldset>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -230px;"> <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -230px;">
<el-form-item :label="'完成数量:'" >
<el-form-item :label="'完成数量:'">
<el-input v-model="modelData.finishedQty" readonly style="width: 130px;text-align: right"></el-input> <el-input v-model="modelData.finishedQty" readonly style="width: 130px;text-align: right"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="'库存计量单位:'" style="margin-left: 52px"> <el-form-item :label="'库存计量单位:'" style="margin-left: 52px">
@ -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;">
@ -205,7 +208,7 @@
:min-width="item.columnWidth" :min-width="item.columnWidth"
:label="item.columnLabel"> :label="item.columnLabel">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span> style="width: 100px; height: 80px"/></span>
</template> </template>
@ -246,7 +249,7 @@
:width="item.columnWidth" :width="item.columnWidth"
:label="item.columnLabel"> :label="item.columnLabel">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span> style="width: 100px; height: 80px"/></span>
</template> </template>
@ -287,7 +290,7 @@
:min-width="item.columnWidth" :min-width="item.columnWidth"
:label="item.columnLabel"> :label="item.columnLabel">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span> style="width: 100px; height: 80px"/></span>
</template> </template>
@ -295,7 +298,7 @@
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<el-dialog title="数据表" :close-on-click-modal="false" v-drag :visible.sync="modelFlag2" width="800px" >
<el-dialog title="数据表" :close-on-click-modal="false" v-drag :visible.sync="modelFlag2" width="800px">
<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="searchData.orderNo" style="width: 130px"></el-input> <el-input v-model="searchData.orderNo" style="width: 130px"></el-input>
@ -349,7 +352,7 @@
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="选择日期"> placeholder="选择日期">
</el-date-picker> </el-date-picker>
<el-button @click="getData()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'查询'}}</el-button>
<el-button @click="getData()" type="primary" style="margin-left: 2px;margin-top: 0px">{{ '查询' }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -371,7 +374,7 @@
:width="item.columnWidth" :width="item.columnWidth"
:label="item.columnLabel"> :label="item.columnLabel">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span> style="width: 100px; height: 80px"/></span>
</template> </template>
@ -381,7 +384,7 @@
<el-button type="primary" @click="modelFlag2 = false">关闭</el-button> <el-button type="primary" @click="modelFlag2 = false">关闭</el-button>
</el-footer> </el-footer>
</el-dialog> </el-dialog>
<el-dialog title="生产订单" :close-on-click-modal="false" v-drag :visible.sync="modelFlag3" width="550px" >
<el-dialog title="生产订单" :close-on-click-modal="false" v-drag :visible.sync="modelFlag3" width="550px">
<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="'要求完工日期:'" style="margin-left: 0px"> <el-form-item :label="'要求完工日期:'" style="margin-left: 0px">
@ -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>
@ -426,9 +431,10 @@
</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 >
<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;">
@ -462,15 +469,17 @@
</template> </template>
<script> <script>
import {
import {
getShopOrderData, getShopOrderData,
deleteShopOrderData, deleteShopOrderData,
saveShopOrderData, saveShopOrderData,
getShopOrderDetail
getShopOrderDetail,
getOrderInfo,
getShopOrderSapSOBOM
} from "@/api/shopOrder/shopOrder.js"
import Chooselist from '@/views/modules/common/Chooselist'
}from "@/api/shopOrder/shopOrder.js"
import Chooselist from '@/views/modules/common/Chooselist'
export default {
export default {
//-线() //-线()
name: "searchProductionLineOutputReportInOrderNo", name: "searchProductionLineOutputReportInOrderNo",
components: { components: {
@ -478,111 +487,111 @@
}, },
data() { data() {
return { return {
tagNo:'',
tagNo: '',
// start // start
exportData: [], exportData: [],
exportName: "产品结构"+this.dayjs().format('YYYYMMDDHHmmss'),
exportName: "产品结构" + this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader: ["产品结构"], exportHeader: ["产品结构"],
exportFooter: [], exportFooter: [],
// end // end
// start // start
exportData2: [], exportData2: [],
exportName2: "工艺路线"+this.dayjs().format('YYYYMMDDHHmmss'),
exportName2: "工艺路线" + this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader2: ["工艺路线"], exportHeader2: ["工艺路线"],
exportFooter2: [], exportFooter2: [],
// end // end
// start // start
exportData3: [], exportData3: [],
exportName3: "工具信息"+this.dayjs().format('YYYYMMDDHHmmss'),
exportName3: "工具信息" + this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader3: ["工具信息"], exportHeader3: ["工具信息"],
exportFooter3: [], exportFooter3: [],
// end // end
activeName:'first',
activeName: 'first',
height: 200, height: 200,
modelFlag2:false,
modelFlag3:false,
modelInputFlag:true,
searchData:{
user:this.$store.state.user.name,
orderNo:'',
site:'',
partNo:'',
status:'',
date1:new Date(),
date2:'',
date3:new Date(),
date4:'',
modelFlag2: false,
modelFlag3: false,
modelInputFlag: true,
searchData: {
user: this.$store.state.user.name,
orderNo: '',
site: '',
partNo: '',
status: '',
date1: new Date(),
date2: '',
date3: new Date(),
date4: '',
}, },
modelData: { modelData: {
orderNo:'',
partNo:'',
partDesc:'',
site:'',
needDate:'',
planStartDate:'',
lotSize:'',
status:'',
orderType:'',
planner:'',
printed:'',
orderRef1:'',
orderRef2:'',
oriSOOrderNo:'',
eOriginalOrderType:'',
eOriginalOrderNo:'',
eSeqNo:'',
projectID:'',
projectIDName:'',
partRemark:'',
configurationTemplateID:'',
enterDate:'',
userName:'',
releaseDate:'',
releaseGuys:'',
scheduleDate:'',
scheduler:'',
issueDate:'',
reportDate:'',
receiveDate:'',
closeDate:'',
finishedQty:'',
umid:'',
costRollUpFlag:'',
manualFlag:'',
bOMRevNo:'',
routingRevNo:'',
sFDCReportedFlag:'',
originalNeedDate:'',
leadtime:'',
receiveStatus:'',
techInfo:'',
remark:'',
repairSOFlag:''
},
updateData:{
needDate:'',
planStartDate:'',
originalNeedDate:'',
orderType:'',
planner:'',
oriSOOrderNo:'',
projectID:'',
leadtime:'',
repairSOFlag:'',
techInfo:'',
remark:'',
site:'',
orderNo:''
},
dataList:[],
dataList2:[],
dataList3:[],
dataList4:[],
orderNo: '',
partNo: '',
partDesc: '',
site: '',
needDate: '',
planStartDate: '',
lotSize: '',
status: '',
orderType: '',
planner: '',
printed: '',
orderRef1: '',
orderRef2: '',
oriSOOrderNo: '',
eOriginalOrderType: '',
eOriginalOrderNo: '',
eSeqNo: '',
projectID: '',
projectIDName: '',
partRemark: '',
configurationTemplateID: '',
enterDate: '',
userName: '',
releaseDate: '',
releaseGuys: '',
scheduleDate: '',
scheduler: '',
issueDate: '',
reportDate: '',
receiveDate: '',
closeDate: '',
finishedQty: '',
umid: '',
costRollUpFlag: '',
manualFlag: '',
bOMRevNo: '',
routingRevNo: '',
sFDCReportedFlag: '',
originalNeedDate: '',
leadtime: '',
receiveStatus: '',
techInfo: '',
remark: '',
repairSOFlag: ''
},
updateData: {
needDate: '',
planStartDate: '',
originalNeedDate: '',
orderType: '',
planner: '',
oriSOOrderNo: '',
projectID: '',
leadtime: '',
repairSOFlag: '',
techInfo: '',
remark: '',
site: '',
orderNo: ''
},
dataList: [],
dataList2: [],
dataList3: [],
dataList4: [],
dataListLoading: false, dataListLoading: false,
buttons:{
download:'导出',
download2:'导出',
download3:'导出',
buttons: {
download: '导出',
download2: '导出',
download3: '导出',
}, },
columnList: [ columnList: [
{ {
@ -1637,17 +1646,19 @@
columnWidth: 60 columnWidth: 60
} }
], ],
orderInfo: null,
orderSoBom: []
} }
}, },
watch: { watch: {
$route:{
handler: function(val, oldVal){
$route: {
handler: function (val, oldVal) {
this.$router.onReady(() => { this.$router.onReady(() => {
if (this.$route.query.order){
if (this.$route.query.order) {
this.modelData.orderNo = this.$route.query.order this.modelData.orderNo = this.$route.query.order
this.modelData.site = this.$route.query.site this.modelData.site = this.$route.query.site
this.modelData.user = this.$route.query.user this.modelData.user = this.$route.query.user
if(this.modelData.orderNo){
if (this.modelData.orderNo) {
this.tableHanddle(this.modelData) this.tableHanddle(this.modelData)
} }
} }
@ -1660,8 +1671,8 @@
deep: true, deep: true,
handler: function (newV, oldV) { handler: function (newV, oldV) {
this.updateData.projectID = this.updateData.projectID.toUpperCase(); this.updateData.projectID = this.updateData.projectID.toUpperCase();
this.updateData.oriSOOrderNo=this.updateData.oriSOOrderNo.toUpperCase();
this.updateData.orderType=this.updateData.orderType.toUpperCase();
this.updateData.oriSOOrderNo = this.updateData.oriSOOrderNo.toUpperCase();
this.updateData.orderType = this.updateData.orderType.toUpperCase();
} }
} }
}, },
@ -1671,195 +1682,269 @@
}) })
}, },
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_TEXT(7,257,254,50,"订单编号");
LODOP.SET_PRINT_STYLEA(0,"FontSize",24);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_LINE(141,16,142,772,0,1);
LODOP.ADD_PRINT_LINE(181,16,182,772,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(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(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.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_TEXT(109,19,100,30,"产品描述:");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_TEXT(149,19,100,30,"首 工 序:");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_TEXT(195,19,100,30,"备 注:");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_TEXT(238,18,100,30,"材料信息");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_TEXT(70,145,262,30,"partNo");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_LINE(102,413,62,414,0,1);
LODOP.ADD_PRINT_LINE(102,545,62,546,0,1);
LODOP.ADD_PRINT_TEXT(71,420,110,30,"生产数量");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_TEXT(71,548,220,30,"rollQty");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_TEXT(196,144,554,30,"备注");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_TEXT(148,143,554,30,"firstItemNo");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_TEXT(108,144,554,30,"partDesc");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
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,372,270,373,0,1);
LODOP.ADD_PRINT_LINE(310,458,270,459,0,1);
LODOP.ADD_PRINT_LINE(310,520,270,521,0,1);
LODOP.ADD_PRINT_LINE(310,653,270,654,0,1);
LODOP.ADD_PRINT_TEXT(279,20,48,30,"序号");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_TEXT(279,75,100,30,"物料编码");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(279,181,189,30,"物料名称/规格型号");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(279,374,83,30,"库位");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(279,459,58,30,"单位");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(278,523,124,30,"需求数量");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(278,655,114,30,"实发数量");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
for (let i = 0; i < 3; i++) {
let top = 40 *(i+1)
let xTop = 270+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,"序号");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_TEXT(cTop,75,100,30,"物料编码");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(cTop,181,189,30,"物料名称/规格型号");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(cTop,374,83,30,"库位");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_LINE(102, 15, 103, 771, 0, 1);
LODOP.ADD_PRINT_TEXT(7, 257, 254, 50, this.orderInfo.orderNo);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 24);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
LODOP.ADD_PRINT_LINE(141, 16, 142, 772, 0, 1);
LODOP.ADD_PRINT_LINE(181, 16, 182, 772, 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(270, 16, 271, 772, 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_TEXT(71, 20, 100, 30, "产品编码:");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(109, 19, 100, 30, "产品描述:");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(149, 19, 100, 30, "首 工 序:");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(195, 19, 100, 30, "备 注:");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(238, 18, 100, 30, "材料信息");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(70, 145, 262, 30, this.orderInfo.partNo);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_LINE(102, 413, 62, 414, 0, 1);
LODOP.ADD_PRINT_LINE(102, 545, 62, 546, 0, 1);
LODOP.ADD_PRINT_TEXT(71, 420, 110, 30, "生产数量");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(71, 548, 220, 30, this.orderInfo.lotSize);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(196, 144, 554, 30, this.orderInfo.remark);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(148, 143, 554, 30, this.orderInfo.firstItemNo);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(108, 144, 554, 30, this.orderInfo.partDesc);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
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, 372, 270, 373, 0, 1);
LODOP.ADD_PRINT_LINE(310, 458, 270, 459, 0, 1);
LODOP.ADD_PRINT_LINE(310, 520, 270, 521, 0, 1);
LODOP.ADD_PRINT_LINE(310, 653, 270, 654, 0, 1);
LODOP.ADD_PRINT_TEXT(279, 20, 48, 30, "序号");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(279, 75, 100, 30, "物料编码");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
LODOP.ADD_PRINT_TEXT(279, 181, 189, 30, "物料名称/规格型号");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
LODOP.ADD_PRINT_TEXT(279, 374, 83, 30, "库位");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
LODOP.ADD_PRINT_TEXT(279, 459, 58, 30, "单位");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
LODOP.ADD_PRINT_TEXT(278, 523, 124, 30, "需求数量");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
LODOP.ADD_PRINT_TEXT(278, 655, 114, 30, "实发数量");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
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 xZTop = 310 + top
let cTop = 279 + top
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.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(cTop,459,58,30,"单位");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_TEXT(319,75,100,30,bom.componentPartNo);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2); LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(cTop,523,124,30,"需求数量");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
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.SET_PRINT_STYLEA(0,"Alignment",2);
LODOP.ADD_PRINT_TEXT(cTop,655,114,30,"实发数量");
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.ADD_PRINT_TEXT(319,459,58,30,bom.spec);
LODOP.SET_PRINT_STYLEA(0,"Alignment",2); 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);
} }
//LODOP.PREVIEW();
let oneTop = sumTop + 310
let towTop = sumTop + 360
LODOP.ADD_PRINT_TEXT(oneTop, 15, 80, 30, "发料人:");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(oneTop, 102, 100, 30, this.$store.state.user.userDisplay);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(oneTop, 263, 80, 30, "收料人:");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
// LODOP.ADD_PRINT_TEXT(oneTop, 348, 100, 30, "slr");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
// LODOP.ADD_PRINT_TEXT(oneTop, 594, 100, 30, "sg");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(oneTop, 516, 65, 30, "生管:");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(towTop, 445, 95, 30, "打印时间:");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
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("操作成功!")
} }
}, },
getBaseData(val){
if (this.tagNo === 16){
getBaseData(val) {
if (this.tagNo === 16) {
this.updateData.orderType = val.OrderType this.updateData.orderType = val.OrderType
} }
if (this.tagNo === 15){
if (this.tagNo === 15) {
this.updateData.planner = val.PlannerType this.updateData.planner = val.PlannerType
} }
if (this.tagNo === 17){
if (this.tagNo === 17) {
this.updateData.projectID = val.ProjectID this.updateData.projectID = val.ProjectID
} }
}, },
// //
getBaseList(val){
getBaseList(val) {
this.tagNo = val this.tagNo = val
this.$nextTick(() => { this.$nextTick(() => {
let strVal = ""; let strVal = "";
if (val === 16){
if (val === 16) {
strVal = this.updateData.orderType strVal = this.updateData.orderType
} }
if (val === 15){
if (val === 15) {
strVal = this.updateData.planner strVal = this.updateData.planner
} }
if (val === 17){
if (val === 17) {
strVal = this.updateData.projectID strVal = this.updateData.projectID
} }
this.$refs.baseList.init(val,strVal)
this.$refs.baseList.init(val, strVal)
}) })
}, },
getData(){
if(this.searchData.site==''&&this.searchData.orderNo==''&&this.searchData.partNo==''&&this.searchData.status==''&&(this.searchData.date1==''||this.searchData.date1==null)&&(this.searchData.date2==''||this.searchData.date2==null)&&(this.searchData.date3==''||this.searchData.date3==null)&&(this.searchData.date4==''||this.searchData.date4==null)){
this.$alert("数据量过于庞大,请至少输入一个查询条件!",'错误',{
confirmButtonText:'确定'
getData() {
if (this.searchData.site == '' && this.searchData.orderNo == '' && this.searchData.partNo == '' && this.searchData.status == '' && (this.searchData.date1 == '' || this.searchData.date1 == null) && (this.searchData.date2 == '' || this.searchData.date2 == null) && (this.searchData.date3 == '' || this.searchData.date3 == null) && (this.searchData.date4 == '' || this.searchData.date4 == null)) {
this.$alert("数据量过于庞大,请至少输入一个查询条件!", '错误', {
confirmButtonText: '确定'
}) })
return false; return false;
} }
getShopOrderData(this.searchData).then(({data}) => { getShopOrderData(this.searchData).then(({data}) => {
this.dataList3=data.rows;
this.modelFlag2=true;
this.dataList3 = data.rows;
this.modelFlag2 = true;
}) })
}, },
updateModal(){
if(this.modelData.orderNo==''||this.modelData.orderNo==null){
this.$alert("请先选择订单!",'错误',{
confirmButtonText:'确定'
updateModal() {
if (this.modelData.orderNo == '' || this.modelData.orderNo == null) {
this.$alert("请先选择订单!", '错误', {
confirmButtonText: '确定'
}) })
return false; return false;
} }
this.updateData= {
needDate:this.modelData.needDate,
planStartDate:this.modelData.planStartDate,
originalNeedDate:this.modelData.originalNeedDate,
orderType:this.modelData.orderType,
planner:this.modelData.planner,
oriSOOrderNo:this.modelData.oriSOOrderNo,
projectID:this.modelData.projectID,
leadtime:this.modelData.leadtime,
repairSOFlag:this.modelData.repairSOFlag,
techInfo:this.modelData.techInfo,
remark:this.modelData.remark,
site:this.modelData.site,
orderNo:this.modelData.orderNo
},
this.modelFlag3=true;
},
tableHanddle(row){
let data1={
site:row.site,
orderNo:row.orderNo,
user:this.$store.state.user.name
this.updateData = {
needDate: this.modelData.needDate,
planStartDate: this.modelData.planStartDate,
originalNeedDate: this.modelData.originalNeedDate,
orderType: this.modelData.orderType,
planner: this.modelData.planner,
oriSOOrderNo: this.modelData.oriSOOrderNo,
projectID: this.modelData.projectID,
leadtime: this.modelData.leadtime,
repairSOFlag: this.modelData.repairSOFlag,
techInfo: this.modelData.techInfo,
remark: this.modelData.remark,
site: this.modelData.site,
orderNo: this.modelData.orderNo
},
this.modelFlag3 = true;
},
tableHanddle(row) {
let data1 = {
site: row.site,
orderNo: row.orderNo,
user: this.$store.state.user.name
} }
getShopOrderData(data1).then(({data}) => { getShopOrderData(data1).then(({data}) => {
this.modelData=data.rows[0];
this.modelFlag2=false;
let inData={
site:data.rows[0].site,
orderNo:data.rows[0].orderNo,
this.modelData = data.rows[0];
this.modelFlag2 = false;
let inData = {
site: data.rows[0].site,
orderNo: data.rows[0].orderNo,
customerID: data.rows[0].customerID, customerID: data.rows[0].customerID,
partNo:data.rows[0].partNo,
user:this.$store.state.user.name
partNo: data.rows[0].partNo,
user: this.$store.state.user.name
} }
getShopOrderDetail(inData).then(({data}) => { getShopOrderDetail(inData).then(({data}) => {
this.dataList = data.rows1 this.dataList = data.rows1
@ -1868,11 +1953,11 @@
}) })
}) })
}, },
deleteData(){
let inData={
site:this.modelData.site,
orderNo:this.modelData.orderNo,
status:this.modelData.status
deleteData() {
let inData = {
site: this.modelData.site,
orderNo: this.modelData.orderNo,
status: this.modelData.status
} }
this.$confirm(`是否删除此条生产订单?`, '提示', { this.$confirm(`是否删除此条生产订单?`, '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
@ -1880,9 +1965,9 @@
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
deleteShopOrderData(inData).then(({data})=> {
deleteShopOrderData(inData).then(({data}) => {
if (data && data.code == 200) { if (data && data.code == 200) {
this.modelData={};
this.modelData = {};
this.$message.success('操作成功') this.$message.success('操作成功')
} else { } else {
// this.$alert(data.msg, '', { // this.$alert(data.msg, '', {
@ -1895,16 +1980,16 @@
}) })
}) })
}, },
saveData(){
if(this.updateData.needDate==''||this.updateData.needDate==null){
this.$alert("请选择要求完工日期!",'错误',{
confirmButtonText:'确定'
saveData() {
if (this.updateData.needDate == '' || this.updateData.needDate == null) {
this.$alert("请选择要求完工日期!", '错误', {
confirmButtonText: '确定'
}) })
return false; return false;
} }
if(this.updateData.planStartDate==''||this.updateData.planStartDate==null){
this.$alert("请选择要求开工日期!",'错误',{
confirmButtonText:'确定'
if (this.updateData.planStartDate == '' || this.updateData.planStartDate == null) {
this.$alert("请选择要求开工日期!", '错误', {
confirmButtonText: '确定'
}) })
return false; return false;
} }
@ -1923,10 +2008,10 @@
saveShopOrderData(this.updateData).then(({data}) => { saveShopOrderData(this.updateData).then(({data}) => {
if (data && data.code == 200) { if (data && data.code == 200) {
this.modelFlag3 = false this.modelFlag3 = false
this.modelData=JSON.parse(JSON.stringify(this.updateData));
if(this.searchData.site==''&&this.searchData.orderNo==''&&this.searchData.partNo==''&&this.searchData.status==''&&(this.searchData.date1==''||this.searchData.date1==null)&&(this.searchData.date2==''||this.searchData.date2==null)&&(this.searchData.date3==''||this.searchData.date3==null)&&(this.searchData.date4==''||this.searchData.date4==null)){
this.dataList3=[];
}else {
this.modelData = JSON.parse(JSON.stringify(this.updateData));
if (this.searchData.site == '' && this.searchData.orderNo == '' && this.searchData.partNo == '' && this.searchData.status == '' && (this.searchData.date1 == '' || this.searchData.date1 == null) && (this.searchData.date2 == '' || this.searchData.date2 == null) && (this.searchData.date3 == '' || this.searchData.date3 == null) && (this.searchData.date4 == '' || this.searchData.date4 == null)) {
this.dataList3 = [];
} else {
getShopOrderData(this.searchData).then(({data}) => { getShopOrderData(this.searchData).then(({data}) => {
this.dataList3 = data.rows; this.dataList3 = data.rows;
@ -2030,12 +2115,12 @@
this.modelData.orderNo = this.$route.query.order this.modelData.orderNo = this.$route.query.order
this.modelData.site = this.$route.query.site this.modelData.site = this.$route.query.site
this.modelData.user = this.$route.query.user this.modelData.user = this.$route.query.user
if(this.modelData.orderNo){
if (this.modelData.orderNo) {
this.tableHanddle(this.modelData) this.tableHanddle(this.modelData)
} }
}) })
} }
}
}
</script> </script>
<style scoped> <style scoped>

Loading…
Cancel
Save