2
lkk
2025-01-17 d23ab1d66456d5dd8aa8645bb262deef4e70a9eb
src/views/hosp/order/index.vue
@@ -141,20 +141,25 @@
        >
      </el-form-item>
    </el-form>
    <template v-for="(item, index) in shijianlist"  >
  <div  :key="index" style="margin-bottom: 20px" v-if="shijianlist.length > 0">
    {{findNameByTjnum(item.tjNUm) }}
    <el-steps :space="200" :active="item.sjz" finish-status="success" align-center>
      <el-step title="未检"></el-step>
      <el-step title="在检"></el-step>
      <el-step title="已完成"></el-step>
      <el-step title="已审核"></el-step>
      <el-step title="生成报告"></el-step>
      <el-step title="报告核收"></el-step>
      <el-step title="已出报告"></el-step>
    </el-steps>
  </div>
</template>
    <div v-if="shijianlist.length > 0" style="margin-bottom: 20px">
      {{ findNameByTjnum(shijianlist[shijianlist.length - 1].tjNUm) }}
      <el-steps
        :space="200"
        :active="shijianlist[shijianlist.length - 1].sjz"
        finish-status="success"
        align-center
      >
        <el-step title="未检"></el-step>
        <el-step title="在检"></el-step>
        <el-step title="已完成"></el-step>
        <el-step title="已审核"></el-step>
        <el-step title="生成报告"></el-step>
        <el-step title="报告核收"></el-step>
        <el-step title="已出报告"></el-step>
      </el-steps>
    </div>
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
@@ -225,6 +230,16 @@
          :disabled="single"
          v-hasPermi="['hosp:order:export']"
          >打印补录单</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          size="mini"
          @click="ForceChexiao"
          :disabled="single"
          v-hasPermi="['qzcx']"
          >强制撤销</el-button
        >
      </el-col>
      <right-toolbar
@@ -643,6 +658,7 @@
                      width="260px"
                    >
                    </el-table-column>
                    <el-table-column prop="proPrice" label="原价" width="56px">
                    </el-table-column>
@@ -747,7 +763,9 @@
                >
                  <el-table-column prop="propinName" label="检查项目">
                  </el-table-column>
                  <el-table-column prop="proPrice" label="原价" width="56px">
                  <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"
@@ -755,6 +773,7 @@
                    width="260px"
                  >
                  </el-table-column>
                  <el-table-column
                    label="操作"
@@ -826,7 +845,7 @@
                        style="width: 90px"
                      ></el-input>
                    </el-form-item>
                    <el-form-item label="付款类型" prop="payType">
                    <el-form-item label="付款类型">
                      <el-select
                        style="width: 120px"
                        v-model="payType"
@@ -1096,7 +1115,9 @@
          >
            <el-table-column prop="propinName" label="检查项目">
            </el-table-column>
            <el-table-column prop="proName" label="明细项目" width="260px">
            <el-table-column prop="proName" label="明细项目" width="200px">
            </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>
@@ -1123,7 +1144,90 @@
        </div>
      </div>
      <div class="heji">
      <el-form
        :model="form"
        inline
        style="display: flex; justify-content: space-between; margin-top: 20px"
      >
        <!-- 体检类型 -->
        <el-form-item label="体检类型" prop="tjType" style="display: flex">
          <div class="type">
            {{ { 1: "团队", 2: "个人", 3: "团体票" }[form.tjType] }}
          </div>
        </el-form-item>
        <!-- 原价 -->
        <el-form-item label="原价" style="display: flex">
          <el-input
            placeholder="原价"
            :value="TotalPrice1"
            disabled
            style="width: 90px"
          ></el-input>
        </el-form-item>
        <!-- 折扣设定 -->
        <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="应付" style="display: flex">
          <el-input
            placeholder="应付金额"
            :value="TotalPrice1 * (discount / 10)"
            style="width: 90px"
          ></el-input>
        </el-form-item>
        <!-- 付款类型 -->
        <el-form-item label="付款类型" prop="payType" style="display: flex">
          <el-select
            style="width: 120px"
            v-model="payType"
            placeholder="请选择付款类型"
            @change="onPayTypeChange"
          >
            <el-option
              v-for="dict in dict.type.dict_pay_type"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <!-- 结算方式 -->
        <el-form-item label="结算方式" prop="jsType" style="display: flex">
          <el-select
            v-model="jsType"
            placeholder="请选择结算方式"
            style="width: 130px"
            clearable
          >
            <el-option
              v-for="dict in dict.type.reservation_pay_type"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            />
          </el-select>
        </el-form-item>
        <!-- 提交按钮 -->
        <el-form-item style="display: flex">
          <el-button type="primary" @click="submitPrice1" :disabled="confirm">
            提交
          </el-button>
        </el-form-item>
      </el-form>
      <!-- <div class="heji">
        <div class="o">
          <el-form
            :model="form"
