|
|
@ -294,23 +294,43 @@ |
|
|
<el-tab-pane label="结果信息" name="resultInfo"> |
|
|
<el-tab-pane label="结果信息" name="resultInfo"> |
|
|
<div style="height: 715px; overflow-y: auto;"> |
|
|
<div style="height: 715px; overflow-y: auto;"> |
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-top: -5px;"> |
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-top: -5px;"> |
|
|
<el-form-item label="测试开始时间/Test Start Date"> |
|
|
|
|
|
|
|
|
<el-form-item label="测试开始时间"> |
|
|
<el-date-picker v-model="modalData.testStartDate" type="date" value-format="yyyy-MM-dd" :disabled="isLabFieldDisabled('testStartDate')" style="width: 170px" :editable="false"></el-date-picker> |
|
|
<el-date-picker v-model="modalData.testStartDate" type="date" value-format="yyyy-MM-dd" :disabled="isLabFieldDisabled('testStartDate')" style="width: 170px" :editable="false"></el-date-picker> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="测试完成日期/Completed Date"> |
|
|
|
|
|
|
|
|
<el-form-item label="测试完成日期"> |
|
|
<el-date-picker v-model="modalData.completedDate" type="date" value-format="yyyy-MM-dd" :disabled="isLabFieldDisabled('completedDate')" style="width: 170px" :editable="false"></el-date-picker> |
|
|
<el-date-picker v-model="modalData.completedDate" type="date" value-format="yyyy-MM-dd" :disabled="isLabFieldDisabled('completedDate')" style="width: 170px" :editable="false"></el-date-picker> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="测试编码/Test Number"> |
|
|
|
|
|
<el-input v-model="modalData.testNumber" :disabled="isLabFieldDisabled('testNumber')" style="width: 170px"></el-input> |
|
|
|
|
|
|
|
|
<el-form-item label="测试编码"> |
|
|
|
|
|
<el-input v-model="modalData.testNumber" :disabled="isLabFieldDisabled('testNumber')" style="width: 250px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<el-form :inline="true" label-position="top" :model="modalData"> |
|
|
<el-form :inline="true" label-position="top" :model="modalData"> |
|
|
<el-form-item label="异常情况及说明/Unnormal Symptom and Description" style="display: block;"> |
|
|
|
|
|
|
|
|
<el-form-item label="异常情况及说明" style="display: block;"> |
|
|
<el-input type="textarea" :rows="3" v-model="modalData.unnormalSymptomAndDescription" :disabled="isLabFieldDisabled('unnormalSymptomAndDescription')" resize="none" style="width: 780px"></el-input> |
|
|
<el-input type="textarea" :rows="3" v-model="modalData.unnormalSymptomAndDescription" :disabled="isLabFieldDisabled('unnormalSymptomAndDescription')" resize="none" style="width: 780px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<el-form :inline="true" label-position="top" :model="modalData"> |
|
|
|
|
|
<el-form-item label="备注(测试员)/Tester Comments" style="display: block;"> |
|
|
|
|
|
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-top: 45px"> |
|
|
|
|
|
<el-form-item style="display: block;"> |
|
|
|
|
|
<template slot="label"> |
|
|
|
|
|
<span class="judge-criteria-label" @click="openTestReportDialog">测试报告</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
<div class="judge-criteria-box" @click="openTestReportDialog"> |
|
|
|
|
|
<template v-if="testReportFileList.length > 0"> |
|
|
|
|
|
<el-link |
|
|
|
|
|
v-for="item in testReportFileList" |
|
|
|
|
|
:key="item.id" |
|
|
|
|
|
type="primary" |
|
|
|
|
|
style="margin-right: 10px" |
|
|
|
|
|
@click.stop="previewTestReportFile(item)"> |
|
|
|
|
|
{{ item.fileName }} |
|
|
|
|
|
</el-link> |
|
|
|
|
|
</template> |
|
|
|
|
|
<span v-else class="judge-criteria-placeholder">点击“测试报告”上传附件</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-top: 20px"> |
|
|
|
|
|
<el-form-item label="备注" style="display: block;"> |
|
|
<el-input type="textarea" :rows="3" v-model="modalData.testerComments" :disabled="isLabFieldDisabled('testerComments')" resize="none" style="width: 780px"></el-input> |
|
|
<el-input type="textarea" :rows="3" v-model="modalData.testerComments" :disabled="isLabFieldDisabled('testerComments')" resize="none" style="width: 780px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
@ -320,7 +340,7 @@ |
|
|
<el-tab-pane label="审批信息-部门经理" name="departmentManagerInfo"> |
|
|
<el-tab-pane label="审批信息-部门经理" name="departmentManagerInfo"> |
|
|
<div style="height: 715px; overflow-y: auto;"> |
|
|
<div style="height: 715px; overflow-y: auto;"> |
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-top: -5px;"> |
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-top: -5px;"> |
|
|
<el-form-item label="备注(部门经理)/Department Manager Comments" style="display: block;"> |
|
|
|
|
|
|
|
|
<el-form-item label="备注(部门经理)" style="display: block;"> |
|
|
<el-input type="textarea" :rows="4" v-model="modalData.departmentManagerComments" :disabled="isLabFieldDisabled('departmentManagerComments')" resize="none" style="width: 780px"></el-input> |
|
|
<el-input type="textarea" :rows="4" v-model="modalData.departmentManagerComments" :disabled="isLabFieldDisabled('departmentManagerComments')" resize="none" style="width: 780px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
@ -330,12 +350,12 @@ |
|
|
<el-tab-pane label="审批信息-实验室" name="labInfo"> |
|
|
<el-tab-pane label="审批信息-实验室" name="labInfo"> |
|
|
<div style="height: 715px; overflow-y: auto;"> |
|
|
<div style="height: 715px; overflow-y: auto;"> |
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-top: -5px;"> |
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-top: -5px;"> |
|
|
<el-form-item label="备注(实验室)/Lab Comments" style="display: block;"> |
|
|
|
|
|
<el-input type="textarea" :rows="4" v-model="modalData.labComments" :disabled="isLabFieldDisabled('labComments')" resize="none" style="width: 780px"></el-input> |
|
|
|
|
|
|
|
|
<el-form-item label="备注(实验室)" style="display: block;"> |
|
|
|
|
|
<el-input type="textarea" :rows="3" v-model="modalData.labComments" :disabled="isLabFieldDisabled('labComments')" resize="none" style="width: 780px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<el-form :inline="true" label-position="top" :model="modalData"> |
|
|
|
|
|
<el-form-item label="测试人(多选)/Tester"> |
|
|
|
|
|
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-top: 45px"> |
|
|
|
|
|
<el-form-item label="测试人"> |
|
|
<el-select |
|
|
<el-select |
|
|
v-model="modalData.testerList" |
|
|
v-model="modalData.testerList" |
|
|
multiple |
|
|
multiple |
|
|
@ -477,6 +497,31 @@ |
|
|
</oss-components> |
|
|
</oss-components> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
<el-dialog |
|
|
|
|
|
title="测试报告附件" |
|
|
|
|
|
:close-on-click-modal="false" |
|
|
|
|
|
:visible.sync="testReportDialogVisible" |
|
|
|
|
|
width="900px" |
|
|
|
|
|
v-drag |
|
|
|
|
|
@close="handleTestReportDialogClose"> |
|
|
|
|
|
<oss-components |
|
|
|
|
|
ref="testReportOss" |
|
|
|
|
|
:save-visible="authFileSave" |
|
|
|
|
|
:download-visible="authFileDownLoad" |
|
|
|
|
|
:remove-visible="authFileRemove" |
|
|
|
|
|
:preview-visible="authFilePreview" |
|
|
|
|
|
:disabled="showModalFlag || modalData.status === '已完成'" |
|
|
|
|
|
:row-click-select="true" |
|
|
|
|
|
label="序列号" |
|
|
|
|
|
:height="460" |
|
|
|
|
|
style="margin-top: 2px" |
|
|
|
|
|
:columns="judgeCriteriaFileColumnList" |
|
|
|
|
|
:order-ref1="modalData.site || ''" |
|
|
|
|
|
:order-ref2="modalData.referenceNo || ''" |
|
|
|
|
|
order-ref3="testReport"> |
|
|
|
|
|
</oss-components> |
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
<el-dialog title="选择-项目" :close-on-click-modal="false" @close="closeProjectInfoDialog" |
|
|
<el-dialog title="选择-项目" :close-on-click-modal="false" @close="closeProjectInfoDialog" |
|
|
@open="searchProjectInfoList" :visible.sync="chooseProjectListFlag" width="35%"> |
|
|
@open="searchProjectInfoList" :visible.sync="chooseProjectListFlag" width="35%"> |
|
|
<el-form label-position="top" :model="searchProjectData" ref="closeProjectInfoForm"> |
|
|
<el-form label-position="top" :model="searchProjectData" ref="closeProjectInfoForm"> |
|
|
@ -607,7 +652,9 @@ export default { |
|
|
modalFlag: false, |
|
|
modalFlag: false, |
|
|
judgeCriteriaDialogVisible: false, |
|
|
judgeCriteriaDialogVisible: false, |
|
|
testSpecDialogVisible: false, |
|
|
testSpecDialogVisible: false, |
|
|
|
|
|
testReportDialogVisible: false, |
|
|
judgeCriteriaFileList: [], |
|
|
judgeCriteriaFileList: [], |
|
|
|
|
|
testReportFileList: [], |
|
|
judgeCriteriaFileColumnList: [ |
|
|
judgeCriteriaFileColumnList: [ |
|
|
{ |
|
|
{ |
|
|
columnProp: 'fileName', |
|
|
columnProp: 'fileName', |
|
|
@ -806,6 +853,7 @@ export default { |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
this.testSpecDialogVisible = false |
|
|
this.testSpecDialogVisible = false |
|
|
|
|
|
this.testReportDialogVisible = false |
|
|
this.modalData.customerId = '' |
|
|
this.modalData.customerId = '' |
|
|
this.modalData.customerName = '' |
|
|
this.modalData.customerName = '' |
|
|
this.modalData.projectId = '' |
|
|
this.modalData.projectId = '' |
|
|
@ -813,6 +861,7 @@ export default { |
|
|
this.modalData.projectIdFlag = true |
|
|
this.modalData.projectIdFlag = true |
|
|
this.$set(this.modalData, 'propertyItemList', []) |
|
|
this.$set(this.modalData, 'propertyItemList', []) |
|
|
this.judgeCriteriaFileList = [] |
|
|
this.judgeCriteriaFileList = [] |
|
|
|
|
|
this.testReportFileList = [] |
|
|
this.searchProjectData.site = site |
|
|
this.searchProjectData.site = site |
|
|
}, |
|
|
}, |
|
|
loadNodeAuthority (site, stepId) { |
|
|
loadNodeAuthority (site, stepId) { |
|
|
@ -920,6 +969,12 @@ export default { |
|
|
ref.handleQuery() |
|
|
ref.handleQuery() |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
refreshTestReportOssTable () { |
|
|
|
|
|
const ref = this.$refs.testReportOss |
|
|
|
|
|
if (ref && typeof ref.handleQuery === 'function') { |
|
|
|
|
|
ref.handleQuery() |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
refreshJudgeCriteriaFileList () { |
|
|
refreshJudgeCriteriaFileList () { |
|
|
if (!this.modalData.site || !this.modalData.referenceNo) { |
|
|
if (!this.modalData.site || !this.modalData.referenceNo) { |
|
|
this.judgeCriteriaFileList = [] |
|
|
this.judgeCriteriaFileList = [] |
|
|
@ -940,6 +995,26 @@ export default { |
|
|
this.judgeCriteriaFileList = [] |
|
|
this.judgeCriteriaFileList = [] |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
|
|
|
refreshTestReportFileList () { |
|
|
|
|
|
if (!this.modalData.site || !this.modalData.referenceNo) { |
|
|
|
|
|
this.testReportFileList = [] |
|
|
|
|
|
return Promise.resolve() |
|
|
|
|
|
} |
|
|
|
|
|
const params = { |
|
|
|
|
|
orderRef1: this.modalData.site, |
|
|
|
|
|
orderRef2: this.modalData.referenceNo, |
|
|
|
|
|
orderRef3: 'testReport' |
|
|
|
|
|
} |
|
|
|
|
|
return queryOss(params).then(({data}) => { |
|
|
|
|
|
if (data && data.code === 0 && Array.isArray(data.rows)) { |
|
|
|
|
|
this.testReportFileList = data.rows |
|
|
|
|
|
} else { |
|
|
|
|
|
this.testReportFileList = [] |
|
|
|
|
|
} |
|
|
|
|
|
}).catch(() => { |
|
|
|
|
|
this.testReportFileList = [] |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
openJudgeCriteriaDialog () { |
|
|
openJudgeCriteriaDialog () { |
|
|
if (!this.modalData.site) { |
|
|
if (!this.modalData.site) { |
|
|
this.$message.warning('请先选择申请工厂') |
|
|
this.$message.warning('请先选择申请工厂') |
|
|
@ -969,12 +1044,30 @@ export default { |
|
|
this.refreshTestSpecOssTable() |
|
|
this.refreshTestSpecOssTable() |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
|
|
|
openTestReportDialog () { |
|
|
|
|
|
if (!this.modalData.site) { |
|
|
|
|
|
this.$message.warning('请先选择申请工厂') |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
if (!this.modalData.referenceNo) { |
|
|
|
|
|
this.$message.warning('单据编号为空,无法上传附件') |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
this.testReportDialogVisible = true |
|
|
|
|
|
this.refreshTestReportFileList() |
|
|
|
|
|
this.$nextTick(() => { |
|
|
|
|
|
this.refreshTestReportOssTable() |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
handleJudgeCriteriaDialogClose () { |
|
|
handleJudgeCriteriaDialogClose () { |
|
|
this.refreshJudgeCriteriaFileList() |
|
|
this.refreshJudgeCriteriaFileList() |
|
|
}, |
|
|
}, |
|
|
handleTestSpecDialogClose () { |
|
|
handleTestSpecDialogClose () { |
|
|
// placeholder to align with dialog close event and keep lifecycle symmetric |
|
|
// placeholder to align with dialog close event and keep lifecycle symmetric |
|
|
}, |
|
|
}, |
|
|
|
|
|
handleTestReportDialogClose () { |
|
|
|
|
|
this.refreshTestReportFileList() |
|
|
|
|
|
}, |
|
|
previewJudgeCriteriaFile (row) { |
|
|
previewJudgeCriteriaFile (row) { |
|
|
if (!this.authFilePreview) { |
|
|
if (!this.authFilePreview) { |
|
|
this.$message.warning('没有附件预览权限') |
|
|
this.$message.warning('没有附件预览权限') |
|
|
@ -1008,6 +1101,9 @@ export default { |
|
|
this.$message.error('文件预览失败') |
|
|
this.$message.error('文件预览失败') |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
|
|
|
previewTestReportFile (row) { |
|
|
|
|
|
this.previewJudgeCriteriaFile(row) |
|
|
|
|
|
}, |
|
|
resolvePropertyDefaultValue (item) { |
|
|
resolvePropertyDefaultValue (item) { |
|
|
if (item && item.defaultValue !== null && item.defaultValue !== undefined && String(item.defaultValue).trim() !== '') { |
|
|
if (item && item.defaultValue !== null && item.defaultValue !== undefined && String(item.defaultValue).trim() !== '') { |
|
|
return String(item.defaultValue).trim() |
|
|
return String(item.defaultValue).trim() |
|
|
@ -1474,10 +1570,12 @@ export default { |
|
|
this.loadModalButtonCondition() |
|
|
this.loadModalButtonCondition() |
|
|
this.loadNodeAuthority(this.modalData.site || row.site, this.modalData.stepId !== null && this.modalData.stepId !== undefined ? this.modalData.stepId : 10) |
|
|
this.loadNodeAuthority(this.modalData.site || row.site, this.modalData.stepId !== null && this.modalData.stepId !== undefined ? this.modalData.stepId : 10) |
|
|
this.refreshJudgeCriteriaFileList() |
|
|
this.refreshJudgeCriteriaFileList() |
|
|
|
|
|
this.refreshTestReportFileList() |
|
|
} |
|
|
} |
|
|
}).catch(() => { |
|
|
}).catch(() => { |
|
|
this.loadNodeAuthority(row.site, row.stepId !== null && row.stepId !== undefined ? row.stepId : 10) |
|
|
this.loadNodeAuthority(row.site, row.stepId !== null && row.stepId !== undefined ? row.stepId : 10) |
|
|
this.judgeCriteriaFileList = [] |
|
|
this.judgeCriteriaFileList = [] |
|
|
|
|
|
this.testReportFileList = [] |
|
|
}) |
|
|
}) |
|
|
} else { |
|
|
} else { |
|
|
this.modalTitle = 'Lab 新增' |
|
|
this.modalTitle = 'Lab 新增' |
|
|
@ -1502,6 +1600,7 @@ export default { |
|
|
this.$set(this.modalData, 'propertyItemList', []) |
|
|
this.$set(this.modalData, 'propertyItemList', []) |
|
|
this.$set(this.modalData, 'testerList', []) |
|
|
this.$set(this.modalData, 'testerList', []) |
|
|
this.judgeCriteriaFileList = [] |
|
|
this.judgeCriteriaFileList = [] |
|
|
|
|
|
this.testReportFileList = [] |
|
|
this.searchProjectData.site = defaultSite |
|
|
this.searchProjectData.site = defaultSite |
|
|
this.nodeAuthorityLoaded = true |
|
|
this.nodeAuthorityLoaded = true |
|
|
this.loadNodeAuthority(this.modalData.site, 10) |
|
|
this.loadNodeAuthority(this.modalData.site, 10) |
|
|
@ -1532,6 +1631,7 @@ export default { |
|
|
handleModalClose () { |
|
|
handleModalClose () { |
|
|
this.judgeCriteriaDialogVisible = false |
|
|
this.judgeCriteriaDialogVisible = false |
|
|
this.testSpecDialogVisible = false |
|
|
this.testSpecDialogVisible = false |
|
|
|
|
|
this.testReportDialogVisible = false |
|
|
this.modalFlag = false |
|
|
this.modalFlag = false |
|
|
}, |
|
|
}, |
|
|
buildLabPayload (source) { |
|
|
buildLabPayload (source) { |
|
|
|