|
|
@ -1,7 +1,10 @@ |
|
|
<template> |
|
|
<template> |
|
|
<div class="mod-config"> |
|
|
<div class="mod-config"> |
|
|
<!-- 查询条件 --> |
|
|
<!-- 查询条件 --> |
|
|
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()"> |
|
|
|
|
|
|
|
|
<el-form :inline="true" label-position="top" :model="searchData"> |
|
|
|
|
|
<el-form-item label="申请单号"> |
|
|
|
|
|
<el-input v-model="searchData.quotationNo" clearable style="width: 120px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
<el-form-item label="申请批次号"> |
|
|
<el-form-item label="申请批次号"> |
|
|
<el-input v-model="searchData.quotationBatchNo" clearable style="width: 120px"></el-input> |
|
|
<el-input v-model="searchData.quotationBatchNo" clearable style="width: 120px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
@ -43,6 +46,9 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()"> |
|
|
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()"> |
|
|
|
|
|
<el-form-item label="BU"> |
|
|
|
|
|
<el-input v-model="searchData.buNo" clearable style="width: 120px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
<el-form-item label="批次序号"> |
|
|
<el-form-item label="批次序号"> |
|
|
<el-input v-model="searchData.quotationItemNo" clearable style="width: 120px"></el-input> |
|
|
<el-input v-model="searchData.quotationItemNo" clearable style="width: 120px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
@ -556,147 +562,11 @@ |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
<!-- 页签 --> |
|
|
<!-- 页签 --> |
|
|
<el-tabs v-model="activeTable" type="border-card" style="margin-top: 0px; width: 100%; min-height: 500px;" |
|
|
|
|
|
|
|
|
<el-tabs v-model="activeTable" type="border-card" style="margin-top: 0px;" |
|
|
@tab-click="tabClick" class="customer-tab"> |
|
|
@tab-click="tabClick" class="customer-tab"> |
|
|
<!-- 询价详细信息页签 --> |
|
|
|
|
|
<el-tab-pane label="询价详细信息" name="quotation_detail_information" style="" v-if="false"> |
|
|
|
|
|
<el-form :inline="true" label-position="top" :model="quotationDetailData" |
|
|
|
|
|
style="margin-left: 10px;margin-top: 10px;"> |
|
|
|
|
|
<el-form-item label="备注"> |
|
|
|
|
|
<el-input |
|
|
|
|
|
type="textarea" |
|
|
|
|
|
v-model="quotationDetailData.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="quotationDetailData" |
|
|
|
|
|
style="margin-left: 10px;margin-top: 46px;"> |
|
|
|
|
|
<el-form-item label="客户负责人"> |
|
|
|
|
|
<el-input v-model="quotationDetailData.customerResponsiblePerson" readonly style="width: 295px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="客户负责人联系方式"> |
|
|
|
|
|
<el-input v-model="quotationDetailData.customerResponsiblePersonPhone" readonly |
|
|
|
|
|
style="width: 295px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
</el-tab-pane> |
|
|
|
|
|
<!-- 询价结果页签 --> |
|
|
|
|
|
<el-tab-pane label="询价结果" name="quotation_result" v-if="false"> |
|
|
|
|
|
<el-form :inline="true" label-position="top" :model="quotationResultData" |
|
|
|
|
|
style="margin-left: 10px;margin-top: 5px;"> |
|
|
|
|
|
<el-button v-if="quotationResultData.quotationResultStatus === 'C'" type="primary" |
|
|
|
|
|
@click="quotationResultModal()">录入询价结果 |
|
|
|
|
|
</el-button> |
|
|
|
|
|
<el-button v-if="quotationResultData.quotationResultStatus === 'E'" type="primary" |
|
|
|
|
|
@click="submitQuotationModal()">提交客户询价 |
|
|
|
|
|
</el-button> |
|
|
|
|
|
<el-button v-if="quotationResultData.quotationResultStatus === 'S'" type="primary" |
|
|
|
|
|
@click="customerResponseModal()">客户回复 |
|
|
|
|
|
</el-button> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
<el-form :inline="true" label-position="top" :model="quotationResultData" |
|
|
|
|
|
style="margin-left: 10px;margin-top: 2px;"> |
|
|
|
|
|
<el-form-item label="实际询价日期"> |
|
|
|
|
|
<el-date-picker v-model="quotationResultData.actualityQuotationDate" readonly type="date" |
|
|
|
|
|
value-format="yyyy-MM-dd" style="width: 240px"></el-date-picker> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
<el-form :inline="true" label-position="top" :model="quotationResultData" |
|
|
|
|
|
style="margin-left: 10px;margin-top: -1px;"> |
|
|
|
|
|
<el-form-item label="询价结果信息"> |
|
|
|
|
|
<el-input type="textarea" v-model="quotationResultData.quotationResultInformation" 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="quotationResultData" |
|
|
|
|
|
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="quotationResultData" |
|
|
|
|
|
style="margin-left: 10px;margin-top: 69px;"> |
|
|
|
|
|
<el-form-item label="实际提交看客户日期"> |
|
|
|
|
|
<el-date-picker v-model="quotationResultData.actualitySubmissionDate" 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="quotationResultData.submissionMethod" readonly style="width: 240px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
<el-form :inline="true" label-position="top" :model="quotationResultData" |
|
|
|
|
|
style="margin-left: 10px;margin-top: -2px;"> |
|
|
|
|
|
<el-form-item label="提交备注"> |
|
|
|
|
|
<el-input type="textarea" v-model="quotationResultData.submissionRemark" 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="quotationResultData" |
|
|
|
|
|
style="margin-left: 10px;margin-top: 26px;"> |
|
|
|
|
|
<el-form-item label="客户是否回复"> |
|
|
|
|
|
<input type="checkbox" v-if="quotationResultData.quotationResultStatus == 'R'" checked |
|
|
|
|
|
onclick="return false"/> |
|
|
|
|
|
<input type="checkbox" v-if="quotationResultData.quotationResultStatus != 'R'" onclick="return false"/> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="客户确认结果"> |
|
|
|
|
|
<el-input v-model="quotationResultData.confirmResults" readonly style="width: 205px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="实际回复日期"> |
|
|
|
|
|
<el-date-picker v-model="quotationResultData.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="quotationResultData.confirmBy" readonly style="width: 205px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
<el-form :inline="true" label-position="top" :model="quotationResultData" |
|
|
|
|
|
style="margin-left: 10px;margin-top: -2px;"> |
|
|
|
|
|
<el-form-item label="客户回复信息"> |
|
|
|
|
|
<el-input type="textarea" v-model="quotationResultData.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="priceCheck"> |
|
|
<el-tab-pane label="基本信息" name="priceCheck"> |
|
|
<price-check-properties ref="tabProperties" v-model:data-list="priceCheckPropertiesList" |
|
|
<price-check-properties ref="tabProperties" v-model:data-list="priceCheckPropertiesList" |
|
|
:quotation-no="quotationCurrentRow.quotationNo" :height="500"></price-check-properties> |
|
|
|
|
|
|
|
|
:quotation-no="quotationCurrentRow.quotationNo" height="45vh"></price-check-properties> |
|
|
</el-tab-pane> |
|
|
</el-tab-pane> |
|
|
<el-tab-pane label="采购详细信息" name="tabMaterialSourcing"> |
|
|
<el-tab-pane label="采购详细信息" name="tabMaterialSourcing"> |
|
|
<price-check-detail :quote="quotationCurrentRow" :data-list="priceCheckDetailList" @refresh="getPriceCheckDetailList" :height="500"></price-check-detail> |
|
|
<price-check-detail :quote="quotationCurrentRow" :data-list="priceCheckDetailList" @refresh="getPriceCheckDetailList" :height="500"></price-check-detail> |
|
|
@ -2197,7 +2067,11 @@ export default { |
|
|
} |
|
|
} |
|
|
this.searchData.limit = this.pageSize |
|
|
this.searchData.limit = this.pageSize |
|
|
this.searchData.page = this.pageIndex |
|
|
this.searchData.page = this.pageIndex |
|
|
quotationInformationSearch(this.searchData).then(({data}) => { |
|
|
|
|
|
|
|
|
let params = { |
|
|
|
|
|
...this.searchData, |
|
|
|
|
|
createBy: this.$store.state.user.name |
|
|
|
|
|
} |
|
|
|
|
|
quotationInformationSearch(params).then(({data}) => { |
|
|
if (data.code === 0) { |
|
|
if (data.code === 0) { |
|
|
this.dataList = data.page.list |
|
|
this.dataList = data.page.list |
|
|
this.pageIndex = data.page.currPage |
|
|
this.pageIndex = data.page.currPage |
|
|
@ -2211,6 +2085,8 @@ export default { |
|
|
// this.refreshCurrentTabTable() //加载当前的页签的table |
|
|
// this.refreshCurrentTabTable() //加载当前的页签的table |
|
|
this.quotationClickRow(this.dataList[0]) |
|
|
this.quotationClickRow(this.dataList[0]) |
|
|
this.updateModal(this.dataList[0]) |
|
|
this.updateModal(this.dataList[0]) |
|
|
|
|
|
}else { |
|
|
|
|
|
this.quotationCurrentRow = {} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
@ -2219,7 +2095,11 @@ export default { |
|
|
this.searchData.quotationNo = this.$route.params.quotationNo |
|
|
this.searchData.quotationNo = this.$route.params.quotationNo |
|
|
this.searchData.limit = this.pageSize |
|
|
this.searchData.limit = this.pageSize |
|
|
this.searchData.page = this.pageIndex |
|
|
this.searchData.page = this.pageIndex |
|
|
quotationInformationSearch(this.searchData).then(({data}) => { |
|
|
|
|
|
|
|
|
let params = { |
|
|
|
|
|
...this.searchData, |
|
|
|
|
|
createBy: this.$store.state.user.name |
|
|
|
|
|
} |
|
|
|
|
|
quotationInformationSearch(params).then(({data}) => { |
|
|
if (data.code === 0) { |
|
|
if (data.code === 0) { |
|
|
this.dataList = data.page.list |
|
|
this.dataList = data.page.list |
|
|
this.pageIndex = data.page.currPage |
|
|
this.pageIndex = data.page.currPage |
|
|
@ -2234,6 +2114,8 @@ export default { |
|
|
// this.refreshCurrentTabTable() //加载当前的页签的table |
|
|
// this.refreshCurrentTabTable() //加载当前的页签的table |
|
|
this.quotationClickRow(this.dataList[0]) |
|
|
this.quotationClickRow(this.dataList[0]) |
|
|
// this.updateModal(this.dataList[0]) |
|
|
// this.updateModal(this.dataList[0]) |
|
|
|
|
|
}else { |
|
|
|
|
|
this.quotationCurrentRow = {} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
@ -2337,7 +2219,12 @@ export default { |
|
|
getDataList() { |
|
|
getDataList() { |
|
|
this.searchData.limit = this.pageSize |
|
|
this.searchData.limit = this.pageSize |
|
|
this.searchData.page = this.pageIndex |
|
|
this.searchData.page = this.pageIndex |
|
|
quotationInformationSearch(this.searchData).then(({data}) => { |
|
|
|
|
|
|
|
|
let params = { |
|
|
|
|
|
...this.searchData, |
|
|
|
|
|
createBy: this.$store.state.user.name |
|
|
|
|
|
} |
|
|
|
|
|
console.log(params) |
|
|
|
|
|
quotationInformationSearch(params).then(({data}) => { |
|
|
if (data.code === 0) { |
|
|
if (data.code === 0) { |
|
|
this.dataList = data.page.list |
|
|
this.dataList = data.page.list |
|
|
this.pageIndex = data.page.currPage |
|
|
this.pageIndex = data.page.currPage |
|
|
|