1
wwl
2025-01-22 067c77dee145023f983eea591dfaf3be8ffc1ab9
src/views/system/tijian/index.vue
@@ -351,7 +351,7 @@
                  </el-table-column>
                  <el-table-column prop="proName" label="明细项目" width="260px">
                  </el-table-column>
                  <el-table-column prop="proPrice" label="原价" width="56px">
                  </el-table-column>
@@ -421,16 +421,8 @@
                    </el-table-column>
                    <el-table-column prop="sl" label="数量" width="56px">
                    </el-table-column>
                    <el-table-column
                      prop="proPrice"
                      label="原价"
                      width="56px"
                    ></el-table-column>
                    <el-table-column
                      prop="proName"
                      label="明细项目"
                      width="260px"
                    >
                    <el-table-column prop="proPrice" label="原价" width="56px"></el-table-column>
                    <el-table-column prop="proName" label="明细项目" width="260px">
                    </el-table-column>
                    <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width"
@@ -485,7 +477,7 @@
              <el-form-item label="体检类型">
                <el-select v-model="form.tjType" placeholder="请选择体检类型">
                  <el-option v-for="dict in dict.type.dict_team" :key="dict.value" :label="dict.label"
                    :value="dict.value" :disabled="!form.firmId && dict.value === '1'"></el-option>
                    :value="dict.value"></el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="体检类别">
@@ -513,8 +505,8 @@
              <el-form-item style="margin-left: 149px">
                <el-button type="primary" @click="Package" size="mini" style="margin-right: 20px">选择套餐</el-button>
                <el-button type="primary" @click="resetpackage" size="mini" style="margin-right: 20px">重置套餐</el-button>
                <el-button type="primary" @click="submitPrice" :loading="loadingSubmit"
                  :disabled="confirm || loadingSubmit" v-if="showHidden.has_charge == 'N'" size="mini">签到登记</el-button>
                <el-button type="primary" @click="submitPrice" :loading="loadingSubmit" :disabled="loadingSubmit"
                  v-if="showHidden.has_charge == 'N'" size="mini">签到登记</el-button>
                <el-button type="primary" @click="submitCheckinfee" :disabled="confirm"
                  v-if="showHidden.has_charge == 'Y'" size="mini">登记收费</el-button>
              </el-form-item>
@@ -588,8 +580,9 @@
              <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 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>
