| | |
| | | |
| | | <el-form-item label="现价" prop="xianprice"> |
| | | <el-input v-model="form.xianprice" placeholder="现价" clearable style="width: 140px" @input="changeXianjia" |
| | | @blur="numberChangeXianPrice(youhui, youhui)" type="number" :debounce="3000" min="0"/> |
| | | type="number" :debounce="3000" min="0"/> |
| | | </el-form-item> |
| | | <el-form-item label="关键字" prop="keywords"> |
| | | <el-select multiple v-model="form.keywords" placeholder="请选择关键字" style="width: 160px" @change="sel" filterable |
| | |
| | | this.numberChange(currentValue, oldValue); |
| | | }, 300); |
| | | }, |
| | | numberChange(currentValue, oldValue) { |
| | | this.$confirm("确定修改所有子项的折扣吗?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | this.youhui = currentValue; |
| | | this.DataList.forEach((item) => { |
| | | item.limits = this.youhui; |
| | | const proPrice = new Big(item.priceOrd); |
| | | const limits = new Big(item.limits); |
| | | const result = proPrice.times(limits.div(10)); |
| | | item.priceNow = result.toNumber(); |
| | | }); |
| | | this.form.xianprice = this.DataList.reduce((sum, item) => { |
| | | return sum.plus(new Big(item.priceNow || "0")); |
| | | }, new Big(0)).toNumber(); |
| | | this.lastXianPrice = this.form.xianprice; |
| | | }) |
| | | .catch(() => { |
| | | this.youhui = oldValue; |
| | | }); |
| | | }, |
| | | |
| | | updateProPrice(row) { |
| | | const proPrice = new Big(row.priceOrd); |
| | | const limits = new Big(row.limits); |
| | |
| | | this.youhui = (Math.floor((this.form.xianprice / this.pics) * 100) / 100) * 10; |
| | | } |
| | | }, |
| | | numberChangeXianPrice(currentValue, oldValue) { |
| | | /* numberChangeXianPrice(currentValue, oldValue) { |
| | | if (this.form.xianprice === this.lastXianPrice || !this.form.xianprice) return; |
| | | clearTimeout(this.debounceTimer); |
| | | this.debounceTimer = setTimeout(() => { |
| | |
| | | this.youhui = oldValue; |
| | | }); |
| | | }, 500); |
| | | }, |
| | | }, */ |
| | | spliceData() { |
| | | for (var i = 0; i < this.DataList.length; i++) { |
| | | for (var j = i + 1; j < this.DataList.length; j++) { |
| | |
| | | this.TotalPrice1 = this.DataList.reduce((sum, item) => sum + item.priceOrd, 0); |
| | | }, |
| | | submitForm() { |
| | | // 检查现价是否发生变化 |
| | | if (this.form.xianprice !== this.lastXianPrice) { |
| | | this.$confirm("确定修改所有子项的折扣吗?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }).then(() => { |
| | | // 更新所有子项的折扣 |
| | | this.youhui = (Math.floor((this.form.xianprice / this.pics) * 100) / 100) * 10; |
| | | let totalYsprice = new Big(0); |
| | | this.DataList.forEach((item) => { |
| | | item.limits = this.youhui; |
| | | const ordPrice = new Big(item.priceOrd); |
| | | const discount = new Big(item.limits); |
| | | const result = ordPrice.times(discount.div(10)); |
| | | item.priceNow = result.toNumber(); |
| | | totalYsprice = totalYsprice.plus(new Big(item.priceNow)); |
| | | }); |
| | | |
| | | if (!totalYsprice.eq(this.form.xianprice)) { |
| | | const diff = new Big(this.form.xianprice).minus(totalYsprice); |
| | | if (this.DataList.length > 0) { |
| | | const lastItem = this.DataList[this.DataList.length - 1]; |
| | | const newYsPrice = new Big(lastItem.priceNow).plus(diff).toNumber(); |
| | | this.$set(this.DataList[this.DataList.length - 1], "priceNow", newYsPrice); |
| | | } |
| | | } |
| | | |
| | | // 保存数据 |
| | | return this.saveData(); |
| | | }).catch(() => { |
| | | // 用户取消操作,恢复原来的现价 |
| | | this.form.xianprice = this.lastXianPrice; |
| | | }); |
| | | } else { |
| | | // 现价没有变化,直接保存 |
| | | this.saveData(); |
| | | } |
| | | }, |
| | | // 新增一个方法处理保存逻辑 |
| | | saveData() { |
| | | this.form.limits = this.youhui; |
| | | this.form.price = this.pics; |
| | | this.form.priceNow = this.form.xianprice; |
| | |
| | | pacName: this.form.pacName, |
| | | limits: this.form.limits, |
| | | pacStatus: this.form.pacStatus, |
| | | packageProjects: packageProjects, |
| | | packageProjects: packageProjects, |
| | | newPrice: this.form.xianprice, |
| | | price: this.pics, |
| | | pacId: this.form.pacId || null, |
| | |
| | | pacRemark: this.form.pacRemark, |
| | | detail: this.form.detail, |
| | | }; |
| | | saveOreditTjPacNew(data).then((res) => { |
| | | |
| | | return saveOreditTjPacNew(data).then((res) => { |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |