From f4ed5ae8873f65c36b5cf37be264f6ec1e154647 Mon Sep 17 00:00:00 2001 From: zuozhengqing <a13193816592@163.com> Date: 星期三, 20 三月 2024 19:36:58 +0800 Subject: [PATCH] 合并分支冲突解决 --- src/views/purchaseManage/purchase/index.vue | 276 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 260 insertions(+), 16 deletions(-) diff --git a/src/views/purchaseManage/purchase/index.vue b/src/views/purchaseManage/purchase/index.vue index 8fd2cb2..2283fa2 100644 --- a/src/views/purchaseManage/purchase/index.vue +++ b/src/views/purchaseManage/purchase/index.vue @@ -16,13 +16,15 @@ </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" + @tableRowClick="tableRowClick" + :selectClassRow="selectRow" > <template slot="tableButton"> <el-table-column label="鐘舵��" width="120"> @@ -78,6 +80,41 @@ <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> + <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> <!-- 鏂板缓/缂栬緫閿�鍞嚎绱� --> @@ -91,7 +128,13 @@ <script> import pageMixin from "@/components/makepager/pager/mixin/pageMixin" -import { getPurchaseList, getPurchaseInfo, submitPurchase, deletePurchase } from "@/api/purchaseManage/purchase" +import { + getPurchaseList, + getPurchaseInfo, + submitPurchase, + deletePurchase, + getOperationInfo +} from "@/api/purchaseManage/purchase" import DetailSupplier from "@/views/purchaseManage/purchase/DetailSupplier" import AddPurchase from "@/views/purchaseManage/purchase/components/AddPurchase" import { getSupplierList } from "@/api/supplierManage/supplier" @@ -103,8 +146,33 @@ 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: "operationNumber", default: true }, + { label: "鏀惰揣浠撳簱", prop: "warehouseName" }, + { label: "浜у搧鍚嶇О", prop: "name" }, + { label: "浜у搧缂栫爜", prop: "number" }, + { label: "鏁伴噺", prop: "amount" }, + { label: "鍏ュ簱鏃堕棿", prop: "overTime" }, + { label: "鏀惰揣浜�", prop: "principal" }, + { label: "鐘舵��", prop: "status", isCallMethod: true, getCallMethod: this.getreceiveStatusStatus } + ] return { purchaseStatusList: getDataByType("purchaseStatus"), + receiveStatusList: getDataByType("receiveStatus"), tableLoading: false, tableList: {}, // 鍒楄〃 selValueList: [], @@ -133,7 +201,30 @@ { label: "缁忓姙浜�", prop: "handledBy", min: 130 }, { label: "鍒跺崟浜�", prop: "creator", min: 130 } ], - showCol: ["閲囪喘鍗曞彿", "閲囪喘鍗曞悕绉�", "鍗曟嵁绫诲瀷", "渚涘簲鍟嗗悕绉�", "閲囪喘鏁伴噺", "鏀惰揣浠撳簱", "缁忓姙浜�", "鍒跺崟浜�"] + showCol: ["閲囪喘鍗曞彿", "閲囪喘鍗曞悕绉�", "鍗曟嵁绫诲瀷", "渚涘簲鍟嗗悕绉�", "閲囪喘鏁伴噺", "鏀惰揣浠撳簱", "缁忓姙浜�", "鍒跺崟浜�"], + tableBottomColumn: [], + showBottomCol: [], + TabsIndex: "0", + productTableList: {}, + // 浜у搧淇℃伅 + productColumn: productColumn, + showProductCol: [ + "浜у搧缂栧彿", + "浜у搧鍚嶇О", + "瑙勬牸", + "鍨嬪彿", + "閲囪喘鏁伴噺", + "宸插彂璐ф暟閲�", + "宸插叆搴撴暟閲�", + "鍗曚綅", + "閲囪喘鍗曚环", + "浠风◣鍚堣" + ], + // 鏀惰揣淇℃伅 + recriveColumn: recriveColumn, + showReceiveCol: ["鍏ュ簱鍗曞彿", "鏀惰揣浠撳簱", "浜у搧鍚嶇О", "浜у搧缂栫爜", "鏁伴噺", "鍏ュ簱鏃堕棿", "鏀惰揣浜�", "鐘舵��"], + loading: false, + selectRow: {} } }, created() { @@ -175,8 +266,19 @@ return "--" } }, - setColumnVisible(showCol) { - return this.tableColumn.map((ele) => { + 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) @@ -189,9 +291,13 @@ selectIndex: true, showcol: this.showCol, allcol: [], - tableColumn: this.setColumnVisible(this.showCol) + 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 @@ -212,6 +318,10 @@ }) 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) + } } }) .catch((err) => { @@ -255,7 +365,7 @@ number: "", contact: "", phone: "", - signingDate: "", + signingDate: this.getCurrentDate(), deliveryDate: "", remark: "", wholeDiscountType: null, @@ -265,7 +375,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 @@ -291,9 +408,8 @@ setTimeout(() => { this.tableLoading = false }, 3000) - // this.editRow = row; - // this.$refs.add.islook = true; }, + // 纭鍙戣揣 btnConfirm(row) { let string = "鏄惁鎻愪氦锛�" @@ -412,6 +528,98 @@ setTimeout(() => { this.tableLoading = false }, 3000) + }, + // top 琛岀偣鍑� + tableRowClick(row) { + this.selectRow = row + if (row.status == 1 && 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 { + getOperationInfo({ id: row.id }).then((res) => { + if (res.code == 200) { + this.productTableList.tableInfomation = res.data + } else { + this.$message.error(res.msg ? res.msg + "," : "" + "鑾峰彇淇℃伅澶辫触锛�") + } + }) + } + }, + // 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) + } + }, + // 鐘舵�� + getStatus(val) { + return val === 1 ? "寰呯‘璁�" : val === 2 ? "寰呭嚭搴�" : val === 3 ? "鍑哄簱瀹屾垚" : val === 4 ? "宸插叧闂�" : "--" + }, + // 鑾峰彇浜у搧/鏀惰揣淇℃伅 + async getProductInventoryInfo(row) { + console.log(row) + if (this.TabsIndex == 0 && row.status == 1) { + 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 { + getOperationInfo({ id: row.id }).then((res) => { + if (res.code == 200) { + this.productTableList.tableInfomation = res.data + } else { + this.$message.error(res.msg ? res.msg + "," : "" + "鑾峰彇淇℃伅澶辫触锛�") + } + }) + } } } } @@ -444,15 +652,51 @@ 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