From 5d0120d2e8a6e5cd2e1e95d4c5ffeecf5fc1c4a6 Mon Sep 17 00:00:00 2001 From: songshankun <songshankun@foxmail.com> Date: 星期二, 10 十月 2023 15:35:58 +0800 Subject: [PATCH] Merge branch 'dev' into songshankun/adjust-style --- src/components/makepager/CommonFormTableView.vue | 45 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 36 insertions(+), 9 deletions(-) diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue index b955bf0..80520cc 100644 --- a/src/components/makepager/CommonFormTableView.vue +++ b/src/components/makepager/CommonFormTableView.vue @@ -8,6 +8,7 @@ :span-method="arraySpanMethod" style="width: 100%" > + <el-table-column v-if="tableList.isReturn" type="index" label="#" width="50" align="center"></el-table-column> <el-table-column v-for="(item, i) in tableList.tableColumn" :key="i" @@ -46,7 +47,6 @@ v-else-if="item.productName" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop" - :rules="[{ required: item.isRequird ? true : false, message: '浜у搧鍚嶇О涓嶈兘涓虹┖' }]" > <div class="custom-name"> <el-autocomplete @@ -63,8 +63,12 @@ <div class="common-select-btn" @click="selClientClick(scope.row, item.prop)"> <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i> </div> - <div class="common-select-btn" @click="clearupClient(scope.row)"> - <i class="el-icon-edit-outline" title="娓呴櫎"></i> + <div + v-if="scope.row[item.prop] && scope.row[item.prop].length > 0" + class="common-select-btn" + @click="clearupClient(scope.row)" + > + <i class="el-icon-remove-outline" title="娓呴櫎"></i> </div> </div> </el-form-item> @@ -121,7 +125,7 @@ </el-form-item> <span v-else>{{ scope.row[item.prop] }}</span> </template> - <span v-else>{{ scope.row[item.prop] }}</span> + <span v-else style="text-align: right">{{ scope.row[item.prop] }}</span> </template> </el-table-column> </el-table> @@ -130,7 +134,9 @@ <el-button size="small" type="primary" @click="add">鏂板</el-button> <!-- <el-button size="small" type="primary" disabled>瀵煎叆鏄庣粏</el-button> --> <el-button size="small" type="primary" @click="empty">娓呯┖</el-button> - <el-button size="small" type="primary" @click="recalculate">閲嶇畻</el-button> + <el-button size="small" type="primary" @click="recalculate" :disabled="isRecalculate ? false : true" + >閲嶇畻</el-button + > </div> <div v-if="showSummary.total || showSummary.refundable" style="height: 42px; line-height: 42px"> <el-row :gutter="10"> @@ -169,6 +175,7 @@ default: () => { return { tableData: [], // 鎺ュ彛杩斿洖鏁版嵁 + isReturn: false, tableColumn: [ // table琛ㄥ崟 { label: "", prop: "", min: 200, tooltip: true } @@ -199,12 +206,18 @@ title: "", infomation: {} }, - productIndex: 0 + productIndex: 0, + isRecalculate: true } }, created() { this.getProductList() this.tableList = this.productTableList + if (this.tableList.tableData.length === 1 && this.tableList.tableData[0].name === "") { + this.isRecalculate = false + } else { + this.isRecalculate = true + } }, computed: {}, methods: { @@ -256,7 +269,7 @@ sums[index] = "灏忚:" return } - const title = ["#"] + const title = ["#", "浜у搧鍚嶇О"] // 鍘婚櫎鏌愪簺涓嶉渶瑕佽绠楃殑鏁版嵁 if (title.includes(column.label)) { sums[index] = "" @@ -319,10 +332,18 @@ commonInputChange(val, prop, row) { console.log(val, prop) console.log(row) + if (prop === "amount") { + this.tableList.tableData.map((ite) => { + if (ite.name === row.name) { + ite.total = row.amount * row.price + } + }) + } this.$emit("inputContent", val, prop, row) }, // 娓呯┖ empty() { + this.isRecalculate = false this.$emit("emptyProductClick") }, // 閲嶇畻 @@ -334,6 +355,9 @@ }) .then(() => { this.$emit("recalculateProductClick") + this.tableList.tableData.map((ite) => { + ite.total = ite.amount ? ite.amount * ite.price : 1 * ite.price + }) }) .catch(() => {}) }, @@ -350,6 +374,7 @@ }, handleSelectClient(item, prop, row) { // this.clientId = item.id + this.isRecalculate = true console.log(item, prop, row) this.tableList.tableData.map((ite) => { if (ite.name === item.name) { @@ -369,6 +394,7 @@ 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) { @@ -419,7 +445,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 { @@ -430,7 +456,8 @@ padding: 0 5px; } .el-input__inner { - text-align: left; + // text-align: left; + text-align: center !important; } } </style> -- Gitblit v1.8.0