You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

2382 lines
86 KiB

<template>
<div class="mod-config">
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;">
<el-form-item :label="'订单号:'">
<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-form-item>
<el-form-item :label="'物料编码:'">
<el-input v-model="modelData.partNo" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'物料名称/规格:'" style="margin-left: 52px">
<el-input v-model="modelData.partDesc" readonly style="width: 300px"></el-input>
</el-form-item>
<el-form-item :label="'工厂编号:'" style="margin-left: 0px">
<el-input v-model="modelData.site" readonly style="width: 130px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;">
<el-form-item :label="'要求完工日期:'">
<el-input v-model="modelData.needDate" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'要求开工日期:'" style="margin-left: 54px">
<el-input v-model="modelData.planStartDate" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'订单数量:'" style="margin-left: 52px">
<el-input v-model="modelData.lotSize" readonly style="width: 130px;text-align: right"></el-input>
</el-form-item>
<el-form-item :label="'状态:'" style="margin-left: 170px">
<el-input v-model="modelData.status" readonly style="width: 130px"></el-input>
</el-form-item>
</el-form>
<el-tabs style="font-size: 12px" class="customer-tab" v-model="activeName" type="border-card" >
<el-tab-pane :label="'订单'" name="first">
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
<el-button @click="updateModal" :disabled = authEdit type="primary" style="margin-left: 2px;margin-top: 0px">{{ '编辑' }}</el-button>
<el-button @click="deleteData" :disabled = "authDelete" 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="warnCancelOrderConfirm()" :disabled="authEdit" type="primary" style="margin-left: 2px;margin-top: 0px">{{ '取消'
}}
</el-button>
<el-button @click="warnCloseOrderConfirm()" :disabled = "authEdit" type="primary" style="margin-left: 2px;margin-top: 0px">{{ '关闭' }}
</el-button>
<el-button @click="warnOpenOrderConfirm()" :disabled = "authEdit" type="primary" style="margin-left: 2px;margin-top: 0px">{{ '打开' }}
</el-button>
</el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 10px;">
<el-form-item :label="'订单类型:'">
<el-input v-model="modelData.orderType" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'计划方式:'" style="margin-left: 52px">
<el-input v-model="modelData.planner" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'是否打印:'" style="margin-left: 52px">
<el-input v-model="modelData.printed" readonly style="width: 40px"></el-input>
</el-form-item>
<el-form-item :label="'销售订单:'">
<el-input v-model="modelData.orderRef1" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'订单序号:'">
<el-input v-model="modelData.orderRef2" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'原生产订单号:'">
<el-input v-model="modelData.oriSOOrderNo" readonly style="width: 130px"></el-input>
</el-form-item>
</el-form>
<!-- 订单分解信息 -->
<fieldset style="margin-left: 900px; margin-top: 0px; width: 170px;">
<legend>订单分解信息</legend>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
<el-form-item :label="'源订单类型:'">
<el-input v-model="modelData.eOriginalOrderType" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'源生产订单号:'">
<el-input v-model="modelData.eOriginalOrderNo" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'订单分解层次:'">
<el-input v-model="modelData.eSeqNo" readonly style="width: 130px"></el-input>
</el-form-item>
</el-form>
</fieldset>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -140px;">
<el-form-item :label="'项目编码:'">
<el-input v-model="modelData.projectID" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'项目名称:'" style="margin-left: 52px">
<el-input v-model="modelData.projectIDName" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'客户产品科号:'" style="margin-left: 52px">
<el-input v-model="modelData.partRemark" readonly style="width: 152px;"></el-input>
</el-form-item>
<el-form-item :label="'客户名称:'" style="margin-left: 52px">
<el-input v-model="modelData.configurationTemplateID" readonly style="width: 272px"></el-input>
</el-form-item>
</el-form>
<!-- 跟踪信息 -->
<fieldset style="margin-left: 570px; margin-top: 5px; width: 310px;">
<legend>订单分解信息</legend>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
<el-form-item :label="'录入日期:'">
<el-input v-model="modelData.enterDate" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'录入人:'">
<el-input v-model="modelData.userName" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'下达日期:'">
<el-input v-model="modelData.releaseDate" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'下达人:'">
<el-input v-model="modelData.releaseGuys" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'排产日期:'">
<el-input v-model="modelData.scheduleDate" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'排产人:'">
<el-input v-model="modelData.scheduler" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'发料日期:'">
<el-input v-model="modelData.issueDate" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'生产日期:'">
<el-input v-model="modelData.reportDate" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'入库日期:'">
<el-input v-model="modelData.receiveDate" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'关闭日期:'">
<el-input v-model="modelData.closeDate" readonly style="width: 130px"></el-input>
</el-form-item>
</el-form>
</fieldset>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -230px;">
<el-form-item :label="'完成数量:'">
<el-input v-model="modelData.finishedQty" readonly style="width: 130px;text-align: right"></el-input>
</el-form-item>
<el-form-item :label="'库存计量单位:'" style="margin-left: 52px">
<el-input v-model="modelData.umid" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'已排料:'" style="margin-left: 52px">
<el-input v-model="modelData.costRollUpFlag" readonly style="width: 50px;"></el-input>
</el-form-item>
<el-form-item :label="'刀模已发:'" style="margin-left: 17px">
<el-input v-model="modelData.manualFlag" readonly style="width: 50px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 10px;">
<el-form-item :label="'BOM版本号:'">
<el-input v-model="modelData.bOMRevNo" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'Routing版本号:'" style="margin-left: 52px">
<el-input v-model="modelData.routingRevNo" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'印版已发:'" style="margin-left: 52px">
<el-input v-model="modelData.repairSOFlag" readonly style="width: 50px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 10px;">
<el-form-item :label="'客户要求完工日期:'">
<el-input v-model="modelData.originalNeedDate" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'制造提前期:'" style="margin-left: 52px">
<el-input v-model="modelData.leadtime" readonly style="width: 130px;text-align: right"></el-input>
</el-form-item>
<el-form-item :label="'入库状态:'" style="margin-left: 52px;">
<el-input v-model="modelData.receiveStatus" readonly style="width: 130px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 10px;">
<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-form-item>
</el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 10px;">
<el-form-item :label="'备注:'" style="margin-top: 10px;">
<el-input v-model="modelData.remark" readonly style="width: 520px"></el-input>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane :label="'产品结构'" name="second">
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
<download-excel
:fields="fields()"
:data="exportData"
type="xls"
:name="exportName"
:header="exportHeader"
:footer="exportFooter"
:fetch="createExportData"
:before-generate="startDownload"
:before-finish="finishDownload"
worksheet="导出信息"
class="el-button el-button--primary el-button--medium">
{{ buttons.download }}
</download-excel>
</el-form>
<el-table
:height="height"
:data="dataList"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
v-for="(item,index) in columnList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane :label="'工艺路线'" name="third">
<el-row>
<el-col :span="24" style=" margin-top: -3px;">
<download-excel
:fields="fields2()"
:data="exportData2"
type="xls"
:name="exportName2"
:header="exportHeader2"
:footer="exportFooter2"
:fetch="createExportData2"
:before-generate="startDownload2"
:before-finish="finishDownload2"
worksheet="导出信息"
class="el-button el-button--primary el-button--medium">
{{ buttons.download2 }}
</download-excel>
<el-dropdown trigger="click" style="margin-top: 3px" class="customer-dropdown" @command="handleCommand">
<el-button type="primary" :disabled = "authEdit" >
主菜单<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item class="customer-li" command="0"><span>工艺路线</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-table
:height="height"
:data="dataList2"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
v-for="(item,index) in columnList2" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
: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>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane :label="'工具信息'" name="forth">
<el-row>
<el-col :span="24">
<download-excel
:fields="fields3()"
:data="exportData3"
type="xls"
:name="exportName3"
:header="exportHeader3"
:footer="exportFooter3"
:fetch="createExportData3"
:before-generate="startDownload3"
:before-finish="finishDownload3"
worksheet="导出信息"
class="el-button el-button--primary el-button--medium">
{{ buttons.download3 }}
</download-excel>
<!--2022-08-19 新增工具信息-->
<el-dropdown trigger="click" style="margin-top: 3px" class="customer-dropdown" @command="handleCommand">
<el-button type="primary" :disabled ="authEdit" >
主菜单<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item class="customer-li" command="1"><span>工具信息</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-col>
</el-row>
<el-table
:height="height"
:data="dataList4"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
v-for="(item,index) in columnList4" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<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-item :label="'订单号:'">
<el-input v-model="searchData.orderNo" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'物料编码:'">
<el-input v-model="searchData.partNo" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'要求完工日期:'" style="margin-left: 0px">
<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="'至:'" style="margin-left: 0px">
<el-date-picker
style="width: 130px"
v-model="searchData.date2"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;">
<el-form-item :label="'状态:'">
<el-select filterable v-model="searchData.status" style="width: 130px">
<el-option label="全部" value=""></el-option>
<el-option label="已开工" value="已开工"></el-option>
<el-option label="已取消" value="已取消"></el-option>
<el-option label="已计划" value="已计划"></el-option>
<el-option label="已排产" value="已排产"></el-option>
<el-option label="已下达" value="已下达"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="'工厂编号:'">
<el-input v-model="searchData.site" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'要求开工日期:'" style="margin-left: 0px">
<el-date-picker
style="width: 130px"
v-model="searchData.date3"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="'至:'" style="margin-left: 0px">
<el-date-picker
style="width: 130px"
v-model="searchData.date4"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
<el-button @click="getData()" type="primary" style="margin-left: 2px;margin-top: 0px">{{ '查询' }}</el-button>
</el-form-item>
</el-form>
<el-table
height="400"
:data="dataList3"
border
@row-dblclick="tableHanddle"
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
v-for="(item,index) in columnList3" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
: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>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="modelFlag2 = false">关闭</el-button>
</el-footer>
</el-dialog>
<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-item :label="'要求完工日期:'" style="margin-left: 0px">
<el-date-picker
style="width: 160px"
v-model="updateData.needDate"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="'要求开工日期:'" style="margin-left: 0px">
<el-date-picker
style="width: 160px"
v-model="updateData.planStartDate"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="'客户要求完工日期:'" style="margin-left: 0px">
<el-date-picker
style="width: 160px"
v-model="updateData.originalNeedDate"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;">
<el-form-item>
<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-form-item>
<el-form-item>
<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-form-item>
<el-form-item :label="'原生产订单号:'">
<el-input v-model="updateData.oriSOOrderNo" style="width: 160px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;">
<el-form-item>
<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-form-item>
<el-form-item :label="'制造提前期:'">
<el-input v-model="updateData.leadtime" type="number" style="width: 160px"></el-input>
</el-form-item>
<el-form-item :label="'印版已发:'">
<el-select filterable v-model="updateData.repairSOFlag" style="width: 160px">
<el-option label="Y" value="Y"></el-option>
<el-option label="N" value="N"></el-option>
</el-select>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -5px;">
<el-form-item :label="'技术注意事项:'">
<el-input v-model="updateData.techInfo" type="textarea" :autosize="{ minRows: 1, maxRows: 3}"
style="width: 520px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 5px;">
<el-form-item :label="'备注:'">
<el-input v-model="updateData.remark" type="number" style="width: 520px"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="saveData">保存</el-button>
<el-button type="primary" @click="modelFlag3 = false">关闭</el-button>
</el-footer>
</el-dialog>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
<Routing ref="routing" @tableHanddle="tableHanddle" ></Routing>
<!--订单的工具信息维护-->
<shopOrderTool ref="shopOrderTool" @tableHanddle="tableHanddle" ></shopOrderTool>
</div>
</template>
<script>
import Routing from './common/routing';
import shopOrderTool from './common/shop_order_tool';/*工具的信息维护*/
import {
getShopOrderData,
deleteShopOrderData,
saveShopOrderData,
getShopOrderDetail,
getOrderInfo,
getShopOrderSapSOBOM,
cancelShopOrderBun,//取消订单
closeShopOrder,//关闭订单
openShopOrder,//打开订单
} from "@/api/shopOrder/shopOrder.js"
import Chooselist from '@/views/modules/common/Chooselist'
export default {
//查询-产线产量报告(分订单)
name: "searchProductionLineOutputReportInOrderNo",
components: {
Chooselist,
Routing,
shopOrderTool,/*工具的信息维护*/
},
data() {
return {
tagNo: '',
// 导出 start
exportData: [],
authEdit: false,
authAdd: false,
authDelete: false,
menuId: this.$route.meta.menuId,
exportName: "产品结构" + this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader: ["产品结构"],
exportFooter: [],
// 导出 end
// 导出 start
exportData2: [],
exportName2: "工艺路线" + this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader2: ["工艺路线"],
exportFooter2: [],
// 导出 end
// 导出 start
exportData3: [],
exportName3: "工具信息" + this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader3: ["工具信息"],
exportFooter3: [],
// 导出 end
activeName: 'first',
height: 200,
modelFlag2: false,
modelFlag3: false,
modelInputFlag: true,
searchData: {
user: this.$store.state.user.name,
orderNo: '',
site: '',
partNo: '',
status: '',
date1: '',
date2: '',
date3: '',
date4: '',
},
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: '',
checkFlag: '',/*关单是否校验数量*/
},
updateData: {
needDate: '',
planStartDate: '',
originalNeedDate: '',
orderType: '',
planner: '',
oriSOOrderNo: '',
projectID: '',
leadtime: '',
repairSOFlag: '',
techInfo: '',
remark: '',
site: '',
orderNo: ''
},
dataList: [],
dataList2: [],
dataList3: [],
dataList4: [],
dataListLoading: false,
buttons: {
download: '导出',
download2: '导出',
download3: '导出',
},
columnList: [
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableItemNo',
tableId: "6031Table",
tableName: "生产订单产品结构表",
columnProp: "itemNo",
headerAlign: "center",
align: "left",
columnLabel: "序号",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 60
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableComponentPartNo',
tableId: "6031Table",
tableName: "生产订单产品结构表",
columnProp: "componentPartNo",
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: 6031,
serialNumber: '6031TablePartDesc',
tableId: "6031Table",
tableName: "生产订单产品结构表",
columnProp: "partDesc",
headerAlign: "center",
align: "left",
columnLabel: "零部件名称",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 150
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TablePartSpec',
tableId: "6031Table",
tableName: "生产订单产品结构表",
columnProp: "partSpec",
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: 6031,
serialNumber: '6031TableQtyAssembly',
tableId: "6031Table",
tableName: "生产订单产品结构表",
columnProp: "qtyAssembly",
headerAlign: "center",
align: "right",
columnLabel: "单位用量",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableQtyFixedScrapt',
tableId: "6031Table",
tableName: "生产订单产品结构表",
columnProp: "qtyFixedScrapt",
headerAlign: "center",
align: "right",
columnLabel: "固定损耗",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TablePartUm',
tableId: "6031Table",
tableName: "生产订单产品结构表",
columnProp: "partUm",
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: 6031,
serialNumber: '6031TableScraptFactor',
tableId: "6031Table",
tableName: "生产订单产品结构表",
columnProp: "scraptFactor",
headerAlign: "center",
align: "right",
columnLabel: "报废率",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableQtyRequired',
tableId: "6031Table",
tableName: "生产订单产品结构表",
columnProp: "qtyRequired",
headerAlign: "center",
align: "right",
columnLabel: "需求数量",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableQtyReserved',
tableId: "6031Table",
tableName: "生产订单产品结构表",
columnProp: "qtyReserved",
headerAlign: "center",
align: "right",
columnLabel: "预留数量",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableQtyIssue',
tableId: "6031Table",
tableName: "生产订单产品结构表",
columnProp: "qtyIssue",
headerAlign: "center",
align: "right",
columnLabel: "发料数量",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableIssueDate',
tableId: "6031Table",
tableName: "生产订单产品结构表",
columnProp: "issueDate",
headerAlign: "center",
align: "left",
columnLabel: "发料日期",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 150
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableRemark',
tableId: "6031Table",
tableName: "生产订单产品结构表",
columnProp: "remark",
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: 6031,
serialNumber: '6031TableRMTypeDB',
tableId: "6031Table",
tableName: "生产订单产品结构表",
columnProp: "rMTypeDB",
headerAlign: "center",
align: "left",
columnLabel: "是否主材料",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 100
}
],
columnList2: [
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableItemNo',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "itemNo",
headerAlign: "center",
align: "left",
columnLabel: "序号",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: true,
columnWidth: 40
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableOperationDesc',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "operationDesc",
headerAlign: "center",
align: "left",
columnLabel: "工序名称",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: true,
columnWidth: 160
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableWorkCenterNo',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "workCenterNo",
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: 6031,
serialNumber: '6031TableWorkCenterDesc',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "workCenterDesc",
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: 6031,
serialNumber: '6031TableMachSetupTime',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "machSetupTime",
headerAlign: "center",
align: "right",
columnLabel: "准备时间",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableMachRunFactor',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "machRunFactor",
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: 6031,
serialNumber: '6031TableFactorUnit',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "factorUnit",
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: 6031,
serialNumber: '6031TableTimeRequired',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "timeRequired",
headerAlign: "center",
align: "right",
columnLabel: "需求时间",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableTimeReported',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "timeReported",
headerAlign: "center",
align: "right",
columnLabel: "报告时间",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableEfficiency',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "efficiency",
headerAlign: "center",
align: "right",
columnLabel: "效率",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 60
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableQtyRequired',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "qtyRequired",
headerAlign: "center",
align: "right",
columnLabel: "需求数量",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableQtyReported',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "qtyReported",
headerAlign: "center",
align: "right",
columnLabel: "报告数量",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableQtyApprove',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "qtyApprove",
headerAlign: "center",
align: "right",
columnLabel: "合格数量",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TablePlanStartTime',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "planStartTime",
headerAlign: "center",
align: "left",
columnLabel: "计划开工时间",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 140
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TablePlanFinishTime',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "planFinishTime",
headerAlign: "center",
align: "left",
columnLabel: "计划完工时间",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 140
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableBarcodeID',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "barcodeID",
headerAlign: "center",
align: "left",
columnLabel: "条形码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 150
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableRemark',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "remark",
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: 6031,
serialNumber: '6031TableClosedFlag',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "closedFlag",
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: 6031,
serialNumber: '6031TableActionNotes',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "actionNotes",
headerAlign: "center",
align: "left",
columnLabel: "打开/关闭备忘",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 200
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031TableWorkCenterType',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "workCenterType",
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: 6031,
serialNumber: '6031TableAvailResource',
tableId: "6031Table",
tableName: "生产订单工艺路线表",
columnProp: "availResource",
headerAlign: "center",
align: "left",
columnLabel: "可用机台",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 200
},
],
columnList3: [
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031Table3OrderNo',
tableId: "6031Table3",
tableName: "生产订单数据获取表",
columnProp: "orderNo",
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: 6031,
serialNumber: '6031Table3PartNo',
tableId: "6031Table3",
tableName: "生产订单数据获取表",
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: 6031,
serialNumber: '6031Table3PartDesc',
tableId: "6031Table3",
tableName: "生产订单数据获取表",
columnProp: "partDesc",
headerAlign: "center",
align: "left",
columnLabel: "物料名称/规格",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 160
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031Table3LotSize',
tableId: "6031Table3",
tableName: "生产订单数据获取表",
columnProp: "lotSize",
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: 6031,
serialNumber: '6031Table3NeedDate',
tableId: "6031Table3",
tableName: "生产订单数据获取表",
columnProp: "needDate",
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: 6031,
serialNumber: '6031Table3Planner',
tableId: "6031Table3",
tableName: "生产订单数据获取表",
columnProp: "planner",
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: 6031,
serialNumber: '6031Table3OrderType',
tableId: "6031Table3",
tableName: "生产订单数据获取表",
columnProp: "orderType",
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: 6031,
serialNumber: '6031Table3Status',
tableId: "6031Table3",
tableName: "生产订单数据获取表",
columnProp: "status",
headerAlign: "center",
align: "left",
columnLabel: "状态",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 60
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031Table3ReceiveStatus',
tableId: "6031Table3",
tableName: "生产订单数据获取表",
columnProp: "receiveStatus",
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: 6031,
serialNumber: '6031Table3Site',
tableId: "6031Table3",
tableName: "生产订单数据获取表",
columnProp: "site",
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: 6031,
serialNumber: '6031Table3RepairSOFlag',
tableId: "6031Table3",
tableName: "生产订单数据获取表",
columnProp: "repairSOFlag",
headerAlign: "center",
align: "left",
columnLabel: "印版已发",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
}
],
columnList4: [
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031Table4ItemNo',
tableId: "6031Table4",
tableName: "生产订单工具信息表",
columnProp: "itemNo",
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: 6031,
serialNumber: '6031Table4ToolID',
tableId: "6031Table4",
tableName: "生产订单工具信息表",
columnProp: "toolID",
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: 6031,
serialNumber: '6031Table4ToolDescription',
tableId: "6031Table4",
tableName: "生产订单工具信息表",
columnProp: "toolDescription",
headerAlign: "center",
align: "left",
columnLabel: "工具名称",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 160
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031Table4Spec',
tableId: "6031Table4",
tableName: "生产订单工具信息表",
columnProp: "spec",
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: 6031,
serialNumber: '6031Table4ToolQty',
tableId: "6031Table4",
tableName: "生产订单工具信息表",
columnProp: "toolQty",
headerAlign: "center",
align: "right",
columnLabel: "工具数量",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031Table4UMID',
tableId: "6031Table4",
tableName: "生产订单工具信息表",
columnProp: "uMID",
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: 6031,
serialNumber: '6031Table4Active',
tableId: "6031Table4",
tableName: "生产订单工具信息表",
columnProp: "active",
headerAlign: "center",
align: "left",
columnLabel: "在用",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 40
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031Table4FamilyID',
tableId: "6031Table4",
tableName: "生产订单工具信息表",
columnProp: "familyID",
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: 6031,
serialNumber: '6031Table4FamilyName',
tableId: "6031Table4",
tableName: "生产订单工具信息表",
columnProp: "familyName",
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: 6031,
serialNumber: '6031Table4Remark',
tableId: "6031Table4",
tableName: "生产订单工具信息表",
columnProp: "remark",
headerAlign: "center",
align: "left",
columnLabel: "备注",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 160
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031Table4CreateDate',
tableId: "6031Table4",
tableName: "生产订单工具信息表",
columnProp: "createDate",
headerAlign: "center",
align: "left",
columnLabel: "录入日期",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 160
},
{
userId: this.$store.state.user.name,
functionId: 6031,
serialNumber: '6031Table4CreatedBy',
tableId: "6031Table4",
tableName: "生产订单工具信息表",
columnProp: "createdBy",
headerAlign: "center",
align: "left",
columnLabel: "录入人",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: false,
columnWidth: 60
}
],
orderInfo: null,
orderSoBom: []
}
},
watch: {
$route: {
handler: function (val, oldVal) {
this.$router.onReady(() => {
if (this.$route.query.order) {
this.modelData.orderNo = this.$route.query.order
this.modelData.site = this.$route.query.site
this.modelData.user = this.$route.query.user
if (this.modelData.orderNo) {
this.tableHanddle(this.modelData)
}
}
})
},
// 深度观察监听
deep: true
},
updateData: {
deep: true,
handler: function (newV, oldV) {
this.updateData.projectID = this.updateData.projectID.toUpperCase();
this.updateData.oriSOOrderNo = this.updateData.oriSOOrderNo.toUpperCase();
this.updateData.orderType = this.updateData.orderType.toUpperCase();
}
}
},
mounted() {
this.$nextTick(() => {
this.height = window.innerHeight - 255;
})
},
methods: {
// 选中菜单出发
handleCommand(command) {
switch (command) {
case '0':
this.getRouting()
break;
case '1':
this.getShopOrderToolData()
break;
}
},
// 工艺路线管理
getRouting(){
if (!this.modelData.orderNo){
this.$message.warning('请选择生产订单')
return
}
this.$nextTick(() => {
this.$refs.routing.init(this.modelData)
})
},
// 工具管理
getShopOrderToolData(){
if (!this.modelData.orderNo){
this.$message.warning('请选择生产订单')
return
}
this.$nextTick(() => {
this.$refs.shopOrderTool.init(this.modelData)
})
},
async getOrderInfo() {
await getOrderInfo(this.modelData).then(({data}) => {
this.orderInfo = data.orderInfo;
})
},
async getShopOrderSapSOBOM() {
await getShopOrderSapSOBOM(this.modelData).then(({data}) => {
this.orderSoBom = data.soBomList
})
},
// 打印
async printOrder() {
if (!this.modelData.orderNo) {
return this.$message.warning('请先选择订单')
}
// 获取订单数据
await this.getOrderInfo()
await this.getShopOrderSapSOBOM();
// 获取物料信息
const LODOP = this.getLodop()
if (LODOP && this.orderInfo) {
//LODOP.SET_LICENSES("", "7B5624CC84E599D6B17F27DF40F4310C", "", "");
LODOP.NewPage();
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, 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 xZTop1 = 270 + top
let xZTop2 = xZTop1 + 40
let xhTop1 = 310 + top
let xhTop2 = xhTop1 + 1
let label = 279 + top
LODOP.ADD_PRINT_LINE(xZTop2, 74, xZTop1, 75, 0, 1);
LODOP.ADD_PRINT_LINE(xZTop2, 178, xZTop1, 179, 0, 1);
LODOP.ADD_PRINT_LINE(xZTop2, 372, xZTop1, 373, 0, 1);
LODOP.ADD_PRINT_LINE(xZTop2, 458, xZTop1, 459, 0, 1);
LODOP.ADD_PRINT_LINE(xZTop2, 520, xZTop1, 521, 0, 1);
LODOP.ADD_PRINT_LINE(xZTop2, 653, xZTop1, 654, 0, 1);
LODOP.ADD_PRINT_TEXT(label, 20, 48, 30, (i + 1));
LODOP.SET_PRINT_STYLEA(0, "FontSize", 10);
LODOP.ADD_PRINT_TEXT(label, 75, 100, 30, bom.componentPartNo);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 10);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
LODOP.ADD_PRINT_TEXT(label, 181, 189, 30, bom.partDesc);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 10);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
LODOP.ADD_PRINT_TEXT(label, 374, 83, 30, bom.defaultLocationID);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 10);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
LODOP.ADD_PRINT_TEXT(label, 459, 58, 30, bom.spec);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 10);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
LODOP.ADD_PRINT_TEXT(label, 523, 124, 30, bom.qtyRequired);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 10);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 3);
LODOP.ADD_PRINT_TEXT(label, 655, 114, 30, bom.qtyReserved);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 10);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 3);
LODOP.ADD_PRINT_LINE(xZTop2, 15, xZTop1, 16, 0, 1);
LODOP.ADD_PRINT_LINE(xhTop2, 16, xhTop1, 772, 0, 1);
LODOP.ADD_PRINT_LINE(xZTop2, 772, xZTop1, 773, 0, 1);
// LODOP.ADD_PRINT_LINE(xZTop+40, 74, xZTop, 75, 0, 1);
// LODOP.ADD_PRINT_LINE(xZTop+40,178,xZTop,179,0,1);
// LODOP.ADD_PRINT_LINE(xZTop+40,372,xZTop,373,0,1);
// LODOP.ADD_PRINT_LINE(xZTop+40,458,xZTop,459,0,1);
// LODOP.ADD_PRINT_LINE(xZTop+40,520,xZTop,521,0,1);
// LODOP.ADD_PRINT_LINE(xZTop+40,653,xZTop,654,0,1);
// LODOP.ADD_PRINT_TEXT(label,20,48,30,(i+1));
// LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
// LODOP.ADD_PRINT_TEXT(label,75,100,30,bom.componentPartNo);
// LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
// LODOP.ADD_PRINT_TEXT(label,181,189,30, bom.partDesc);
// LODOP.ADD_PRINT_TEXT(label,374,83,30, bom.defaultLocationID);
// LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
// LODOP.ADD_PRINT_TEXT(label,459,58,30,bom.spec);
// LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
// LODOP.ADD_PRINT_TEXT(label,523,124,30,bom.qtyRequired);
// LODOP.SET_PRINT_STYLEA(0,"Alignment",3);
// LODOP.ADD_PRINT_TEXT(label,655,114,30, bom.qtyReserved);
// LODOP.SET_PRINT_STYLEA(0,"Alignment",3);
// LODOP.ADD_PRINT_LINE(label,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(xZTop+40,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.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();
console.log("操作成功!")
}
},
//提示是否取消订单
warnCancelOrderConfirm() {
//判断是否存在订单
if (!this.modelData.orderNo) {
return this.$message.warning('请先选择订单')
}
//
this.$confirm('确实要取消该生产订单吗?', '提示', {
confirmButtonText: '确认',
celButtonText: '取消',
type: 'warning'
}).then(() => {
//执行重新打开sfdcRolls记录的操作
this.cancelShopOrder();
});
},
/*执行取消工单的操作*/
cancelShopOrder() {
//组合数据
cancelShopOrderBun(this.modelData).then(({data}) => {
//判断是否成功
if (data.code == 200) {
this.$message.success(data.msg);
//刷新工单的信息
this.tableHanddle(this.modelData);
} else {
this.$message.error(data.msg);
}
})
},
//提示是否关闭订单
warnCloseOrderConfirm() {
if (!this.modelData.orderNo) {
return this.$message.warning('请先选择订单')
}
//提示信息
this.$confirm('确实要关闭该生产订单吗?', '提示', {
confirmButtonText: '确认',
celButtonText: '取消',
type: 'warning'
}).then(() => {
//执行重新打开sfdcRolls记录的操作
this.closeShopOrderBun(true);
});
},
/*执行取消工单的操作*/
closeShopOrderBun(checkFlag) {
this.modelData.checkFlag = checkFlag;
//组合数据
closeShopOrder(this.modelData).then(({data}) => {
//判断是否成功
if (data.code == 200) {
this.$message.success(data.msg);
//刷新工单的信息
this.tableHanddle(this.modelData);
} else if (data.code == 201) {
this.$confirm(data.msg, '提示', {
confirmButtonText: '确认',
celButtonText: '取消',
type: 'warning'
}).then(() => {
//执行重新打开sfdcRolls记录的操作
this.closeShopOrderBun(false);
});
} else {
this.$message.error(data.msg);
}
})
},
//提示是否打开订单
warnOpenOrderConfirm() {
//判断是否存在订单
if (!this.modelData.orderNo) {
return this.$message.warning('请先选择订单')
}
//
this.$confirm('确实要重新打开该生产订单吗?', '提示', {
confirmButtonText: '确认',
celButtonText: '取消',
type: 'warning'
}).then(() => {
//执行重新打开
this.openShopOrderBun();
});
},
/*执行重新打开工单的操作*/
openShopOrderBun() {
//组合数据
openShopOrder(this.modelData).then(({data}) => {
//判断是否成功
if (data.code == 200) {
this.$message.success(data.msg);
//刷新工单的信息
this.tableHanddle(this.modelData);
} else {
this.$message.error(data.msg);
}
})
},
getBaseData(val) {
if (this.tagNo === 16) {
this.updateData.orderType = val.OrderType
}
if (this.tagNo === 15) {
this.updateData.planner = val.PlannerType
}
if (this.tagNo === 17) {
this.updateData.projectID = val.ProjectID
}
},
// 获取基础数据列表
getBaseList(val) {
this.tagNo = val
this.$nextTick(() => {
let strVal = "";
if (val === 16) {
strVal = this.updateData.orderType
}
if (val === 15) {
strVal = this.updateData.planner
}
if (val === 17) {
strVal = this.updateData.projectID
}
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: '确定'
})
return false;
}
getShopOrderData(this.searchData).then(({data}) => {
this.dataList3 = data.rows;
this.modelFlag2 = true;
})
},
updateModal() {
if (this.modelData.orderNo == '' || this.modelData.orderNo == null) {
this.$alert("请先选择订单!", '错误', {
confirmButtonText: '确定'
})
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.modelData.orderNo = row.orderNo
getShopOrderData(data1).then(({data}) => {
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,
partNo: data.rows[0].partNo,
user: this.$store.state.user.name
}
getShopOrderDetail(inData).then(({data}) => {
this.dataList = data.rows1
this.dataList2 = data.rows2
this.dataList4 = data.rows3;
})
})
},
deleteData() {
let inData = {
site: this.modelData.site,
orderNo: this.modelData.orderNo,
status: this.modelData.status
}
this.$confirm(`是否删除此条生产订单?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteShopOrderData(inData).then(({data}) => {
if (data && data.code == 200) {
this.modelData = {};
this.$message.success('操作成功')
} else {
// this.$alert(data.msg, '错误', {
// confirmButtonText: '确定'
// })
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
})
},
saveData() {
if (this.updateData.needDate == '' || this.updateData.needDate == null) {
this.$alert("请选择要求完工日期!", '错误', {
confirmButtonText: '确定'
})
return false;
}
if (this.updateData.planStartDate == '' || this.updateData.planStartDate == null) {
this.$alert("请选择要求开工日期!", '错误', {
confirmButtonText: '确定'
})
return false;
}
// if(this.updateData.planner==''||this.updateData.planner==null){
// this.$alert("请输入计划方式!",'错误',{
// confirmButtonText:'确定'
// })
// return false;
// }
// if(this.updateData.leadtime==''||this.updateData.leadtime==null){
// this.$alert("请输入制造提前期!",'错误',{
// confirmButtonText:'确定'
// })
// return false;
// }
saveShopOrderData(this.updateData).then(({data}) => {
if (data && data.code == 200) {
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 {
getShopOrderData(this.searchData).then(({data}) => {
this.dataList3 = data.rows;
})
}
this.$message.success('操作成功')
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
//导出excel
createExportData() {
return this.dataList;
},
startDownload() {
// this.exportData = this.dataList
},
finishDownload() {
},
fields() {
let json = "{"
this.columnList.forEach((item, index) => {
if (index == this.columnList.length - 1) {
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
} else {
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
}
})
json += "}"
let s = eval("(" + json + ")")
return s
},
// 导出 end
//导出excel
createExportData2() {
return this.dataList2;
},
startDownload2() {
// this.exportData = this.dataList
},
finishDownload2() {
},
fields2() {
let json = "{"
this.columnList2.forEach((item, index) => {
if (index == this.columnList2.length - 1) {
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
} else {
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
}
})
json += "}"
let s = eval("(" + json + ")")
return s
},
// 导出 end
//导出excel
createExportData3() {
return this.dataList4;
},
startDownload3() {
// this.exportData = this.dataList
},
finishDownload3() {
},
fields3() {
let json = "{"
this.columnList4.forEach((item, index) => {
if (index == this.columnList4.length - 1) {
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
} else {
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
}
})
json += "}"
let s = eval("(" + json + ")")
return s
},
// 导出 end
//获取按钮的权限数据
getButtonAuthData(){
let updateFlag = this.isAuth(this.menuId+":update");
let fullControFlag = this.isAuth(this.menuId+":fullContro");
let deleteFlag = this.isAuth(this.menuId+":remove");
//处理页面的权限数据
this.authEdit = !updateFlag ||!fullControFlag;
this.authAdd = !fullControFlag;
this.authDelete = !deleteFlag;
}
},
created() {
this.$router.onReady(() => {
this.modelData.orderNo = this.$route.query.order
this.modelData.site = this.$route.query.site
this.modelData.user = this.$route.query.user
if (this.modelData.orderNo) {
this.tableHanddle(this.modelData)
}
});
//获取按钮的权限
//this.getButtonAuthData();
}
}
</script>
<style scoped>
/deep/ .customer-tab .el-tabs__content {
padding: 3px !important;
}
/deep/ .el-tabs__item {
padding: 0 20px;
height: 30px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
line-height: 30px;
display: inline-block;
list-style: none;
font-size: 12px;
font-weight: 500;
color: #303133;
position: relative;
}
.el-textarea__inner {
padding: 5px 5px;
}
.el-dropdown-menu--medium .el-dropdown-menu__item {
line-height: 18px;
padding: 0 17px;
font-size: 12px;
}
hr {
margin-top: 0px;
width: 95%;
}
.el-dropdown-link {
cursor: pointer;
color: #409EFF;
}
</style>