From 53f2ab450f00d2f1ddb9cedfc5823b34af0d5545 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期三, 30 八月 2023 16:18:09 +0800 Subject: [PATCH] 采购订单的 价格调整 ,折扣调整 接口对接 采购质检单 列表接口对接 --- src/components/makepager/CommonFormTableView.vue | 81 +++++++++++++++++++++++++++++++--------- 1 files changed, 63 insertions(+), 18 deletions(-) diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue index 91b6d2c..5220061 100644 --- a/src/components/makepager/CommonFormTableView.vue +++ b/src/components/makepager/CommonFormTableView.vue @@ -1,7 +1,11 @@ <template> <div class="page-view"> - <el-form ref="form" :model="tableList" :show-message="false" label-position="right"> - <el-table :data="tableList.tableData" style="width: 100%"> + <el-form ref="form" :model="tableList" :show-message="false" label-position="right" + > + <el-table :data="tableList.tableData" style="width: 100%" + :show-summary="showSummary.show" + :summary-method="getSummaries" + :span-method="arraySpanMethod"> <el-table-column type="index" label="缂栧彿" width="50" align="center"></el-table-column> <el-table-column v-for="(item, i) in tableList.tableColumn" @@ -50,11 +54,14 @@ } " ></el-autocomplete> - <div class="common-select-btn" @click="selClientClick(scope.row, item.prop)"> + <div class="common-select-btn" @click="selClientClick(scope.row, item.prop,scope)"> <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i> </div> - <div class="common-select-btn" @click="clearupClient(scope.row)"> + <div class="common-select-btn" @click="clearupClient(scope.row,scope)"> <i class="el-icon-remove-outline" title="娓呴櫎"></i> + </div> + <div class="common-select-btn" @click="deleteClient(scope.row,scope)"> + <i class="el-icon-delete" title="鍒犻櫎"></i> </div> </div> </el-form-item> @@ -94,6 +101,24 @@ :prop="'tableData.' + scope.$index + '.' + item.prop" :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]" > + <template v-if="item.multiply"> + <el-input-number + :value="scope.row[showSummary.multiply[0]]*scope.row[showSummary.multiply[1]]" + placeholder="" + :disabled="item.disabled" + :min="0" + :precision="2" + :controls="false" + size="mini" + style="width: 100%; margin-right: 5px" + @input=" + (val) => { + commonInputChange(val, item.prop, scope.row) + } + " + ></el-input-number> + </template> + <template v-else> <el-input-number v-model="scope.row[item.prop]" placeholder="" @@ -108,6 +133,7 @@ } " ></el-input-number> + </template> </el-form-item> <span v-else>{{ scope.row[item.prop] }}</span> <!-- </template> --> @@ -124,13 +150,14 @@ <SelectCommonDialog v-if="editSelCommonConfig.editVisible" :edit-common-config="editSelCommonConfig" + :sign="sign" @selClient="selClient" /> </div> </template> <script> -import { getProductListFromGrpc } from "@/api/productManage/product" +import { getProductListFromGrpc,getProductList } from "@/api/productManage/product" import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog" export default { name: "CommmonFormTableView", @@ -139,6 +166,10 @@ detailEnter: { type: Boolean, default: false + }, + sign:{ + type:String, + default:'' }, productTableList: { type: Object, @@ -160,6 +191,7 @@ total: false, refundable: false, sumProp: [], + multiply:[], titleProp: ["#", "浜у搧鍚嶇О"], mergeNumber: 1 } @@ -168,7 +200,7 @@ recalculateShow: { type: [Boolean], defalut: true - } + }, }, data() { return { @@ -188,10 +220,16 @@ this.tableList = this.productTableList }, computed: {}, + watch:{ + productTableList(){ + this.tableList = this.productTableList + } + }, methods: { // 浜у搧鍚嶇О async getProductList() { - await getProductListFromGrpc({ + let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc; + await fn({ page: 1, pageSize: 100 }).then((res) => { @@ -259,6 +297,7 @@ } if (column.property === "total") { this.total = sums[index] + this.$emit('getSummaries',this.total) } }) return sums @@ -354,9 +393,9 @@ } this.$emit("selCommonName", selRow) }, - selClientClick(row, prop) { + selClientClick(row, prop,scope) { console.log(row, prop) - this.productIndex = row.productId - 1 + this.productIndex = scope.$index this.editSelCommonConfig.title = "浜у搧鍚嶇О" this.editSelCommonConfig.editVisible = true }, @@ -379,22 +418,28 @@ this.tableList.tableData.map((ite, index) => { if (index === this.productIndex) { ite.name = item.name + ite.productId = item.ID ite.amount = item.amount || 1 ite.number = item.number ite.purchasePrice = item.purchasePrice ite.unit = item.unit ite.deliveryTime = item.deliveryTime ite.shippingDuration = item.shippingDuration + this.$set(this.tableList.tableData,index,ite) + this.$forceUpdate() } }) + + + console.log(this.tableList.tableData,'=====chanp') } }, // 娓呴櫎宸查�夋嫨鐢ㄦ埛 - clearupClient(row) { - this.productIndex = row.productId - 1 + clearupClient(row,scope) { + this.productIndex = scope.$index this.tableList.tableData.map((ite, index) => { - console.log(row.productId) - if (row.productId && row.productId >= 0) { + console.log(scope.$index) + if (scope.$index && scope.$index >= 0) { if (index === this.productIndex) { ite.name = "" ite.amount = 1 @@ -416,10 +461,10 @@ }) this.$emit("clearupProduct", this.tableList.tableData) }, - // 鍒犻櫎 - deleteClient(row) { - this.$emit("deleteProduct", row) - } + deleteClient(row,scope){ + this.tableList.tableData.splice(scope.$index,1) + }, + } } </script> @@ -445,7 +490,7 @@ } .el-table__footer-wrapper tbody td.el-table__cell { background-color: #fff; - text-align: right; + // text-align: right; font-weight: bold; } .el-input--suffix .el-input__inner { -- Gitblit v1.8.0