@@ -1178,6 +1282,21 @@
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="结算方式" prop="payType">
              <el-select
                v-model="payType"
                placeholder="请选择结算方式"
                style="width: 130px"
                clearable
              >
                <el-option
                  v-for="dict in dict.type.reservation_pay_type"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
            <el-form-item style="display: flex">
              <el-button
                type="primary"
@@ -1188,7 +1307,7 @@
            </el-form-item>
          </el-form>
        </div>
      </div>
      </div> -->
    </el-dialog>
    <!-- 添加或修改体检记录对话框 -->
@@ -1501,6 +1620,7 @@
  getTransitionInfo,
  getBlproByTjh,
  revokeBlProByBldhAndTjh,
  getForceChexiao,
} from "@/api/hosp/order";
import moment from "moment";
import { getZhList, getlistByZhId } from "@/api/system/package";
@@ -1519,12 +1639,11 @@
  queryCompany,
  addbatch,
} from "@/api/team/tuanti";
import { createLogger } from "vuex";
export default {
  components: {
    ViewPdf,
  },
  dicts: ["dict_pay_type", "dict_team"],
  dicts: ["dict_pay_type", "dict_team", "reservation_pay_type"],
  name: "Order",
  data() {
    return {
@@ -1567,6 +1686,7 @@
      packagedataList: [],
      cusId: "",
      payType: "0",
      jsType: "0",
      packageList: [],
      checkedkeys: [],
      dialogVisible: false,
@@ -1705,9 +1825,11 @@
  },
  methods: {
    findNameByTjnum(tjnum) {
    const order = this.orderList.find(orderItem => orderItem.tjNumber === tjnum);
    return order ? order.tjCustomerName : '未找到';  // 如果找不到对应的项,返回一个默认值
  },
      const order = this.orderList.find(
        (orderItem) => orderItem.tjNumber === tjnum
      );
      return order ? order.tjCustomerName : "未找到"; // 如果找不到对应的项,返回一个默认值
    },
    // 搜索
    getRemoteData(query) {
      if (query) {
@@ -1827,7 +1949,6 @@
      // 获取单位信息集合
      getCompany(this.queryParams).then((response) => {
        this.CompanyList = response.data;
        console.log(this.CompanyList, 555);
        this.loading = false;
      });
@@ -1922,6 +2043,45 @@
        .catch(() => {
          this.$message.error("无法获取用户信息!");
        });
    },
    // 强制撤销按钮
    ForceChexiao() {
      const tjNum = this.tjnumbers;
      this.$confirm(
        "您是否需要强制撤销?撤销后该人员本次体检记录不可恢复!",
        "确认信息",
        {
          distinguishCancelAndClose: true,
          confirmButtonText: "确认",
          cancelButtonText: "取消",
          customClass: "custom-message-box",
        }
      )
        .then(() => {
          getForceChexiao(tjNum).then((res) => {
            this.$modal.msgSuccess("撤销成功");
            this.getList();
          });
        })
        .catch((action) => {
          if (action === "cancel") {
            this.$message({
              type: "warning",
              message: "已取消",
            });
          }
        });
      this.$nextTick(() => {
        // 确保弹框渲染后应用样式
        const messageBox = document.querySelector(
          ".custom-message-box .el-message-box__message"
        );
        if (messageBox) {
          messageBox.style.color = "red"; // 通过 JS 强制设置颜色
        }
      });
    },
    handleRevoke() {
@@ -2128,13 +2288,11 @@
      this.multiple = !selection.length;
      if (tjNUms.length > 0) {
        shijianzhou(tjNUms).then((res) => {
        this.shijianlist = res.data
      });
      } else{
        this.shijianlist = []
          this.shijianlist = res.data;
        });
      } else {
        this.shijianlist = [];
      }
    },
    /** 新增按钮操作 */
    // handleAdd() {
@@ -2156,7 +2314,7 @@
        var discount = "";
        response.data.water.forEach((item) => {
          copeWith += item.copeWith;
          paidIn += item.copeWith;
          paidIn += item.paidIn;
          discount = item.discount;
        });
        this.bill.push({
@@ -2197,7 +2355,7 @@
        var discount = "";
        response.data.water.forEach((item) => {
          copeWith += item.copeWith;
          paidIn += item.copeWith;
          paidIn += item.paidIn;
          discount = item.discount;
        });
        this.bill.push({
@@ -2308,8 +2466,10 @@
        let datas = {
          zhId: data.id,
        };
        getlistByZhId(datas).then((res) => {
          this.packagedataList = res.data.tjProjectList;
          for (var i = 0; i < this.packagedataList.length; i++) {
            let proId = this.packagedataList[i].proId;
            getProSonDxList(proId).then((res) => {
@@ -2461,7 +2621,6 @@
            this.checkedListkey.push(item.proId);
            this.DataList.push(item);
            this.DataList3 = this.DataList.concat(this.Datalists);
            console.log(this.DataList, 77777);
            this.spliceData();
            this.DataList.forEach((item1) => {
              if (item1.proParentId == data.proId) {
@@ -2472,7 +2631,8 @@
          this.TotalPrice1 = 0;
          if (this.DataList3.length != 0) {
            this.DataList3.forEach((item) => {
              this.TotalPrice1 += item.proPrice;
              this.TotalPrice1 += item.proPrice * item.sl;
            });
          }
          // this.TotalPrice1 = 0;
@@ -2516,7 +2676,9 @@
            this.DataList.splice(index, 1);
            this.TotalPrice1 = 0;
            this.DataList.forEach((item1) => {
              this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
            });
            if (this.marryalls != 0) {
              this.TotalPrice1 += this.marryalls;
@@ -2525,7 +2687,6 @@
        });
      } else if (checked == true) {
        this.DataList.push(data);
        console.log(this.DataList, 6666);
        this.DataList.forEach((item1) => {
          if (item1.proParentId == this.dataObj.proId) {
            item1.propinName = this.dataObj.proName;
@@ -2534,6 +2695,9 @@
        this.spliceData();
        this.TotalPrice1 = 0;
        this.DataList.forEach((item1) => {
          console.log(item1.proPrice,3322);
          console.log(this.TotalPrice1,1122);
          this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
        });
        if (this.marryalls != 0) {
@@ -2739,10 +2903,12 @@
            discount,
            copeWith,
            tjType,
            payStasus:this.jsType,
            orderId: this.orderIds,
            tjProIds: this.proIds,
            payType: this.payType,
          };
          getwater(data).then((res) => {
            this.$modal.msgSuccess("提交成功");
            this.mobanId = res.data.mobanId;
@@ -2866,6 +3032,12 @@
// .el-dialog__body {
//   padding: 20px;
// }
::v-deep .el-message-box__message {
  color: red !important; /* 强制设置颜色为红色 */
}
// .custom-message-box .el-message-box__message {
//   color: red !important; /* 设置文字为红色 */
// }
.o {
  margin-top: 8px;
}
@@ -2913,6 +3085,7 @@
  display: flex;
  flex-direction: column;
}
::v-deep .el-step__title.is-process {
  color: rgb(24, 144, 255);
}
@@ -2920,9 +3093,8 @@
  color: rgb(24, 144, 255);
  border-color: rgb(24, 144, 255);
}
.shijian{
.shijian {
  display: flex;
  align-items: flex-start;
}
</style>