Browse Source

2026-06-09

1、Inventory Part,Weeks和Days按照IFS的描述;
2、有效期,如果是8开头的料号,限制不能为0;
master
fengyuan_yang 3 days ago
parent
commit
7c11495299
  1. 30
      src/views/modules/part/partInformation.vue
  2. 17
      src/views/modules/project/projectInfo/com_project_info_part.vue

30
src/views/modules/part/partInformation.vue

@ -313,7 +313,7 @@
<el-form-item label="制造备货期 / Manufacturing Lead Time"> <el-form-item label="制造备货期 / Manufacturing Lead Time">
<el-input-number :controls="false" :step="0" v-model="modalData.manufacturingLeadTime" @change="changeExpectedLeadTime" :disabled="!(modalData.partType === 'Manufactured' || modalData.partType === 'Manufactured Recipe')" style="width: 222px"></el-input-number> <el-input-number :controls="false" :step="0" v-model="modalData.manufacturingLeadTime" @change="changeExpectedLeadTime" :disabled="!(modalData.partType === 'Manufactured' || modalData.partType === 'Manufactured Recipe')" style="width: 222px"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="周数 / Weeks">
<el-form-item label="Shelf Life(Weeks)">
<el-input class="inlineNumber numInput" v-model="modalData.durabilityWeek" readonly type="number" style="width: 221px"></el-input> <el-input class="inlineNumber numInput" v-model="modalData.durabilityWeek" readonly type="number" style="width: 221px"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -326,7 +326,7 @@
<el-form-item label="预期提前期 / Expected Lead Time"> <el-form-item label="预期提前期 / Expected Lead Time">
<el-input-number :controls="false" :step="0" v-model="modalData.expectedLeadTime" style="width: 222px"></el-input-number> <el-input-number :controls="false" :step="0" v-model="modalData.expectedLeadTime" style="width: 222px"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="天数 / Days">
<el-form-item label="Shelf Life(Days)">
<el-input-number :controls="false" :step="0" v-model="modalData.durabilityDay" @change="changeDurabilityWeek" style="width: 221px"></el-input-number> <el-input-number :controls="false" :step="0" v-model="modalData.durabilityDay" @change="changeDurabilityWeek" style="width: 221px"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -5026,6 +5026,22 @@
}, },
// ======== // ======== // ======== // ========
isEightPrefixPartNo (partNo) {
return /^8/.test((partNo || '').toString().trim())
},
isShelfLifeDayInvalid (durabilityDay) {
return durabilityDay === '' || durabilityDay == null || Number(durabilityDay) === 0
},
isFormalPart (row) {
return row && row.temporaryPartFlag === 'N' && row.status === 'Y'
},
isTemporaryPart (row) {
return row && row.temporaryPartFlag === 'Y' && row.status === 'N'
},
// / // /
saveData () { saveData () {
let partNo = this.modalData.partNo let partNo = this.modalData.partNo
@ -5091,6 +5107,11 @@
this.$message.warning('请填写密度!') this.$message.warning('请填写密度!')
return return
} }
const isFormalPartEdit = this.modalData.flag === '2' && this.isFormalPart(this.modalData)
if (isFormalPartEdit && this.isEightPrefixPartNo(this.modalData.partNo) && this.isShelfLifeDayInvalid(this.modalData.durabilityDay)) {
this.$message.warning('Shelf Life(Days) 不能为空且不能为0!')
return
}
// //
if (this.partItemList.length > 0 if (this.partItemList.length > 0
&& this.partItemList.some(item => { && this.partItemList.some(item => {
@ -5163,6 +5184,11 @@
this.$message.warning('IFS物料编码不能等于PLM物料编码!') this.$message.warning('IFS物料编码不能等于PLM物料编码!')
return return
} }
const isTemporaryPartToFormal = this.isTemporaryPart(this.modalData)
if (isTemporaryPartToFormal && this.isEightPrefixPartNo(this.modalData.ifsPartNo) && this.isShelfLifeDayInvalid(this.modalData.durabilityDay)) {
this.$message.warning('Shelf Life(Days) 不能为空且不能为0!')
return
}
if (this.modalData.planningMethod == null || this.modalData.planningMethod === '') { if (this.modalData.planningMethod == null || this.modalData.planningMethod === '') {
this.$message.warning('请选择计划方法!') this.$message.warning('请选择计划方法!')
return return

17
src/views/modules/project/projectInfo/com_project_info_part.vue

@ -241,7 +241,7 @@
<el-form-item label="制造备货期 / Manufacturing Lead Time"> <el-form-item label="制造备货期 / Manufacturing Lead Time">
<el-input-number :controls="false" :step="0" v-model="modalData.manufacturingLeadTime" @change="changeExpectedLeadTime" :disabled="!(modalData.partType === 'Manufactured' || modalData.partType === 'Manufactured Recipe')" style="width: 223px"></el-input-number> <el-input-number :controls="false" :step="0" v-model="modalData.manufacturingLeadTime" @change="changeExpectedLeadTime" :disabled="!(modalData.partType === 'Manufactured' || modalData.partType === 'Manufactured Recipe')" style="width: 223px"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="周数 / Weeks">
<el-form-item label="Shelf Life(Weeks)">
<el-input class="inlineNumber numInput" v-model="modalData.durabilityWeek" readonly type="number" style="width: 223px"></el-input> <el-input class="inlineNumber numInput" v-model="modalData.durabilityWeek" readonly type="number" style="width: 223px"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -254,7 +254,7 @@
<el-form-item label="预期提前期 / Expected Lead Time"> <el-form-item label="预期提前期 / Expected Lead Time">
<el-input-number :controls="false" :step="0" v-model="modalData.expectedLeadTime" style="width: 223px"></el-input-number> <el-input-number :controls="false" :step="0" v-model="modalData.expectedLeadTime" style="width: 223px"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="天数 / Days">
<el-form-item label="Shelf Life(Days)">
<el-input class="inlineNumber numInput" v-model="modalData.durabilityDay" @change="changeDurabilityWeek" type="number" style="width: 223px"></el-input> <el-input class="inlineNumber numInput" v-model="modalData.durabilityDay" @change="changeDurabilityWeek" type="number" style="width: 223px"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -2641,6 +2641,14 @@ import CodeGeneration from "../../code/generation.vue";
} }
}, },
isEightPrefixPartNo (partNo) {
return /^8/.test((partNo || '').toString().trim())
},
isShelfLifeDayInvalid (durabilityDay) {
return durabilityDay === '' || durabilityDay == null || Number(durabilityDay) === 0
},
// / // /
saveData () { saveData () {
if (this.modalData.partNo === '' || this.modalData.partNo == null) { if (this.modalData.partNo === '' || this.modalData.partNo == null) {
@ -2684,6 +2692,11 @@ import CodeGeneration from "../../code/generation.vue";
this.$message.warning('请填写密度!') this.$message.warning('请填写密度!')
return return
} }
const isFormalPartEdit = this.modalData.flag === '2' && this.modalData.temporaryPartFlag === 'N' && this.modalData.status === 'Y'
if (isFormalPartEdit && this.isEightPrefixPartNo(this.modalData.ifsPartNo) && this.isShelfLifeDayInvalid(this.modalData.durabilityDay)) {
this.$message.warning('正式物料IFS物料编码以8开头时,Shelf Life(Days) 不能为空且不能为0!')
return
}
// //
if (this.partItemList.length > 0 if (this.partItemList.length > 0
&& this.partItemList.some(item => { && this.partItemList.some(item => {

Loading…
Cancel
Save