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
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>
|
|
|