diff --git a/src/views/modules/sampleTracking/projectProofTracking.vue b/src/views/modules/sampleTracking/projectProofTracking.vue
index daea97d..45fbf42 100644
--- a/src/views/modules/sampleTracking/projectProofTracking.vue
+++ b/src/views/modules/sampleTracking/projectProofTracking.vue
@@ -141,6 +141,12 @@
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
@@ -1073,6 +1092,13 @@
+
+
+
+
+
+
+
@@ -1622,7 +1648,8 @@ export default {
sampleMakingYear: '',
sampleMakingMonth: '',
pmInqueryTimeStart: '',
- pmInqueryTimeEnd: ''
+ pmInqueryTimeEnd: '',
+ importance: ''
},
searchCustomerOptions: [],
searchCustomerOptionLoading: false,
@@ -1720,6 +1747,7 @@ export default {
'proofingNo',
'proofingStatus',
'proofingNumber',
+ 'importance',
'baseline',
'planStartDate',
'pmInqueryTime',
@@ -2121,11 +2149,63 @@ export default {
this.$message.error('未找到对应NPI页面,请确认是否有菜单权限')
})
},
+ isImportanceChecked (value) {
+ if (value === true || value === 1) {
+ return true
+ }
+ const text = value == null ? '' : String(value).trim().toUpperCase()
+ return text === 'Y' || text === 'YES' || text === 'TRUE' || text === '1' || text === '√'
+ },
+ normalizeImportanceValue (value) {
+ return this.isImportanceChecked(value) ? 'Y' : 'N'
+ },
+ normalizeImportanceFilter (value) {
+ const text = value == null ? '' : String(value).trim().toUpperCase()
+ if (text === 'Y') {
+ return 'Y'
+ }
+ if (text === 'N') {
+ return 'N'
+ }
+ return ''
+ },
+ formatImportanceDisplay (value) {
+ return this.isImportanceChecked(value) ? '✓' : ''
+ },
+ getTrackingColumnFilters (item) {
+ if (!item || item.columnProp !== 'importance') {
+ return null
+ }
+ return [
+ { text: '√', value: 'Y' },
+ { text: '', value: 'N' }
+ ]
+ },
+ getTrackingColumnFilteredValue (item) {
+ if (!item || item.columnProp !== 'importance' || this.isBlankValue(this.searchData.importance)) {
+ return []
+ }
+ return [this.searchData.importance]
+ },
+ passthroughTrackingColumnFilter () {
+ return true
+ },
+ handleTrackingTableFilterChange (filters) {
+ if (!filters || !Object.prototype.hasOwnProperty.call(filters, 'importance')) {
+ return
+ }
+ const values = Array.isArray(filters.importance) ? filters.importance : []
+ this.searchData.importance = values.length === 1 ? values[0] : ''
+ this.getDataList('Y')
+ },
getTrackingColumnDisplayValue (row, columnProp) {
if (!row || !columnProp) {
return ''
}
const value = row[columnProp]
+ if (columnProp === 'importance') {
+ return this.formatImportanceDisplay(value)
+ }
if (columnProp === 'pmInqueryTime') {
return this.formatDate(value)
}
@@ -4017,6 +4097,7 @@ export default {
requiredDeliveryDate: '',
baseline: '',
pmInqueryTime: '',
+ importance: 'N',
needDate: '',
remark: ''
}
@@ -4047,6 +4128,7 @@ export default {
requiredDeliveryDate: '',
actualityDeliveryDate: '',
pmInqueryTime: '',
+ importance: 'N',
proofingStatus: '草稿',
remark: '',
createBy: this.$store.state.user.name,
@@ -4070,6 +4152,7 @@ export default {
inData.sampleMakingMonth = this.normalizeSearchInteger(inData.sampleMakingMonth)
inData.pmInqueryTimeStart = this.isBlankValue(inData.pmInqueryTimeStart) ? null : inData.pmInqueryTimeStart
inData.pmInqueryTimeEnd = this.isBlankValue(inData.pmInqueryTimeEnd) ? null : inData.pmInqueryTimeEnd
+ inData.importance = this.isBlankValue(inData.importance) ? '' : this.normalizeImportanceFilter(inData.importance)
// 非 RFID 查询不带分类条件,避免筛选项隐藏后仍按旧值过滤。
if (!this.isRfidBuNo(inData.buNo || this.searchData.buNo)) {
inData.dryWetType = ''
@@ -4258,6 +4341,7 @@ export default {
this.searchData.sampleMakingMonth = ''
this.searchData.pmInqueryTimeStart = ''
this.searchData.pmInqueryTimeEnd = ''
+ this.searchData.importance = ''
this.ensureSearchBuNoSelected()
this.queryProcessColumns().then(() => {
this.getDataList('Y')
@@ -5189,6 +5273,7 @@ export default {
inData.projectCreationDate = inData.buildDate
}
inData.pmInqueryTime = this.isBlankValue(inData.pmInqueryTime) ? null : this.formatDate(inData.pmInqueryTime)
+ inData.importance = this.normalizeImportanceValue(inData.importance)
return inData
},
validateOneKeySubmitPayload (inData) {
@@ -5299,6 +5384,7 @@ export default {
requiredDeliveryDate: current.requiredDeliveryDate || '',
baseline: current.baseline || '',
pmInqueryTime: this.formatDate(current.pmInqueryTime),
+ importance: this.normalizeImportanceValue(current.importance),
needDate: project.needDate || part.needDate || current.needDate || '',
remark: part.remark || project.remark || current.remark || ''
})
@@ -5492,6 +5578,7 @@ export default {
requiredDeliveryDate: '',
actualityDeliveryDate: '',
pmInqueryTime: '',
+ importance: 'N',
proofingStatus: '草稿',
remark: '',
createBy: this.$store.state.user.name,
@@ -5730,6 +5817,7 @@ export default {
requiredDeliveryDate: this.proofDialogData.requiredDeliveryDate,
actualityDeliveryDate: this.proofDialogData.actualityDeliveryDate || null,
pmInqueryTime: this.isBlankValue(this.proofDialogData.pmInqueryTime) ? null : this.proofDialogData.pmInqueryTime,
+ importance: this.normalizeImportanceValue(this.proofDialogData.importance),
proofingStatus: this.proofDialogData.proofingStatus || '草稿',
remark: this.proofDialogData.remark,
tracker: this.proofDialogData.projectOwner,