|
|
@ -141,6 +141,12 @@ |
|
|
<el-option label="未同步" value="N" /> |
|
|
<el-option label="未同步" value="N" /> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="Importance"> |
|
|
|
|
|
<el-select v-model="searchData.importance" clearable placeholder="全部" style="width: 90px"> |
|
|
|
|
|
<el-option label="✓" value="Y" /> |
|
|
|
|
|
<el-option label="X" value="N" /> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
<el-form-item label="打样状态"> |
|
|
<el-form-item label="打样状态"> |
|
|
<el-select |
|
|
<el-select |
|
|
class="search-proofing-status-select" |
|
|
class="search-proofing-status-select" |
|
|
@ -194,6 +200,7 @@ |
|
|
height="670" |
|
|
height="670" |
|
|
v-loading="dataListLoading" |
|
|
v-loading="dataListLoading" |
|
|
@sort-change="handleTrackingTableSortChange" |
|
|
@sort-change="handleTrackingTableSortChange" |
|
|
|
|
|
@filter-change="handleTrackingTableFilterChange" |
|
|
@selection-change="selectionChange" |
|
|
@selection-change="selectionChange" |
|
|
@row-click="rowClick" |
|
|
@row-click="rowClick" |
|
|
style="width: 100%; margin-top: 8px" |
|
|
style="width: 100%; margin-top: 8px" |
|
|
@ -209,6 +216,11 @@ |
|
|
:align="item.align || 'left'" |
|
|
:align="item.align || 'left'" |
|
|
:fixed="item.fixed === '' ? false : item.fixed" |
|
|
:fixed="item.fixed === '' ? false : item.fixed" |
|
|
:show-overflow-tooltip="item.showOverflowTooltip" |
|
|
:show-overflow-tooltip="item.showOverflowTooltip" |
|
|
|
|
|
:column-key="item.columnProp" |
|
|
|
|
|
:filters="getTrackingColumnFilters(item)" |
|
|
|
|
|
:filter-multiple="false" |
|
|
|
|
|
:filtered-value="getTrackingColumnFilteredValue(item)" |
|
|
|
|
|
:filter-method="passthroughTrackingColumnFilter" |
|
|
> |
|
|
> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<span |
|
|
<span |
|
|
@ -883,6 +895,11 @@ |
|
|
</div> |
|
|
</div> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
|
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('importance')"> |
|
|
|
|
|
<el-form-item label="Importance"> |
|
|
|
|
|
<el-checkbox v-model="oneKeyForm.importance" true-label="Y" false-label="N" :disabled="isOneKeyDetailMode"></el-checkbox> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('pmInqueryTime')"> |
|
|
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('pmInqueryTime')"> |
|
|
<el-form-item label="PM inquery time"> |
|
|
<el-form-item label="PM inquery time"> |
|
|
<el-date-picker |
|
|
<el-date-picker |
|
|
@ -905,7 +922,9 @@ |
|
|
</el-date-picker> |
|
|
</el-date-picker> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="(isOneKeyCreateFieldVisible('requiredDeliveryDate') ? 18 : 24) - (isOneKeyCreateFieldVisible('baseline') ? 6 : 0) - (isOneKeyCreateFieldVisible('pmInqueryTime') ? 6 : 0)" v-show="isOneKeyCreateFieldVisible('remark')"> |
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
|
<el-row :gutter="16"> |
|
|
|
|
|
<el-col :span="24" v-show="isOneKeyCreateFieldVisible('remark')"> |
|
|
<el-form-item label="备注"> |
|
|
<el-form-item label="备注"> |
|
|
<el-input v-model="oneKeyForm.remark" style="width: 100%"></el-input> |
|
|
<el-input v-model="oneKeyForm.remark" style="width: 100%"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
@ -1073,6 +1092,13 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="6"> |
|
|
<el-col :span="6"> |
|
|
|
|
|
<el-form-item label="Importance"> |
|
|
|
|
|
<el-checkbox v-model="proofDialogData.importance" true-label="Y" false-label="N"></el-checkbox> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
<el-row :gutter="16"> |
|
|
|
|
|
<el-col :span="24"> |
|
|
<el-form-item label="备注"> |
|
|
<el-form-item label="备注"> |
|
|
<el-input v-model="proofDialogData.remark" style="width: 100%" ></el-input> |
|
|
<el-input v-model="proofDialogData.remark" style="width: 100%" ></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
@ -1622,7 +1648,8 @@ export default { |
|
|
sampleMakingYear: '', |
|
|
sampleMakingYear: '', |
|
|
sampleMakingMonth: '', |
|
|
sampleMakingMonth: '', |
|
|
pmInqueryTimeStart: '', |
|
|
pmInqueryTimeStart: '', |
|
|
pmInqueryTimeEnd: '' |
|
|
|
|
|
|
|
|
pmInqueryTimeEnd: '', |
|
|
|
|
|
importance: '' |
|
|
}, |
|
|
}, |
|
|
searchCustomerOptions: [], |
|
|
searchCustomerOptions: [], |
|
|
searchCustomerOptionLoading: false, |
|
|
searchCustomerOptionLoading: false, |
|
|
@ -1720,6 +1747,7 @@ export default { |
|
|
'proofingNo', |
|
|
'proofingNo', |
|
|
'proofingStatus', |
|
|
'proofingStatus', |
|
|
'proofingNumber', |
|
|
'proofingNumber', |
|
|
|
|
|
'importance', |
|
|
'baseline', |
|
|
'baseline', |
|
|
'planStartDate', |
|
|
'planStartDate', |
|
|
'pmInqueryTime', |
|
|
'pmInqueryTime', |
|
|
@ -2121,11 +2149,63 @@ export default { |
|
|
this.$message.error('未找到对应NPI页面,请确认是否有菜单权限') |
|
|
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) { |
|
|
getTrackingColumnDisplayValue (row, columnProp) { |
|
|
if (!row || !columnProp) { |
|
|
if (!row || !columnProp) { |
|
|
return '' |
|
|
return '' |
|
|
} |
|
|
} |
|
|
const value = row[columnProp] |
|
|
const value = row[columnProp] |
|
|
|
|
|
if (columnProp === 'importance') { |
|
|
|
|
|
return this.formatImportanceDisplay(value) |
|
|
|
|
|
} |
|
|
if (columnProp === 'pmInqueryTime') { |
|
|
if (columnProp === 'pmInqueryTime') { |
|
|
return this.formatDate(value) |
|
|
return this.formatDate(value) |
|
|
} |
|
|
} |
|
|
@ -4017,6 +4097,7 @@ export default { |
|
|
requiredDeliveryDate: '', |
|
|
requiredDeliveryDate: '', |
|
|
baseline: '', |
|
|
baseline: '', |
|
|
pmInqueryTime: '', |
|
|
pmInqueryTime: '', |
|
|
|
|
|
importance: 'N', |
|
|
needDate: '', |
|
|
needDate: '', |
|
|
remark: '' |
|
|
remark: '' |
|
|
} |
|
|
} |
|
|
@ -4047,6 +4128,7 @@ export default { |
|
|
requiredDeliveryDate: '', |
|
|
requiredDeliveryDate: '', |
|
|
actualityDeliveryDate: '', |
|
|
actualityDeliveryDate: '', |
|
|
pmInqueryTime: '', |
|
|
pmInqueryTime: '', |
|
|
|
|
|
importance: 'N', |
|
|
proofingStatus: '草稿', |
|
|
proofingStatus: '草稿', |
|
|
remark: '', |
|
|
remark: '', |
|
|
createBy: this.$store.state.user.name, |
|
|
createBy: this.$store.state.user.name, |
|
|
@ -4070,6 +4152,7 @@ export default { |
|
|
inData.sampleMakingMonth = this.normalizeSearchInteger(inData.sampleMakingMonth) |
|
|
inData.sampleMakingMonth = this.normalizeSearchInteger(inData.sampleMakingMonth) |
|
|
inData.pmInqueryTimeStart = this.isBlankValue(inData.pmInqueryTimeStart) ? null : inData.pmInqueryTimeStart |
|
|
inData.pmInqueryTimeStart = this.isBlankValue(inData.pmInqueryTimeStart) ? null : inData.pmInqueryTimeStart |
|
|
inData.pmInqueryTimeEnd = this.isBlankValue(inData.pmInqueryTimeEnd) ? null : inData.pmInqueryTimeEnd |
|
|
inData.pmInqueryTimeEnd = this.isBlankValue(inData.pmInqueryTimeEnd) ? null : inData.pmInqueryTimeEnd |
|
|
|
|
|
inData.importance = this.isBlankValue(inData.importance) ? '' : this.normalizeImportanceFilter(inData.importance) |
|
|
// 非 RFID 查询不带分类条件,避免筛选项隐藏后仍按旧值过滤。 |
|
|
// 非 RFID 查询不带分类条件,避免筛选项隐藏后仍按旧值过滤。 |
|
|
if (!this.isRfidBuNo(inData.buNo || this.searchData.buNo)) { |
|
|
if (!this.isRfidBuNo(inData.buNo || this.searchData.buNo)) { |
|
|
inData.dryWetType = '' |
|
|
inData.dryWetType = '' |
|
|
@ -4258,6 +4341,7 @@ export default { |
|
|
this.searchData.sampleMakingMonth = '' |
|
|
this.searchData.sampleMakingMonth = '' |
|
|
this.searchData.pmInqueryTimeStart = '' |
|
|
this.searchData.pmInqueryTimeStart = '' |
|
|
this.searchData.pmInqueryTimeEnd = '' |
|
|
this.searchData.pmInqueryTimeEnd = '' |
|
|
|
|
|
this.searchData.importance = '' |
|
|
this.ensureSearchBuNoSelected() |
|
|
this.ensureSearchBuNoSelected() |
|
|
this.queryProcessColumns().then(() => { |
|
|
this.queryProcessColumns().then(() => { |
|
|
this.getDataList('Y') |
|
|
this.getDataList('Y') |
|
|
@ -5189,6 +5273,7 @@ export default { |
|
|
inData.projectCreationDate = inData.buildDate |
|
|
inData.projectCreationDate = inData.buildDate |
|
|
} |
|
|
} |
|
|
inData.pmInqueryTime = this.isBlankValue(inData.pmInqueryTime) ? null : this.formatDate(inData.pmInqueryTime) |
|
|
inData.pmInqueryTime = this.isBlankValue(inData.pmInqueryTime) ? null : this.formatDate(inData.pmInqueryTime) |
|
|
|
|
|
inData.importance = this.normalizeImportanceValue(inData.importance) |
|
|
return inData |
|
|
return inData |
|
|
}, |
|
|
}, |
|
|
validateOneKeySubmitPayload (inData) { |
|
|
validateOneKeySubmitPayload (inData) { |
|
|
@ -5299,6 +5384,7 @@ export default { |
|
|
requiredDeliveryDate: current.requiredDeliveryDate || '', |
|
|
requiredDeliveryDate: current.requiredDeliveryDate || '', |
|
|
baseline: current.baseline || '', |
|
|
baseline: current.baseline || '', |
|
|
pmInqueryTime: this.formatDate(current.pmInqueryTime), |
|
|
pmInqueryTime: this.formatDate(current.pmInqueryTime), |
|
|
|
|
|
importance: this.normalizeImportanceValue(current.importance), |
|
|
needDate: project.needDate || part.needDate || current.needDate || '', |
|
|
needDate: project.needDate || part.needDate || current.needDate || '', |
|
|
remark: part.remark || project.remark || current.remark || '' |
|
|
remark: part.remark || project.remark || current.remark || '' |
|
|
}) |
|
|
}) |
|
|
@ -5492,6 +5578,7 @@ export default { |
|
|
requiredDeliveryDate: '', |
|
|
requiredDeliveryDate: '', |
|
|
actualityDeliveryDate: '', |
|
|
actualityDeliveryDate: '', |
|
|
pmInqueryTime: '', |
|
|
pmInqueryTime: '', |
|
|
|
|
|
importance: 'N', |
|
|
proofingStatus: '草稿', |
|
|
proofingStatus: '草稿', |
|
|
remark: '', |
|
|
remark: '', |
|
|
createBy: this.$store.state.user.name, |
|
|
createBy: this.$store.state.user.name, |
|
|
@ -5730,6 +5817,7 @@ export default { |
|
|
requiredDeliveryDate: this.proofDialogData.requiredDeliveryDate, |
|
|
requiredDeliveryDate: this.proofDialogData.requiredDeliveryDate, |
|
|
actualityDeliveryDate: this.proofDialogData.actualityDeliveryDate || null, |
|
|
actualityDeliveryDate: this.proofDialogData.actualityDeliveryDate || null, |
|
|
pmInqueryTime: this.isBlankValue(this.proofDialogData.pmInqueryTime) ? null : this.proofDialogData.pmInqueryTime, |
|
|
pmInqueryTime: this.isBlankValue(this.proofDialogData.pmInqueryTime) ? null : this.proofDialogData.pmInqueryTime, |
|
|
|
|
|
importance: this.normalizeImportanceValue(this.proofDialogData.importance), |
|
|
proofingStatus: this.proofDialogData.proofingStatus || '草稿', |
|
|
proofingStatus: this.proofDialogData.proofingStatus || '草稿', |
|
|
remark: this.proofDialogData.remark, |
|
|
remark: this.proofDialogData.remark, |
|
|
tracker: this.proofDialogData.projectOwner, |
|
|
tracker: this.proofDialogData.projectOwner, |
|
|
|