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 | 309 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 259 insertions(+), 50 deletions(-) diff --git a/src/views/purchaseManage/purchase/index.vue b/src/views/purchaseManage/purchase/index.vue index 85207f3..c8380df 100644 --- a/src/views/purchaseManage/purchase/index.vue +++ b/src/views/purchaseManage/purchase/index.vue @@ -9,7 +9,7 @@ :show-download="false" :amount-view="false" :show-action-btn="false" - :placeholder="'璇疯緭鍏ヤ緵搴斿晢鍚嶇О/鐗╂枡鍚嶇О/閲囪喘鍗曞悕绉�'" + :placeholder="'璇疯緭鍏ヤ緵搴斿晢鍚嶇О/鐗╂枡鍚嶇О/閲囪喘鍗曞悕绉�/閲囪喘鍗曞彿绛�..'" @searchClick="onFilterSearch" /> </div> @@ -23,6 +23,8 @@ :table-list="tableList" @selCommonClick="selCommonClick" @selTableCol="selTableCol" + @tableRowClick="tableRowClick" + :selectClassRow="selectRow" > <template slot="tableButton"> <el-table-column label="鐘舵��" width="120"> @@ -50,6 +52,22 @@ > <el-button type="text" size="small" @click="btnLook(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 === 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" @@ -94,6 +112,16 @@ > 鏀惰揣淇℃伅 </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"> @@ -115,20 +143,33 @@ <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() { @@ -136,27 +177,40 @@ const productColumn = [ { label: "浜у搧缂栧彿", prop: "number", default: true }, { label: "浜у搧鍚嶇О", prop: "name" }, - { label: "瑙勬牸鍨嬪彿", prop: "desc" }, - { label: "閲囪喘鏁伴噺", prop: "purchaseAmount" }, - { label: "宸插彂璐ф暟閲�", prop: "margin" }, - { label: "宸插叆搴撴暟閲�", prop: "amount" }, + { label: "瑙勬牸", prop: "specifications" }, + { label: "鍨嬪彿", prop: "modelNumber" }, + { label: "閲囪喘鏁伴噺", prop: "amount" }, + { label: "宸叉敹璐ф暟閲�", prop: "sendAmount" }, + { label: "宸插叆搴撴暟閲�", prop: "overAmount" }, { label: "鍗曚綅", prop: "unit" }, - { label: "閲囪喘鍗曚环", prop: "price", price: true }, + { label: "閲囪喘鍗曚环", prop: "purchasePrice", price: true }, { label: "浠风◣鍚堣", prop: "total", price: true } ] // 鏀惰揣淇℃伅 const recriveColumn = [ - { 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: "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: [], @@ -175,9 +229,24 @@ 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: "sourceOrder", min: 130 }, { label: "閲囪喘鍗曞悕绉�", prop: "name", min: 130, isCommonClick: true }, { label: "渚涘簲鍟嗗悕绉�", prop: "supplierName", min: 130 }, { label: "閲囪喘鏁伴噺", prop: "quantity", min: 130 }, @@ -185,19 +254,20 @@ { label: "缁忓姙浜�", prop: "handledBy", min: 130 }, { label: "鍒跺崟浜�", prop: "creator", min: 130 } ], - showCol: ["閲囪喘鍗曞彿", "閲囪喘鍗曞悕绉�", "鍗曟嵁绫诲瀷", "渚涘簲鍟嗗悕绉�", "閲囪喘鏁伴噺", "鏀惰揣浠撳簱", "缁忓姙浜�", "鍒跺崟浜�"], + showCol: ["閲囪喘鍗曞彿","閿�鍞槑缁嗗崟", "閲囪喘鍗曞悕绉�", "鍗曟嵁绫诲瀷", "渚涘簲鍟嗗悕绉�", "閲囪喘鏁伴噺", "鏀惰揣浠撳簱", "缁忓姙浜�", "鍒跺崟浜�"], tableBottomColumn: [], showBottomCol: [], - TabsIndex: "0", + TabsIndex: 0, productTableList: {}, // 浜у搧淇℃伅 productColumn: productColumn, showProductCol: [ "浜у搧缂栧彿", "浜у搧鍚嶇О", - "瑙勬牸鍨嬪彿", + "瑙勬牸", + "鍨嬪彿", "閲囪喘鏁伴噺", - "宸插彂璐ф暟閲�", + "宸叉敹璐ф暟閲�", "宸插叆搴撴暟閲�", "鍗曚綅", "閲囪喘鍗曚环", @@ -205,8 +275,12 @@ ], // 鏀惰揣淇℃伅 recriveColumn: recriveColumn, - showReceiveCol: ["鍏ュ簱鍗曞彿", "鏀惰揣浠撳簱", "浜у搧鍚嶇О", "浜у搧缂栧彿", "鏁伴噺", "鍏ュ簱鏃堕棿", "鏀惰揣浜�", "鐘舵��"], - loading: false + // 鍏ュ簱淇℃伅 + inLibraryColumn: inLibraryColumn, + showReceiveCol: ["鏀惰揣鏃堕棿", "鏀惰揣浜�", "浜у搧鍚嶇О", "浜у搧缂栫爜", "瑙勬牸", "鏁伴噺", "鍗曚綅", "鐘舵��"], + inLibraryCol: ["鍏ュ簱鍗曞彿", "鏀惰揣浠撳簱", "浜у搧鍚嶇О", "浜у搧缂栫爜", "鏁伴噺", "鍏ュ簱鏃堕棿", "鏀惰揣浜�", "鐘舵��"], + loading: false, + selectRow: {} } }, created() { @@ -242,6 +316,17 @@ 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 { @@ -289,6 +374,11 @@ }) 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) => { @@ -332,7 +422,7 @@ number: "", contact: "", phone: "", - signingDate: "", + signingDate: this.getCurrentDate(), deliveryDate: "", remark: "", wholeDiscountType: null, @@ -342,7 +432,14 @@ 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 @@ -368,9 +465,8 @@ setTimeout(() => { this.tableLoading = false }, 3000) - // this.editRow = row; - // this.$refs.add.islook = true; }, + // 纭鍙戣揣 btnConfirm(row) { let string = "鏄惁鎻愪氦锛�" @@ -386,7 +482,10 @@ if (!row.supplierName) { this.btnEdit(row) } else { - submitPurchase({ id: Number(row.id), status: 2 }).then((response) => { + newSubmitPurchase({ + id: Number(row.id), + status: 4 + }).then((response) => { if (response.code === 200) { this.$message.success("鎻愪氦鎴愬姛") this.getData() @@ -409,7 +508,10 @@ type: "warning" }).then( () => { - submitPurchase({ id: Number(row.id), status: 5 }).then((response) => { + newSubmitPurchase({ + id: Number(row.id), + status: 5 + }).then((response) => { if (response.code === 200) { this.$message.success("宸插彇娑�") this.getData() @@ -470,6 +572,17 @@ 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 @@ -489,6 +602,49 @@ 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() { @@ -529,36 +685,89 @@ this.tableBottomColumn = this.recriveColumn this.showBottomCol = this.showReceiveCol this.setBottomList() - // if (this.selectRow.status == 1) { - // this.productTableList.tableInfomation = [] - // } else { 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 ? "宸插叧闂�" : "--" + return val === 1 + ? "寰呯‘璁�" + : val === 2 + ? "寰呭叆搴�" + : val === 3 + ? "宸插叆搴�" + : val === 4 + ? "宸插畬鎴�" + : val === 5 + ? "宸插彇娑�" + : val === 6 + ? "寰呮敹璐�" + : val === 7 + ? "閮ㄥ垎鏀惰揣" + : val === 8 + ? "寰呰川妫�" + : "--" }, // 鑾峰彇浜у搧/鏀惰揣淇℃伅 async getProductInventoryInfo(row) { - console.log(row) - // if (this.TabsIndex == 0 || row.status == 1) { - // this.productTableList.tableInfomation = row.products || [] - // } else { - // 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 - // }) - // } - // } + // 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 ? "宸插彇娑�" : " " } } } -- Gitblit v1.8.0