From 9d3f1aa7571cd532c0c27bf8376ebf4b2178a252 Mon Sep 17 00:00:00 2001 From: charles <981744753@qq.com> Date: 星期三, 24 七月 2024 17:45:45 +0800 Subject: [PATCH] fix:解决srm之前改了域名,处理各种异常状态,跳转也会出现异常等问题。 --- src/views/purchaseManage/purchase/index.vue | 841 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 641 insertions(+), 200 deletions(-) diff --git a/src/views/purchaseManage/purchase/index.vue b/src/views/purchaseManage/purchase/index.vue index f5ef1f0..c8380df 100644 --- a/src/views/purchaseManage/purchase/index.vue +++ b/src/views/purchaseManage/purchase/index.vue @@ -1,52 +1,85 @@ <template> - <div class="purchase" v-loading="tableLoading"> + <div class="purchase" v-loading="tableLoading"> <div class="filter"> <div class="filter-card"> <CommonSearch - :show-add="true" - add-title="鏂板缓" - @addCommonClick="addBtnClick" - :show-download="false" - :amount-view="false" - :show-action-btn="false" - :placeholder="'璇疯緭鍏ヤ緵搴斿晢/鐗╂枡/閲囪喘鍗曠瓑'" - @searchClick="onFilterSearch" + :show-add="true" + add-title="鏂板缓" + @addCommonClick="addBtnClick" + :show-download="false" + :amount-view="false" + :show-action-btn="false" + :placeholder="'璇疯緭鍏ヤ緵搴斿晢鍚嶇О/鐗╂枡鍚嶇О/閲囪喘鍗曞悕绉�/閲囪喘鍗曞彿绛�..'" + @searchClick="onFilterSearch" /> </div> </div> <div class="body"> - <div class="body-card"> + <div class="content-top"> <div class="list-view"> <TableCommonView - ref="tableListRef" - :table-list="tableList" - @selCommonClick="selCommonClick" - @selTableCol="selTableCol" + ref="tableListRef" + :table-list="tableList" + @selCommonClick="selCommonClick" + @selTableCol="selTableCol" + @tableRowClick="tableRowClick" + :selectClassRow="selectRow" > <template slot="tableButton"> - <el-table-column label="鐘舵��" width="120"> + <el-table-column label="鐘舵��" width="120"> <template slot-scope="scope"> {{ getpurchaseStatus(scope.row.status) }} </template> </el-table-column> <el-table-column label="鎿嶄綔" width="220" fixed="right"> <template slot-scope="scope"> - <el-button v-if="scope.row.status===1" type="text" size="small" @click="btnConfirm(scope.row)" style="margin-right: 5px" - >纭</el-button + <el-button + v-if="scope.row.status === 1" + type="text" + size="small" + @click="btnConfirm(scope.row)" + style="margin-right: 5px" + >纭</el-button > - <el-button v-if="scope.row.status===1" type="text" size="small" @click="btnEdit(scope.row)" style="margin-right: 5px" - >缂栬緫</el-button + <el-button + v-if="scope.row.status === 1" + type="text" + size="small" + @click="btnEdit(scope.row)" + style="margin-right: 5px" + >缂栬緫</el-button > <el-button type="text" size="small" @click="btnLook(scope.row)" style="margin-right: 5px" - >鏌ョ湅</el-button + >鏌ョ湅</el-button > - <el-button v-if="scope.row.status===1" type="text" size="small" @click="btnCancel(scope.row)" style="margin-right: 5px" - >鍙栨秷</el-button + <el-button + v-if="scope.row.status === 6 || scope.row.status === 7" + type="text" + size="small" + @click="confirmation(scope.row)" + style="margin-right: 5px" + >鍒拌揣纭</el-button > - <el-button v-if="scope.row.status===1" type="text" size="small" @click="btnDelete(scope.row)" style="margin-right: 5px" + <el-button + v-if="scope.row.status === 7 || scope.row.status === 8" + type="text" + size="small" + @click="TestingAllClick(scope.row)" + style="margin-right: 5px" + >鍘昏川妫�</el-button + > + <el-button + v-if="scope.row.status === 1" + type="text" + size="small" + @click="btnCancel(scope.row)" + style="margin-right: 5px" + >鍙栨秷</el-button + > + <!-- <el-button v-if="scope.row.status===1" type="text" size="small" @click="btnDelete(scope.row)" style="margin-right: 5px" >鍒犻櫎</el-button - > + > --> <!-- <el-button v-if="scope.row.status< 4" @click="submitClick(scope.row)" type="text" size="small">鎻愪氦</el-button> --> </template> </el-table-column> @@ -57,8 +90,52 @@ <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> </div> </div> + <div class="content-bottom"> + <div class="bottom-tabs"> + <div + class="tab-pane" + @click="getTab(0)" + :style="{ + background: TabsIndex == 0 ? '#2a78fb' : '#F1F3F8', + color: TabsIndex == 0 ? '#fff' : '#666' + }" + > + 浜у搧淇℃伅 + </div> + <div + class="tab-pane" + @click="getTab(1)" + :style="{ + 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' + }" + > + 鍏ュ簱淇℃伅 + </div> + </div> + <div class="list-view"> + <TableCommonView :loading="loading" :table-list="productTableList" @selTableCol="selBottomTableCol"> + <!-- <template slot="tableButton"> + <el-table-column label="鎿嶄綔" width="160" fixed="right"> + <template slot-scope="scope"> + <el-button @click="viewClick(scope.row)" type="text" size="small">鏌ョ湅</el-button> + </template> + </el-table-column> + </template> --> + </TableCommonView> + </div> + </div> </div> - <!-- 鏂板缓/缂栬緫閿�鍞嚎绱� --> <!-- <AddSalesLeadDialog v-if="editSalesLeadConfig.visible" :edit-rightContent-config="editSalesLeadConfig" /> --> @@ -66,23 +143,74 @@ <DetailSupplier v-if="commonDetail.visible" :common-detail="commonDetail" /> <!-- 鏂板缓/缂栬緫 --> <AddPurchase ref="addDialog" v-if="editConfig.visible" :edit-common-config="editConfig" /> + <!-- 鍒拌揣閫氱煡 --> + <ArrivalConfirmation v-if="editAffirmConfig.visible" :edit-common-config="editAffirmConfig" /> + <!-- 鎵归噺璐ㄦ --> + <TestingAll v-if="editTestingAllConfig.visible" :edit-common-config="editTestingAllConfig" /> </div> </template> <script> import pageMixin from "@/components/makepager/pager/mixin/pageMixin" -import { getPurchaseList, getPurchaseInfo, submitPurchase,deletePurchase } from "@/api/purchaseManage/purchase" +import { + getPurchaseList, + getPurchaseInfo, + newSubmitPurchase, + deletePurchase, + getPurchaseQualityInspectionInfo, + getOperationInfo +} from "@/api/purchaseManage/purchase" import DetailSupplier from "@/views/purchaseManage/purchase/DetailSupplier" import AddPurchase from "@/views/purchaseManage/purchase/components/AddPurchase" +import ArrivalConfirmation from "@/views/purchaseManage/purchase/components/ArrivalConfirmation" +import TestingAll from "@/views/purchaseManage/purchase/components/TestingAll" import { getSupplierList } from "@/api/supplierManage/supplier" +import { getDataByType } from "@/api/data" export default { name: "SupplierManage", props: {}, - components: { DetailSupplier, AddPurchase }, + components: { DetailSupplier, AddPurchase, ArrivalConfirmation, TestingAll }, mixins: [pageMixin], computed: {}, data() { + // 浜у搧淇℃伅 + const productColumn = [ + { label: "浜у搧缂栧彿", prop: "number", default: true }, + { label: "浜у搧鍚嶇О", prop: "name" }, + { label: "瑙勬牸", prop: "specifications" }, + { label: "鍨嬪彿", prop: "modelNumber" }, + { label: "閲囪喘鏁伴噺", prop: "amount" }, + { label: "宸叉敹璐ф暟閲�", prop: "sendAmount" }, + { label: "宸插叆搴撴暟閲�", prop: "overAmount" }, + { label: "鍗曚綅", prop: "unit" }, + { label: "閲囪喘鍗曚环", prop: "purchasePrice", price: true }, + { label: "浠风◣鍚堣", prop: "total", price: true } + ] + // 鏀惰揣淇℃伅 + const recriveColumn = [ + { label: "鏀惰揣鏃堕棿", prop: "createTime", default: true }, + { label: "鏀惰揣浜�", prop: "principal" }, + { label: "浜у搧鍚嶇О", prop: "productName" }, + { label: "浜у搧缂栫爜", prop: "productId" }, + { label: "瑙勬牸", prop: "specs" }, + { label: "鏁伴噺", prop: "amount" }, + { label: "鍗曚綅", prop: "unit" }, + { label: "鐘舵��", prop: "status", isCallMethod: true, getCallMethod: this.getreceiveStatusStatus } + ] + // 鍏ュ簱淇℃伅 + const inLibraryColumn = [ + { label: "鍏ュ簱鍗曞彿", prop: "operationNumber", default: true }, + { label: "鏀惰揣浠撳簱", prop: "warehouseName" }, + { label: "浜у搧鍚嶇О", prop: "name" }, + { label: "浜у搧缂栫爜", prop: "number" }, + { label: "鏁伴噺", prop: "overAmount" }, + { label: "鍏ュ簱鏃堕棿", prop: "overTime" }, + { label: "鏀惰揣浜�", prop: "principal" }, + { label: "鐘舵��", prop: "status", isCallMethod: true, getCallMethod: this.getWarehouseStatus } + ] return { + purchaseStatusList: getDataByType("purchaseStatus"), + receiveStatusList: getDataByType("receiveStatus"), tableLoading: false, tableList: {}, // 鍒楄〃 selValueList: [], @@ -95,15 +223,30 @@ editConfig: { visible: false, title: "鍒涘缓", - isDisabled:false, - detailEnter:false, + isDisabled: false, + detailEnter: false, infomation: { - supplierList:[] + supplierList: [] } + }, + editAffirmConfig: { + visible: false, + isDisabled: false, + detailEnter: false, + infomation: { + // supplierList: [] + } + }, + editTestingAllConfig: { + visible: false, + isDisabled: false, + detailEnter: false, + infomation: {} }, tableColumn: [ { label: "鍗曟嵁绫诲瀷", prop: "orderType", min: 130 }, - { label: "閲囪喘鍗曞彿", prop: "number", min: 150, isCommonClick: true ,default:true}, + { label: "閲囪喘鍗曞彿", prop: "number", min: 150, isCommonClick: true, default: true }, + { label: "閿�鍞槑缁嗗崟", prop: "sourceOrder", min: 130 }, { label: "閲囪喘鍗曞悕绉�", prop: "name", min: 130, isCommonClick: true }, { label: "渚涘簲鍟嗗悕绉�", prop: "supplierName", min: 130 }, { label: "閲囪喘鏁伴噺", prop: "quantity", min: 130 }, @@ -111,114 +254,44 @@ { label: "缁忓姙浜�", prop: "handledBy", min: 130 }, { label: "鍒跺崟浜�", prop: "creator", min: 130 } ], - showCol: ['閲囪喘鍗曞彿', '閲囪喘鍗曞悕绉�', '鍗曟嵁绫诲瀷', '渚涘簲鍟嗗悕绉�', '閲囪喘鏁伴噺', '鏀惰揣浠撳簱','缁忓姙浜�','鍒跺崟浜�'], - pagerOptions:{ - pageSize:15, - currPage:1, - } + showCol: ["閲囪喘鍗曞彿","閿�鍞槑缁嗗崟", "閲囪喘鍗曞悕绉�", "鍗曟嵁绫诲瀷", "渚涘簲鍟嗗悕绉�", "閲囪喘鏁伴噺", "鏀惰揣浠撳簱", "缁忓姙浜�", "鍒跺崟浜�"], + tableBottomColumn: [], + showBottomCol: [], + TabsIndex: 0, + productTableList: {}, + // 浜у搧淇℃伅 + productColumn: productColumn, + showProductCol: [ + "浜у搧缂栧彿", + "浜у搧鍚嶇О", + "瑙勬牸", + "鍨嬪彿", + "閲囪喘鏁伴噺", + "宸叉敹璐ф暟閲�", + "宸插叆搴撴暟閲�", + "鍗曚綅", + "閲囪喘鍗曚环", + "浠风◣鍚堣" + ], + // 鏀惰揣淇℃伅 + recriveColumn: recriveColumn, + // 鍏ュ簱淇℃伅 + inLibraryColumn: inLibraryColumn, + showReceiveCol: ["鏀惰揣鏃堕棿", "鏀惰揣浜�", "浜у搧鍚嶇О", "浜у搧缂栫爜", "瑙勬牸", "鏁伴噺", "鍗曚綅", "鐘舵��"], + inLibraryCol: ["鍏ュ簱鍗曞彿", "鏀惰揣浠撳簱", "浜у搧鍚嶇О", "浜у搧缂栫爜", "鏁伴噺", "鍏ュ簱鏃堕棿", "鏀惰揣浜�", "鐘舵��"], + loading: false, + selectRow: {} } }, created() { - this.setTable() - this.getData() - this.getSupplierData() - }, - methods: { - getpurchaseStatus(val) { - let statusList=[ - {id:1,name:"寰呯‘璁�"}, - {id:2,name:"寰呭叆搴�"}, - {id:3,name:"宸插叆搴�"}, - {id:4,name:"宸插畬鎴�"}, - {id:5,name:"宸插彇娑�"} - ] - if (val) { - for (let i in statusList) { - if (statusList[i].id == val) { - return statusList[i].name - } - } - } else { - return "--" - } - }, - setColumnVisible(showCol){ - return this.tableColumn.map(ele=>{ - return { - ...ele, - isShowColumn:showCol.includes(ele.label) - } - }) - }, - setTable() { - this.tableList = { - tableInfomation: [], - selectIndex: true, - showcol: this.showCol, - allcol: [], - tableColumn:this.setColumnVisible(this.showCol) - } - this.tableList.allcol = this.tableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label); - }, - selTableCol(val) { - this.showcol = val; - this.tableList.tableColumn = this.setColumnVisible(val); - }, - // 璇锋眰鏁版嵁 - async getData() { - await getPurchaseList({ - keyword: this.search||'', - page: this.pagerOptions.currPage, - pageSize: this.pagerOptions.pageSize - }) - .then((res) => { - if (res.code === 200) { - let list = res.data.list - list.map((item)=>{ - item.supplierName=item.supplier.name - }) - this.tableList.tableInfomation = list || [] - this.pagerOptions.totalCount = res.data.total - } - }) - .catch((err) => { - console.log(err) - }) - }, - // 鑾峰彇渚涘簲鍟嗘暟鎹� - async getSupplierData() { - await getSupplierList({ - // [val]: content, - status:1, - page:1, - pageSize: 10 - }) - .then((res) => { - if (res.data.code == 200) { - this.editConfig.infomation.supplierList=res.data.data.list - - } - }) - }, - // 鎼滅储 - onFilterSearch(searchText){ - this.search = searchText ?? '' - this.pagerOptions.currPage = 1 - this.getData() - }, - // 鏂板缓 - addBtnClick() { - this.editConfig.detailEnter=false - this.editConfig.isDisabled=false - // this.editRow = {}; - // this.$refs.add.islook = true; + console.log(this.$route.params, "璺敱鍙傛暟") + if (this.$route.params.supplierId) { this.editConfig.visible = true - this.editConfig.title = "鍒涘缓" this.editConfig.infomation = { productList: [], purchaseTypeId: "", - supplierId: "", - supplierName: "", + supplierId: this.$route.params.supplierId || "", + supplierName: this.$route.params.supplierName || "", orderSource: "鎵嬪姩鍒涘缓", name: "", contact: "", @@ -232,18 +305,154 @@ priceAdjustment: 0, realTotalPrice: 0 } + } + this.setTable() + this.getData() + this.getSupplierData() + }, + methods: { + getpurchaseStatus(val) { + if (val) { + for (let i in this.purchaseStatusList) { + if (this.purchaseStatusList[i].id == val) { + return this.purchaseStatusList[i].name + } + } + } else { + return "--" + } }, - + getreceiveStatusStatus(val) { + if (val) { + for (let i in this.receiveStatusList) { + if (this.receiveStatusList[i].id == val) { + return this.receiveStatusList[i].name + } + } + } else { + return "--" + } + }, + setColumnVisible(showCol, tableColumn) { + return tableColumn.map((ele) => { + return { + ...ele, + isShowColumn: showCol.includes(ele.label) + } + }) + }, + setTable() { + this.tableList = { + tableInfomation: [], + selectIndex: true, + showcol: this.showCol, + allcol: [], + tableColumn: this.setColumnVisible(this.showCol, this.tableColumn) + } + this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label) + // bottom 浜у搧淇℃伅/鏀惰揣淇℃伅 + this.tableBottomColumn = this.productColumn + this.showBottomCol = this.showProductCol + this.setBottomList() + }, + selTableCol(val) { + this.showcol = val + this.tableList.tableColumn = this.setColumnVisible(val) + }, + // 璇锋眰鏁版嵁 + async getData() { + await getPurchaseList({ + keyword: this.search || "", + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize + }) + .then((res) => { + if (res.code === 200) { + let list = res.data.list + list.map((item) => { + item.supplierName = item.supplier.name + }) + this.tableList.tableInfomation = list || [] + this.pagerOptions.totalCount = res.data.total + if (res.data.total > 0) { + this.selectRow = this.tableList.tableInfomation.length > 0 ? this.tableList.tableInfomation[0] : {} + // this.tableRowClick(this.selectRow) + this.getProductInventoryInfo(this.selectRow) + } + } + }) + .catch((err) => { + console.log(err) + }) + }, + // 鑾峰彇渚涘簲鍟嗘暟鎹� + async getSupplierData() { + await getSupplierList({ + // [val]: content, + status: 1, + page: 1, + pageSize: 10 + }).then((res) => { + if (res.data.code == 200) { + this.editConfig.infomation.supplierList = res.data.data.list + } + }) + }, + // 鎼滅储 + onFilterSearch(searchText) { + this.search = searchText ?? "" + this.pagerOptions.currPage = 1 + this.getData() + }, + // 鏂板缓 + addBtnClick() { + this.editConfig.detailEnter = false + this.editConfig.isDisabled = false + // this.editRow = {}; + // this.$refs.add.islook = true; + this.editConfig.visible = true + this.editConfig.title = "鏂板缓" + this.editConfig.infomation = { + productList: [], + purchaseTypeId: "", + supplierId: "", + supplierName: "", + orderSource: "鎵嬪姩鍒涘缓", + name: "", + number: "", + contact: "", + phone: "", + signingDate: this.getCurrentDate(), + deliveryDate: "", + remark: "", + wholeDiscountType: null, + wholeDiscount: 0, + priceAdjustmentType: null, + priceAdjustment: 0, + realTotalPrice: 0 + } + }, + // 鑾峰彇褰撳墠鏃ユ湡 + getCurrentDate() { + let now = new Date() + let year = now.getFullYear() + let month = now.getMonth() + 1 + let day = now.getDate() + return year + "-" + month + "-" + day + }, // 缂栬緫 btnEdit(row) { - this.editConfig.detailEnter=false - this.editConfig.isDisabled=false + this.editConfig.detailEnter = false + this.editConfig.isDisabled = false this.tableLoading = true - getPurchaseInfo({ id: row.ID }).then((res) => { + getPurchaseInfo({ id: Number(row.id) }).then((res) => { if (res.code == 200) { this.tableLoading = false this.editConfig.visible = true this.editConfig.title = "缂栬緫" + res.data.productList.map((item, index) => { + item.productIndex = index + }) this.editConfig.infomation = { productList: res.data.productList, supplierName: res.data.purchase.supplier.name, @@ -256,57 +465,75 @@ setTimeout(() => { this.tableLoading = false }, 3000) - // this.editRow = row; - // this.$refs.add.islook = true; }, + // 纭鍙戣揣 btnConfirm(row) { - this.$confirm("鏄惁鎻愪氦?", "鎻愮ず", { + let string = "鏄惁鎻愪氦锛�" + if (!row.supplierName) { + string = "鎮ㄦ湁蹇呭~瀛楁鏈綍鍏ワ紝璇锋鏌ユ暟鎹畬鏁存�с��" + } + this.$confirm(string, "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }).then( + () => { + if (!row.supplierName) { + this.btnEdit(row) + } else { + newSubmitPurchase({ + id: Number(row.id), + status: 4 + }).then((response) => { + if (response.code === 200) { + this.$message.success("鎻愪氦鎴愬姛") + this.getData() + } else { + this.$message.warning("鎻愪氦澶辫触") + } + }) + } + }, + (e) => { + console.error(e) + } + ) + }, + // 鍙栨秷 + btnCancel(row) { + this.$confirm("鏄惁鍙栨秷?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }).then( + () => { + newSubmitPurchase({ + id: Number(row.id), + status: 5 + }).then((response) => { + if (response.code === 200) { + this.$message.success("宸插彇娑�") + this.getData() + } else { + // this.$message.warning("鎻愪氦澶辫触") + } + }) + }, + (e) => { + console.error(e) + } + ) + }, + // 鍒犻櫎 + btnDelete(row) { + this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?", "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning" }) .then(() => { - submitPurchase({ id: row.ID,status:2 }).then((response) => { - if (response.code === 200) { - this.$message.success("鎻愪氦鎴愬姛") - this.getData() - } else { - this.$message.warning("鎻愪氦澶辫触") - } - }) - },(e)=>{ - console.error(e) - }) - }, - // 鍙栨秷 - btnCancel(row){ - this.$confirm("鏄惁鍙栨秷?", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }) - .then(() => { - submitPurchase({ id: row.ID,status:5 }).then((response) => { - if (response.code === 200) { - this.$message.success("宸插彇娑�") - this.getData() - } else { - // this.$message.warning("鎻愪氦澶辫触") - } - }) - },(e)=>{ - console.error(e) - }) - }, - // 鍒犻櫎 - btnDelete(row){ - this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - deletePurchase({ id: row.ID }).then((response) => { + deletePurchase({ id: Number(row.id) }).then((response) => { if (response.code === 200) { this.$message.success("鍒犻櫎鎴愬姛") this.getData() @@ -314,19 +541,20 @@ this.$message.warning("鍒犻櫎澶辫触") } }) - }).catch(() => { + }) + .catch(() => { this.$message({ - type: 'info', - message: '宸插彇娑堝垹闄�' - }); - }); + type: "info", + message: "宸插彇娑堝垹闄�" + }) + }) }, // 鏌ョ湅 - btnLook(row){ - this.editConfig.detailEnter=true - this.editConfig.isDisabled=true + btnLook(row) { + this.editConfig.detailEnter = true + this.editConfig.isDisabled = true this.tableLoading = true - getPurchaseInfo({ id: row.ID }).then((res) => { + getPurchaseInfo({ id: row.id }).then((res) => { if (res.code == 200) { this.tableLoading = false this.editConfig.visible = true @@ -344,12 +572,23 @@ this.tableLoading = false }, 3000) }, + // 鍒拌揣纭 + confirmation(row) { + console.log(row, "row") + this.editAffirmConfig.infomation = row + this.editAffirmConfig.visible = true + }, + // 鍘昏川妫� + TestingAllClick(row) { + this.editTestingAllConfig.infomation = row + this.editTestingAllConfig.visible = true + }, // 璇︽儏 selCommonClick(row) { this.tableLoading = true - getPurchaseInfo({ id: row.ID }).then((res) => { + getPurchaseInfo({ id: row.id }).then((res) => { if (res.code == 200) { - console.log(res,"浜у搧璇︽儏") + console.log(res, "浜у搧璇︽儏") this.tableLoading = false this.commonDetail.visible = true this.commonDetail.infomation = { @@ -363,6 +602,172 @@ setTimeout(() => { this.tableLoading = false }, 3000) + }, + // top 琛岀偣鍑� + tableRowClick(row) { + this.selectRow = row + if (this.TabsIndex == 0) { + getOperationInfo({ id: row.id }).then((res) => { + if (res.code == 200) { + this.productTableList.tableInfomation = res.data.productInfos + } else { + this.$message.error(res.msg ? res.msg + "," : "" + "鑾峰彇淇℃伅澶辫触锛�") + } + }) + } else if ( + (this.TabsIndex == 1 && row.status == 7) || + row.status == 8 || + (this.TabsIndex == 1 && row.status == 2) || + (this.TabsIndex == 1 && row.status == 3) + ) { + this.productTableList.tableInfomation = [] + getPurchaseQualityInspectionInfo({ + purchaseNumber: row.number + }).then((res) => { + if (res.code == 200) { + this.productTableList.tableInfomation = res.data + } else { + this.$message.error(res.msg ? res.msg + "," : "" + "鑾峰彇淇℃伅澶辫触锛�") + } + }) + } else if ( + (this.TabsIndex == 2 && row.status == 8) || + (this.TabsIndex == 2 && row.status == 2) || + (this.TabsIndex == 2 && row.status == 3) + ) { + getOperationInfo({ id: row.id }).then((res) => { + if (res.code == 200) { + this.productTableList.tableInfomation = res.data.inWarehouseInfos + } else { + this.$message.error(res.msg ? res.msg + "," : "" + "鑾峰彇淇℃伅澶辫触锛�") + } + }) + } else { + this.productTableList.tableInfomation = [] + } + }, + // bom 鍒楄〃 + setBottomList() { + this.productTableList = { + selectIndex: true, + tableInfomation: [], + allcol: [], + showcol: this.showBottomCol, + tableColumn: this.setColumnVisible(this.showBottomCol, this.tableBottomColumn) + } + this.setTableList(this.productTableList) + }, + setTableList(tableList) { + tableList.allcol = tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label) + this.searchOptions = [] + for (let i = 0; i < tableList.tableColumn.length; i++) { + const label = tableList.tableColumn[i].label + const value = tableList.tableColumn[i].prop + this.searchOptions.push({ value: value, label: label }) + } + }, + // bottom 浜у搧淇℃伅 + selBottomTableCol(val) { + this.showcol = val + this.productTableList.tableColumn = this.setColumnVisible(val, this.tableBottomColumn) + }, + //鑾峰彇褰撳墠閫変腑璧勬簮鐨刬d + getTab(tab) { + this.TabsIndex = tab + if (this.TabsIndex == 0) { + // 浜у搧淇℃伅鍒楄〃 + this.tableBottomColumn = this.productColumn + this.showBottomCol = this.showProductCol + this.setBottomList() + this.getProductInventoryInfo(this.selectRow) + } else if (this.TabsIndex == 1) { + // 鏀惰揣淇℃伅鍒楄〃 + this.tableBottomColumn = this.recriveColumn + this.showBottomCol = this.showReceiveCol + this.setBottomList() + this.getProductInventoryInfo(this.selectRow) + } else if (this.TabsIndex == 2) { + console.log("鍏ュ簱") + // 鍏ュ簱淇℃伅鍒楄〃 + this.tableBottomColumn = this.inLibraryColumn + this.showBottomCol = this.inLibraryCol + this.setBottomList() + this.getProductInventoryInfo(this.selectRow) + } + }, + // 鐘舵�� + getStatus(val) { + return val === 1 + ? "寰呯‘璁�" + : val === 2 + ? "寰呭叆搴�" + : val === 3 + ? "宸插叆搴�" + : val === 4 + ? "宸插畬鎴�" + : val === 5 + ? "宸插彇娑�" + : val === 6 + ? "寰呮敹璐�" + : val === 7 + ? "閮ㄥ垎鏀惰揣" + : val === 8 + ? "寰呰川妫�" + : "--" + }, + // 鑾峰彇浜у搧/鏀惰揣淇℃伅 + async getProductInventoryInfo(row) { + // if (this.TabsIndex == 0) { + // getPurchaseInfo({ id: row.id }).then((res) => { + // if (res.code == 200) { + // this.productTableList.tableInfomation = res.data.productList + // } else { + // this.$message.error(res.msg ? res.msg + "," : "" + "鑾峰彇淇℃伅澶辫触锛�") + // } + // }) + // } else + if (this.TabsIndex == 1 && row.status == 1) { + this.productTableList.tableInfomation = [] + } else if ( + (this.TabsIndex == 1 && row.status == 7) || + (this.TabsIndex == 1 && row.status == 8) || + (this.TabsIndex == 1 && row.status == 2) || + (this.TabsIndex == 1 && row.status == 3) + ) { + getPurchaseQualityInspectionInfo({ + purchaseNumber: row.number + }).then((res) => { + if (res.code == 200) { + this.productTableList.tableInfomation = res.data + } else { + this.$message.error(res.msg ? res.msg + "," : "" + "鑾峰彇淇℃伅澶辫触锛�") + } + }) + } else if ( + this.TabsIndex == 0 || + (this.TabsIndex == 2 && row.status == 8) || + (this.TabsIndex == 2 && row.status == 2) || + (this.TabsIndex == 2 && row.status == 3) + ) { + getOperationInfo({ id: row.id }).then((res) => { + if (res.code == 200) { + if(this.TabsIndex == 0){ + this.productTableList.tableInfomation = res.data.productInfos + }else if(this.TabsIndex == 2){ + this.productTableList.tableInfomation = res.data.inWarehouseInfos + } + } else { + this.$message.error(res.msg ? res.msg + "," : "" + "鑾峰彇淇℃伅澶辫触锛�") + } + }) + } else { + this.productTableList.tableInfomation = [] + } + }, + // 鍏ュ簱鐘舵�� + getWarehouseStatus(val) { + let newVal = Number(val) + return newVal === 1 ? "鑽夌" : newVal === 3 ? "灏辩华" : newVal === 4 ? "瀹屾垚" : newVal === 5 ? "宸插彇娑�" : " " } } } @@ -370,16 +775,16 @@ <!-- Add "scoped" attribute to limit CSS to this component only --> <style lang="scss" scoped> -.purchase{ +.purchase { height: 100%; overflow: hidden; background-color: transparent; - .filter{ + .filter { height: 80px; display: flex; align-items: center; padding: 12px 20px 0 20px; - &-card{ + &-card { height: 80px; display: flex; align-items: center; @@ -390,20 +795,56 @@ background-color: #fff; } } - .body{ + .body { box-sizing: border-box; padding: 10px 20px; border-radius: 12px; height: calc(100% - 92px); - &-card { + .content-top { background-color: #fff; border-radius: 12px; - height: 100%; - overflow: hidden; + min-height: 70px; + height: 48%; + position: relative; + .list-view { + height: calc(100% - 60px); + } } - .list-view { - height: calc(100% - 60px); - overflow: hidden; + .content-bottom { + .bottom-tabs { + height: 40px; + line-height: 40px; + background: #e6ecf2; + display: flex; + .tab-pane { + width: 100px; + margin-right: 20px; + font-size: 14px !important; + text-align: center; + cursor: pointer; + background: #2a78fb; + border-top-left-radius: 20px; + border-top-right-radius: 20px; + } + } + .lable-view { + background: #e6ecf2; + height: 40px; + line-height: 40px; + .name { + border-left: 4px solid #2a78fb; + padding-left: 10px; + } + } + background-color: #fff; + border-radius: 12px; + min-height: 70px; + height: calc(52% - 60px); + margin-top: 10px; + // padding: 10px 20px; + .list-view { + height: calc(100% - 10px); + } } .btn-pager { display: flex; -- Gitblit v1.8.0