qx
qx
2 天以前 287ebd61bb900d52fa968fc7eaf525728cc848fb
qx
4个文件已修改
1 文件已重命名
371 ■■■■ 已修改文件
public/yuanqu.ini 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hosp/order/index.vue 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hosp/order/index1.vue 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sampling/sampling/index.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/tijian/index.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/yuanqu.ini
@@ -1,6 +1,7 @@
[development]
8094=pbkwyy
81=jdczgzyy
82=bjxjyy
8095=jdczgzyy
8096=sqyy
8097=wbzxyy
src/views/hosp/order/index.vue
@@ -474,7 +474,7 @@
              </el-table-column>
              <el-table-column prop="proPrice" label="原价" width="56px">
              </el-table-column>
              <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="50px">
                <template slot-scope="scope">
@@ -596,6 +596,19 @@
              </el-table-column>
              <el-table-column prop="proPrice" label="原价" width="56px">
              </el-table-column>
              <el-table-column label="折扣">
                <template slot-scope="scope">
                  <!-- @input="validateDiscount(scope.row)" -->
                  <el-input-number v-model.number="scope.row.discount" @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">
@@ -623,13 +636,23 @@
          </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 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>
          <!-- 付款类型 -->
@@ -942,6 +965,7 @@
  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";
@@ -1034,6 +1058,7 @@
      },
      TreedataList: [],
      discount: 10,
      lastXianPrice:0,
      DataList: [],
      shijianlist: [],
      // 套餐提交按钮
@@ -1042,6 +1067,7 @@
      activeName: "1",
      proIds: [],
      TotalPrice1: 0,
      TotalPrice: 0,
      TotalPrice6: 0,
      TotalPrice7: 0,
      numberList: [],
@@ -1457,7 +1483,8 @@
    },
     updateProPrice(row) {
    updateProPrice(row) {
      console.log(row)
      const ordPrice = new Big(row.ordPrice);
      const discount = new Big(row.discount);
      const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10)
@@ -1471,12 +1498,146 @@
    },
     handleManualChange(row) {
    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.proPrice.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(this.TotalPrice1 * (this.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);
          console.log(this.tableData3, 11111)
          this.tableData3.forEach((item) => {
            item.discount = this.discount;
            const ordPrice = new Big(item.proPrice);
            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.tableData3[this.tableData3.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.tableData3[this.tableData3.length - 1],
                "nowPrice",
                newYsPrice
              );
            }
          }
          this.lastXianPrice = this.TotalPrice;
        })
        .catch(() => {
          this.discount = oldValue;
        });
    },
    handleManualChange(row) {
      this.updateProPrice(row);
    },
     updateProPrice(row) {
      const ordPrice = new Big(row.ordPrice);
    //  validateDiscount(row) {
    //   if (
    //     this.TotalPrice !== undefined &&
    //     !isNaN(this.TotalPrice) &&
    //     this.TotalPrice !== this.lastXianPrice
    //   ) {
    //     this.updateProPrice1(row);
    //     this.lastXianPrice = this.TotalPrice;
    //   }
    // },
    // updateProPrice1(row) {
    //     console.log( row,2222)
    //   const ordPrice = new Big(row.proPrice);
    //   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) {
      console.log(row, 55555)
      const ordPrice = new Big(row.proPrice);
      const discount = new Big(row.discount);
      const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10)
      row.nowPrice = result.toNumber();
@@ -2241,6 +2402,8 @@
          this.TotalPrice1 = 0;
          this.DataList3.forEach((item) => {
            this.TotalPrice1 += item.proPrice * item.sl;
             this.TotalPrice = new Big(this.TotalPrice1 * (this.discount / 10))
          this.lastXianPrice = this.TotalPrice;
          });
        });
      } else if (checked === false) {
@@ -2269,6 +2432,8 @@
          this.TotalPrice1 = 0;
          this.DataList3.forEach((item) => {
            this.TotalPrice1 += item.proPrice * item.sl;
             this.TotalPrice = new Big(this.TotalPrice1 * (this.discount / 10))
          this.lastXianPrice = this.TotalPrice;
          });
        });
      }
src/views/hosp/order/index1.vue
File was renamed from src/views/hosp/order/1.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();
src/views/sampling/sampling/index.vue
@@ -300,6 +300,7 @@
        proId: null,
        proName: null,
      },
      tjNumber: null,
      startTime: "",
      tableKey: "",
      pickerOptions: {
@@ -456,10 +457,19 @@
    jydPrint() {
      const tjnumber = this.piliangList[0].tjNumber;
      if (this.piliangList.length != 0) {
        const tjnumber = this.piliangList[0].tjNumber;
      const viewNum = "1086792376946569216";
      const params = { viewNum, tjnumber };
      this.$tab.openPage("检验科导检单", "/report/clinical", params);
      this.$refs.tb.toggleRowSelection(this.piliangList[0], false);
      this.piliangList = []
      } else {
        this.$message.info('请重新选择要打印的数据');
        this.$refs.tb.toggleRowSelection(this.piliangList[0], false);
          this.piliangList = []
      }
    },
    getTruncatedName(proName) {
      // 去掉所有空格
@@ -632,13 +642,13 @@
    },
    handleCurrentChangess(val) {
      if (val != null) {
          this.$refs.tb.toggleRowSelection(val, true);
        this.$refs.tb.toggleRowSelection(val, true);
        this.handleSelectionChange(val);
      }
    },
    handleSelectionChange(selection) {
      this.piliangList = selection;
      const selectedCount = selection.length;
      const totalCount = this.samplingList.length;
@@ -646,6 +656,7 @@
      if (selectedCount === 1) {
        this.disableSelections = false;
        const selectedPerson = selection[0];
        this.piliangList = selection;
        const tjNumber = selectedPerson.tjNumber;
        console.log(`选中的体检号: ${tjNumber}`);
        this.fetchData(tjNumber);
src/views/system/tijian/index.vue
@@ -1978,7 +1978,7 @@
        if (isChineseChar(resultObj.data.sex)) {
          _this.form.cusSex = resultObj.data.sex == "女" ? 1 : 0
        } else {
          _this.form.cusSex = resultObj.data.sex;
          _this.form.cusSex = resultObj.data.sex ==  "1" ? 0 : 1;
        }
        _this.form.cusNational = resultObj.data.mz;
        _this.form.cusBrithday = resultObj.data.csrq;
@@ -2126,7 +2126,13 @@
        websocket.onmessage = function (event) {
          var resultObj = JSON.parse(event.data);
          _this.form.cusName = resultObj.data.name;
          _this.form.cusSex = resultObj.data.sex;
            const isChineseChar = (char) => /[\u4E00-\u9FA5]/.test(char)
          // _this.form.cusSex = resultObj.data.sex;
           if (isChineseChar(resultObj.data.sex)) {
          _this.form.cusSex = resultObj.data.sex == "女" ? 1 : 0
        } else {
          _this.form.cusSex = resultObj.data.sex ==  "1" ? 0 : 1;
        }
          _this.form.cusNational = resultObj.data.mz;
          _this.form.cusBrithday = resultObj.data.csrq;
          if (_this.form.cusBrithday) {