| | |
| | | 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' |
| | | }" |
| | | > |
| | | 产品信息 |
| | |
| | | class="tab-pane" |
| | | @click="getTab(1)" |
| | | :style="{ |
| | | background: TabsIndex==1 ? '#2a78fb' : '#F1F3F8', |
| | | color: TabsIndex==1 ? '#fff' : '#666' |
| | | background: TabsIndex == 1 ? '#2a78fb' : '#F1F3F8', |
| | | color: TabsIndex == 1 ? '#fff' : '#666' |
| | | }" |
| | | > |
| | | 库存信息 |
| | | 发货信息 |
| | | </div> |
| | | <div |
| | | class="tab-pane" |
| | | @click="getTab(2)" |
| | | :style="{ |
| | | background: TabsIndex==2 ? '#2a78fb' : '#F1F3F8', |
| | | color: TabsIndex==2 ? '#fff' : '#666' |
| | | background: TabsIndex == 2 ? '#2a78fb' : '#F1F3F8', |
| | | color: TabsIndex == 2 ? '#fff' : '#666' |
| | | }" |
| | | > |
| | | 制造信息 |
| | |
| | | class="tab-pane" |
| | | @click="getTab(3)" |
| | | :style="{ |
| | | background: TabsIndex==3 ? '#2a78fb' : '#F1F3F8', |
| | | color: TabsIndex==3 ? '#fff' : '#666' |
| | | background: TabsIndex == 3 ? '#2a78fb' : '#F1F3F8', |
| | | color: TabsIndex == 3 ? '#fff' : '#666' |
| | | }" |
| | | > |
| | | 采购信息 |
| | |
| | | { label: "产品名称", prop: "name" }, |
| | | { label: "数量", prop: "amount" }, |
| | | { label: "单位", prop: "unit" }, |
| | | { label: "发货单", prop: "invoice" }, |
| | | { label: "承运商", prop: "carrier" }, |
| | | { label: "运单号", prop: "waybillNumber" }, |
| | | { label: "销售单价", prop: "salePrice", price: true }, |
| | | { label: "价税合计", prop: "valorem", price: true } |
| | | { label: "成本单价", prop: "cost" }, |
| | | { label: "毛利", prop: "profit" }, |
| | | { label: "毛利率(%)", prop: "margin" }, |
| | | { label: "价税合计", prop: "total", price: true } |
| | | ] |
| | | // 库存信息 |
| | | const inventoryColumn = [ |
| | | { label: "产品编号", prop: "number", default: true }, |
| | | { label: "产品名称", prop: "name" }, |
| | | { label: "订单数量", prop: "orderAmount" }, |
| | | { label: "发货单", prop: "invoice" }, |
| | | { label: "承运商", prop: "carrier" }, |
| | | { label: "运单号", prop: "waybill" }, |
| | | { label: "仓库", prop: "warehouse" }, |
| | | { label: "在库数量", prop: "amount" }, |
| | | { label: "可用库存", prop: "availableNumber" }, |
| | |
| | | { label: "计划结束时间", prop: "endTime" } |
| | | ] |
| | | // 采购信息 |
| | | const purchaseColumn=[ |
| | | { |
| | | label: "采购单号", |
| | | prop: "purchaseNumber", |
| | | default: true |
| | | }, |
| | | { |
| | | label: "采购单名称", |
| | | prop: "purchaseName", |
| | | }, |
| | | { |
| | | label: "供应商名称", |
| | | prop: "supplierName", |
| | | }, |
| | | { |
| | | label: "采购数量", |
| | | prop: "amount", |
| | | }, |
| | | { |
| | | label: "状态", |
| | | prop: "status", |
| | | isCallMethod: true, |
| | | getCallMethod: this.getpurchaseStatus, |
| | | }, |
| | | ]; |
| | | const purchaseColumn = [ |
| | | { |
| | | label: "采购单号", |
| | | prop: "purchaseNumber", |
| | | default: true |
| | | }, |
| | | { |
| | | label: "采购单名称", |
| | | prop: "purchaseName" |
| | | }, |
| | | { |
| | | label: "供应商名称", |
| | | prop: "supplierName" |
| | | }, |
| | | { |
| | | label: "采购数量", |
| | | prop: "amount" |
| | | }, |
| | | { |
| | | label: "状态", |
| | | prop: "status", |
| | | isCallMethod: true, |
| | | getCallMethod: this.getpurchaseStatus |
| | | } |
| | | ] |
| | | return { |
| | | tableList: {}, |
| | | searchOptions: [], |
| | |
| | | TabsIndex: "0", |
| | | productTableList: {}, |
| | | productColumn: productColumn, |
| | | showProductCol: ["产品编号", "产品名称", "数量", "单位", "发货单", "承运商", "运单号", "销售单价", "价税合计"], |
| | | showProductCol: ["产品编号", "产品名称", "数量", "单位", "销售单价", "成本单价", "毛利", "毛利率(%)", "价税合计"], |
| | | inventoryColumn: inventoryColumn, |
| | | showInventoryCol: ["产品编号", "产品名称", "订单数量", "仓库", "在库数量", "可用库存", "单位"], |
| | | showInventoryCol: [ |
| | | "产品编号", |
| | | "产品名称", |
| | | "订单数量", |
| | | "发货单", |
| | | "承运商", |
| | | "运单号", |
| | | "仓库", |
| | | "在库数量", |
| | | "可用库存", |
| | | "单位" |
| | | ], |
| | | makeColumn: makeColumn, |
| | | showMakeCol: ["生产订单", "产品名称", "订单状态", "工单编号", "工单状态", "计划开始时间", "计划结束时间"], |
| | | // 采购 |
| | | purchaseColumn: purchaseColumn, |
| | | showPurchaseCol: ['采购单号','采购单名称',"供应商名称", "采购数量", "状态"], |
| | | showPurchaseCol: ["采购单号", "采购单名称", "供应商名称", "采购数量", "状态"], |
| | | selectRow: {}, |
| | | projectList: [], |
| | | projectListShow: false, |
| | |
| | | projectId: [{ required: true, message: "请选择项目", trigger: "change" }] |
| | | }, |
| | | purchaseStatusList: getDataByType("purchaseStatus"), |
| | | loading: false |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | if (val) { |
| | | for (let i in this.purchaseStatusList) { |
| | | if (this.purchaseStatusList[i].id == val) { |
| | | return this.purchaseStatusList[i].name; |
| | | return this.purchaseStatusList[i].name |
| | | } |
| | | } |
| | | } else { |
| | | return "--"; |
| | | return "--" |
| | | } |
| | | }, |
| | | setTable() { |
| | |
| | | }, |
| | | // 请求数据 |
| | | async getData() { |
| | | this.loading = true |
| | | let params = {} |
| | | console.log(this.addConfig) |
| | | if (this.addConfig.keywordType === "客户名称") { |
| | |
| | | pageSize: this.pagerOptions.pageSize |
| | | } |
| | | } |
| | | this.loading = true |
| | | await getSalesDetailsList(params) |
| | | .then((res) => { |
| | | console.log(res) |
| | | if (res.code === 200) { |
| | | if (res.data.list && res.data.list.length > 0) { |
| | | const list = res.data.list.map((item) => { |
| | |
| | | this.pagerOptions.totalCount = res.data.count |
| | | if (res.data.count > 0) { |
| | | this.selectRow = this.tableList.tableInfomation.length > 0 ? this.tableList.tableInfomation[0] : {} |
| | | let row = this.tableList.tableInfomation[0] |
| | | this.getProductInventoryInfo(row) |
| | | this.tableRowClick(this.selectRow) |
| | | } |
| | | } else { |
| | | this.tableList.tableInfomation = [] |
| | |
| | | }, |
| | | // 获取产品/库存信息 |
| | | async getProductInventoryInfo(row) { |
| | | if (row.status === 1) { |
| | | if (this.TabsIndex == 0 || row.status == 1) { |
| | | this.productTableList.tableInfomation = row.products || [] |
| | | } else { |
| | | await getProductInventoryInfo(row.number).then((res) => { |
| | | console.log(res) |
| | | this.productTableList.tableInfomation = res.data?.length > 0 ? res.data : [] |
| | | }) |
| | | if (row.number) { |
| | | this.loading = true |
| | | await getProductInventoryInfo(row.number) |
| | | .then((res) => { |
| | | this.productTableList.tableInfomation = res.data?.length > 0 ? res.data : [] |
| | | this.loading = false |
| | | }) |
| | | .catch(() => { |
| | | this.productTableList.tableInfomation = [] |
| | | this.loading = false |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | // 获取制造信息 |
| | | async getProductOrderInfo(number) { |
| | | await getProductOrderInfo(number).then((res) => { |
| | | console.log(res) |
| | | this.productTableList.tableInfomation = res.data?.length > 0 ? res.data : [] |
| | | }) |
| | | if (number) { |
| | | this.loading = true |
| | | await getProductOrderInfo(number) |
| | | .then((res) => { |
| | | if (this.TabsIndex == 3) { |
| | | this.productTableList.tableInfomation = res.data && res.data.purchaseInfo ? res.data.purchaseInfo : [] |
| | | } else { |
| | | this.productTableList.tableInfomation = res.data && res.data.makeInfo ? res.data.makeInfo : [] |
| | | } |
| | | this.loading = false |
| | | }) |
| | | .catch(() => { |
| | | this.productTableList.tableInfomation = [] |
| | | this.loading = false |
| | | }) |
| | | } |
| | | }, |
| | | // 搜索 |
| | | onFilterSearch(searchText) { |
| | |
| | | }, |
| | | // 查看 编辑 |
| | | handleClick(row, title) { |
| | | console.log(row, title) |
| | | this.editConfig.visible = true |
| | | let params = JSON.parse(JSON.stringify(row)) |
| | | this.editConfig.title = title |
| | | this.editConfig.infomation = { |
| | | ...row, |
| | | ...params, |
| | | currency: "人民币", |
| | | sale_chance_name: row.saleChance.name, |
| | | deliverType: row.deliverType === 0 ? "" : row.deliverType, |
| | | quotation_number: row.quotation.number |
| | | sale_chance_name: params.saleChance.name, |
| | | deliverType: params.deliverType === 0 ? "" : params.deliverType, |
| | | quotation_number: params.quotation.number |
| | | } |
| | | this.editConfig.visible = true |
| | | }, |
| | | // 确认提交 |
| | | async submitClick(row) { |
| | |
| | | this.tableBottomColumn = this.inventoryColumn |
| | | this.showBottomCol = this.showInventoryCol |
| | | this.setBottomList() |
| | | this.getProductInventoryInfo(this.selectRow) |
| | | if (this.selectRow.status == 1) { |
| | | this.productTableList.tableInfomation = [] |
| | | } else { |
| | | this.getProductInventoryInfo(this.selectRow) |
| | | } |
| | | } else if (this.TabsIndex == 2) { |
| | | // 制造信息列表 |
| | | this.tableBottomColumn = this.makeColumn |
| | |
| | | this.tableBottomColumn = this.purchaseColumn |
| | | this.showBottomCol = this.showPurchaseCol |
| | | this.setBottomList() |
| | | // this.getProductOrderInfo(this.selectRow.number) |
| | | this.getProductOrderInfo(this.selectRow.number) |
| | | } |
| | | }, |
| | | // 状态 |
| | |
| | | return val === 1 ? "待确认" : val === 2 ? "待出库" : val === 3 ? "出库完成" : val === 4 ? "已关闭" : "--" |
| | | }, |
| | | // top 行点击 |
| | | tableRowClick(row, column, event) { |
| | | console.log(row, column, event) |
| | | tableRowClick(row) { |
| | | this.selectRow = row |
| | | if (this.TabsIndex == 0) { |
| | | this.getProductInventoryInfo(this.selectRow) |
| | | } else if (this.TabsIndex == 1) { |
| | | this.getProductInventoryInfo(this.selectRow) |
| | | if (this.selectRow.status == 1) { |
| | | this.productTableList.tableInfomation = [] |
| | | } else { |
| | | this.getProductInventoryInfo(this.selectRow) |
| | | } |
| | | } else if (this.TabsIndex == 2) { |
| | | this.getProductOrderInfo(this.selectRow.number) |
| | | }else if(this.TabsIndex == 3) { |
| | | } else if (this.TabsIndex == 3) { |
| | | // 采购信息 |
| | | this.getProductOrderInfo(this.selectRow.number) |
| | | } |
| | |
| | | page: 1, |
| | | pageSize: 100 |
| | | }).then((res) => { |
| | | console.log(res.data, "项目列表信息") |
| | | this.projectList = res.data |
| | | this.projectList = res.data ? res.data : [] |
| | | }) |
| | | }, |
| | | handleClose(done) { |