Browse Source

加字段

master
han\hanst 1 week ago
parent
commit
09bbafc120
  1. 212
      src/views/modules/sampleTracking/projectProofTracking.vue

212
src/views/modules/sampleTracking/projectProofTracking.vue

@ -52,6 +52,43 @@
<el-form-item label="打样单号">
<el-input v-model="searchData.proofingNo" clearable placeholder="请输入打样单号" style="width: 120px" />
</el-form-item>
<el-form-item label="Sample making Year">
<el-select v-model="searchData.sampleMakingYear" clearable placeholder="全部" style="width: 110px">
<el-option
v-for="year in sampleMakingYearOptions"
:key="`searchSampleMakingYear_${year}`"
:label="year"
:value="year"
/>
</el-select>
</el-form-item>
<el-form-item label="Sample making Month">
<el-select v-model="searchData.sampleMakingMonth" clearable placeholder="全部" style="width: 90px">
<el-option
v-for="month in sampleMakingMonthOptions"
:key="`searchSampleMakingMonth_${month}`"
:label="month"
:value="month"
/>
</el-select>
</el-form-item>
<el-form-item label="PM inquery time">
<el-date-picker
v-model="searchData.pmInqueryTimeStart"
type="date"
value-format="yyyy-MM-dd"
placeholder="开始"
style="width: 120px"
/>
<span> - </span>
<el-date-picker
v-model="searchData.pmInqueryTimeEnd"
type="date"
value-format="yyyy-MM-dd"
placeholder="结束"
style="width: 120px"
/>
</el-form-item>
<el-form-item label="区域">
<el-select v-model="searchData.cProjectRegion" clearable placeholder="全部" style="width: 110px">
<el-option
@ -846,6 +883,17 @@
</div>
</el-form-item>
</el-col>
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('pmInqueryTime')">
<el-form-item label="PM inquery time">
<el-date-picker
v-model="oneKeyForm.pmInqueryTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期"
style="width: 100%">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6" v-show="isOneKeyCreateFieldVisible('baseline')">
<el-form-item label="Baseline">
<el-date-picker
@ -857,7 +905,7 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="(isOneKeyCreateFieldVisible('requiredDeliveryDate') ? 18 : 24) - (isOneKeyCreateFieldVisible('baseline') ? 6 : 0)" v-show="isOneKeyCreateFieldVisible('remark')">
<el-col :span="(isOneKeyCreateFieldVisible('requiredDeliveryDate') ? 18 : 24) - (isOneKeyCreateFieldVisible('baseline') ? 6 : 0) - (isOneKeyCreateFieldVisible('pmInqueryTime') ? 6 : 0)" v-show="isOneKeyCreateFieldVisible('remark')">
<el-form-item label="备注">
<el-input v-model="oneKeyForm.remark" style="width: 100%"></el-input>
</el-form-item>
@ -1013,7 +1061,18 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="PM inquery time">
<el-date-picker
v-model="proofDialogData.pmInqueryTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期"
style="width: 100%">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="备注">
<el-input v-model="proofDialogData.remark" style="width: 100%" ></el-input>
</el-form-item>
@ -1387,6 +1446,91 @@ const DEFAULT_TRACKING_COLUMNS = [
columnWidth: 80,
showOverflowTooltip: false
},
// Sample Qty / Year / Month / LT PM inquery time
{
serialNumber: 'proofTrackingTable1SampleQty',
columnProp: 'sampleQty',
headerAlign: 'center',
align: 'center',
columnLabel: 'Sample Qty',
columnHidden: false,
columnImage: false,
columnSortable: false,
status: true,
fixed: '',
columnWidth: 90,
showOverflowTooltip: false
},
{
serialNumber: 'proofTrackingTable1PmInqueryTime',
columnProp: 'pmInqueryTime',
headerAlign: 'center',
align: 'center',
columnLabel: 'PM inquery time',
columnHidden: false,
columnImage: false,
columnSortable: false,
status: true,
fixed: '',
columnWidth: 120,
showOverflowTooltip: false
},
{
serialNumber: 'proofTrackingTable1SampleMakingYear',
columnProp: 'sampleMakingYear',
headerAlign: 'center',
align: 'center',
columnLabel: 'Sample making Year',
columnHidden: false,
columnImage: false,
columnSortable: false,
status: true,
fixed: '',
columnWidth: 90,
showOverflowTooltip: false
},
{
serialNumber: 'proofTrackingTable1SampleMakingMonth',
columnProp: 'sampleMakingMonth',
headerAlign: 'center',
align: 'center',
columnLabel: 'Sample making Month',
columnHidden: false,
columnImage: false,
columnSortable: false,
status: true,
fixed: '',
columnWidth: 90,
showOverflowTooltip: false
},
{
serialNumber: 'proofTrackingTable1SampleLt',
columnProp: 'sampleLt',
headerAlign: 'center',
align: 'center',
columnLabel: 'Sample LT',
columnHidden: false,
columnImage: false,
columnSortable: false,
status: true,
fixed: '',
columnWidth: 90,
showOverflowTooltip: false
},
{
serialNumber: 'proofTrackingTable1SampleLtInquery',
columnProp: 'sampleLtInquery',
headerAlign: 'center',
align: 'center',
columnLabel: 'Sample LT(Inquery)',
columnHidden: false,
columnImage: false,
columnSortable: false,
status: true,
fixed: '',
columnWidth: 140,
showOverflowTooltip: false
},
{
serialNumber: 'proofTrackingTable1Baseline',
columnProp: 'baseline',
@ -1473,7 +1617,12 @@ export default {
pic: '',
projectPartSyncFlag: '',
proofSyncFlag: '',
proofingStatusList: []
proofingStatusList: [],
sampleQty: '',
sampleMakingYear: '',
sampleMakingMonth: '',
pmInqueryTimeStart: '',
pmInqueryTimeEnd: ''
},
searchCustomerOptions: [],
searchCustomerOptionLoading: false,
@ -1573,6 +1722,7 @@ export default {
'proofingNumber',
'baseline',
'planStartDate',
'pmInqueryTime',
'requiredDeliveryDate',
'remark'
],
@ -1729,6 +1879,17 @@ export default {
return null
}
return this.proofDialogApplyOptions.find(item => item && item.applyNo === selectedApplyNo) || null
},
sampleMakingYearOptions () {
const currentYear = new Date().getFullYear()
const years = []
for (let year = currentYear; year >= 2022; year--) {
years.push(year)
}
return years
},
sampleMakingMonthOptions () {
return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
}
},
methods: {
@ -1881,7 +2042,7 @@ export default {
const rows = data && Array.isArray(data.rows) ? data.rows : []
if (rows.length > 0) {
this.hasUserTrackingColumnConfig = true
this.trackingColumnList = this.normalizeTrackingColumns(rows, false)
this.trackingColumnList = this.normalizeTrackingColumns(rows, true)
this.refreshTrackingTableLayout()
return this.trackingColumnList
}
@ -1958,6 +2119,15 @@ export default {
return ''
}
const value = row[columnProp]
if (columnProp === 'pmInqueryTime') {
return this.formatDate(value)
}
if (columnProp === 'sampleMakingMonth' && !this.isBlankValue(value)) {
const month = Number(value)
if (!Number.isNaN(month)) {
return String(month).padStart(2, '0')
}
}
return this.isBlankValue(value) ? '' : String(value)
},
isDeliveryVarianceAlert (row) {
@ -3834,6 +4004,7 @@ export default {
planStartDate: '',
requiredDeliveryDate: '',
baseline: '',
pmInqueryTime: '',
needDate: '',
remark: ''
}
@ -3863,12 +4034,32 @@ export default {
planStartDate: '',
requiredDeliveryDate: '',
actualityDeliveryDate: '',
pmInqueryTime: '',
proofingStatus: '草稿',
remark: '',
createBy: this.$store.state.user.name,
updateBy: this.$store.state.user.name
}
},
normalizeSearchInteger (value) {
if (this.isBlankValue(value)) {
return null
}
const parsedValue = parseInt(value, 10)
return Number.isNaN(parsedValue) ? null : parsedValue
},
applyProofTrackingSearchFilters (inData) {
if (!inData) {
return inData
}
// / null Integer
inData.sampleQty = this.normalizeSearchInteger(inData.sampleQty)
inData.sampleMakingYear = this.normalizeSearchInteger(inData.sampleMakingYear)
inData.sampleMakingMonth = this.normalizeSearchInteger(inData.sampleMakingMonth)
inData.pmInqueryTimeStart = this.isBlankValue(inData.pmInqueryTimeStart) ? null : inData.pmInqueryTimeStart
inData.pmInqueryTimeEnd = this.isBlankValue(inData.pmInqueryTimeEnd) ? null : inData.pmInqueryTimeEnd
return inData
},
getDataList (flag) {
if (flag === 'Y') {
this.pageIndex = 1
@ -3883,6 +4074,7 @@ export default {
})
inData.buNo = this.normalizeBuNo(inData.buNo, inData.site)
inData.proofingStatusList = normalizedProofingStatusList
this.applyProofTrackingSearchFilters(inData)
this.dataListLoading = true
searchProofTracking(inData).then(({ data }) => {
this.dataListLoading = false
@ -3966,6 +4158,7 @@ export default {
exportCommentsColumn: true
})
inData.proofingStatusList = normalizedProofingStatusList
this.applyProofTrackingSearchFilters(inData)
this.exportLoading = true
try {
const response = await exportProofTracking(inData)
@ -4044,6 +4237,11 @@ export default {
this.searchData.projectPartSyncFlag = ''
this.searchData.proofSyncFlag = ''
this.searchData.proofingStatusList = []
this.searchData.sampleQty = ''
this.searchData.sampleMakingYear = ''
this.searchData.sampleMakingMonth = ''
this.searchData.pmInqueryTimeStart = ''
this.searchData.pmInqueryTimeEnd = ''
this.ensureSearchBuNoSelected()
this.queryProcessColumns().then(() => {
this.getDataList('Y')
@ -4974,6 +5172,7 @@ export default {
} else if (!this.isBlankValue(inData.buildDate)) {
inData.projectCreationDate = inData.buildDate
}
inData.pmInqueryTime = this.isBlankValue(inData.pmInqueryTime) ? null : this.formatDate(inData.pmInqueryTime)
return inData
},
validateOneKeySubmitPayload (inData) {
@ -5083,6 +5282,7 @@ export default {
planStartDate: current.planStartDate || '',
requiredDeliveryDate: current.requiredDeliveryDate || '',
baseline: current.baseline || '',
pmInqueryTime: this.formatDate(current.pmInqueryTime),
needDate: project.needDate || part.needDate || current.needDate || '',
remark: part.remark || project.remark || current.remark || ''
})
@ -5275,6 +5475,7 @@ export default {
planStartDate: '',
requiredDeliveryDate: '',
actualityDeliveryDate: '',
pmInqueryTime: '',
proofingStatus: '草稿',
remark: '',
createBy: this.$store.state.user.name,
@ -5511,7 +5712,8 @@ export default {
proofingNumber: Number(this.proofDialogData.proofingNumber),
planStartDate: this.proofDialogData.planStartDate,
requiredDeliveryDate: this.proofDialogData.requiredDeliveryDate,
actualityDeliveryDate: this.proofDialogData.actualityDeliveryDate,
actualityDeliveryDate: this.proofDialogData.actualityDeliveryDate || null,
pmInqueryTime: this.isBlankValue(this.proofDialogData.pmInqueryTime) ? null : this.proofDialogData.pmInqueryTime,
proofingStatus: this.proofDialogData.proofingStatus || '草稿',
remark: this.proofDialogData.remark,
tracker: this.proofDialogData.projectOwner,

Loading…
Cancel
Save