From 2260b47026088827f177bec0931ded0fd73d97ba Mon Sep 17 00:00:00 2001 From: zuozhengqing <a13193816592@163.com> Date: 星期二, 26 三月 2024 10:48:43 +0800 Subject: [PATCH] 销售明细单发货弹窗样式优化 --- src/components/makepager/CommonFormTableView.vue | 104 ++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 73 insertions(+), 31 deletions(-) diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue index b11a1ac..0fb598e 100644 --- a/src/components/makepager/CommonFormTableView.vue +++ b/src/components/makepager/CommonFormTableView.vue @@ -3,6 +3,7 @@ <el-form ref="form" :model="tableList" :show-message="false" label-position="right"> <el-table ref="fromTable" + :border="isBorder" :data="tableList.tableData" :show-summary="showSummary.show" :summary-method="getSummaries" @@ -71,18 +72,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> @@ -152,6 +153,28 @@ </template> </span> </template> + <el-form-item + v-else-if="item.inputFloat" + label=" " + :prop="'tableData.' + scope.$index + '.' + item.prop" + :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]" + > + <el-input-number + v-model="scope.row[item.prop]" + placeholder="" + :min="0" + :precision="2" + :disabled="!isOperate" + :controls="false" + size="mini" + style="width: 100%; margin-right: 5px" + @change=" + (val) => { + commonInputChange(val, item.prop, scope.row, scope) + } + " + ></el-input-number> + </el-form-item> <el-form-item v-else-if="item.inputNumber && selectBox" label=" " @@ -251,6 +274,10 @@ type: Boolean, default: true }, + isBorder:{ + type: Boolean, + default: false + }, productTableList: { type: Object, default: () => { @@ -296,15 +323,26 @@ if (!this.selectBox) { this.getProductList() } - this.tableList = this.productTableList - if (this.tableList.tableData.length === 1 && this.tableList.tableData[0].name === "") { - this.isRecalculate = false - } else { - this.isRecalculate = true + this.getTableInfo() + }, + watch:{ + "productTableList": { + handler() { + this.getTableInfo() + }, + immediate: true } }, computed: {}, methods: { + getTableInfo(){ + this.tableList = this.productTableList + if (this.tableList.tableData.length === 1 && this.tableList.tableData[0].name === "") { + this.isRecalculate = false + } else { + this.isRecalculate = true + } + }, // 浜у搧鍚嶇О async getProductList() { await getProductList({ @@ -417,6 +455,7 @@ // 鏂板 add() { if (this.addTypeIdMultiple) { + this.productIndex = this.tableList.tableData.length this.editSelCommonConfig.title = "浜у搧鍚嶇О" this.editSelCommonConfig.isSelectBox = true this.editSelCommonConfig.editVisible = true @@ -508,43 +547,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 = "" -- Gitblit v1.8.0