Browse Source

2026-02-04

收货入库任务通知、拣货出库任务通知和领料申请管理页面【编辑】控制
master
fengyuan_yang 3 weeks ago
parent
commit
86c3aa6b54
  1. 2
      src/views/modules/boxManage/com_saleBoxManage_boxing.vue
  2. 58
      src/views/modules/orderIssure/soIssueNotify/searchIssureNotify.vue
  3. 23
      src/views/modules/qc/inboundNotification.vue
  4. 24
      src/views/modules/qc/outboundNotification.vue

2
src/views/modules/boxManage/com_saleBoxManage_boxing.vue

@ -586,7 +586,7 @@ export default {
// ===== =====
// NO.: ADD_PRINT_TEXT(, , , , )
// 3mm54mm50mm5Arial
const text1 = LODOP.ADD_PRINT_TEXT('4.5mm', '3mm', '52mm', '5mm', 'NO:' + ('FHJH-2026010393-20260123037' || ''))
const text1 = LODOP.ADD_PRINT_TEXT('4.5mm', '3mm', '52mm', '5mm', 'NO:' + (this.searchData.orderNo || ''))
LODOP.SET_PRINT_STYLEA(text1, "FontName", "Arial") // 使Arial
LODOP.SET_PRINT_STYLEA(text1, "FontSize", 5) // 5
LODOP.SET_PRINT_STYLEA(text1, "Bold", 1) //

58
src/views/modules/orderIssure/soIssueNotify/searchIssureNotify.vue

@ -2692,11 +2692,25 @@
this.$message.warning('该类型单据不能编辑!')
return
}
//
searchSumNotifyMaterialList(this.currentRow).then(({data}) => {
if (data && data.code === 0 && data.rows && data.rows.length > 0) {
const hasIssuedQty = data.rows.some(item => {
const qty = parseFloat(item.qtyToIssueOriginal) || 0;
return qty > 0;
});
if (hasIssuedQty) {
this.$message.warning('该单据已有合计已发数量,不能批量编辑材料明细!');
return;
}
}
//
if (this.editBatchVisible) {
this.editBatchVisible = false
} else {
this.editBatchVisible = true
}
});
},
//
@ -3017,6 +3031,19 @@
})
},
deleteNotifyMaterial(row){
//
searchSumNotifyMaterialList(this.currentRow).then(({data}) => {
if (data && data.code === 0 && data.rows && data.rows.length > 0) {
const hasIssuedQty = data.rows.some(item => {
const qty = parseFloat(item.qtyToIssueOriginal) || 0;
return qty > 0;
});
if (hasIssuedQty) {
this.$message.warning('该单据已有合计已发数量,不能删除材料明细!');
return;
}
}
//
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -3038,6 +3065,7 @@
}
})
})
});
},
deleteNotifySOSPlus(row){
//
@ -3891,6 +3919,21 @@
},
editNotifyMaterialFun(row){
//
searchSumNotifyMaterialList(row).then(({data}) => {
if (data && data.code === 0 && data.rows && data.rows.length > 0) {
//
const hasIssuedQty = data.rows.some(item => {
const qty = parseFloat(item.qtyToIssueOriginal) || 0;
return qty > 0;
});
if (hasIssuedQty) {
this.$message.warning('该单据已有合计已发数量,不能编辑主信息!');
return;
}
}
//
//
this.currentRow = JSON.parse(JSON.stringify(row));
@ -3913,6 +3956,7 @@
})
}
})
});
},
//
@ -3956,6 +4000,19 @@
return false;
}
//
searchSumNotifyMaterialList(this.currentRow).then(({data}) => {
if (data && data.code === 0 && data.rows && data.rows.length > 0) {
const hasIssuedQty = data.rows.some(item => {
const qty = parseFloat(item.qtyToIssueOriginal) || 0;
return qty > 0;
});
if (hasIssuedQty) {
this.$message.warning('该单据已有合计已发数量,不能新增材料明细!');
return;
}
}
//
//
this.newMaterialData = {
componentPartNo: '',
@ -3974,6 +4031,7 @@
//
this.loadOrderOptions();
this.addMaterialModalFlag = true;
});
},
//

23
src/views/modules/qc/inboundNotification.vue

