| | |
| | | |
| | | <div class="filter" v-else> |
| | | <div class="filter-card"> |
| | | <CommonSearch :show-add="false" :amount-view="false" placeholder="请输入报价单号" @searchClick="onFilterSearch"> |
| | | <CommonSearch |
| | | :show-add="false" |
| | | :amount-view="true" |
| | | :totalObject="totalObject" |
| | | :otherOptions="otherOptions" |
| | | placeholder="请输入报价单号" |
| | | @searchClick="onFilterSearch" |
| | | > |
| | | <template slot="leftButton"> |
| | | <el-button size="small" type="primary" @click="addBtnClick">新建</el-button> |
| | | <!-- <el-button size="small" @click="delClick">删除</el-button>--> |
| | |
| | | class="tab-pane" |
| | | @click="getTab(0)" |
| | | :style="{ |
| | | background: TabsIndex==0 ? '#2a78fb' : '#F1F3F8', |
| | | color: TabsIndex==0 ? '#fff' : '#666' |
| | | background: TabsIndex == 0 ? '#2a78fb' : '#F1F3F8', |
| | | color: TabsIndex == 0 ? '#fff' : '#666' |
| | | }" |
| | | > |
| | | 产品信息 |
| | |
| | | |
| | | <script> |
| | | import AddQuotationDialog from "@/views/sales/quotation/AddQuotationDialog" |
| | | import { getQuotationList, getDelQuotation } from "@/api/sales/quotation" |
| | | import { getQuotationList, getDelQuotation, getQuotationStatistics } from "@/api/sales/quotation" |
| | | import pageMixin from "@/components/makepager/pager/mixin/pageMixin" |
| | | import DetailQuotation from "@/views/sales/quotation/DetailQuotation" |
| | | export default { |
| | |
| | | }, |
| | | computed: {}, |
| | | data() { |
| | | // 产品信息 |
| | | const productColumn = [ |
| | | // 产品信息 |
| | | const productColumn = [ |
| | | { label: "产品编号", prop: "number", default: true }, |
| | | { label: "产品名称", prop: "name" }, |
| | | { label: "数量", prop: "amount" }, |
| | |
| | | { label: "销售单价", prop: "price" }, |
| | | { label: "成本单价", prop: "cost" }, |
| | | { label: "毛利", prop: "profit" }, |
| | | { label: "毛利率(%)", prop: "margin",}, |
| | | { label: "毛利率(%)", prop: "margin" }, |
| | | { label: "价税合计", prop: "total", price: true } |
| | | ] |
| | | return { |
| | |
| | | { label: "销售负责人", prop: "member_name" }, // 销售负责人 |
| | | { label: "有效期", prop: "validity_date", min: 100 }, // 修改时间 |
| | | // { label: "小计", prop: "subTotal" }, // 小计 |
| | | { label: "合计", prop: "amountTotal", price:true}, // 合计 |
| | | { label: "客戶名称", prop: "client_name",min: 120,}, |
| | | { label: "状态", prop: "quotationStatus",} |
| | | { label: "合计", prop: "amountTotal", price: true }, // 合计 |
| | | { label: "客戶名称", prop: "client_name", min: 120 }, |
| | | { label: "状态", prop: "quotationStatus" } |
| | | ], |
| | | showCol: ["报价单号", "报价单名称", "销售负责人", "有效期", "客戶名称",'合计',"状态"], |
| | | showCol: ["报价单号", "报价单名称", "销售负责人", "有效期", "客戶名称", "合计", "状态"], |
| | | selectRow: {}, |
| | | loading:false, |
| | | loading: false, |
| | | // 增加 产品信息列表 |
| | | TabsIndex:0, |
| | | TabsIndex: 0, |
| | | tableBottomColumn: [], |
| | | showBottomCol: [], |
| | | productTableList: {}, |
| | | productColumn: productColumn, |
| | | showProductCol: ["产品编号", "产品名称", "数量", "单位", "销售单价", "成本单价", "毛利", "毛利率(%)", "价税合计"], |
| | | totalObject: { |
| | | value: 0, |
| | | label: "总报价单" |
| | | }, |
| | | otherOptions: [ |
| | | { |
| | | value: 0, |
| | | label: "已创建", |
| | | status: "success" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "已审批", |
| | | status: "success" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "已接受", |
| | | status: "success" |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | } |
| | | } |
| | | this.getData(this.search_map) |
| | | this.getQuotationStatistics() |
| | | }, |
| | | methods: { |
| | | // 获取报价单统计 |
| | | async getQuotationStatistics() { |
| | | await getQuotationStatistics().then((res) => { |
| | | if (res.code === 200) { |
| | | console.log(res) |
| | | this.totalObject.value = res.data.total |
| | | this.otherOptions.map((item) => { |
| | | if (item.label === "已创建") { |
| | | item.value = res.data.created |
| | | } else if (item.label === "已审批") { |
| | | item.value = res.data.approved |
| | | } else if (item.label === "已接受") { |
| | | item.value = res.data.accepted |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | //获取当前选中资源的id |
| | | getTab(tab) { |
| | | this.TabsIndex = tab |
| | |
| | | this.showBottomCol = this.showProductCol |
| | | this.setBottomList() |
| | | this.getProductInventoryInfo(this.selectRow) |
| | | } |
| | | } |
| | | }, |
| | | // 获取产品/库存信息 |
| | | async getProductInventoryInfo(row) { |
| | |
| | | this.selectRow = row |
| | | if (this.TabsIndex == 0) { |
| | | this.getProductInventoryInfo(this.selectRow) |
| | | } |
| | | } |
| | | }, |
| | | setTable() { |
| | | this.tableList = { |
| | |
| | | client_name: item.client.name, |
| | | contact_name: item.contact.name, |
| | | member_name: item.member.username, |
| | | quotationStatus:item.quotation_status.name, |
| | | quotationStatus: item.quotation_status.name |
| | | } |
| | | }) |
| | | this.tableList.tableInfomation = list || [] |
| | |
| | | // 编辑 |
| | | handleClick(row) { |
| | | this.editConfig.title = "编辑" |
| | | let params = JSON.parse(JSON.stringify(row)); |
| | | this.editConfig.infomation = { ...params, currency: "人民币" } |
| | | console.log(this.editConfig.infomation.products,'===products') |
| | | let params = JSON.parse(JSON.stringify(row)) |
| | | this.editConfig.infomation = { ...params, currency: "人民币", sale_chance_name: params.sale_chance.name } |
| | | console.log(this.editConfig.infomation.products, "===products") |
| | | this.editConfig.visible = true |
| | | }, |
| | | // 批量删除 |