From 60d0884f82141a0127fca7e2b03bf3c147436776 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期五, 08 三月 2024 11:29:20 +0800 Subject: [PATCH] 采购订单列表接口联调和添加采购订单接口联调 --- src/components/makepager/CommonFormTableView.vue | 78 +++++++++++++++++++++++++------------- 1 files changed, 51 insertions(+), 27 deletions(-) diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue index 41cbeef..6bd0f81 100644 --- a/src/components/makepager/CommonFormTableView.vue +++ b/src/components/makepager/CommonFormTableView.vue @@ -7,10 +7,11 @@ :show-summary="showSummary.show" :summary-method="getSummaries" :span-method="arraySpanMethod" + @row-click="rowClick" > <el-table-column type="index" - v-if="tableList.tableColumn.length > 0" + v-if="tableList.tableColumn && tableList.tableColumn.length > 0" label="缂栧彿" width="50" align="center" @@ -39,6 +40,7 @@ :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]" > <el-input + :disabled="item.disabled" v-model.trim="scope.row[item.prop]" maxlength="50" size="mini" @@ -52,6 +54,7 @@ <el-form-item v-else-if="item.productName" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop"> <div class="custom-name"> <el-autocomplete + :disabled="item.disabled" v-model="scope.row[item.prop]" :fetch-suggestions="querySearchAsync" value-key="name" @@ -63,15 +66,21 @@ } " ></el-autocomplete> - <div class="common-select-btn" @click="selClientClick(scope.row, item.prop, scope)"> + <div + v-if="!item.disabled" + 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, scope)"> + <div v-if="!item.disabled" class="common-select-btn" @click="clearupClient(scope.row, scope)"> <i class="el-icon-remove-outline" title="娓呴櫎"></i> </div> - <div class="common-select-btn" v-if="scope.$index != 0" @click="deleteClient(scope.row, scope)"> - <i class="el-icon-delete" title="鍒犻櫎"></i> - </div> + <template v-if="!item.disabled"> + <div class="common-select-btn" v-if="scope.$index != 0" @click="deleteClient(scope.row, scope)"> + <i class="el-icon-delete" title="鍒犻櫎"></i> + </div> + </template> </div> </el-form-item> <el-form-item @@ -91,6 +100,7 @@ :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]" > <el-input-number + :disabled="item.disabled" v-model="scope.row[item.prop]" placeholder="" :min="0" @@ -110,11 +120,12 @@ :prop="'tableData.' + scope.$index + '.' + item.prop" :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]" > + <!-- 閲囪喘绠$悊 --> <template v-if="item.multiply"> <el-input-number + :disabled="item.disabled" :value="scope.row[showSummary.multiply[0]] * scope.row[showSummary.multiply[1]]" placeholder="" - :disabled="item.disabled" :min="0" :precision="2" :controls="false" @@ -129,6 +140,7 @@ </template> <template v-else> <el-input-number + :disabled="item.disabled" v-model="scope.row[item.prop]" placeholder="" :min="0" @@ -152,8 +164,8 @@ </el-table> </el-form> <div v-if="!detailEnter" style="margin: 10px"> - <el-button size="small" type="primary" @click="add">鏂板</el-button> - <el-button size="small" type="primary" @click="empty">娓呯┖</el-button> + <el-button :disabled="tableList.disabled" size="small" type="primary" @click="add">鏂板</el-button> + <el-button :disabled="tableList.disabled" size="small" type="primary" @click="empty">娓呯┖</el-button> </div> <!-- 浜у搧鍚嶇О --> <SelectCommonDialog @@ -184,6 +196,8 @@ type: Object, default: () => { return { + tableProductList: [], + disabled: false, tableData: [], // 鎺ュ彛杩斿洖鏁版嵁 tableColumn: [ // table琛ㄥ崟 @@ -221,7 +235,8 @@ title: "", infomation: {} }, - productIndex: 0 + productIndex: 0, + tableProductLists: [] } }, created() { @@ -235,6 +250,10 @@ } }, methods: { + // 閫夋嫨琛� + rowClick(row) { + this.$emit("rowClick", row) + }, // 浜у搧鍚嶇О async getProductList() { let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc @@ -242,10 +261,10 @@ page: 1, pageSize: 100 }).then((res) => { - console.log(res.data) - if (res.data.code === 200) { - if (res.data.data.list && res.data.data.list.length > 0) { - this.productList = res.data.data.list + if (res.code === 200) { + if (res.data.list && res.data.list.length > 0) { + this.productList = res.data.list + this.tableProductLists = res.data.list } } }) @@ -345,8 +364,6 @@ this.$emit("addProductClick") }, commonInputChange(val, prop, row) { - console.log(val, prop) - console.log(row) this.$emit("inputContent", val, prop, row) }, // 娓呯┖ @@ -355,7 +372,7 @@ }, // 閫夋嫨浜у搧鍚嶇О鐩稿叧鏂规硶 querySearchAsync(queryString, cb) { - var restaurants = this.productList + var restaurants = this.tableProductLists var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants cb(results) }, @@ -365,11 +382,9 @@ } }, handleSelectClient(item, prop, row) { - // this.clientId = item.id - console.log(item, prop, row) this.tableList.tableData.map((ite) => { if (ite.name === item.name) { - ite.ID = row.ID + ite.id = row.id ite.amount = item.amount || 1 ite.number = item.number ite.purchasePrice = item.purchasePrice @@ -380,12 +395,13 @@ } }) if (this.detailEnter) { - this.setEditName(item, row.ID) + this.setEditName(item, row.id) } + this.$emit("handleProduct", item, row) }, - setEditName(item, ID) { + setEditName(item, id) { let selRow = { - ID: ID, + id: id, deliveryTime: item.deliveryTime, maximumStock: item.maximumStock, minimumStock: item.minimumStock, @@ -413,7 +429,7 @@ console.log(this.tableList.tableData) if (this.detailEnter) { this.tableList.tableData.map((ite) => { - ite.ID + ite.id ite.name = item.name ite.amount = item.amount || 1 ite.number = item.number @@ -422,12 +438,13 @@ ite.deliveryTime = item.deliveryTime ite.shippingDuration = item.shippingDuration }) - this.setEditName(item, this.tableList.tableData[0].ID) + this.setEditName(item, this.tableList.tableData[0].id) } else { this.tableList.tableData.map((ite, index) => { if (index === this.productIndex) { ite.name = item.name - ite.productId = item.ID + ite.productId = item.id + ite.productIndex = this.productIndex + 1 ite.amount = item.amount || 1 ite.number = item.number ite.purchasePrice = item.purchasePrice @@ -438,7 +455,6 @@ this.$forceUpdate() } }) - console.log(this.tableList.tableData, "=====chanp") } }, @@ -484,10 +500,13 @@ <style lang="scss" scoped> .page-view { min-width: 100px; + .el-form-item { margin-bottom: 0; + .custom-name { display: flex; + .common-select-btn { margin-left: 5px; font-size: 18px; @@ -496,22 +515,27 @@ } } } + ::v-deep { .el-form-item__label { display: none; } + .el-table__footer-wrapper tbody td.el-table__cell { background-color: #fff; // text-align: right; font-weight: bold; } + .el-input--suffix .el-input__inner { padding-right: 0px; } + .el-table .cell, .el-table th.el-table__cell > .cell { padding: 0 5px; } + .el-input__inner { text-align: left; } -- Gitblit v1.8.0