|
|
|
@ -40,6 +40,9 @@ |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()"> |
|
|
|
<el-form-item label="BU"> |
|
|
|
<bu-select v-model="searchData.buNo" style="width: 120px"></bu-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'项目编码'"> |
|
|
|
<el-input v-model="searchData.projectId" clearable style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
@ -523,130 +526,6 @@ |
|
|
|
|
|
|
|
<!-- 页签 --> |
|
|
|
<el-tabs v-model="activeTable" style="margin-top: 0px; width: 100%; min-height: 500px;" type="border-card" @tab-click="tabClick" class="customer-tab"> |
|
|
|
<!-- 测试详细信息页签 --> |
|
|
|
<el-tab-pane label="测试详细信息" name="test_detail_information" v-if="false"> |
|
|
|
<el-form :inline="true" label-position="top" :model="testDetailData" style="margin-left: 10px;margin-top: 10px;"> |
|
|
|
<el-form-item label="备注"> |
|
|
|
<el-input type="textarea" v-model="testDetailData.technicalConsiderations" readonly :rows="3" resize='none' show-word-limit style="width: 600px;height: 30px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="testDetailData" style="margin-left: 10px;margin-top: 46px;"> |
|
|
|
<el-form-item label="是否需要送样"> |
|
|
|
<input type="checkbox" v-if="testDetailData.isNeedToSendSamples == 'Y'" checked onclick="return false"/> |
|
|
|
<input type="checkbox" v-if="testDetailData.isNeedToSendSamples != 'Y'" onclick="return false"/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="送样地址"> |
|
|
|
<el-input v-model="testDetailData.sendSamplesAddress" readonly style="width: 295px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="testDetailData" style="margin-left: 10px;margin-top: 46px;"> |
|
|
|
<el-form-item label="收货人"> |
|
|
|
<el-input v-model="testDetailData.consignee" readonly style="width: 295px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="收货人联系方式"> |
|
|
|
<el-input v-model="testDetailData.consigneeContact" readonly style="width: 295px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
</el-tab-pane> |
|
|
|
<!-- 测试结果页签 --> |
|
|
|
<el-tab-pane label="测试结果" name="test_result" v-if="false"> |
|
|
|
<el-form :inline="true" label-position="top" :model="testResultData" style="margin-left: 10px;margin-top: 5px;"> |
|
|
|
<el-button v-if="testResultData.testResultStatus === 'C'" type="primary" @click="testResultModal()">录入测试结果</el-button> |
|
|
|
<el-button v-if="testResultData.testResultStatus === 'E'" type="primary" @click="submitTestModal()">录入送样信息</el-button> |
|
|
|
<el-button v-if="testResultData.testResultStatus === 'S'" type="primary" @click="customerResponseModal()">客户回复</el-button> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="testResultData" style="margin-left: 10px;margin-top: 2px;"> |
|
|
|
<el-form-item label="实际交付日期"> |
|
|
|
<el-date-picker v-model="testResultData.actualityDeliveryDate" readonly type="date" value-format="yyyy-MM-dd" style="width: 240px"></el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="是否需要送样"> |
|
|
|
<input type="checkbox" v-if="testResultData.isNeedToSendSamples == 'Y'" checked onclick="return false"/> |
|
|
|
<input type="checkbox" v-if="testResultData.isNeedToSendSamples != 'Y'" onclick="return false"/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="是否送样"> |
|
|
|
<input type="checkbox" v-if="testResultData.testResultStatus == 'S' || testResultData.testResultStatus == 'R'" checked onclick="return false"/> |
|
|
|
<input type="checkbox" v-if="testResultData.testResultStatus != 'S' && testResultData.testResultStatus != 'R'" onclick="return false"/> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="testResultData" style="margin-left: 10px;margin-top: -1px;"> |
|
|
|
<el-form-item label="测试结果信息"> |
|
|
|
<el-input type="textarea" v-model="testResultData.testResultInformation" readonly :rows="2" resize='none' show-word-limit style="width: 760px;height: 20px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="testResultData" style="margin-left: 10px;margin-top: 26px;"> |
|
|
|
<el-form-item label="附件清单"> |
|
|
|
<el-table |
|
|
|
:height="90" |
|
|
|
:data="fileContentList" |
|
|
|
border |
|
|
|
v-loading="dataListLoading" |
|
|
|
style="width: 100%"> |
|
|
|
<el-table-column |
|
|
|
v-for="(item,index) in fileColumnList" :key="index" |
|
|
|
:sortable="item.columnSortable" |
|
|
|
:prop="item.columnProp" |
|
|
|
:header-align="item.headerAlign" |
|
|
|
:show-overflow-tooltip="item.showOverflowTooltip" |
|
|
|
:align="item.align" |
|
|
|
:fixed="item.fixed===''?false:item.fixed" |
|
|
|
:min-width="item.columnWidth" |
|
|
|
:label="item.columnLabel"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span> |
|
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
fixed="right" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
width="100" |
|
|
|
label="操作"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<a @click="downloadFile(scope.row)">下载</a> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="testResultData" style="margin-left: 10px;margin-top: 69px;"> |
|
|
|
<el-form-item label="实际送样日期"> |
|
|
|
<el-date-picker v-model="testResultData.actualitySendSamplesDate" readonly type="date" value-format="yyyy-MM-dd" style="width: 240px"></el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="送样方式"> |
|
|
|
<el-input v-model="testResultData.sendSamplesMethod" readonly style="width: 240px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="送货信息"> |
|
|
|
<el-input v-model="testResultData.deliverGoodsInformation" readonly style="width: 240px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="testResultData" style="margin-left: 10px;margin-top: -2px;"> |
|
|
|
<el-form-item label="送货备注"> |
|
|
|
<el-input type="textarea" v-model="testResultData.deliverGoodsRemark" readonly :rows="2" resize='none' show-word-limit style="width: 760px;height: 20px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="testResultData" style="margin-left: 10px;margin-top: 26px;"> |
|
|
|
<el-form-item label="客户是否回复"> |
|
|
|
<input type="checkbox" v-if="testResultData.testResultStatus == 'R'" checked onclick="return false"/> |
|
|
|
<input type="checkbox" v-if="testResultData.testResultStatus != 'R'" onclick="return false"/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="客户确认结果"> |
|
|
|
<el-input v-model="testResultData.confirmResults" readonly style="width: 205px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="实际回复日期"> |
|
|
|
<el-date-picker v-model="testResultData.actualityReplyDate" readonly type="date" value-format="yyyy-MM-dd" style="width: 240px"></el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="客户确认人"> |
|
|
|
<el-input v-model="testResultData.confirmBy" readonly style="width: 205px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="testResultData" style="margin-left: 10px;margin-top: -2px;"> |
|
|
|
<el-form-item label="客户回复信息"> |
|
|
|
<el-input type="textarea" v-model="testResultData.confirmInformation" readonly :rows="2" resize='none' show-word-limit style="width: 760px;height: 20px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
</el-tab-pane> |
|
|
|
|
|
|
|
<el-tab-pane label="基本信息" name="attribute"> |
|
|
|
<test-properties ref="tabProperties" v-model:data-list="testPropertiesList" :test-no="testCurrentRow.testNo" :disabled="testCurrentRow.testStatus === '已完成'" height="45vh"></test-properties> |
|
|
|
</el-tab-pane> |
|
|
|
@ -682,7 +561,7 @@ |
|
|
|
<test-table ref="tabSoBom" :test-number="testCurrentRow.testNumber" :disabled="testCurrentRow.testStatus === '已完成'" :test-no="testCurrentRow.testNo" height="45vh" v-model:data-list="testSoBomList"></test-table> |
|
|
|
</el-tab-pane> |
|
|
|
<el-tab-pane label="制程信息" name="test_so_routing" style="padding: 5px"> |
|
|
|
<test-routing-table ref="tabSoBom" :test-no="testCurrentRow.testNo" v-model:data-list="testSoRoutingList" :disabled="testCurrentRow.testStatus === '已完成'" height="45vh" ></test-routing-table> |
|
|
|
<test-routing-table ref="tabSoRoiuting" :test-no="testCurrentRow.testNo" v-model:data-list="testSoRoutingList" :disabled="testCurrentRow.testStatus === '已完成'" height="45vh" ></test-routing-table> |
|
|
|
</el-tab-pane> |
|
|
|
<el-tab-pane label="附件信息" name="file"> |
|
|
|
<!-- <test-file ref="tabFile" :column-list="fileColumnList" v-model:data-list="testFileList" :test-no="testCurrentRow.testNo" :height="500"></test-file>--> |
|
|
|
@ -1076,6 +955,7 @@ |
|
|
|
import {queryCustomer} from "../../../api/customer/customerInformation"; |
|
|
|
import {queryProjectByCustomer, queryProjectPart} from "../../../api/project/project"; |
|
|
|
import OssComponents from "../oss/ossComponents.vue"; |
|
|
|
import BuSelect from "../base/BuSelect.vue"; |
|
|
|
export default { |
|
|
|
computed: { |
|
|
|
testInformationFlag () { |
|
|
|
@ -1093,6 +973,7 @@ |
|
|
|
}, |
|
|
|
name:"test", |
|
|
|
components: { |
|
|
|
BuSelect, |
|
|
|
OssComponents, |
|
|
|
TestFile, |
|
|
|
TestProperties, |
|
|
|
@ -1199,7 +1080,8 @@ |
|
|
|
page: 1, |
|
|
|
limit: 10, |
|
|
|
menuId: this.$route.meta.menuId, |
|
|
|
testNo: '' |
|
|
|
testNo: '', |
|
|
|
buNo: '', |
|
|
|
}, |
|
|
|
// 其它 |
|
|
|
dataListLoading: false, |
|
|
|
@ -1361,6 +1243,23 @@ |
|
|
|
// ======== 列表表头 ======== |
|
|
|
columnList: [ |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 103001, |
|
|
|
serialNumber: '103001Table1BuDesc', |
|
|
|
tableId: '103001Table1', |
|
|
|
tableName: '测试信息表', |
|
|
|
columnProp: 'buDesc', |
|
|
|
headerAlign: 'center', |
|
|
|
align: 'center', |
|
|
|
columnLabel: 'BU', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
columnWidth: 80 |
|
|
|
},{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 103001, |
|
|
|
serialNumber: '103001Table1TestNo', |
|
|
|
@ -2261,7 +2160,11 @@ |
|
|
|
} |
|
|
|
this.searchData.limit = this.pageSize |
|
|
|
this.searchData.page = this.pageIndex |
|
|
|
testInformationSearch(this.searchData).then(({data}) => { |
|
|
|
let params = { |
|
|
|
...this.searchData, |
|
|
|
createBy:this.$store.state.user.name, |
|
|
|
} |
|
|
|
testInformationSearch(params).then(({data}) => { |
|
|
|
if (data.code === 0) { |
|
|
|
this.dataList = data.page.list |
|
|
|
this.pageIndex = data.page.currPage |
|
|
|
@ -2439,7 +2342,11 @@ |
|
|
|
getDataList () { |
|
|
|
this.searchData.limit = this.pageSize |
|
|
|
this.searchData.page = this.pageIndex |
|
|
|
testInformationSearch(this.searchData).then(({data}) => { |
|
|
|
let params = { |
|
|
|
...this.searchData, |
|
|
|
createBy:this.$store.state.user.name, |
|
|
|
} |
|
|
|
testInformationSearch(params).then(({data}) => { |
|
|
|
if (data.code === 0) { |
|
|
|
this.dataList = data.page.list |
|
|
|
this.pageIndex = data.page.currPage |
|
|
|
@ -3351,6 +3258,10 @@ |
|
|
|
} |
|
|
|
}, |
|
|
|
selectTestSoBom(){ |
|
|
|
if (!this.modalData.testNo && !this.testCurrentRow.testNo){ |
|
|
|
this.testSoBomList = [] |
|
|
|
return |
|
|
|
} |
|
|
|
let params = { |
|
|
|
testNo:this.modalData.testNo?this.modalData.testNo:this.testCurrentRow.testNo, |
|
|
|
site:this.$store.state.user.site |
|
|
|
@ -3362,6 +3273,10 @@ |
|
|
|
}) |
|
|
|
}, |
|
|
|
selectTestSoRoutingList(){ |
|
|
|
if (!this.modalData.testNo && !this.testCurrentRow.testNo){ |
|
|
|
this.testSoRoutingList = [] |
|
|
|
return |
|
|
|
} |
|
|
|
let params = { |
|
|
|
site:this.$store.state.user.site, |
|
|
|
testNo:this.modalData.testNo?this.modalData.testNo:this.testCurrentRow.testNo, |
|
|
|
|