| | |
| | | <basic-container> |
| | | <el-row> |
| | | <el-col :span="9"> |
| | | <ttable |
| | | :table="table" |
| | | @currentChange="palletTransportsChange" |
| | | :uploadInfo="uploadInfo" |
| | | :prelang="prelang" |
| | | :options="options" |
| | | :ajaxFun="ajaxFun" |
| | | :fixedHeight="palletTransportsFixedHeight" |
| | | ref="pallettransportsTable" |
| | | > |
| | | <ttable :table="table" @currentChange="palletTransportsChange" :uploadInfo="uploadInfo" :prelang="prelang" |
| | | :options="options" :ajaxFun="ajaxFun" :fixedHeight="palletTransportsFixedHeight" ref="pallettransportsTable"> |
| | | <template #toolbar> |
| | | <el-button |
| | | v-if="permissions.warehouse_pallettransports_add" |
| | | type="primary" |
| | | @click="addOrUpdateHandle()" |
| | | >新增</el-button |
| | | > |
| | | <el-button v-if="permissions.warehouse_pallettransports_add" type="primary" |
| | | @click="addOrUpdateHandle()">新增</el-button> |
| | | </template> |
| | | </ttable> |
| | | <div |
| | | style="margin:0px 20px 0px;display:flex;height:36px;justify-content: space-between;align-items:center;" |
| | | > |
| | | <div style="margin:0px 20px 0px;display:flex;height:36px;justify-content: space-between;align-items:center;"> |
| | | <div> |
| | | <span style="font-weight:bold;">对应工单</span> |
| | | </div> |
| | | <div></div> |
| | | </div> |
| | | <div style="padding:0px 20px 0px;"> |
| | | <el-table |
| | | class="pallet-transports-optask-table" |
| | | :data="palletTransportsOptaskData" |
| | | style="width: 100%;" |
| | | v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }" |
| | | height="100px" |
| | | border |
| | | highlight-current-row |
| | | @row-click="optaskRowClick" |
| | | stripe |
| | | ref="palletTransportsOptaskTable" |
| | | > |
| | | <el-table class="pallet-transports-optask-table" :data="palletTransportsOptaskData" style="width: 100%;" |
| | | v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }" height="100px" border highlight-current-row |
| | | @row-click="optaskRowClick" stripe ref="palletTransportsOptaskTable"> |
| | | <el-table-column align="center" width="55" label="单选"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox |
| | | class="optask-table-single-checkbox" |
| | | v-model="scope.row.commonChecked" |
| | | disabled |
| | | ></el-checkbox> |
| | | <el-checkbox class="optask-table-single-checkbox" v-model="scope.row.commonChecked" |
| | | disabled></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="optaskNo" |
| | | label="工单号" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="optaskNo" label="工单号" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="partName" |
| | | label="零件" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="partName" label="零件" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="workCenter" |
| | | label="工作中心" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="workCenter" label="工作中心" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="workstationName" |
| | | label="工作站" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="workstationName" label="工作站" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="plannedQuantity" |
| | | label="计划数量" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="plannedQuantity" label="计划数量" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="单位" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="unit" label="单位" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="15" style="padding-left: 10px;padding-right: 10px"> |
| | | <div |
| | | style="display:flex;height:36px;justify-content: space-between;align-items:center;" |
| | | > |
| | | <div style="display:flex;height:36px;justify-content: space-between;align-items:center;"> |
| | | <div><span style="font-weight:bold;">物料需求</span></div> |
| | | <div> |
| | | <el-button |
| | | type="text" |
| | | v-if="permissions.warehouse_pallettransports_demand_add" |
| | | @click="openPartDialog" |
| | | >新增</el-button |
| | | ><el-button |
| | | type="text" |
| | | v-if="permissions.warehouse_pallettransports_ifs" |
| | | @click="openLocationDialog" |
| | | >IFS至库位</el-button |
| | | > |
| | | <el-button type="text" v-if="permissions.warehouse_pallettransports_demand_add" |
| | | @click="openPartDialog">新增</el-button><el-button type="text" |
| | | v-if="permissions.warehouse_pallettransports_ifs" @click="openLocationDialog">移至库位</el-button> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <el-table |
| | | class="pallet-transports-material-table" |
| | | :data="palletTransportsMaterialData" |
| | | style="width: 100%;" |
| | | height="350px" |
| | | border |
| | | @selection-change="palletTransportsMaterialSelectionChange" |
| | | stripe |
| | | ref="palletTransportsMaterialTable" |
| | | > |
| | | <el-table class="pallet-transports-material-table" :data="palletTransportsMaterialData" style="width: 100%;" |
| | | height="350px" border @selection-change="palletTransportsMaterialSelectionChange" stripe |
| | | ref="palletTransportsMaterialTable"> |
| | | <el-table-column type="selection" width="55"> </el-table-column> |
| | | <el-table-column |
| | | prop="partNo" |
| | | label="零件号" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="partNo" label="零件号" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="partDesc" |
| | | label="零件描述" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="partDesc" label="零件描述" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="demandQuantity" |
| | | label="需求数量" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="demandQuantity" label="需求数量" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-show="scope.row.canEdit" |
| | | v-model="scope.row.demandQuantity" |
| | | ></el-input> |
| | | <el-input v-show="scope.row.canEdit" v-model="scope.row.demandQuantity"></el-input> |
| | | <span v-show="!scope.row.canEdit">{{ |
| | | scope.row.demandQuantity |
| | | }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="transferQuantity" |
| | | label="移库数量" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="transferQuantity" label="移库数量" align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="surplusQuantity" |
| | | label="剩余数量" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="surplusQuantity" label="剩余数量" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="计量单位" align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="toIfsLocationNo" |
| | | label="IFS至库位" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="toIfsLocationNo" label="移至库位" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | v-show="!scope.row.canEdit" |
| | | type="text" |
| | | :disabled="scope.row.detailExistState" |
| | | @click="scope.row.canEdit = true" |
| | | >编辑</el-button |
| | | > |
| | | <el-button |
| | | v-show="scope.row.canEdit" |
| | | type="text" |
| | | :disabled="scope.row.detailExistState" |
| | | @click="updateMaterial(scope.row)" |
| | | >保存</el-button |
| | | > |
| | | <el-button |
| | | type="text" |
| | | :disabled="scope.row.detailExistState" |
| | | @click="delMaterial(scope.row)" |
| | | >删除</el-button |
| | | > |
| | | <el-button v-show="!scope.row.canEdit" type="text" :disabled="scope.row.detailExistState" |
| | | @click="scope.row.canEdit = true">编辑</el-button> |
| | | <el-button v-show="scope.row.canEdit" type="text" :disabled="scope.row.detailExistState" |
| | | @click="updateMaterial(scope.row)">保存</el-button> |
| | | <el-button type="text" :disabled="scope.row.detailExistState" |
| | | @click="delMaterial(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div |
| | | style="margin-top:10px;display:flex;height:36px;justify-content: space-between;align-items:center;" |
| | | > |
| | | <div style="margin-top:10px;display:flex;height:36px;justify-content: space-between;align-items:center;"> |
| | | <div> |
| | | <span style="font-weight:bold;">移库明细</span |
| | | ><span style="color:red;" |
| | | >({{ |
| | | palletTransportsMaterialMultipleSelection.length > 0 |
| | | ? palletTransportsMaterialMultipleSelection[ |
| | | palletTransportsMaterialMultipleSelection.length - 1 |
| | | ].partDesc |
| | | : '' |
| | | }})</span |
| | | > |
| | | <span style="font-weight:bold;">移库明细</span><span style="color:red;">({{ |
| | | palletTransportsMaterialMultipleSelection.length > 0 |
| | | ? palletTransportsMaterialMultipleSelection[ |
| | | palletTransportsMaterialMultipleSelection.length - 1 |
| | | ].partDesc |
| | | : '' |
| | | }})</span> |
| | | </div> |
| | | <div> |
| | | <el-button |
| | | type="primary" |
| | | v-if="permissions.warehouse_pallettransports_detail_add" |
| | | round |
| | | @click="openStockDialog" |
| | | >添加明细</el-button |
| | | > |
| | | <el-button |
| | | type="warning" |
| | | v-if="permissions.warehouse_pallettransports_detail_library" |
| | | round |
| | | @click="openDetailLocationDialog" |
| | | >一键至库位</el-button |
| | | > |
| | | <el-button |
| | | type="success" |
| | | v-if="permissions.warehouse_pallettransports_detail_execute" |
| | | round |
| | | @click="executeMove" |
| | | >执 行</el-button |
| | | > |
| | | <el-button type="primary" v-if="permissions.warehouse_pallettransports_detail_add" round |
| | | @click="openStockDialog">添加明细</el-button> |
| | | <!-- <el-button type="warning" v-if="permissions.warehouse_pallettransports_detail_library" round |
| | | @click="openDetailLocationDialog">一键至库位</el-button> --> |
| | | <el-button type="success" v-if="permissions.warehouse_pallettransports_detail_execute" round |
| | | @click="executeMove">执 行</el-button> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <el-table |
| | | class="pallet-transports-detail-table" |
| | | :data="palletTransportsDetailData" |
| | | style="width: 100%;" |
| | | v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }" |
| | | height="100px" |
| | | border |
| | | @selection-change="palletTransportsDetailSelectionChange" |
| | | stripe |
| | | ref="palletTransportsDetailTable" |
| | | > |
| | | <el-table class="pallet-transports-detail-table" :data="palletTransportsDetailData" style="width: 100%;" |
| | | v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }" height="100px" border |
| | | @selection-change="palletTransportsDetailSelectionChange" stripe ref="palletTransportsDetailTable"> |
| | | <el-table-column type="selection" width="55"> </el-table-column> |
| | | <el-table-column |
| | | prop="partNo" |
| | | label="零件号" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="partNo" label="零件号" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="partDesc" |
| | | label="零件描述" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="partDesc" label="零件描述" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="batchNo" |
| | | label="批次号" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="batchNo" label="批次号" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column prop="wdr" label="WDR" align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="operationTaskNo" |
| | | label="工单" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="operationTaskNo" label="工单" align="center" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="transferQuantity" |
| | | label="移库数量" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="transferQuantity" label="移库数量" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="单位" align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="fromIfsLocationNo" |
| | | label="IFS从库位" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="fromIfsLocationNo" label="IFS从库位" align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="toIfsLocationNo" |
| | | label="IFS至库位" |
| | | align="center" |
| | | > |
| | | <el-table-column prop="toIfsLocationNo" label="移至库位" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-link |
| | | type="primary" |
| | | @click="openSingleLocationDialog(scope.row)" |
| | | >{{ scope.row.toIfsLocationNo }}</el-link |
| | | > |
| | | <el-link type="primary" @click="openSingleLocationDialog(scope.row)">{{ scope.row.toIfsLocationNo |
| | | }}</el-link> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="state" label="状态" align="center"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ |
| | | scope.row.state == null |
| | | ? '' |
| | | : scope.row.state === '01initial' |
| | | ? '' |
| | | : scope.row.state === '01initial' |
| | | ? '已创建' |
| | | : '已执行' |
| | | }}</span> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="85"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | type="text" |
| | | @click="openEditStockDialog(scope.row)" |
| | | :disabled="scope.row.state === '01initial' ? false : true" |
| | | >编辑</el-button |
| | | > |
| | | <el-button |
| | | type="text" |
| | | @click="delDetail(scope.row)" |
| | | :disabled="scope.row.state === '01initial' ? false : true" |
| | | >删除</el-button |
| | | > |
| | | <el-button type="text" @click="openEditStockDialog(scope.row)" |
| | | :disabled="scope.row.state === '01initial' ? false : true">编辑</el-button> |
| | | <el-button type="text" @click="delDetail(scope.row)" |
| | | :disabled="scope.row.state === '01initial' ? false : true">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 弹窗, 新增 / 修改 --> |
| | | <pallettransportsFormDialog |
| | | :currshowlist.sync="showPallettransportsForm" |
| | | :palletTransportsId="palletTransportsId" |
| | | @refreshPalletTransports="getPallettransportsData" |
| | | /> |
| | | <pallettransportsFormDialog :currshowlist.sync="showPallettransportsForm" :palletTransportsId="palletTransportsId" |
| | | @refreshPalletTransports="getPallettransportsData" /> |
| | | <!-- 弹窗, 零件列表 --> |
| | | <partDialog |
| | | :currshowlist.sync="showPart" |
| | | @listenToPartEvent="selectPartCallback" |
| | | /> |
| | | <partDialog :currshowlist.sync="showPart" @listenToPartEvent="selectPartCallback" /> |
| | | <!-- 弹窗, IFS库位列表 --> |
| | | <ifsLocationDialog |
| | | :currshowlist.sync="showLocation" |
| | | :transportsList="palletTransportsMaterialMultipleSelection" |
| | | @refreshDataList="selectLocationCallback" |
| | | /> |
| | | <ifsLocationDialog :currshowlist.sync="showLocation" :transportsList="palletTransportsMaterialMultipleSelection" |
| | | @refreshDataList="selectLocationCallback" /> |
| | | <!-- 弹窗, IFS库存列表 --> |
| | | <ifsStockDialog |
| | | :currshowlist.sync="showStock" |
| | | :materialRow="materialRow" |
| | | :transportsRow="currPalletTransportsRow" |
| | | :optask="currOptask" |
| | | @refreshDataList="addIfsStockCallback" |
| | | /> |
| | | <ifsStockDialog :currshowlist.sync="showStock" :materialRow="materialRow" :transportsRow="currPalletTransportsRow" |
| | | :optask="currOptask" @refreshDataList="addIfsStockCallback" /> |
| | | <!-- 弹窗, 编辑IFS库存列表 --> |
| | | <detailIfsStockDialog |
| | | :currshowlist.sync="showDetailStock" |
| | | :materialRow="materialRow" |
| | | :transportsRow="currPalletTransportsRow" |
| | | :detailRow="currDetailRow" |
| | | @refreshDataList="addIfsStockCallback" |
| | | /> |
| | | <detailIfsStockDialog :currshowlist.sync="showDetailStock" :materialRow="materialRow" |
| | | :transportsRow="currPalletTransportsRow" :detailRow="currDetailRow" @refreshDataList="addIfsStockCallback" /> |
| | | <!-- 弹窗, 明细的IFS库位列表 --> |
| | | <detailIfsLocationDialog |
| | | :currshowlist.sync="showDetailLocation" |
| | | :detailList="detailList" |
| | | @refreshDataList="selectDetailLocationCallback" |
| | | /> |
| | | <detailIfsLocationDialog :currshowlist.sync="showDetailLocation" :detailList="detailList" |
| | | @refreshDataList="selectDetailLocationCallback" /> |
| | | </basic-container> |
| | | </div> |
| | | </template> |
| | |
| | | computed: { |
| | | ...mapGetters(['permissions']) |
| | | }, |
| | | created() {}, |
| | | created() { }, |
| | | methods: { |
| | | // 工艺类型中文格式化 |
| | | formatStateType(row, column, cellValue) { |
| | |
| | | closeOnClickModal: false, |
| | | type: 'warning' |
| | | }) |
| | | .then(function() { |
| | | .then(function () { |
| | | return delPalletTransportsObj(row.id) |
| | | }) |
| | | .then((data) => { |
| | |
| | | this.palletTransportsMaterialData = [] |
| | | this.palletTransportsDetailData = [] |
| | | }) |
| | | .catch(() => {}) |
| | | .catch(() => { }) |
| | | }, |
| | | // 打开零件列表 |
| | | openPartDialog() { |
| | |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | .pallet-transports-material-table >>> .el-table__header th { |
| | | .pallet-transports-material-table>>>.el-table__header th { |
| | | color: #666666; |
| | | } |
| | | |
| | | .pallet-transports-material-table >>> th { |
| | | .pallet-transports-material-table>>>th { |
| | | padding: 3px 0px; |
| | | height: 31px; |
| | | } |
| | | .pallet-transports-material-table >>> td { |
| | | |
| | | .pallet-transports-material-table>>>td { |
| | | padding: 1px 0 0 0; |
| | | } |
| | | |
| | | .pallet-transports-detail-table >>> .el-table__header th { |
| | | .pallet-transports-detail-table>>>.el-table__header th { |
| | | color: #666666; |
| | | } |
| | | |
| | | .pallet-transports-detail-table >>> th { |
| | | .pallet-transports-detail-table>>>th { |
| | | padding: 3px 0px; |
| | | height: 31px; |
| | | } |
| | | .pallet-transports-detail-table >>> td { |
| | | |
| | | .pallet-transports-detail-table>>>td { |
| | | padding: 1px 0 0 0; |
| | | } |
| | | |
| | | .pallet-transports-optask-table >>> .el-table__header th { |
| | | .pallet-transports-optask-table>>>.el-table__header th { |
| | | color: #666666; |
| | | } |
| | | |
| | | .pallet-transports-optask-table >>> th { |
| | | .pallet-transports-optask-table>>>th { |
| | | padding: 3px 0px; |
| | | height: 31px; |
| | | } |
| | | .pallet-transports-optask-table >>> td { |
| | | |
| | | .pallet-transports-optask-table>>>td { |
| | | padding: 1px 0 0 0; |
| | | } |
| | | .optask-table-single-checkbox |
| | | >>> .el-checkbox__input.is-disabled.is-checked |
| | | .el-checkbox__inner { |
| | | |
| | | .optask-table-single-checkbox>>>.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { |
| | | background-color: #006eff; |
| | | border-color: #006eff; |
| | | } |
| | | .optask-table-single-checkbox |
| | | >>> .el-checkbox__input.is-disabled |
| | | .el-checkbox__inner { |
| | | |
| | | .optask-table-single-checkbox>>>.el-checkbox__input.is-disabled .el-checkbox__inner { |
| | | background-color: #ffffff; |
| | | cursor: pointer; |
| | | } |
| | | .optask-table-single-checkbox >>> .el-checkbox__inner::after { |
| | | |
| | | .optask-table-single-checkbox>>>.el-checkbox__inner::after { |
| | | border: 1px solid #fff !important; |
| | | border-left: 0 !important; |
| | | border-top: 0 !important; |
| | | cursor: pointer !important; |
| | | } |
| | | </style> |
| | | </style> |