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.
2803 lines
94 KiB
2803 lines
94 KiB
<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>
|