@@ -1081,6 +1074,7 @@
    };
  },
  watch: {
    filterText(val) {
      this.$refs.tree.filter(val);
    },
@@ -1654,6 +1648,10 @@
        });
    },
    numberChangeXianPrice(currentValue, oldValue) {
      // 如果现价没有变化,直接返回
      if (this.TotalPrice === this.lastXianPrice || !this.TotalPrice) {
        return;
      }
      this.$confirm("确定修改所有子项的折扣吗?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
@@ -1692,6 +1690,7 @@
              );
            }
          }
          this.lastXianPrice = this.TotalPrice;
        })
        .catch(() => {
          this.discount = oldValue;
@@ -1886,9 +1885,10 @@
                alert("读卡器连接关闭");
              };
            } else if (res.msg == "Y") {
              this.$refs.aaa.open = true;
              /* this.$refs.aaa.open = true;
              this.$refs.aaa.getAllList();
              this.$refs.aaa.title = "证件字典";
              this.$refs.aaa.title = "证件字典"; */
            } else if (res.msg == "S") {
              this.cardreader = true;
              _this.cardreaderradio = 3;
@@ -2288,8 +2288,7 @@
      this.DataList = []; // 清空已选项目列表
      this.checkedkey = []; // 清空树的选中状态
      this.checkedListkey = [];
      this.TreedataList = [];
      this.$refs.tree.setCheckedKeys([]); // 重置树选中状态
      this.TreedataList = []
      let data = {
        cusId,
@@ -2327,12 +2326,37 @@
        dwId: this.form.firmId || "",
      };
      if (this.form.tjType == 1) {
        if (!this.form.firmId) {
        if (!this.form.firmId && !this.form.firmName) {
          this.$message({
            type: "warning",
            message: "请先维护单位!",
          });
        } else {
        } else if (!this.form.firmId && this.form.firmName) {
          this.taocan = true;
          this.loading = true;
          deptTreeSelect(cusSex).then((response) => {
            this.newpacName = response.rows;
            try {
              if (this.tableData1.length >= 1) {
                this.newpacName.forEach((item3) => {
                  this.tableData1.forEach((item4) => {
                    item4.list.forEach((item6) => {
                      if (item6.pacName === item3.pacName) {
                        this.$nextTick(() => {
                          this.$refs.tb.toggleRowSelection(item3, true);
                        });
                        throw Error();
                      }
                    });
                  });
                });
              }
            } catch (error) { }
            this.loading = false;
          });
        }
        else {
          this.taocan = true;
          this.loading = true;
          tuantiSelect(param).then((res) => {
@@ -2490,7 +2514,6 @@
      this.loading = true;
      getProParentIdDxList().then((response) => {
        this.Treedata = response.data.list;
        if (this.tableData[0]) {
          this.tableData[0].tjProjectList.forEach((selectionitem) => {
            this.Treedata.forEach((item) => {
@@ -2605,32 +2628,36 @@
        });
      }
    },
    // 点击获取每个树节点
    handleCurrentChecked(data, checked, checkedNodes) {
      this.dataObj = data;
      if (checked.checkedNodes.length != 0) {
        this.$refs.tree.setCheckedKeys([data.proId]);
      if (checked.checkedNodes.length > 0) {
        const promises = checked.checkedNodes.map(node => getProSonDxList(node.proId));
        Promise.all(promises).then(results => {
          this.TreedataList = results.flatMap(res => res.data.list);
          this.checkedListkey = [];
          this.DataList = [];
        let proId = data.proId;
        getProSonDxList(proId).then((res) => {
          this.TreedataList = res.data.list;
          this.TreedataList.forEach((item) => {
            this.checkedListkey.push(item.proId);
            this.DataList.push(item);
            this.spliceData();
            this.DataList.forEach((item1) => {
              if (item1.proParentId == data.proId) {
                item1.propinName = data.proName;
              }
            });
          });
          this.spliceData(); // 假设这个方法是你定义的其他地方处理数据的
          // 更新名称和计算总价
          this.DataList.forEach((item1) => {
            const parent = checked.checkedNodes.find(node => node.proId === item1.proParentId);
            if (parent) {
              item1.propinName = parent.proName;
            }
          });
          this.TotalPrice1 = 0;
          this.marryall = 0;
          if (this.DataList.length != 0) {
            this.list1 = false;
            this.DataList.forEach((item) => {
              this.marryall = item.proPrice * item.sl;
              this.marryall += Number(item.proPrice) * Number(item.sl);
            });
          }
        });
@@ -2785,9 +2812,8 @@
        pacId: _this.pacId,
        proIds: this.proIds,
      };
      // 根据体检类型选择不同的处理方法
      if (this.form.tjType == 1) {
      if (this.form.firmId) {
        tuantiqueren(data).then((response) => {
          if (response.code == 200) {
            this.processOrderItems(cusId);
@@ -3098,8 +3124,8 @@
    // 最后提交按钮
    submitPrice() {
      let _this = this;
      this.loadingSubmit = true;
      if (_this.tjCategory !== "") {
        this.loadingSubmit = true;
        let List = _this.tableData1; //单个项目信息
        if (this.responseList.cusId) {
          var userId = this.responseList.cusId;
@@ -3149,8 +3175,9 @@
            cusIdCard: item.cusId,
          })); // 创建新的对象,包含 discount 和 id
        gaibianzhekou(newArray).then((res) => {
          this.loadingSubmit = false;
          if (res.code === 200) {
            this.loadingSubmit = false;
            let data;
            if (pacId || this.tjOrderList.length > 0) {
@@ -3182,6 +3209,7 @@
              };
              this.listgetOrder(data);
            } else {
              this.loadingSubmit = false;
              this.$message({
                type: "warning ",
                message: "请选择套餐!",