From 983c6c7c026f6089fb4317dbff3a164e7c05aa8c Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期三, 28 二月 2024 14:10:12 +0800 Subject: [PATCH] 产品管理添加、编辑、删除相关组件数据处理 --- src/views/service/serviceContract/AddServiceContractDialog.vue | 19 ++++----- src/components/makepager/TableCommonView.vue | 23 ----------- src/components/makepager/CommonFormTableView.vue | 56 +++++++++++++++------------- 3 files changed, 39 insertions(+), 59 deletions(-) diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue index b11a1ac..6cffcd6 100644 --- a/src/components/makepager/CommonFormTableView.vue +++ b/src/components/makepager/CommonFormTableView.vue @@ -71,18 +71,18 @@ <div v-if="scope.row[item.prop] && scope.row[item.prop].length > 0 && isOperate" class="common-select-btn" - @click="handleEditClient(scope.row, item.prop)" + @click="handleEditClient(scope, item.prop)" > <i class="el-icon-edit" title="缂栬緫"></i> </div> <div v-if="scope.row[item.prop] && scope.row[item.prop].length > 0 && isOperate" class="common-select-btn" - @click="clearupClient(scope.row)" + @click="clearupClient(scope)" > <i class="el-icon-remove-outline" title="娓呴櫎"></i> </div> - <div class="common-select-btn" v-else @click="selClientClick(scope.row, item.prop)"> + <div class="common-select-btn" v-else @click="selClientClick(scope, item.prop)"> <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i> </div> </div> @@ -417,6 +417,7 @@ // 鏂板 add() { if (this.addTypeIdMultiple) { + this.productIndex = this.tableList.tableData.length this.editSelCommonConfig.title = "浜у搧鍚嶇О" this.editSelCommonConfig.isSelectBox = true this.editSelCommonConfig.editVisible = true @@ -508,43 +509,46 @@ }) }, // 鏂板 - selClientClick(row, prop) { - console.log(row, prop) - this.productIndex = row.productId - 1 + selClientClick(scope, prop) { + console.log(scope, prop) + this.productIndex = scope.$index this.editSelCommonConfig.title = "浜у搧鍚嶇О" this.editSelCommonConfig.isSelectBox = true this.editSelCommonConfig.editVisible = true }, // 缂栬緫 - handleEditClient(row, prop) { - console.log(row, prop) - this.productIndex = row.productId - 1 + handleEditClient(scope, prop) { + console.log(scope, prop) + this.productIndex = scope.$index this.editSelCommonConfig.title = "浜у搧鍚嶇О" this.editSelCommonConfig.isSelectBox = false this.editSelCommonConfig.editVisible = true }, selClient(item) { - console.log(item) - console.log(this.tableList.tableData) - this.isRecalculate = true - // this.editConfig.infomation.client_name = row.name - this.tableList.tableData.map((ite, index) => { - if (index === this.productIndex) { - ite.name = item.name - ite.amount = item.amount || 1 - ite.number = item.number - ite.price = item.price - ite.total = item.amount ? item.amount * item.price : 1 * item.price - ite.unit = item.unit - } - }) + let list = this.tableList.tableData.map((item) => item.number) + if (list.findIndex((v) => v == item.number) == -1) { + this.isRecalculate = true + // this.editConfig.infomation.client_name = row.name + this.tableList.tableData.map((ite, index) => { + if (index === this.productIndex) { + ite.name = item.name + ite.amount = item.amount || 1 + ite.number = item.number + ite.price = item.price + ite.total = item.amount ? item.amount * item.price : 1 * item.price + ite.unit = item.unit + } + }) + } else { + this.$message.error("涓嶈兘閫夋嫨閲嶅鐨勪骇鍝侊紝 璇烽噸鏂伴�夋嫨") + } }, getSelectArray(val) { - this.$emit("getSelectArray", val) + this.$emit("getSelectArray", val, this.productIndex) }, // 娓呴櫎宸查�夋嫨鐢ㄦ埛 - clearupClient(row) { - this.productIndex = row.productId - 1 + clearupClient(scope) { + this.productIndex = scope.$index this.tableList.tableData.map((ite, index) => { if (index === this.productIndex) { ite.name = "" diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue index 85c9aad..50ac390 100644 --- a/src/components/makepager/TableCommonView.vue +++ b/src/components/makepager/TableCommonView.vue @@ -398,35 +398,12 @@ this.$emit("tableRowClassName", row) }, selectable(row) { - console.log(row, this.selectBoxList, "888899") let list = this.selectBoxList.map((item) => item.number) - console.log( - list, - list.findIndex((v) => v == row.number) - ) if (list.findIndex((v) => v == row.number) == -1) { - console.log("33") return true } else { - console.log("44") return false } - - // if (this.selectBoxList.length == 1 && this.selectBoxList[0].number.length == 0) { - // return true - // } else { - // let list = this.selectBoxList.map((item) => item.number) - // console.log( - // list, - // list.findIndex((v) => v === row.number), - // "5555" - // ) - // if (list.findIndex((v) => v === row.number)) { - // return true - // } else { - - // } - // } } } } diff --git a/src/views/service/serviceContract/AddServiceContractDialog.vue b/src/views/service/serviceContract/AddServiceContractDialog.vue index 40e96db..7bc8e08 100644 --- a/src/views/service/serviceContract/AddServiceContractDialog.vue +++ b/src/views/service/serviceContract/AddServiceContractDialog.vue @@ -840,19 +840,18 @@ // this.showSummary.show = true }, // 鏂板鏂瑰紡淇敼 - getSelectArray(val) { - // if (val.length > 0) { - // val.map((item, index) => { - // item.productId = this.tableData.length + index + 1 - // }) - // } - console.log(this.tableData, "ddddaaaqqq") + getSelectArray(val, index) { if (this.tableData.length == 1 && this.tableData[0].number.length == 0) { - console.log("ssss") this.tableData = [] } - this.tableData = this.tableData.concat(val) - console.log(this.tableData, "55555ddddaaaqqq") + if (index < this.tableData.length) { + this.tableData.splice(index, 1) + val.map((item, ind) => { + this.tableData.splice(index + ind, 0, item) + }) + } else { + this.tableData = this.tableData.concat(val) + } this.productTableList.tableData = this.tableData this.showSummary.show = true }, -- Gitblit v1.8.0