| | |
| | | </el-form-item> |
| | | <el-form-item label="优惠"> |
| | | <el-input-number ref="inputNumber" style="width: 150px" v-model="youhui" :precision="2" :step="0.1" |
| | | :min="0" @change="numberChange"></el-input-number> |
| | | :min="0" @change="numberChange"></el-input-number> |
| | | </el-form-item> |
| | | <el-form-item label="现价"> |
| | | <el-input ref="inputName" v-model="queryParams.xianprice" placeholder="合计" clearable |
| | | style="width: 140px" /> |
| | | style="width: 140px" @input="changeXianjia" @blur="numberChangeXianPrice(youhui, youhui)" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuerys">重置</el-button> |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | <div style="font-size: 16px;margin-top: 10px;">项目总条数:<span style="font-weight: 700;margin-right: 5px;">{{ |
| | | newpacName.length }}</span>条</div> |
| | | newpacName.length }}</span>条</div> |
| | | </el-col> |
| | | <el-col :span="8" :xs="24"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="46px" |
| | |
| | | <el-col :span="2" :xs="24"> |
| | | <div style="margin: 240% 16%"> |
| | | <el-button type="primary" size="medium " icon="el-icon-back" |
| | | style="writing-mode: vertical-rl; text-align: center;letter-spacing: 10px;" |
| | | @click="resetright">确 认</el-button> |
| | | style="writing-mode: vertical-rl; text-align: center;letter-spacing: 10px;" @click="resetright">确 |
| | | 认</el-button> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="8" :xs="24"> |
| | |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | changeXianjia() { |
| | | // 原始折扣率计算 |
| | | |
| | | |
| | | this.youhui = (Math.floor((this.queryParams.xianprice / this.queryParams.price) * 100) / 100) * 10 |
| | | |
| | | }, |
| | | validateDiscount(row) { |
| | | if (row.limits > 10) { |
| | | row.limits = 10; // 强制将值设置为最大值 |
| | |
| | | this.handleQuery(); |
| | | }, |
| | | resetQuerys() { |
| | | this.OnenewpacName = [], |
| | | this.OnenewpacName = [], |
| | | this.queryParams.price = 0, |
| | | this.queryParams.xianprice = 0, |
| | | this.youhui = 0 |
| | |
| | | }); |
| | | |
| | | }, |
| | | numberChangeXianPrice(currentValue, oldValue) { |
| | | this.$confirm("确定修改所有子项的折扣吗?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | this.youhui = currentValue; |
| | | if (this.youhui < this.getInfodis) { |
| | | this.youhui = this.getInfodis; |
| | | } |
| | | |
| | | let totalYsprice = new Big(0); // 初始化总 ysprice |
| | | |
| | | this.OnenewpacName.forEach((item) => { |
| | | item.limits = this.youhui; |
| | | const proPrice = new Big(item.proPrice); |
| | | const limits = new Big(item.limits); |
| | | const result = proPrice.times(limits.div(10)); // ordPrice * (discount / 10) |
| | | item.ysPrice = result.toNumber(); |
| | | totalYsprice = totalYsprice.plus(new Big(item.ysPrice)); |
| | | }); |
| | | |
| | | // 计算完所有 ysPrice 后进行调整 |
| | | if (totalYsprice.toNumber() !== this.queryParams.xianprice) { |
| | | const diff = this.queryParams.xianprice - totalYsprice.toNumber(); |
| | | if (this.OnenewpacName.length > 0) { |
| | | const lastItem = this.OnenewpacName[this.OnenewpacName.length - 1]; |
| | | lastItem.ysPrice += diff; |
| | | // 调整后更新 queryParams.xianprice |
| | | this.queryParams.xianprice = totalYsprice.plus(diff).toNumber(); |
| | | } |
| | | } |
| | | }) |
| | | .catch(() => { |
| | | this.youhui = oldValue; |
| | | }); |
| | | }, |
| | | changegroupingName() { |
| | | if (this.selectionList.length <= 0) { |
| | | this.$modal.msgError("请先选中部门或添加新的部门"); |