From 287ebd61bb900d52fa968fc7eaf525728cc848fb Mon Sep 17 00:00:00 2001 From: qx <1084500556@qq.com> Date: 星期四, 24 七月 2025 10:49:01 +0800 Subject: [PATCH] qx --- src/views/hosp/order/index1.vue | 164 +----------------------------------------------------- 1 files changed, 5 insertions(+), 159 deletions(-) diff --git a/src/views/hosp/order/1.vue b/src/views/hosp/order/index1.vue similarity index 93% rename from src/views/hosp/order/1.vue rename to src/views/hosp/order/index1.vue index 95e2533..add60fd 100644 --- a/src/views/hosp/order/1.vue +++ b/src/views/hosp/order/index1.vue @@ -596,19 +596,6 @@ </el-table-column> <el-table-column prop="proPrice" label="鍘熶环" width="56px"> </el-table-column> - <el-table-column label="鎶樻墸"> - <template slot-scope="scope"> - <el-input-number v-model.number="scope.row.discount" @input="validateDiscount(scope.row)" - @change="handleManualChange(scope.row)" placeholder="杈撳叆鎶樻墸" size="small" type="number" :precision="1" - :step="0.1" :max="10" :min="0"> - </el-input-number> - </template> - </el-table-column> - <el-table-column prop="nowPrice" label="鐜颁环"> - <template slot-scope="scope"> - {{ scope.row.nowPrice? scope.row.nowPrice.toFixed(2):scope.row.nowPrice }} - </template> - </el-table-column> <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width" width="50px"> <template slot-scope="scope"> @@ -636,24 +623,14 @@ </el-form-item> <!-- 鎶樻墸璁惧畾 --> - <!-- <el-form-item label="鎶樻墸" style="display: flex"> + <el-form-item label="鎶樻墸" style="display: flex"> <el-input style="width: 90px" type="number" v-model="discount" :value="discount"></el-input> - </el-form-item> --> - - <el-form-item label="鎶樻墸"> - <!-- {{ discount }} --> - <el-input-number ref="inputNumber" style="width: 150px" v-model="discount" :precision="1" :step="0.1" - :max="10" :min="0" @change="debounceNumberChange"></el-input-number> - </el-form-item> + </el-form-item> <!-- 搴斾粯閲戦 --> - <!-- <el-form-item label="搴斾粯" style="display: flex"> + <el-form-item label="搴斾粯" style="display: flex"> <el-input placeholder="搴斾粯閲戦" :value="TotalPrice1 * (discount / 10)" style="width: 90px"></el-input> - </el-form-item> --> - <el-form-item label="搴斾粯"> - <el-input placeholder="搴斾粯閲戦" v-model="TotalPrice" style="width: 206px" @input="changeXianjia" - @blur="numberChangeXianPrice(discount, discount)" /> - </el-form-item> + </el-form-item> <!-- 浠樻绫诲瀷 --> <el-form-item label="浠樻绫诲瀷" prop="payType" style="display: flex"> @@ -965,7 +942,6 @@ getForceChexiao, } from "@/api/hosp/order"; import moment from "moment"; -import Big from "big.js"; import { getZhList, getlistByZhId } from "@/api/system/package"; import { getwater } from "@/api/hosp/customer"; import { getInfo } from "@/api/login"; @@ -1066,7 +1042,6 @@ activeName: "1", proIds: [], TotalPrice1: 0, - TotalPrice: 0, TotalPrice6: 0, TotalPrice7: 0, numberList: [], @@ -1494,143 +1469,14 @@ this.discount = (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10; }, - debounceNumberChange(currentValue, oldValue) { - clearTimeout(this.debounceTimer); - this.debounceTimer = setTimeout(() => { - this.numberChange(currentValue, oldValue); - }, 300); - }, - // 鎶樻墸 - numberChange(currentValue, oldValue) { - this.$confirm("纭畾淇敼鎵�鏈夊瓙椤圭殑鎶樻墸鍚楋紵", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(() => { - this.discount = currentValue; - this.DataList3.forEach((item) => { - item.discount = this.discount; - const ordPrice = new Big(item.ordPrice.toString()); - const discount = new Big(item.discount.toString()); - const result = ordPrice.times(discount.div(10)); - item.nowPrice = result.toNumber(); - // this.TotalPrice = this.DataList3.reduce((sum, item) => { - // return sum.plus(new Big(item.nowPrice || "0")); - // }, new Big(0)); - this.TotalPrice = new Big(TotalPrice1 * (discount / 10)) - }); - }) - .catch(() => { - this.discount = oldValue; - }); - }, - changeXianjia() { - // 鍘熷鎶樻墸鐜囪绠� - if (this.TotalPrice1 !== 0) { - this.discount = - (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10; - } - }, - numberChangeXianPrice(currentValue, oldValue) { - // 濡傛灉鐜颁环娌℃湁鍙樺寲锛岀洿鎺ヨ繑鍥� - if (this.TotalPrice === this.lastXianPrice || !this.TotalPrice) { - return; - } - this.$confirm("纭畾淇敼鎵�鏈夊瓙椤圭殑鎶樻墸鍚楋紵", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(() => { - this.discount = currentValue; - if (this.discount < this.getInfodis) { - this.discount = this.getInfodis; - } - let totalYsprice = new Big(0); - this.tableData1.forEach((item) => { - item.discount = this.discount; - const ordPrice = new Big(item.ordPrice); - const discount = new Big(item.discount); - const result = ordPrice.times(discount.div(10)); - item.nowPrice = result.toNumber(); - totalYsprice = totalYsprice.plus(new Big(item.nowPrice)); - }); - if (!totalYsprice.eq(this.TotalPrice)) { - const diff = new Big(this.TotalPrice).minus(totalYsprice); - if (this.tableData1.length > 0) { - const lastItem = this.tableData1[this.tableData1.length - 1]; - const newYsPrice = new Big(lastItem.nowPrice) - .plus(diff) - .toNumber(); - // console.log( - // "hhh", - // this.tableData1[this.tableData1.length - 1].nowPrice, - // newYsPrice - // ); - this.$set( - this.tableData1[this.tableData1.length - 1], - "nowPrice", - newYsPrice - ); - } - } - this.lastXianPrice = this.TotalPrice; - }) - .catch(() => { - this.discount = oldValue; - }); - }, handleManualChange(row) { this.updateProPrice(row); }, - validateDiscount(row) { - if ( - this.TotalPrice !== undefined && - !isNaN(this.TotalPrice) && - this.TotalPrice !== this.lastXianPrice - ) { - this.updateProPrice1(row); - this.lastXianPrice = this.TotalPrice; - } - }, - updateProPrice1(row) { - const ordPrice = new Big(row.ordPrice); - const discount = new Big(row.discount); - const result = ordPrice.times(discount.div(10)); - row.nowPrice = result.toNumber(); - const totalYsPrice = this.tableData1.reduce((sum, item) => { - return sum.plus(new Big(item.nowPrice || "0")); - }, new Big(0)); - const totalYsPriceNum = totalYsPrice.toNumber(); - if (this.TotalPrice !== undefined && !isNaN(this.TotalPrice)) { - const xianPrice = new Big(this.TotalPrice); - const diff = xianPrice.minus(totalYsPriceNum); - if (!diff.eq(0) && this.tableData1.length > 0) { - const lastItem = this.tableData1[this.tableData1.length - 1]; - const newYsPrice = new Big(lastItem.nowPrice).plus(diff).toNumber(); - this.$set( - this.tableData1[this.tableData1.length - 1], - "nowPrice", - newYsPrice - ); - } - } - - // Update youhui calculation - if (this.TotalPrice1 !== 0 && this.TotalPrice !== 0) { - this.discount = - (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10; - } else { - this.discount = 0; - } - }, - updateProPrice(row) { - const ordPrice = new Big(row.proPrice); + const ordPrice = new Big(row.ordPrice); const discount = new Big(row.discount); const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10) row.nowPrice = result.toNumber(); -- Gitblit v1.8.0