Browse Source

2026-08-27

物料“编码”调整:
首字母不显示F和R;
保存“编码”时,同步修改同家族“未维护编码”的物料的“编码”;
master
fengyuan_yang 3 weeks ago
parent
commit
c5b21a00f3
  1. 47
      src/views/modules/part/partInformation.vue
  2. 47
      src/views/modules/project/projectInfo/com_project_info_part.vue

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

@ -112,7 +112,7 @@
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</div> </div>
<div v-else> <div v-else>
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
<span v-if="!item.columnHidden">{{ item.columnProp === 'drawingNo' ? formatDrawingNoForDisplay(scope.row[item.columnProp]) : scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</div> </div>
</template> </template>
@ -169,7 +169,12 @@
<el-input v-model="modalData.partDesc" clearable style="width: 330px"></el-input> <el-input v-model="modalData.partDesc" clearable style="width: 330px"></el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="modalData.flag === '2' && !copyFlag2 && modalData.status === 'Y'" label="编码"> <el-form-item v-if="modalData.flag === '2' && !copyFlag2 && modalData.status === 'Y'" label="编码">
<el-input v-model="modalData.drawingNo" style="width: 150px" placeholder="可手填或获取编码"></el-input>
<el-input
:value="formatDrawingNoForDisplay(modalData.drawingNo)"
style="width: 150px"
placeholder="可手填或获取编码"
@input="handleModalDrawingNoInput">
</el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="modalData.flag === '2' && !copyFlag2 && modalData.status === 'Y'" :label="' '"> <el-form-item v-if="modalData.flag === '2' && !copyFlag2 && modalData.status === 'Y'" :label="' '">
<el-button type="primary" :loading="drawingNoSaving" @click="openDrawingNoDialog">获取编码</el-button> <el-button type="primary" :loading="drawingNoSaving" @click="openDrawingNoDialog">获取编码</el-button>
@ -3542,6 +3547,38 @@
}, },
methods: { methods: {
formatDrawingNoForDisplay (drawingNo) {
if (drawingNo === null || drawingNo === undefined) {
return ''
}
const drawingNoText = String(drawingNo)
if (/^[FR]/i.test(drawingNoText)) {
return drawingNoText.substring(1)
}
return drawingNoText
},
normalizeDrawingNoDisplayInput (displayValue, currentDrawingNo) {
if (displayValue === null || displayValue === undefined) {
return ''
}
const drawingNoDisplayText = String(displayValue)
if (drawingNoDisplayText === '') {
return ''
}
const currentDrawingNoText = currentDrawingNo === null || currentDrawingNo === undefined
? ''
: String(currentDrawingNo)
const currentPrefix = currentDrawingNoText.charAt(0)
if (/^[FR]$/i.test(currentPrefix) && !/^[FR]/i.test(drawingNoDisplayText)) {
return currentPrefix + drawingNoDisplayText
}
return drawingNoDisplayText
},
handleModalDrawingNoInput (value) {
this.modalData.drawingNo = this.normalizeDrawingNoDisplayInput(value, this.modalData.drawingNo)
},
// //
resetFlags () { resetFlags () {
@ -6207,7 +6244,11 @@
await partInformationSearch(this.searchData).then(({data}) => { await partInformationSearch(this.searchData).then(({data}) => {
this.resultList = data.page.list this.resultList = data.page.list
}) })
return this.resultList
const exportList = (this.resultList || []).map(item => ({
...item,
drawingNo: this.formatDrawingNoForDisplay(item.drawingNo)
}))
return exportList
}, },
startDownload () { startDownload () {

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

@ -63,7 +63,7 @@
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</div> </div>
<div v-else> <div v-else>
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="!item.columnHidden"> {{ item.columnProp === 'drawingNo' ? formatDrawingNoForDisplay(scope.row[item.columnProp]) : scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</div> </div>
</template> </template>
@ -108,7 +108,12 @@
<el-input v-model="modalData.partDesc" clearable style="width: 300px"></el-input> <el-input v-model="modalData.partDesc" clearable style="width: 300px"></el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="modalData.flag === '2' && modalData.status === 'Y'" label="编码"> <el-form-item v-if="modalData.flag === '2' && modalData.status === 'Y'" label="编码">
<el-input v-model="modalData.drawingNo" style="width: 150px" placeholder="可手填或获取编码"></el-input>
<el-input
:value="formatDrawingNoForDisplay(modalData.drawingNo)"
style="width: 150px"
placeholder="可手填或获取编码"
@input="handleModalDrawingNoInput">
</el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="modalData.flag === '2' && modalData.status === 'Y'" :label="' '"> <el-form-item v-if="modalData.flag === '2' && modalData.status === 'Y'" :label="' '">
<el-button type="primary" :loading="drawingNoSaving" @click="openDrawingNoDialog">获取编码</el-button> <el-button type="primary" :loading="drawingNoSaving" @click="openDrawingNoDialog">获取编码</el-button>
@ -1923,6 +1928,39 @@ import CodeGeneration from "../../code/generation.vue";
}, },
methods: { methods: {
formatDrawingNoForDisplay (drawingNo) {
if (drawingNo === null || drawingNo === undefined) {
return ''
}
const drawingNoText = String(drawingNo)
if (/^[FR]/i.test(drawingNoText)) {
return drawingNoText.substring(1)
}
return drawingNoText
},
normalizeDrawingNoDisplayInput (displayValue, currentDrawingNo) {
if (displayValue === null || displayValue === undefined) {
return ''
}
const drawingNoDisplayText = String(displayValue)
if (drawingNoDisplayText === '') {
return ''
}
const currentDrawingNoText = currentDrawingNo === null || currentDrawingNo === undefined
? ''
: String(currentDrawingNo)
const currentPrefix = currentDrawingNoText.charAt(0)
if (/^[FR]$/i.test(currentPrefix) && !/^[FR]/i.test(drawingNoDisplayText)) {
return currentPrefix + drawingNoDisplayText
}
return drawingNoDisplayText
},
handleModalDrawingNoInput (value) {
this.modalData.drawingNo = this.normalizeDrawingNoDisplayInput(value, this.modalData.drawingNo)
},
// //
resetFlags () { resetFlags () {
this.mainInfoFlag = false this.mainInfoFlag = false
@ -3062,7 +3100,10 @@ import CodeGeneration from "../../code/generation.vue";
//excel //excel
createExportData() { createExportData() {
return this.dataList
return (this.dataList || []).map(item => ({
...item,
drawingNo: this.formatDrawingNoForDisplay(item.drawingNo)
}))
}, },
startDownload() { startDownload() {

Loading…
Cancel
Save