@ -202,9 +202,9 @@
<el-tab-pane label="入库明细" name="inboundDetail">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px;">
<el-form label-position="top" style="margin-left: 2px; margin-bottom: 0;">
<el-button v-if="currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中'" type="primary" @click="addInboundDetailModal()" icon="el-icon-plus">新增</el-button>
<el-button v-if="currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中'" type="primary" @click="deleteInboundDetail()" icon="el-icon-minus">删除</el-button>
<el-button v-if="!editBatchVisible && (currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中')" @click="editBatchModel">批量编辑</el-button>
<el-button v-if="(currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中') && !hasActualInboundQty" type="primary" @click="addInboundDetailModal()" icon="el-icon-plus">新增</el-button>
<el-button v-if="(currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中') && !hasActualInboundQty" type="primary" @click="deleteInboundDetail()" icon="el-icon-minus">删除</el-button>
<el-button v-if="!editBatchVisible && (currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中') && !hasActualInboundQty" @click="editBatchModel">批量编辑</el-button>
<el-button v-if="!editBatchVisible && (currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中')" @click="changeWarehouseBatch">更换仓库</el-button>
<el-button v-if="editBatchVisible" @click="batchModel" :loading="saveLoading">批量保存</el-button>
<el-button v-if="editBatchVisible" @click="editBatchVisible = false" type="info">取消编辑</el-button>
@ -320,7 +320,7 @@
label="操作">
<template slot-scope="scope">
<el-link style="cursor: pointer" @click="inboundDetailModal(scope.row)">入库明细</el-link>
<el-link v-if="currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中'" style="cursor: pointer; margin-left: 10px;" type="warning" @click="labelImportModal(scope.row)">标签导入</el-link>
<el-link v-if="(currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中') && !hasActualInboundQty" style="cursor: pointer; margin-left: 10px;" type="warning" @click="labelImportModal(scope.row)">标签导入</el-link>
</template>
</el-table-column>
</el-table>
@ -1274,6 +1274,16 @@
const qty = parseFloat(item.requiredQty) || 0;
return sum + qty;
}, 0);
},
//
hasActualInboundQty() {
if (!this.detailList || this.detailList.length === 0) {
return false;
}
return this.detailList.some(item => {
const qty = parseFloat(item.actualStockInQty) || 0;
return qty > 0;
});
}
},
@ -1403,6 +1413,11 @@
this.$message.warning('该类型单据不能编辑!')
return
}
//
if (this.hasActualInboundQty) {
this.$message.warning('该单据已有实际入库数量,不能编辑主信息!')
return
}
this.modalData = {
flag: '2',
site: row.site,

24
src/views/modules/qc/outboundNotification.vue

@ -203,9 +203,9 @@
<el-tabs v-model="activeTable" style="width: 100%" :style="{height: secondHeight + 'px'}" type="border-card" @tab-click="tabClick" class="customer-tab">
<el-tab-pane label="出库明细" name="outboundDetail">
<el-form label-position="top" style="margin-left: 2px;">
<el-button v-if="currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中'" type="primary" @click="addOutboundDetailModal()" icon="el-icon-plus">新增</el-button>
<el-button v-if="currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中'" type="primary" @click="deleteOutboundDetail()" icon="el-icon-minus">删除</el-button>
<el-button v-if="!editBatchVisible && (currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中')" @click="editBatchModel">批量编辑</el-button>
<el-button v-if="(currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中') && !hasActualOutboundQty" type="primary" @click="addOutboundDetailModal()" icon="el-icon-plus">新增</el-button>
<el-button v-if="(currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中') && !hasActualOutboundQty" type="primary" @click="deleteOutboundDetail()" icon="el-icon-minus">删除</el-button>
<el-button v-if="!editBatchVisible && (currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中') && !hasActualOutboundQty" @click="editBatchModel">批量编辑</el-button>
<el-button v-if="!editBatchVisible && (currentRow.orderStatus === '草稿' || currentRow.orderStatus === '编辑中')" @click="changeWarehouseBatch">更换仓库</el-button>
<el-button v-if="editBatchVisible" @click="batchModel" :loading="saveLoading">批量保存</el-button>
<el-button v-if="editBatchVisible" @click="editBatchVisible = false" type="info">取消编辑</el-button>
@ -1227,6 +1227,19 @@
}
},
computed: {
//
hasActualOutboundQty() {
if (!this.detailList || this.detailList.length === 0) {
return false;
}
return this.detailList.some(item => {
const qty = parseFloat(item.actualStockOutQty) || 0;
return qty > 0;
});
}
},
mounted () {
this.$nextTick(() => {
this.height = window.innerHeight / 2 - 100
@ -1351,6 +1364,11 @@
this.$message.warning('销售出库单据不能编辑!')
return
}
//
if (this.hasActualOutboundQty) {
this.$message.warning('该单据已有实际出库数量,不能编辑主信息!')
return
}
this.modalData = {
flag: '2',
site: row.site,

Loading…
Cancel
Save