|
|
|
@ -6,29 +6,35 @@ |
|
|
|
<el-input v-model="searchData.referenceNo" clearable style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="单据状态"> |
|
|
|
<el-select v-model="searchData.status" clearable style="width: 120px"> |
|
|
|
<el-select v-model="searchData.status" clearable style="width: 100px"> |
|
|
|
<el-option label="草稿" value="草稿"></el-option> |
|
|
|
<el-option label="审批中" value="审批中"></el-option> |
|
|
|
<el-option label="已完成" value="已完成"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="RoHS状态"> |
|
|
|
<el-select v-model="searchData.rohsStatus" clearable style="width: 120px"> |
|
|
|
<el-option label="Active" value="Active"></el-option> |
|
|
|
<el-option label="Dead" value="Dead"></el-option> |
|
|
|
</el-select> |
|
|
|
<el-form-item label="失效日期"> |
|
|
|
<el-date-picker |
|
|
|
style="width: 120px" |
|
|
|
v-model="searchData.expiryStartDate" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
placeholder="开始日期"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="即将失效"> |
|
|
|
<el-select v-model="searchData.isExpiring" clearable style="width: 120px"> |
|
|
|
<el-option label="是" value="Y"></el-option> |
|
|
|
<el-option label="否" value="N"></el-option> |
|
|
|
</el-select> |
|
|
|
<el-form-item :label="' '"> |
|
|
|
<el-date-picker |
|
|
|
style="width: 120px" |
|
|
|
v-model="searchData.expiryEndDate" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
placeholder="结束日期"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="节点审批人"> |
|
|
|
<el-input v-model="searchData.currentApprover" clearable style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="当前节点"> |
|
|
|
<el-select v-model="searchData.nodeId" placeholder="请选择节点" clearable style="width: 120px"> |
|
|
|
<el-select v-model="searchData.nodeId" placeholder="请选择节点" clearable style="width: 140px"> |
|
|
|
<el-option |
|
|
|
v-for="option in nodeOptions" |
|
|
|
:key="option.id" |
|
|
|
@ -41,8 +47,13 @@ |
|
|
|
<el-input v-model="searchData.ifsPartNo" clearable style="width: 140px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="IFS物料描述"> |
|
|
|
<el-input v-model="searchData.materialDesc" clearable style="width: 180px"></el-input> |
|
|
|
<el-input v-model="searchData.materialDesc" clearable style="width: 200px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="' '"> |
|
|
|
<el-checkbox v-model="searchData.isExpiring" true-label="Y" false-label="">Waiting for HSF update</el-checkbox> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="searchData" style="margin-top: -10px"> |
|
|
|
<el-form-item :label="' '"> |
|
|
|
<el-button v-if="authSearch" @click="getDataList">查询</el-button> |
|
|
|
<el-button v-if="authUpdate" @click="addOrUpdateHandle()">新增</el-button> |
|
|
|
@ -111,6 +122,7 @@ |
|
|
|
<span>{{ normalizeDateOnly(scope.row.expiryDate) }}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="rohsStatus" header-align="center" align="center" label="RoHS状态" width="110"></el-table-column> |
|
|
|
<el-table-column fixed="right" header-align="center" align="center" width="130" label="操作"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-link v-if="authUpdate && scope.row.status !== '已完成'" style="cursor: pointer" @click="addOrUpdateHandle(scope.row)">编辑</el-link> |
|
|
|
@ -1292,10 +1304,10 @@ |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<el-dialog width="700px" title="更新失效日期" :close-on-click-modal="false" :visible.sync="updateExpiryDialogFlag" v-drag> |
|
|
|
<el-dialog width="730px" title="更新失效日期" :close-on-click-modal="false" :visible.sync="updateExpiryDialogFlag" v-drag> |
|
|
|
<el-form :inline="true" label-position="top" :model="updateExpiryForm"> |
|
|
|
<el-form-item label="报告日期/Report Date"> |
|
|
|
<el-date-picker v-model="updateExpiryForm.expiredDate" type="date" value-format="yyyy-MM-dd" style="width: 150px" :editable=false></el-date-picker> |
|
|
|
<el-date-picker v-model="updateExpiryForm.expiredDate" type="date" value-format="yyyy-MM-dd" style="width: 125px" :editable=false></el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="有效期数值/Valid Until Value"> |
|
|
|
<el-input-number |
|
|
|
@ -1311,7 +1323,13 @@ |
|
|
|
<dict-data-select v-model="updateExpiryForm.validUntil" clearable style="width: 150px" dict-type="rohs_valid_until"></dict-data-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="失效日期/Expiry Date"> |
|
|
|
<el-date-picker v-model="updateExpiryForm.expiryDate" type="date" value-format="yyyy-MM-dd" disabled style="width: 150px" :editable=false></el-date-picker> |
|
|
|
<el-date-picker v-model="updateExpiryForm.expiryDate" type="date" value-format="yyyy-MM-dd" disabled style="width: 125px" :editable=false></el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="状态/Status"> |
|
|
|
<el-select v-model="updateExpiryForm.rohsStatus" style="width: 90px"> |
|
|
|
<el-option label="Active" value="Active"></el-option> |
|
|
|
<el-option label="Dead" value="Dead"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-footer style="height:35px;margin-top:20px;text-align:center"> |
|
|
|
@ -1653,8 +1671,9 @@ export default { |
|
|
|
site: this.$store.state.user.site, |
|
|
|
referenceNo: '', |
|
|
|
status: '', |
|
|
|
rohsStatus: '', |
|
|
|
isExpiring: '', |
|
|
|
expiryStartDate: '', |
|
|
|
expiryEndDate: '', |
|
|
|
currentApprover: '', |
|
|
|
nodeId: '', |
|
|
|
ifsPartNo: '', |
|
|
|
@ -2173,6 +2192,7 @@ export default { |
|
|
|
expiredDate: '', |
|
|
|
validUntilValue: null, |
|
|
|
validUntil: '', |
|
|
|
rohsStatus: '', |
|
|
|
expiryDate: '' |
|
|
|
}, |
|
|
|
hsfStandardDefaultText: 'With the follow environmental specification: Macallan regulated Substances specification(069-0135) /Macallan sustainable fiber specification(099-00532)', |
|
|
|
@ -2260,9 +2280,9 @@ export default { |
|
|
|
this.handleRouteQuery() |
|
|
|
} |
|
|
|
this.$nextTick(() => { |
|
|
|
this.height = window.innerHeight / 2 - 30 |
|
|
|
this.height = window.innerHeight / 2 - 60 |
|
|
|
/*第二个表格高度的动态调整*/ |
|
|
|
this.secondHeight = window.innerHeight / 2 - 186 |
|
|
|
this.secondHeight = window.innerHeight / 2 - 188 |
|
|
|
}) |
|
|
|
}, |
|
|
|
activated () { |
|
|
|
@ -3122,6 +3142,7 @@ export default { |
|
|
|
expiredDate: this.normalizeDateOnly(this.modalData.expiredDate), |
|
|
|
validUntilValue: validUntilValue, |
|
|
|
validUntil: String(this.modalData.validUntil || '').trim(), |
|
|
|
rohsStatus: String(this.modalData.rohsStatus || 'Active').trim() || 'Active', |
|
|
|
expiryDate: '' |
|
|
|
} |
|
|
|
this.syncUpdateExpiryDateByRule() |
|
|
|
@ -3143,12 +3164,14 @@ export default { |
|
|
|
: this.updateExpiryForm.validUntilValue |
|
|
|
) |
|
|
|
const validUntil = String(latestData.validUntil || this.updateExpiryForm.validUntil || '').trim() |
|
|
|
const rohsStatus = String(latestData.rohsStatus || this.updateExpiryForm.rohsStatus || this.modalData.rohsStatus || 'Active').trim() || 'Active' |
|
|
|
const expiryDate = this.normalizeDateOnly(latestData.expiryDate || this.updateExpiryForm.expiryDate) |
|
|
|
const isExpiring = String(latestData.isExpiring || this.modalData.isExpiring || 'N').trim().toUpperCase() === 'Y' ? 'Y' : 'N' |
|
|
|
|
|
|
|
this.$set(this.modalData, 'expiredDate', expiredDate) |
|
|
|
this.$set(this.modalData, 'validUntilValue', validUntilValue) |
|
|
|
this.$set(this.modalData, 'validUntil', validUntil) |
|
|
|
this.$set(this.modalData, 'rohsStatus', rohsStatus) |
|
|
|
this.$set(this.modalData, 'expiryDate', expiryDate) |
|
|
|
this.$set(this.modalData, 'isExpiring', isExpiring) |
|
|
|
|
|
|
|
@ -3156,6 +3179,7 @@ export default { |
|
|
|
this.$set(this.currentRow, 'expiredDate', expiredDate) |
|
|
|
this.$set(this.currentRow, 'validUntilValue', validUntilValue) |
|
|
|
this.$set(this.currentRow, 'validUntil', validUntil) |
|
|
|
this.$set(this.currentRow, 'rohsStatus', rohsStatus) |
|
|
|
this.$set(this.currentRow, 'expiryDate', expiryDate) |
|
|
|
this.$set(this.currentRow, 'isExpiring', isExpiring) |
|
|
|
} |
|
|
|
@ -3164,6 +3188,7 @@ export default { |
|
|
|
this.$set(target, 'expiredDate', expiredDate) |
|
|
|
this.$set(target, 'validUntilValue', validUntilValue) |
|
|
|
this.$set(target, 'validUntil', validUntil) |
|
|
|
this.$set(target, 'rohsStatus', rohsStatus) |
|
|
|
this.$set(target, 'expiryDate', expiryDate) |
|
|
|
this.$set(target, 'isExpiring', isExpiring) |
|
|
|
} |
|
|
|
@ -3176,6 +3201,7 @@ export default { |
|
|
|
const expiredDate = this.normalizeDateOnly(this.updateExpiryForm.expiredDate) |
|
|
|
const validUntilValue = this.normalizeValidUntilValue(this.updateExpiryForm.validUntilValue) |
|
|
|
const validUntil = String(this.updateExpiryForm.validUntil || '').trim() |
|
|
|
const rohsStatus = String(this.updateExpiryForm.rohsStatus || '').trim() |
|
|
|
if (!expiredDate) { |
|
|
|
this.$message.warning('报告日期不能为空') |
|
|
|
return |
|
|
|
@ -3188,6 +3214,10 @@ export default { |
|
|
|
this.$message.warning('有效期单位不能为空') |
|
|
|
return |
|
|
|
} |
|
|
|
if (!rohsStatus) { |
|
|
|
this.$message.warning('状态不能为空') |
|
|
|
return |
|
|
|
} |
|
|
|
const expiryDate = this.calculateExpiryDateByRule(expiredDate, validUntilValue, validUntil) |
|
|
|
if (!expiryDate) { |
|
|
|
this.$message.warning('有效期信息不完整,无法计算失效日期') |
|
|
|
@ -3196,6 +3226,7 @@ export default { |
|
|
|
this.$set(this.updateExpiryForm, 'expiredDate', expiredDate) |
|
|
|
this.$set(this.updateExpiryForm, 'validUntilValue', validUntilValue) |
|
|
|
this.$set(this.updateExpiryForm, 'validUntil', validUntil) |
|
|
|
this.$set(this.updateExpiryForm, 'rohsStatus', rohsStatus) |
|
|
|
this.$set(this.updateExpiryForm, 'expiryDate', expiryDate) |
|
|
|
|
|
|
|
const params = { |
|
|
|
@ -3203,7 +3234,8 @@ export default { |
|
|
|
referenceNo: this.modalData.referenceNo, |
|
|
|
expiredDate: expiredDate, |
|
|
|
validUntilValue: validUntilValue, |
|
|
|
validUntil: validUntil |
|
|
|
validUntil: validUntil, |
|
|
|
rohsStatus: rohsStatus |
|
|
|
} |
|
|
|
this.updateExpiryLoading = true |
|
|
|
api.updateRohsExpiryInfo(params).then(({data}) => { |
|
|
|
@ -3579,8 +3611,9 @@ export default { |
|
|
|
menuId: this.menuId, |
|
|
|
referenceNo: this.searchData.referenceNo, |
|
|
|
status: this.searchData.status, |
|
|
|
rohsStatus: this.searchData.rohsStatus, |
|
|
|
isExpiring: this.searchData.isExpiring, |
|
|
|
expiryStartDate: this.searchData.expiryStartDate, |
|
|
|
expiryEndDate: this.searchData.expiryEndDate, |
|
|
|
currentApprover: this.searchData.currentApprover, |
|
|
|
nodeId: this.searchData.nodeId, |
|
|
|
ifsPartNo: this.searchData.ifsPartNo, |
|
|
|
@ -3747,9 +3780,17 @@ export default { |
|
|
|
}, |
|
|
|
async createExportData () { |
|
|
|
const params = { |
|
|
|
...this.searchData, |
|
|
|
site: this.$store.state.user.site, |
|
|
|
menuId: this.menuId, |
|
|
|
referenceNo: this.searchData.referenceNo, |
|
|
|
status: this.searchData.status, |
|
|
|
isExpiring: this.searchData.isExpiring, |
|
|
|
expiryStartDate: this.searchData.expiryStartDate, |
|
|
|
expiryEndDate: this.searchData.expiryEndDate, |
|
|
|
currentApprover: this.searchData.currentApprover, |
|
|
|
nodeId: this.searchData.nodeId, |
|
|
|
ifsPartNo: this.searchData.ifsPartNo, |
|
|
|
materialDesc: this.searchData.materialDesc, |
|
|
|
page: 1, |
|
|
|
limit: -1 |
|
|
|
} |
|
|
|
@ -3862,6 +3903,7 @@ export default { |
|
|
|
expiredDate: '', |
|
|
|
validUntilValue: null, |
|
|
|
validUntil: '', |
|
|
|
rohsStatus: '', |
|
|
|
expiryDate: '' |
|
|
|
} |
|
|
|
this.rejectOpinion = '' |
|
|
|
|