Browse Source

qc文件阅读改动

master
shenzhouyu 3 weeks ago
parent
commit
412dbe5479
  1. 51
      src/views/modules/qc/FQCResultEntry.vue
  2. 51
      src/views/modules/qc/IPQCResultEntry.vue
  3. 2
      src/views/modules/qc/IQCFileTable.vue
  4. 17
      src/views/modules/qc/PQCResultEntry.vue

51
src/views/modules/qc/FQCResultEntry.vue

@ -104,10 +104,9 @@
<el-table-column header-align="center" align="center" width="90" label="是否阅读">
<template slot-scope="scope">
<span v-if="scope.row.state !== '待检验'"></span>
<span v-else-if="scope.row.hasWorkFile === 'N'">无需</span>
<span v-else-if="scope.row.workFileRead === 'Y'" style="color: #3ac252"></span>
<span v-else-if="scope.row.hasWorkFile === 'Y' && scope.row.workFileRead === 'Y'" style="color: #3ac252"></span>
<span v-else-if="scope.row.hasWorkFile === 'Y'" style="color: red"></span>
<span v-else></span>
<span v-else>无需</span>
</template>
</el-table-column>
<el-table-column v-for="(item,index) in columnList1" :key="index" :sortable="item.columnSortable"
@ -3325,6 +3324,22 @@ export default {
return matched || row
},
// part_sop(mes) / SOP(orderRef2=)
isMustReadWorkFile(file, row) {
if (!file) {
return false
}
if (file.orderReftype === 'mes') {
return true
}
const partNo = row && row.partNo
return !!(partNo && file.orderRef2 === partNo)
},
getMustReadWorkFiles(files, row) {
return (files || []).filter(file => this.isMustReadWorkFile(file, row))
},
saveWorkFileReadToServer(row) {
const target = this.resolveWorkFileRow(row)
if (!target || !target.inspectionNo || target.workFileRead === 'Y') {
@ -3341,8 +3356,8 @@ export default {
})
},
onWorkFilePreviewed() {
if (this.currentWorkFileRow) {
onWorkFilePreviewed(file) {
if (this.currentWorkFileRow && this.isMustReadWorkFile(file, this.currentWorkFileRow)) {
this.saveWorkFileReadToServer(this.currentWorkFileRow)
}
},
@ -3382,7 +3397,8 @@ export default {
} else {
this.fileContentList = []
}
this.$set(this.resolveWorkFileRow(row), 'hasWorkFile', this.fileContentList.length > 0 ? 'Y' : 'N')
const mustReadFiles = this.getMustReadWorkFiles(this.fileContentList, row)
this.$set(this.resolveWorkFileRow(row), 'hasWorkFile', mustReadFiles.length > 0 ? 'Y' : 'N')
this.fileLoading = false
})
.catch(() => {
@ -3675,28 +3691,29 @@ export default {
})
},
//
//
detailModal(row) {
if (row.state === '待检验' && row.workFileRead !== 'Y') {
if (row.hasWorkFile === 'N') {
if (row.state !== '待检验') {
this.openDetailModal(row)
return
}
if (row.workFileRead === 'Y' || row.hasWorkFile === 'N') {
this.openDetailModal(row)
return
}
this.fetchWorkFiles(row).then(files => {
const target = this.resolveWorkFileRow(row)
this.$set(target, 'hasWorkFile', files.length > 0 ? 'Y' : 'N')
if (files.length > 0 && target.workFileRead !== 'Y') {
const mustReadFiles = this.getMustReadWorkFiles(files, target)
this.$set(target, 'hasWorkFile', mustReadFiles.length > 0 ? 'Y' : 'N')
if (mustReadFiles.length === 0 || target.workFileRead === 'Y') {
this.openDetailModal(row)
return
}
this.$message.warning('请先预览工作文件后再进行检验操作')
this.currentWorkFileRow = target
this.fileContentList = files
this.fileFlag = true
return
}
this.openDetailModal(row)
})
return
}
this.openDetailModal(row)
},
openDetailModal(row) {

51
src/views/modules/qc/IPQCResultEntry.vue

@ -140,10 +140,9 @@
label="是否阅读">
<template slot-scope="scope">
<span v-if="scope.row.state !== '待检验'"></span>
<span v-else-if="scope.row.hasWorkFile === 'N'">无需</span>
<span v-else-if="scope.row.workFileRead === 'Y'" style="color: #3ac252"></span>
<span v-else-if="scope.row.hasWorkFile === 'Y' && scope.row.workFileRead === 'Y'" style="color: #3ac252"></span>
<span v-else-if="scope.row.hasWorkFile === 'Y'" style="color: red"></span>
<span v-else></span>
<span v-else>无需</span>
</template>
</el-table-column>
<el-table-column
@ -3051,6 +3050,22 @@
return matched || row
},
// part_sop(mes) / SOP(orderRef2=)
isMustReadWorkFile (file, row) {
if (!file) {
return false
}
if (file.orderReftype === 'mes') {
return true
}
const partNo = row && row.partNo
return !!(partNo && file.orderRef2 === partNo)
},
getMustReadWorkFiles (files, row) {
return (files || []).filter(file => this.isMustReadWorkFile(file, row))
},
saveWorkFileReadToServer (row) {
const target = this.resolveWorkFileRow(row)
if (!target || !target.inspectionNo || target.workFileRead === 'Y') {
@ -3067,8 +3082,8 @@
})
},
onWorkFilePreviewed () {
if (this.currentWorkFileRow) {
onWorkFilePreviewed (file) {
if (this.currentWorkFileRow && this.isMustReadWorkFile(file, this.currentWorkFileRow)) {
this.saveWorkFileReadToServer(this.currentWorkFileRow)
}
},
@ -3105,7 +3120,8 @@
} else {
this.fileContentList = []
}
this.$set(this.resolveWorkFileRow(row), 'hasWorkFile', this.fileContentList.length > 0 ? 'Y' : 'N')
const mustReadFiles = this.getMustReadWorkFiles(this.fileContentList, row)
this.$set(this.resolveWorkFileRow(row), 'hasWorkFile', mustReadFiles.length > 0 ? 'Y' : 'N')
this.fileLoading = false
}).catch(()=>{
this.fileLoading = false
@ -3774,28 +3790,29 @@
})
},
//
//
detailModal (row) {
if (row.state === '待检验' && row.workFileRead !== 'Y') {
if (row.hasWorkFile === 'N') {
if (row.state !== '待检验') {
this.openDetailModal(row)
return
}
if (row.workFileRead === 'Y' || row.hasWorkFile === 'N') {
this.openDetailModal(row)
return
}
this.fetchWorkFiles(row).then(files => {
const target = this.resolveWorkFileRow(row)
this.$set(target, 'hasWorkFile', files.length > 0 ? 'Y' : 'N')
if (files.length > 0 && target.workFileRead !== 'Y') {
const mustReadFiles = this.getMustReadWorkFiles(files, target)
this.$set(target, 'hasWorkFile', mustReadFiles.length > 0 ? 'Y' : 'N')
if (mustReadFiles.length === 0 || target.workFileRead === 'Y') {
this.openDetailModal(row)
return
}
this.$message.warning('请先预览工作文件后再进行检验操作')
this.currentWorkFileRow = target
this.fileContentList = files
this.fileFlag = true
return
}
this.openDetailModal(row)
})
return
}
this.openDetailModal(row)
},
openDetailModal (row) {

2
src/views/modules/qc/IQCFileTable.vue

@ -132,6 +132,7 @@ export default {
// URL
URL.revokeObjectURL(linkNode.href)
document.body.removeChild(linkNode)
this.emitFilePreviewed(row)
})
},
@ -156,6 +157,7 @@ export default {
// URL
URL.revokeObjectURL(linkNode.href)
document.body.removeChild(linkNode)
this.emitFilePreviewed(row)
})
},

17
src/views/modules/qc/PQCResultEntry.vue

@ -3949,6 +3949,23 @@ export default {
},
Transfer (type) {
if (!this.detailData.operator || this.detailData.operator === '') {
this.$message.warning('请选择协同人员!')
return
}
if (!this.detailData.responsiblePerson || this.detailData.responsiblePerson === '') {
this.$message.warning('请选择责任人!')
return
}
if (this.detailList.length > 0) {
for (let i = 0; i < this.detailList.length; i++) {
const item = this.detailList[i]
if (item.valueTypeDb === 'N' && (item.numberValue === '' || item.numberValue == null)) {
this.$message.warning('检验项目【'+ item.itemNo+'-'+ (item.itemDesc || (i + 1)) + '】实测值不能为空!')
return
}
}
}
if (type === '2') {
// if (this.detailData.inspectionResult === '' || this.detailData.inspectionResult == null) {
// this.$message.warning('')

Loading…
Cancel
Save