From cb9989c7167856993a02238fde5a0ddd37c2c0cd Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期二, 29 四月 2025 18:09:02 +0800 Subject: [PATCH] 1 --- src/views/hosp/advicerules/index.vue | 4 +- src/views/system/package/index.vue | 77 ++++++++++++++++++++++++-------------- 2 files changed, 50 insertions(+), 31 deletions(-) diff --git a/src/views/hosp/advicerules/index.vue b/src/views/hosp/advicerules/index.vue index 855db34..73feb2a 100644 --- a/src/views/hosp/advicerules/index.vue +++ b/src/views/hosp/advicerules/index.vue @@ -612,7 +612,7 @@ }, // 琛ㄥ崟鍙傛暟 form: { - xb: "2", + // xb: "2", }, // 琛ㄥ崟鏍¢獙 rules: { @@ -748,7 +748,7 @@ createBy: null, updateBy: null, deleted: null, - xb: "2", + // xb: "2", }; if (this.$refs.form) { this.$refs.form.resetFields(); diff --git a/src/views/system/package/index.vue b/src/views/system/package/index.vue index 4eca4f1..af9f3af 100644 --- a/src/views/system/package/index.vue +++ b/src/views/system/package/index.vue @@ -206,7 +206,7 @@ <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 @@ -506,30 +506,7 @@ 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); @@ -884,7 +861,7 @@ 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(() => { @@ -918,7 +895,7 @@ this.youhui = oldValue; }); }, 500); - }, + }, */ spliceData() { for (var i = 0; i < this.DataList.length; i++) { for (var j = i + 1; j < this.DataList.length; j++) { @@ -947,6 +924,47 @@ 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; @@ -967,7 +985,7 @@ 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, @@ -978,7 +996,8 @@ pacRemark: this.form.pacRemark, detail: this.form.detail, }; - saveOreditTjPacNew(data).then((res) => { + + return saveOreditTjPacNew(data).then((res) => { this.open = false; this.getList(); }); -- Gitblit v1.8.0