|
|
<template> <div class="mod-config"> <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;"> <el-form-item :label="'BU:'"> <el-select v-model="searchData.buNo" placeholder="请选择" > <el-option label="全部" value=""></el-option> <el-option v-for = "i in buList" :key = "i.buNo" :label = "i.buDesc" :value = "i.buNo"> </el-option> </el-select> </el-form-item> <el-form-item :label="'发货通知单:'"> <el-input v-model="searchData.delNo" style="width: 120px"></el-input> </el-form-item> <el-form-item :label="'CMC Invoice:'"> <el-input v-model="searchData.cmcInvoice" style="width: 120px"></el-input> </el-form-item> <el-form-item :label="'通知单状态:'"> <el-select filterable v-model="searchData.notifyStatus" style="width: 120px"> <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="'ReadyDate'" > <el-date-picker style="width: 120px" v-model="searchData.startDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择日期"> </el-date-picker> </el-form-item> <el-form-item :label="'To'" > <el-date-picker style="width: 120px" v-model="searchData.endDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择日期"> </el-date-picker> </el-form-item> <el-form-item :label="'是否导出:'"> <el-select v-model="searchData.exportFlag" style="width: 120px"> <el-option label="全部" value=""></el-option> <el-option label="已导出" value="Y"></el-option> <el-option label="未导出" value="N"></el-option> </el-select> </el-form-item> <el-form-item label="改单"> <el-checkbox v-model="searchData.modifyData" true-label="true" false-label="false" @change="searchTable()"></el-checkbox> </el-form-item> <el-form-item :label="' '" > <el-button @click="searchTable()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'查询'}}</el-button> </el-form-item> </el-form>
<el-table @row-click="changeData" highlight-current-row :height="height" :data="dataList" ref="mainTable" border :cell-style="cellStyle" v-loading="dataListLoading" style="width: 100%;"> <el-table-column header-align="center" align="center" width="100" fixed="left" label="操作"> <template slot-scope="scope"> <a type="text" size="small" v-if="scope.row.notifyStatus==='已报关'" @click="updateModelOpen(scope.row)">修改</a> <a type="text" size="small" v-if="scope.row.notifyStatus==='已下达'" @click="confirmModelOpen(scope.row)">仓库确认</a> <a type="text" size="small" v-if="scope.row.notifyStatus==='仓库已确认'" @click="cancerConfirm(scope.row)">取消确认</a> </template> </el-table-column> <el-table-column v-for="(item,index) in columnList1" :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-pagination @size-change="sizeChangeHandle" @current-change="currentChangeHandle" :current-page="pageIndex" :page-sizes="[20, 50, 100, 1000]" :page-size="pageSize" :total="totalPage" layout="total, sizes, prev, pager, next, jumper"> </el-pagination> <el-tabs style="font-size: 12px;min-height: 200px" class="customer-tab" v-model="activeName" type="border-card" @tab-click="tabClick" > <el-tab-pane label="明细" name="detail"> <el-table :height="height" :data="dataList2" border :cell-style="cellStyleDetail" 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" :min-width="item.columnWidth" :label="item.columnLabel"> <template slot-scope="scope"> <template v-if="item.columnProp === 'ttlAmount' || item.columnProp === 'sumPrice'"> <span>{{!!scope.row[item.columnProp]?scope.row[item.columnProp].toFixed(2):''}}</span> </template> <template v-else> <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> </template> </el-table-column><!-- <el-table-column--><!-- fixed="left"--><!-- header-align="center"--><!-- align="center"--><!-- width="100"--><!-- label="操作">--><!-- <template slot-scope="scope">--><!-- <a v-if="currentRow.notifyStatus==='已计划'" type="text" size="small" @click="openUpdateDetailModel(scope.row)">修改</a>--><!-- <a v-if="currentRow.notifyStatus==='已计划'" type="text" size="small" @click="deleteDelDetail(scope.row)">删除</a>--><!-- </template>--><!-- </el-table-column>--> </el-table> </el-tab-pane>
<el-tab-pane label="手工装箱" name="box"> <el-button @click="oneClickPacking()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'一键装箱'}}</el-button> <el-button @click="upLoadPallet()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'导入装箱单'}}</el-button> <el-button @click="palletMaintenance()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'栈板维护'}}</el-button><!-- <el-button @click="newPalletModel()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'装箱'}}</el-button>--> <el-button @click="exportExcel()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'导出模版'}}</el-button> <el-table :data="dataList4" :height="height" border v-loading="dataListLoading" style="width: 100%; "> <el-table-column header-align="center" align="center" width="150" fixed="left" label="操作"> <template slot-scope="scope">
<!-- <a type="text" size="small" @click="boxDetailModel(scope.row)">箱明细</a>--> <a type="text" size="small" @click="updatePalletModel(scope.row)">修改</a> <a type="text" size="small" @click="deletePallet(scope.row)">删除</a> </template> </el-table-column> <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-tab-pane label="装箱明细" name="pallet"> <el-table :data="dataList3" :height="height" border v-loading="dataListLoading" style="width: 100%; "> <el-table-column header-align="center" align="center" width="70" fixed="left" label="操作"> <template slot-scope="scope"> <a type="text" size="small" @click="updateBoxModel(scope.row,1)">修改</a> </template> </el-table-column> <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" :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="boxDetailModelFlag" width="600px"> <el-form label-position="top" style="margin-left: 7px;margin-top: -5px;"> <el-row :gutter="20"> <el-col :span="6"> <el-form-item :label="'发货通知单号'" > <el-input v-model="boxDetailData.delNo" disabled ></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item :label="'序号'" > <el-input v-model="boxDetailData.seqNo" disabled ></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item :label="' '" > <el-button @click="newBoxModel()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'新增箱'}}</el-button>
</el-form-item> </el-col> </el-row> </el-form> <el-table :data="dataList5" :height="height" border v-loading="dataListLoading" style="width: 100%; "> <el-table-column header-align="center" align="center" width="100" fixed="left" label="操作"> <template slot-scope="scope"> <a type="text" size="small" @click="updateBoxModel(scope.row,0)">修改</a> <a type="text" size="small" @click="deleteBox(scope.row)">删除</a> </template> </el-table-column> <el-table-column v-for="(item,index) in columnList5" :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-footer style="height:40px;margin-top: 10px;text-align:center"> <el-button type="primary" @click="boxDetailModelFlag=false">关闭</el-button> </el-footer> </el-dialog>
<el-dialog title="仓库确认" :close-on-click-modal="false" v-drag :visible.sync="confirmModelFlag" width="400px"> <el-form label-position="top" style="margin-left: 7px;margin-top: -5px;"> <el-row :gutter="20"> <el-col :span="12"> <el-form-item :label="'CMC Invoice'" > <el-input v-model="confirmModel.cmcInvoice" disabled ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label="'ReadyDate'" > <el-input v-model="confirmModel.readyDate" disabled ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label="'预计发货日期'" > <el-date-picker style="width: 100%" v-model="confirmModel.notifyDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择日期"> </el-date-picker> </el-form-item> </el-col> </el-row> </el-form> <el-footer style="height:40px;margin-top: 10px;text-align:center"> <el-button type="primary" @click="confirmDo()">保存</el-button> <el-button type="primary" @click="confirmModelFlag=false">关闭</el-button> </el-footer> </el-dialog>
<el-dialog title="修改" :close-on-click-modal="false" v-drag :visible.sync="updateModelFlag" width="350px"> <el-form label-position="top" style="margin-left: 7px;margin-top: -5px;"> <el-row :gutter="20"> <el-col :span="12"> <el-form-item :label="'ReadyDate'" > <el-date-picker style="width: 100%" v-model="confirmModel.readyDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择日期"> </el-date-picker> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label="'预计发货日期'" > <el-date-picker style="width: 100%" v-model="confirmModel.notifyDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择日期"> </el-date-picker> </el-form-item> </el-col> </el-row> </el-form> <el-footer style="height:40px;margin-top: 10px;text-align:center"> <el-button type="primary" @click="updateDo()">保存</el-button> <el-button type="primary" @click="updateModelFlag=false">关闭</el-button> </el-footer> </el-dialog> <el-dialog title="装箱" :close-on-click-modal="false" v-drag :visible.sync="palletModelFlag" width="600px"> <el-form label-position="top" style="margin-top: -5px;"> <el-row :gutter="20"> <el-col :span="12"> <el-form-item :label="''" > <template #label> <span slot="label" style="" class="big-label"> <a href="#" @click="palletFlag=true">栈板</a> </span> </template> <el-input v-model="palletModelData.pallet" disabled ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label="'栈板编号'" > <el-input v-model="palletModelData.palletRemark" ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label="'栈板高度(M)'" > <el-input v-model="palletModelData.height" type="number" ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label="'数量'" > <el-input v-model="palletModelData.palletQty" type="number" ></el-input> </el-form-item> </el-col> </el-row> </el-form> <br> <el-table v-show="palletModelData.addFlag===0" :height="240" class="zxClass" :data="dataList8" stripe ref="partTableRef" highlight-current-row border :row-style="{ height: '30px' }" style="width: 100%;" @selection-change="handleSelectionChange"> <el-table-column v-if="currentRow.buNo==='03-RFID' && currentRow.walMartOrderFlag==='Y'" header-align="center" align="center" width="60" fixed="left" label="操作"> <template slot-scope="scope"> <a type="text" size="small" v-if="scope.row.newRow!==1" @click="copyColumn(scope.row)">复制</a> <a type="text" size="small" v-if="scope.row.newRow===1" @click="deleteColumn(scope.$index)">删除</a> </template> </el-table-column> <el-table-column type="selection" align="center" width="55"> </el-table-column> <el-table-column prop="pn" header-align="center" align="center" label="PN"> </el-table-column> <el-table-column prop="partDescription" header-align="center" align="center" label="Description"> </el-table-column> <el-table-column prop="qty" header-align="center" align="center" label="数量"> <template slot-scope="scope"> <el-input v-if="currentRow.buNo==='03-RFID' && currentRow.walMartOrderFlag==='Y'" v-model="scope.row.qty" style="width: 100px;"></el-input> <span v-else>{{scope.row.qty}}</span> </template> </el-table-column> <el-table-column prop="nocartonsT" header-align="center" align="center" label="箱数"> <template slot-scope="scope"> <span v-if="currentRow.buNo==='03-RFID' && currentRow.walMartOrderFlag==='Y'">{{scope.row.nocartons}}</span> <el-input v-else v-model="scope.row.nocartons" style="width: 100px;"></el-input> </template> </el-table-column> </el-table> <el-footer style="height:40px;margin-top: 10px;text-align:center"> <el-button type="primary" @click="savePalletHeader()">保存</el-button> <el-button type="primary" @click="palletModelFlag=false">关闭</el-button> </el-footer> </el-dialog> <el-dialog title="维护箱" :close-on-click-modal="false" v-drag :visible.sync="boxModelFlag" width="500px"> <el-form label-position="top" style="margin-left: 7px;margin-top: -5px;"> <el-row :gutter="20"> <el-col :span="12"> <el-form-item :label="boxModelData.type===1?'物料编码':''"> <span v-if="boxModelData.type===0" slot="label" @click="openPartDialog()"><a herf="#">物料编码</a></span> <el-input v-model="boxModelData.pn" :disabled="boxModelData.type===1" ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label="'数量'" > <el-input v-model="boxModelData.qty" type="number" ></el-input> </el-form-item> </el-col> <el-col :span="12" v-if="boxModelData.type===0"> <el-form-item :label="'PO'" > <el-input v-model="boxModelData.poNo" ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label="'箱数'" > <el-input v-model="boxModelData.boxQty"></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label="'ROLLS'" > <el-input v-model="boxModelData.rolls" ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label="'毛重'" > <el-input v-model="boxModelData.grossWeight"></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item :label="'净重'" > <el-input v-model="boxModelData.netWeight" ></el-input> </el-form-item> </el-col> </el-row> </el-form> <el-footer style="height:40px;margin-top: 10px;text-align:center"> <el-button type="primary" @click="saveBoxHeader()">保存</el-button> <el-button type="primary" @click="boxModelFlag=false">关闭</el-button> </el-footer> </el-dialog>
<el-dialog title="一键装箱" :close-on-click-modal="false" v-drag :visible.sync="oneClickPackingModelFlag" width="170px"> <el-form label-position="top" style="margin-left: 7px;margin-top: 10px;"> <el-row :gutter="20"> <el-col :span="12"> <el-form-item :label="''" > <el-checkbox style="font-weight: bold" v-model="oneClickPackingModelData.boxRemnant">是否显示零数箱</el-checkbox> </el-form-item> </el-col> </el-row> </el-form> <el-footer style="height:40px;margin-top: 10px;text-align:center"> <el-button type="primary" @click="saveOneClickPacking()">保存</el-button> <el-button type="primary" @click="oneClickPackingModelFlag=false">关闭</el-button> </el-footer> </el-dialog>
<el-dialog title="栈板维护" :close-on-click-modal="false" v-drag :visible.sync="palletMaintenanceModelFlag" width="450px"> <!-- 栈板记录列表 --> <div style="margin: 15px 0;"> <div style="margin-bottom: 10px;"> <span style="font-weight: bold; margin-right: 10px;">栈板记录:</span> <el-button type="primary" size="small" @click="addPalletMaintenanceRecord">添加行</el-button> </div> <el-table :data="palletMaintenanceRecords" border style="width: 100%; margin-bottom: 15px;" class="zxClass" max-height="200" v-if="palletMaintenanceRecords.length > 0"> <el-table-column label="栈板" min-width="100"> <template slot-scope="scope"> <el-input v-model="scope.row.pallet" disabled style="width: 100%;"> <template slot="append"> <el-button @click="selectPalletMaintenance(scope.$index)" size="mini" type="primary">选择</el-button> </template> </el-input> </template> </el-table-column> <el-table-column label="栈板高度(M)" width="90"> <template slot-scope="scope"> <el-input v-model="scope.row.height" type="text" placeholder="请输入高度" style="width: 100%;"></el-input> </template> </el-table-column> <el-table-column label="托数" width="80"> <template slot-scope="scope"> <el-input v-model="scope.row.palletQty" type="text" placeholder="请输入托数" style="width: 100%;"></el-input> </template> </el-table-column> <el-table-column label="操作" width="40"> <template slot-scope="scope"> <a type="text" size="mini" @click="removePalletMaintenanceRecord(scope.$index)">删除</a> </template> </el-table-column> </el-table> <div v-if="palletMaintenanceRecords.length === 0" style="text-align: center; color: #999; padding: 20px; border: 1px dashed #ddd;"> 暂无栈板记录,请点击"添加行"按钮添加 </div> </div> <el-footer style="height:40px;margin-top: 10px;text-align:center"> <el-button type="primary" @click="savePalletMaintenance()">确定</el-button> <el-button type="primary" @click="palletMaintenanceModelFlag=false">关闭</el-button> </el-footer> </el-dialog> <el-dialog title="物料信息" @close="closePartDialog" @open="openPartDialog" :visible.sync="partFlag" width="559px" v-drag> <el-form inline="inline" label-position="top" :model="partData" style="margin-left: 7px;margin-top: -5px;">
</el-form> <el-table :height="height + 110" :data="partList" stripe highlight-current-row border @row-dblclick="partRowDblclick" style="width: 100%;"> <el-table-column prop="pn" header-align="center" align="center" label="物料编码"> </el-table-column> <el-table-column prop="part_desc" header-align="center" align="center" label="物料名称"> </el-table-column> </el-table> <el-footer style="height:40px;margin-top: 10px;text-align:center"> <el-button @click="partFlag = false">关闭</el-button> </el-footer> </el-dialog>
<el-dialog title="栈板" @close="closePalletDialog" @open="openPalletDialog" :visible.sync="palletFlag" width="559px" v-drag> <el-form inline="inline" label-position="top" :model="palletData" style="margin-left: 7px;margin-top: -5px;"> <el-form-item label="栈板类型"> <el-input v-model="palletData.palletType" clearable style="width: 110px"></el-input> </el-form-item> <el-form-item label=" "> <el-button type="primary" style="padding: 3px 12px" @click="searchPalletList()">查询</el-button> </el-form-item> </el-form> <el-table :height="height + 110" :data="palletList" stripe highlight-current-row border @row-dblclick="palletRowDblclick" style="width: 100%;"> <el-table-column prop="palletNo" header-align="center" align="center" width="120" label="栈板编码"> </el-table-column> <el-table-column prop="palletType" header-align="center" align="center" label="栈板类型"> </el-table-column> <el-table-column prop="applicationArea" header-align="center" align="center" label="应用环境"> </el-table-column> <el-table-column prop="length" header-align="center" align="center" label="长(M)"> </el-table-column> <el-table-column prop="width" header-align="center" align="center" label="宽(M)"> </el-table-column> <el-table-column prop="height" header-align="center" align="center" label="栈板高(M)"> </el-table-column> </el-table> <el-footer style="height:40px;margin-top: 10px;text-align:center"> <el-button @click="palletFlag = false">关闭</el-button> </el-footer> </el-dialog> <!-- 导入 --> <pallet-upload-excel ref="palletUploadExcel" @refreshTable="searchPalletTable" v-drag></pallet-upload-excel> <!--列表的组件--> <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> </div></template>
<script> import Chooselist from '@/views/modules/common/Chooselist_eam' import {} from "@/api/sysLanguage.js" import palletUploadExcel from "./pallet_upload_excel.vue"; import { searchEcssCoDelNotifyHeaderForCK, searchEcssCoDelNotifyDetail, confirmEcssDel, updateEcssDel, cancerConfirmEcssDel, searchCoDelPalletData, searchCoDelPalletDataNew, searchEcssCoDelPalletHeaderData, searchEcssCoDelPalletDetailData, savePalletHeader, deletePalletHeader, savePalletDetail, deletePalletDetail, saveOneClickPacking, savePalletMaintenance, getNotifyPartDetail, searchPalletList, updateExportFlag }from "@/api/ecss/ecss.js" import {getBuList}from '@/api/factory/site.js' import excel from "@/utils/excel-util.js"; import excelOpts from '@/utils/export-options.js' export default { name: "null", components:{ palletUploadExcel, Chooselist, }, data() { return { multipleSelection: [], oneOrAll:'1', palletFlag:false, palletList:[], palletData:{}, partFlag:false, partData:{}, partList:[],
pageIndex: 1, pageSize: 100, totalPage: 0, height: 200, buList:[], dataList:[], dataList2:[], dataList3:[], dataList4:[], dataList5:[], dataList8:[], notifyDetailMap: new Map(), boxDetailData:{ site:'', buNo:'', delNo:'', seqNo:'', }, dataListLoading: false, boxDetailModelFlag: false, searchData: { page: 1, limit: 100, buNo:'', delNo:'', cmcInvoice:'', notifyStatus:'', startDate:'', endDate:'', exportFlag:'', username:this.$store.state.user.name, }, oneClickPackingModelFlag:false, oneClickPackingModelData:{ boxRemnant: false, }, // 一键装箱栈板记录
oneClickPalletRecords: [], currentOneClickPalletIndex: -1, // 当前选择栈板的行索引
// 栈板维护相关
palletMaintenanceModelFlag: false, palletMaintenanceRecords: [], currentPalletMaintenanceIndex: -1, // 当前选择栈板的行索引
palletModelFlag:false, palletModelData:{ addFlag:0, site:'', buNo:'', delNo:'', seqNo:'', palletNo:'', palletQty:'', length:'', width:'', height:'', volume:'', grossWeight:'', netWeight:'', palletRemark:'',
}, boxModelFlag:false, boxModelData:{ addFlag:0, site:'', buNo:'', delNo:'', seqNo:'', itemNo:'', partNo:'', pn:'', qty:'', poNo:'', boxQty:'', rolls:'',
}, buttons:{ search:'查询', }, confirmModelFlag:false, updateModelFlag:false, confirmModel:{ site:'', buDesc:'', cmcInvoice:'', delNo:'', readyDate:'', shippingMode:'', destination:'', notifyDate:'', remark:'', },
activeName:'detail', columnList1: [ { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1BuDesc', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "buDesc", headerAlign: "center", align: "left", columnLabel: "BU", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 60 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1CmcInvoice', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "cmcInvoice", headerAlign: "center", align: "left", columnLabel: "CMC Invoice", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1DelNo', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "delNo", headerAlign: "center", align: "center", columnLabel: "发货通知单号", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 110 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1ReadyDate', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "readyDate", headerAlign: "center", align: "center", columnLabel: "ReadyDate", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1CustomerName', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "customerName", headerAlign: "center", align: "left", columnLabel: "客户名称", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 220 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1ShippingMode', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "shippingMode", headerAlign: "center", align: "left", columnLabel: "ShippingMode", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1Destination', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "destination", headerAlign: "center", align: "left", columnLabel: "Destination", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1NotifyStatus', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "notifyStatus", headerAlign: "center", align: "left", columnLabel: "通知单状态", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801001, serialNumber: '801001Table1NotifyStatus', tableId: "801001Table1", tableName: "关务系统发货通知单", columnProp: "modifyLabel", headerAlign: "center", align: "left", columnLabel: "改单", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1ExportFlag', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "exportFlag", headerAlign: "center", align: "center", columnLabel: "是否导出", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 80 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1NotifyDate', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "notifyDate", headerAlign: "center", align: "center", columnLabel: "发货日期", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 120 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1ErpDelNo', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "erpDelNo", headerAlign: "center", align: "left", columnLabel: "ERP发货单号", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1CreateBy', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "createBy", headerAlign: "center", align: "left", columnLabel: "创建人", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 80 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1CreateDate', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "createDate", headerAlign: "center", align: "center", columnLabel: "创建时间", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 130 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1UpdateBy', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "updateBy", headerAlign: "center", align: "left", columnLabel: "修改人", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 80 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1UpdateDate', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "updateDate", headerAlign: "center", align: "center", columnLabel: "修改时间", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 130 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table1Remark', tableId: "801002Table1", tableName: "关务系统发货通知单", columnProp: "remark", headerAlign: "center", align: "left", columnLabel: "Remark", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 300 }, ], columnList2: [ { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2ItemNo', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "itemNo", headerAlign: "center", align: "left", columnLabel: "行号", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 80 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2PartNo', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "pn", headerAlign: "center", align: "left", columnLabel: "PN", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2PartDescription', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "partDescription", headerAlign: "center", align: "left", columnLabel: "Description", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 300 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2Qty', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "qty", headerAlign: "center", align: "right", columnLabel: "Qty (pcs)", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2SalesOrder', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "salesOrder", headerAlign: "center", align: "left", columnLabel: "销售订单号", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2CustomerPO', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "customerPO", headerAlign: "center", align: "left", columnLabel: "客户采购单号", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2Version', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "version", headerAlign: "center", align: "left", columnLabel: "Version", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2Status', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "status", headerAlign: "center", align: "left", columnLabel: "Status", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2Family', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "family", headerAlign: "center", align: "left", columnLabel: "Family", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2Lt', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "lt", headerAlign: "center", align: "right", columnLabel: "LT (wks)", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2CmcComment', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "cmcComment", headerAlign: "center", align: "left", columnLabel: "CMC Comment", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2SaleType', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "saleType", headerAlign: "center", align: "left", columnLabel: "内外销方式", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2AwbBl', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "awbBl", headerAlign: "center", align: "left", columnLabel: "AWB/ BL#", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2ShippingNumber', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "shippingNumber", headerAlign: "center", align: "left", columnLabel: "ShippingNumber", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2ForwarderInfo', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "forwarderInfo", headerAlign: "center", align: "left", columnLabel: "Forwarder Info", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2Currency', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "currency", headerAlign: "center", align: "left", columnLabel: "Currency", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2Tp', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "tp", headerAlign: "center", align: "right", columnLabel: "TP", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 80 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2TtlAmount', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "ttlAmount", headerAlign: "center", align: "right", columnLabel: "TTL Amount", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 80 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2SumPrice', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "sumPrice", headerAlign: "center", align: "right", columnLabel: "价税合计", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 80 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2So', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "so", headerAlign: "center", align: "left", columnLabel: "SO", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2Upc', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "upc", headerAlign: "center", align: "left", columnLabel: "UPC", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, // {
// userId: this.$store.state.user.name,
// functionId: 801002,
// serialNumber: '801002Table2ErpDelItemNo',
// tableId: "801002Table2",
// tableName: "关务系统发货通知单明细",
// columnProp: "erpDelItemNo",
// headerAlign: "center",
// align: "right",
// columnLabel: "ERP发货单行号",
// columnHidden: false,
// columnImage: false,
// columnSortable: false,
// sortLv: 0,
// status: true,
// fixed: '',
// columnWidth: 60
// },
{ userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table2Remark', tableId: "801002Table2", tableName: "关务系统发货通知单明细", columnProp: "remark", headerAlign: "center", align: "left", columnLabel: "Remark", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 300 }, ], columnList3:[ { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table3ItemNo', tableId: "801002Table3", tableName: "装箱明细", columnProp: "itemNo", headerAlign: "center", align: "right", columnLabel: "序号", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 40 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table3PalletRemark', tableId: "801002Table3", tableName: "装箱明细", columnProp: "palletRemark", headerAlign: "center", align: "left", columnLabel: "栈板码", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 60 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table3PalletQty', tableId: "801002Table3", tableName: "装箱明细", columnProp: "palletQty", headerAlign: "center", align: "right", columnLabel: "托数", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 40 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table3PoNo', tableId: "801002Table3", tableName: "装箱明细", columnProp: "poNo", headerAlign: "center", align: "left", columnLabel: "PO", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table3PN', tableId: "801002Table3", tableName: "装箱明细", columnProp: "pn", headerAlign: "center", align: "left", columnLabel: "PN", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 100 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table3Qty', tableId: "801002Table3", tableName: "装箱明细", columnProp: "qty", headerAlign: "center", align: "right", columnLabel: "数量", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table3BoxQty', tableId: "801002Table3", tableName: "装箱明细", columnProp: "boxQty", headerAlign: "center", align: "right", columnLabel: "箱数", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table3Rolls', tableId: "801002Table3", tableName: "装箱明细", columnProp: "rolls", headerAlign: "center", align: "right", columnLabel: "Rolls", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table3Length', tableId: "801002Table3", tableName: "装箱明细", columnProp: "length", headerAlign: "center", align: "right", columnLabel: "长(M)", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table3Width', tableId: "801002Table3", tableName: "装箱明细", columnProp: "width", headerAlign: "center", align: "right", columnLabel: "宽(M)", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table3Height', tableId: "801002Table3", tableName: "装箱明细", columnProp: "height", headerAlign: "center", align: "right", columnLabel: "高(M)", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table3Volume', tableId: "801002Table3", tableName: "装箱明细", columnProp: "volume", headerAlign: "center", align: "right", columnLabel: "体积", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002TableGrossWeight', tableId: "801002Table3", tableName: "装箱明细", columnProp: "grossWeight", headerAlign: "center", align: "right", columnLabel: "毛重", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002TableNetWeight', tableId: "801002Table3", tableName: "装箱明细", columnProp: "netWeight", headerAlign: "center", align: "right", columnLabel: "净重", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, ], columnList4:[ { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table4SeqNo', tableId: "801002Table4", tableName: "装箱栈板主表", columnProp: "seqNo", headerAlign: "center", align: "right", columnLabel: "序号", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 40 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table4PalletRemark', tableId: "801002Table4", tableName: "装箱栈板主表", columnProp: "palletRemark", headerAlign: "center", align: "left", columnLabel: "栈板码", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 60 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table4PalletQty', tableId: "801002Table4", tableName: "装箱栈板主表", columnProp: "palletQty", headerAlign: "center", align: "right", columnLabel: "数量", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table4Length', tableId: "801002Table4", tableName: "装箱栈板主表", columnProp: "length", headerAlign: "center", align: "right", columnLabel: "长(M)", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table4Width', tableId: "801002Table4", tableName: "装箱栈板主表", columnProp: "width", headerAlign: "center", align: "right", columnLabel: "宽(M)", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table4Height', tableId: "801002Table4", tableName: "装箱栈板主表", columnProp: "height", headerAlign: "center", align: "right", columnLabel: "高(M)", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table4GrossWeight', tableId: "801002Table4", tableName: "装箱栈板主表", columnProp: "grossWeight", headerAlign: "center", align: "right", columnLabel: "毛重", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table4NetWeight', tableId: "801002Table4", tableName: "装箱栈板主表", columnProp: "netWeight", headerAlign: "center", align: "right", columnLabel: "净重", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 50 }, ], columnList5:[ { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table5PartNo', tableId: "801002Table5", tableName: "栈板装箱明细", columnProp: "pn", headerAlign: "center", align: "left", columnLabel: "物料编码", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 70 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table5Qty', tableId: "801002Table5", tableName: "栈板装箱明细", columnProp: "qty", headerAlign: "center", align: "right", columnLabel: "数量", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 80 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table5BoxQty', tableId: "801002Table5", tableName: "栈板装箱明细", columnProp: "boxQty", headerAlign: "center", align: "right", columnLabel: "箱数", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 70 }, { userId: this.$store.state.user.name, functionId: 801002, serialNumber: '801002Table5Rolls', tableId: "801002Table5", tableName: "栈板装箱明细", columnProp: "rolls", headerAlign: "center", align: "right", columnLabel: "Rolls", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', columnWidth: 70 }, ], currentRow:{}, } }, mounted() { this.$nextTick(() => { this.height = (window.innerHeight - 260)/2; }) }, watch: { dataList8: { handler() { this.$nextTick(() => { if(this.currentRow.buNo==='03-RFID' && this.currentRow.walMartOrderFlag==='Y') { this.toggleSelection(this.dataList8) } }) }, } }, methods: { openPartDialog () { this.searchPartList(); this.partFlag = true }, closePartDialog () { this.partList = [] this.partFlag = false }, searchPartList () { this.partData.site = this.currentRow.site this.partData.delNo = this.currentRow.delNo getNotifyPartDetail(this.partData).then(({data}) => { if (data && data.code === 0){ this.partList = data.rows; } }) }, partRowDblclick (row) { this.boxModelData.partNo = row.partNo this.boxModelData.pn = row.pn this.partFlag = false }, // 获取基础数据列表S
getBaseList(val, type) { this.tagNo = val this.$nextTick(() => { let strVal = '' if (val === 507) { strVal = this.boxModelData.partNo } this.$refs.baseList.init(val, strVal) }) },
/* 列表方法的回调 */ getBaseData(val) { if (this.tagNo === 507) { this.boxModelData.partNo = val.part_no } }, // 每页数
sizeChangeHandle (val) { this.pageSize = val this.pageIndex = 1 this.searchTable() }, // 当前页
currentChangeHandle (val) { this.pageIndex = val this.searchTable() }, searchTable(){ this.searchData.limit = this.pageSize this.searchData.page = this.pageIndex searchEcssCoDelNotifyHeaderForCK(this.searchData).then(({data}) => { //区分请求成功和失败的状况
if (data && data.code == 0) { this.dataList = data.page.list this.pageIndex = data.page.currPage this.pageSize = data.page.pageSize this.totalPage = data.page.totalCount if(this.dataList.length>0){ this.$refs.mainTable.setCurrentRow(this.dataList[0]); this.changeData(this.dataList[0]) this.dataList.forEach(o => { if (o.notifyStatus==='仓库已确认'&&!o.notifyDate) { o.notifyDate='发货日期不确定' } this.dataList.forEach(o => { o.modifyLabel = !!o.modifyFlag?'是':''; }); }); }else { this.changeData(null) } } else { this.dataList = []; } }); }, cellStyle({row, column }) { if (column.property === 'notifyDate' && row.notifyDate==='发货日期不确定') { // 根据列属性判断
return { color: '#ff5d03' }; } if (column.property === 'modifyLabel' && row.modifyLabel==='是') { // 根据列属性判断
return { color: '#ff5d03' }; } return {}; }, cellStyleDetail({row, column }) { if ((column.property === 'pn' || column.property === 'qty') && row.modifyFlag===true) { // 根据列属性判断
return { color: '#ff5d03' }; } return {}; }, changeData(row){ this.currentRow = JSON.parse(JSON.stringify(row)); if (this.currentRow.notifyDate==='发货日期不确定') { this.currentRow.notifyDate='' } this.headerData=row; this.refreshCurrentTabTable (); }, refreshCurrentTabTable(){ if(this.currentRow===''||this.currentRow===null){ this.currentRow={site:'',delNo:'',notifyStatus:''} } if(this.activeName==='detail'){ searchEcssCoDelNotifyDetail(this.currentRow).then(({data}) => { //区分请求成功和失败的状况
if (data && data.code == 0) { this.dataList2 = data.rows } else { this.dataList2 = []; } }); } if(this.activeName==='pallet'){ searchCoDelPalletDataNew(this.currentRow).then(({data}) => { //区分请求成功和失败的状况
if (data && data.code == 0) { this.dataList3 = data.rows
} else { this.dataList3 = []; } }); } if(this.activeName==='box'){ searchEcssCoDelPalletHeaderData(this.currentRow).then(({data}) => { //区分请求成功和失败的状况
if (data && data.code == 0) { this.dataList4 = data.rows
} else { this.dataList4 = []; } }); } }, tabClick (tab, event) { // 刷新列表数据
this.refreshCurrentTabTable() },
confirmDo(){ /* if (!this.confirmModel.notifyDate) { this.$alert('请选择预计发货日期!', '错误', { confirmButtonText: '确定' }) return false } */ confirmEcssDel(this.confirmModel).then(({data}) => { if (data && data.code === 0) { this.searchTable() this.confirmModelFlag=false this.$message({ message: '操作成功', type: 'success', duration: 1500, onClose: () => {} }) } else { this.$alert(data.msg, '错误', { confirmButtonText: '确定' }) } }) }, cancerConfirm(row){ let indata=JSON.parse(JSON.stringify(row)); if (row.notifyDate==='发货日期不确定') { indata.notifyDate='' } this.$confirm('取消确认这条发货通知单?', '提示').then(() => { cancerConfirmEcssDel(indata).then(({data}) => { if (data && data.code === 0) { this.searchTable() this.$message({ message: '操作成功', type: 'success', duration: 1500, onClose: () => {} }) } else { this.$alert(data.msg, '错误', { confirmButtonText: '确定' }) } }) }) }, getBu () { let tempData = { username: this.$store.state.user.name, } getBuList(tempData).then(({data}) => { if (data.code === 0) { this.buList = data.row2 if (this.buList.length===1) { this.searchData.buNo = this.buList[0].buNo; } } }) }, confirmModelOpen(row){ this.confirmModel=JSON.parse(JSON.stringify(row)); this.confirmModelFlag=true }, updateModelOpen(row){ this.confirmModel=JSON.parse(JSON.stringify(row)); if (this.confirmModel.notifyDate==='发货日期不确定') { this.confirmModel.notifyDate='' } this.updateModelFlag=true }, updateDo(){ if (!this.confirmModel.readyDate) { this.$alert('请选择ReadyDate!', '错误', { confirmButtonText: '确定' }) return false } updateEcssDel(this.confirmModel).then(({data}) => { if (data && data.code === 0) { this.searchTable() this.updateModelFlag=false this.$message({ message: '操作成功', type: 'success', duration: 1500, onClose: () => {} }) } else { this.$alert(data.msg, '错误', { confirmButtonText: '确定' }) } }) }, upLoadPallet(){ /* if(this.dataList3.length>0){ this.$alert('已经有明细无法再次导入请去手工装箱全部删除!', '错误', { confirmButtonText: '确定' }) return false } */ if(this.currentRow.site===''||this.currentRow.site==null){ this.$alert('请先选择发货通知单!', '错误', { confirmButtonText: '确定' }) return false } /*if(this.currentRow.walMartOrderFlag==='Y'){ this.$alert('沃尔玛订单暂时无法导入装箱清单!', '错误', { confirmButtonText: '确定' }) return false }*/ let inData={ site:this.currentRow.site, buNo:this.currentRow.buNo, delNo:this.currentRow.delNo, cmcInvoice:this.currentRow.cmcInvoice, shippingMode: this.currentRow.shippingMode, destination : this.currentRow.destination, walMartOrderFlag:this.currentRow.walMartOrderFlag } this.$nextTick(() => { this.$refs.palletUploadExcel.init(inData) }) }, async exportExcel() { let searchData={ site: this.currentRow.site, buNo: this.currentRow.buNo, delNo: this.currentRow.delNo, cmcInvoice: this.currentRow.cmcInvoice, shippingMode: this.currentRow.shippingMode, destination : this.currentRow.destination, createBy: this.$store.state.user.name, }
try { // 先导出Excel
await excel.exportTable({ url: "/ecss/coDel/searchCoDelPalletList", columnMapping: excelOpts.PalletSku.columnMapping,//可以直接用table,不需要的列就剔除
mergeSetting: [],//需要合并的列
params: searchData, fileName: "装箱数据导入模版.xlsx", rowFetcher: res => res.data, columnFormatter: [], dropColumns: [],//需要剔除的列,例如dropColumns: ["netWeight"],即剔除净重列
});
// 导出成功后更新export_flag字段
let updateData = { site: this.currentRow.site, buNo: this.currentRow.buNo, delNo: this.currentRow.delNo, exportFlag: 'Y', updateBy: this.$store.state.user.name }
updateExportFlag(updateData).then(({data}) => { if (data.code === 0) { // 刷新当前行的导出状态
this.currentRow.exportFlag = 'Y'; // 刷新表格数据
this.searchTable(); } else { this.$message.warning('导出成功,但更新导出状态失败:' + data.msg); } }).catch(error => { this.$message.warning('导出成功,但更新导出状态失败'); console.error('更新导出状态失败:', error); });
} catch (error) { this.$message.error('导出失败'); console.error('导出失败:', error); } }, searchPalletTable(){ this.refreshCurrentTabTable(); }, boxDetailModel(row){ this.boxDetailData=row searchEcssCoDelPalletDetailData(row).then(({data}) => { if (data.code === 0) { this.dataList5 = data.rows } }) this.boxDetailModelFlag=true }, updatePalletModel(row){ this.palletModelData=JSON.parse(JSON.stringify(row)) this.palletModelData.palletRemark=row.palletRemark this.palletModelData.addFlag=1 this.palletModelFlag=true }, newPalletModel(){ this.oneOrAll=1; if(this.currentRow.site===''||this.currentRow.site==null){ this.$alert('请先选择发货通知单!', '错误', { confirmButtonText: '确定' }) return false } this.palletModelData={ addFlag:0, site:this.currentRow.site, buNo:this.currentRow.buNo, delNo:this.currentRow.delNo, seqNo:'', palletNo:'', palletQty:'', length:'', width:'', height:'', volume:'', grossWeight:'', netWeight:'', pallet:'', palletRemark:'', } searchEcssCoDelNotifyDetail(this.currentRow).then(({data}) => { if (data && data.code == 0) { this.dataList8 = data.rows this.dataList8.forEach(o => { if (!o.nocartons) { o.nativeNocartons = Math.ceil(o.qty/(o.rollqty*o.boxrolls)); o.nocartons = Math.ceil(o.qty/(o.rollqty*o.boxrolls)); } else { o.nativeNocartons = o.nocartons; } if (this.notifyDetailMap.has(o.pn)) { this.notifyDetailMap.get(o.pn).qty=parseInt(this.notifyDetailMap.get(o.pn).qty)+parseInt(o.qty); } else { this.notifyDetailMap.set(o.pn, JSON.parse(JSON.stringify(o))); } }); this.dataList8 = this.dataList8.filter(o => parseInt(o.nocartons)>0); } else { this.dataList8 = []; } }); this.palletModelFlag=true }, handleSelectionChange(val) { this.multipleSelection = val; }, toggleSelection(rows) { rows.forEach(row => { this.$refs.partTableRef.toggleRowSelection(row,true); }); }, // 装箱复制明细行
copyColumn(row){ let copyrow = JSON.parse(JSON.stringify(row)); copyrow.qty=0; copyrow.nocartons=0; copyrow.newRow=1; this.dataList8.push(copyrow); this.toggleSelection(this.dataList8) }, deleteColumn(index){ this.dataList8.splice(index,1); this.toggleSelection(this.dataList8) }, savePalletHeader(){ if (this.palletModelData.addFlag===0 && this.multipleSelection.length===0) { this.$alert('请选择装箱物料!', '错误', { confirmButtonText: '确定' }) return false } if(this.palletModelData.palletQty===''||this.palletModelData.palletQty==null){ this.$alert('请输入数量!', '错误', { confirmButtonText: '确定' }) return false } let qtyNoMatch = false; let pn=''; if (this.currentRow.buNo==='03-RFID' && this.currentRow.walMartOrderFlag==='Y') { let mulMap = new Map(); this.multipleSelection.forEach(o => { o.nocartons = Math.ceil(o.qty/(o.rollqty*o.boxrolls)); if (mulMap.has(o.pn)) { mulMap.get(o.pn).qty=parseInt(mulMap.get(o.pn).qty)+parseInt(o.qty); } else { mulMap.set(o.pn, JSON.parse(JSON.stringify(o))); } }); mulMap.forEach((value, key) => { if (parseInt(this.notifyDetailMap.get(key).qty)!==parseInt(value.qty)) { qtyNoMatch = true; pn = pn+(pn?',':'')+value.pn; } }) } else { this.multipleSelection.forEach(o => { o.qty = o.nocartons*o.rollqty*o.boxrolls; o.nocartons = o.nativeNocartons - o.nocartons; }); } if (qtyNoMatch) { this.$alert('PN['+pn+']原始数量和输入总数不相等!', '错误', { confirmButtonText: '确定' }) return false } this.palletModelData.walMartOrderFlag = this.currentRow.walMartOrderFlag; this.palletModelData.notifyDetailList = this.multipleSelection; savePalletHeader(this.palletModelData).then(({data}) => { if (data && data.code === 0) { this.refreshCurrentTabTable() this.palletModelFlag=false; this.$message({ message: '操作成功', type: 'success', duration: 1500, onClose: () => {} }) } else { this.$alert(data.msg, '错误', { confirmButtonText: '确定' }) } })
}, deletePallet(row){ this.$confirm('确认删除此明细?', '提示').then(() => { deletePalletHeader(row).then(({data}) => { if (data && data.code === 0) { this.refreshCurrentTabTable() this.$message({ message: '操作成功', type: 'success', duration: 1500, onClose: () => {} }) } else { this.$alert(data.msg, '错误', { confirmButtonText: '确定' }) } }) }) },
updateBoxModel(row,type){ this.boxModelData=JSON.parse(JSON.stringify(row)) this.boxModelData.addFlag=1 this.boxModelData.type=type this.boxModelFlag=true }, newBoxModel(){ this.boxModelData={ addFlag:0, site:this.boxDetailData.site, buNo:this.boxDetailData.buNo, delNo:this.boxDetailData.delNo, seqNo:this.boxDetailData.seqNo, itemNo:'', partNo:'', pn:'', qty:'', poNo:'', boxQty:'', rolls:'', type:0 } this.boxModelFlag=true }, saveBoxHeader(){ if(this.boxModelData.partNo===''||this.boxModelData.partNo==null){ this.$alert('请输入物料!', '错误', { confirmButtonText: '确定' }) return false } if(this.boxModelData.qty<=0||this.boxModelData.qty==null){ this.$alert('请输入数量!', '错误', { confirmButtonText: '确定' }) return false }
savePalletDetail(this.boxModelData).then(({data}) => { if (data && data.code === 0) { searchEcssCoDelPalletDetailData(this.boxDetailData).then(({data}) => { if (data.code === 0) { this.dataList5 = data.rows } }) searchCoDelPalletDataNew(this.currentRow).then(({data}) => { if (data && data.code == 0) { this.dataList3 = data.rows } else { this.dataList3 = []; } }); this.boxModelFlag=false; this.$message({ message: '操作成功', type: 'success', duration: 1500, onClose: () => {} }) } else { this.$alert(data.msg, '错误', { confirmButtonText: '确定' }) } }) }, deleteBox(row){ this.$confirm('确认删除此明细?', '提示').then(() => { deletePalletDetail(row).then(({data}) => { if (data && data.code === 0) { searchEcssCoDelPalletDetailData(this.boxDetailData).then(({data}) => { if (data.code === 0) { this.dataList5 = data.rows } }) this.$message({ message: '操作成功', type: 'success', duration: 1500, onClose: () => {} }) } else { this.$alert(data.msg, '错误', { confirmButtonText: '确定' }) } }) }) }, oneClickPacking(){ this.oneOrAll = 2; if(this.currentRow.site===''||this.currentRow.site==null){ this.$alert('请先选择发货通知单!', '错误', { confirmButtonText: '确定' }) return false } /* if(this.dataList4.length>0){ this.$alert('已存在装箱数据,不可一键装箱!', '错误', { confirmButtonText: '确定' }) return false } */ this.oneClickPackingModelData={ boxRemnant: false, } // 重置栈板记录并默认添加一行
this.oneClickPalletRecords = [] this.oneClickPalletRecords.push({ pallet: '', palletQty: '', height: '' }) this.oneClickPackingModelFlag=true }, saveOneClickPacking(){ let saveData = { site: this.currentRow.site, buNo: this.currentRow.buNo, delNo: this.currentRow.delNo, boxRemnant: this.oneClickPackingModelData.boxRemnant, palletRecords: JSON.stringify(this.oneClickPalletRecords) }
saveOneClickPacking(saveData).then(({data}) => { if (data && data.code === 0) { this.refreshCurrentTabTable() this.oneClickPackingModelFlag=false; this.$message({ message: '操作成功', type: 'success', duration: 1500, onClose: () => {} }) } else { this.$alert(data.msg, '错误', { confirmButtonText: '确定' }) } }) },
// 一键装箱栈板记录相关方法
addOneClickPalletRecord() { this.oneClickPalletRecords.push({ pallet: '', palletQty: '', height: '' }) },
removeOneClickPalletRecord(index) { this.oneClickPalletRecords.splice(index, 1) },
selectOneClickPallet(index) { this.currentOneClickPalletIndex = index this.palletFlag = true },
openPalletDialog () { //请求
this.searchPalletList(); }, closePalletDialog () { this.palletList = [] this.palletFlag = false }, searchPalletList () { this.palletData.buNo = (this.oneOrAll===2 || this.oneOrAll===3)?this.currentRow.buNo:this.palletModelData.buNo searchPalletList(this.palletData).then(({data}) => { if (data && data.code === 0){ this.palletList = data.rows; } }) }, palletRowDblclick (row) { if (this.oneOrAll===2) { // 一键装箱栈板选择
if (this.currentOneClickPalletIndex >= 0) { this.oneClickPalletRecords[this.currentOneClickPalletIndex].pallet = row.palletNo } } else if (this.oneOrAll===3) { // 栈板维护栈板选择
if (this.currentPalletMaintenanceIndex >= 0) { this.palletMaintenanceRecords[this.currentPalletMaintenanceIndex].pallet = row.palletNo } } else { this.palletModelData.pallet = row.palletNo } this.palletFlag = false },
// 栈板维护相关方法
palletMaintenance() { this.oneOrAll = 3; if(this.currentRow.site===''||this.currentRow.site==null){ this.$alert('请先选择发货通知单!', '错误', { confirmButtonText: '确定' }) return false }
// 重置栈板记录并默认添加一行
this.palletMaintenanceRecords = [] this.palletMaintenanceRecords.push({ pallet: '', palletQty: '', height: '' }) this.palletMaintenanceModelFlag = true },
addPalletMaintenanceRecord() { this.palletMaintenanceRecords.push({ pallet: '', palletQty: '', height: '' }) },
removePalletMaintenanceRecord(index) { this.palletMaintenanceRecords.splice(index, 1) },
selectPalletMaintenance(index) { this.currentPalletMaintenanceIndex = index this.palletFlag = true },
savePalletMaintenance() { // 验证栈板记录
for (let i = 0; i < this.palletMaintenanceRecords.length; i++) { const record = this.palletMaintenanceRecords[i] if (!record.pallet) { this.$alert(`第${i + 1}行栈板不能为空!`, '错误', { confirmButtonText: '确定' }) return false } if (!record.palletQty || record.palletQty <= 0) { this.$alert(`第${i + 1}行托数必须大于0!`, '错误', { confirmButtonText: '确定' }) return false } if (!record.height || record.height <= 0) { this.$alert(`第${i + 1}行栈板高度必须大于0!`, '错误', { confirmButtonText: '确定' }) return false } }
// 这里只新增栈板记录,不做其他事情
let saveData = { site: this.currentRow.site, buNo: this.currentRow.buNo, delNo: this.currentRow.delNo, palletRecords: JSON.stringify(this.palletMaintenanceRecords), }
// 使用相同的API,但传递maintenanceOnly标识
savePalletMaintenance(saveData).then(({data}) => { if (data && data.code === 0) { this.refreshCurrentTabTable() this.palletMaintenanceModelFlag = false; this.$message({ message: '栈板记录新增成功', type: 'success', duration: 1500, onClose: () => {} }) } else { this.$alert(data.msg, '错误', { confirmButtonText: '确定' }) } }) }, }, activated() { this.searchTable() }, created() { this.getBu () } }</script>
<style scoped>/deep/ .zxClass .cell { line-height: 24px; font-size: 12px; height: 24px;}</style>
|