4 changed files with 288 additions and 0 deletions
-
1src/api/quotation/quotationHeader.js
-
266src/views/modules/project/projectInfo/com_project_info_quotation.vue
-
18src/views/modules/project/projectInfo/projectInfo.vue
-
3src/views/modules/quotation/sellForQuotation.vue
@ -0,0 +1,266 @@ |
|||
<script> |
|||
import {getQuotationHeader} from "@/api/quotation/quotationHeader.js"; |
|||
export default { |
|||
name: 'com_project_info_quotation_header', |
|||
|
|||
data(){ |
|||
return{ |
|||
dataList:[], |
|||
columnList: [ |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 101002001, |
|||
serialNumber: '101002001Table5QuotationNo', |
|||
tableId: '101002001Table5', |
|||
tableName: '报价信息表', |
|||
columnProp: 'quotationNo', |
|||
headerAlign: 'center', |
|||
align: 'center', |
|||
columnLabel: '报价单号', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 101002001, |
|||
serialNumber: '101002001Table5QuotationDate', |
|||
tableId: '101002001Table5', |
|||
tableName: '报价信息表', |
|||
columnProp: 'quotationDate', |
|||
headerAlign: 'center', |
|||
align: 'center', |
|||
columnLabel: '报价日期', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 101002001, |
|||
serialNumber: '101002001Table5CustomerNo', |
|||
tableId: '101002001Table5', |
|||
tableName: '报价信息表', |
|||
columnProp: 'customerNo', |
|||
headerAlign: 'center', |
|||
align: 'center', |
|||
columnLabel: '客户编码', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 101002001, |
|||
serialNumber: '101002001Table5CustomerName', |
|||
tableId: '101002001Table5', |
|||
tableName: '报价信息表', |
|||
columnProp: 'customerName', |
|||
headerAlign: 'center', |
|||
align: 'center', |
|||
columnLabel: '客户名称', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 101002001, |
|||
serialNumber: '101002001Table5QuoterName', |
|||
tableId: '101002001Table5', |
|||
tableName: '报价信息表', |
|||
columnProp: 'quoterName', |
|||
headerAlign: 'center', |
|||
align: 'center', |
|||
columnLabel: '销售员', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 101002001, |
|||
serialNumber: '101002001Table5TrackerName', |
|||
tableId: '101002001Table5', |
|||
tableName: '报价信息表', |
|||
columnProp: 'trackerName', |
|||
headerAlign: 'center', |
|||
align: 'center', |
|||
columnLabel: '跟单员', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 101002001, |
|||
serialNumber: '101002001Table5Currency', |
|||
tableId: '101002001Table5', |
|||
tableName: '报价信息表', |
|||
columnProp: 'currency', |
|||
headerAlign: 'center', |
|||
align: 'center', |
|||
columnLabel: '货币', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 101002001, |
|||
serialNumber: '101002001Table5QuotationStatus', |
|||
tableId: '101002001Table5', |
|||
tableName: '报价信息表', |
|||
columnProp: 'quotationStatus', |
|||
headerAlign: 'center', |
|||
align: 'center', |
|||
columnLabel: '状态', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 101002001, |
|||
serialNumber: '101002001CustomerInquiryNo', |
|||
tableId: '101002001Table5', |
|||
tableName: '报价信息表', |
|||
columnProp: 'customerInquiryNo', |
|||
headerAlign: 'center', |
|||
align: 'center', |
|||
columnLabel: '客户报价单号', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 101002001, |
|||
serialNumber: '101002001InternalInquiryNo', |
|||
tableId: '101002001Table5', |
|||
tableName: '报价信息表', |
|||
columnProp: 'internalInquiryNo', |
|||
headerAlign: 'center', |
|||
align: 'center', |
|||
columnLabel: '内部报价单号', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
}, |
|||
], |
|||
exportData: [], |
|||
exportName: '项目询价'+this.dayjs().format('YYYYMMDDHHmmss'), |
|||
exportHeader: ["项目询价"], |
|||
exportFooter: [], |
|||
} |
|||
}, |
|||
methods:{ |
|||
init(params){ |
|||
getQuotationHeader(params).then(({data})=>{ |
|||
this.dataList = data.data.records; |
|||
}).catch((error)=>{ |
|||
|
|||
}) |
|||
}, |
|||
fields() { |
|||
let json = "{" |
|||
this.columnList.forEach((item, index) => { |
|||
if (index === this.columnList.length - 1) { |
|||
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" |
|||
} else { |
|||
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + "," |
|||
} |
|||
}) |
|||
json += "}" |
|||
let s = eval("(" + json + ")") |
|||
|
|||
return s |
|||
}, |
|||
createExportData() { |
|||
return this.dataList; |
|||
}, |
|||
} |
|||
} |
|||
|
|||
</script> |
|||
|
|||
<template> |
|||
<div> |
|||
<el-form :inline="true" label-position="top" style="margin-top: 0px"> |
|||
<download-excel |
|||
:fields="fields()" |
|||
:data="exportData" |
|||
type="xls" |
|||
:name="exportName" |
|||
:header="exportHeader" |
|||
:footer="exportFooter" |
|||
:fetch="createExportData" |
|||
worksheet="导出信息" |
|||
class="el-button el-button--primary el-button--medium"> |
|||
{{ '导出' }} |
|||
</download-excel> |
|||
</el-form> |
|||
<el-table :data="dataList" stripe border style="width: 100%;margin-top: 12px" :height="240"> |
|||
<el-table-column |
|||
v-for="(item,index) in columnList" :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> |
|||
</div> |
|||
</template> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue