1
wwl
2025-01-04 492a91ada4f0f98d9d800b55f9dddda7b53f7dd8
src/views/hosp/order/index.vue
@@ -13,7 +13,7 @@
          ref="inputName"
          v-model="queryParams.name"
          placeholder="请输入姓名"
          style="width: 200px"
          style="width: 150px"
          clearable
          @keyup.enter.native="handleQuery"
        />
@@ -23,7 +23,7 @@
          ref="inputName"
          v-model="queryParams.tjNum"
          placeholder="请输入体检号"
          style="width: 200px"
          style="width: 150px"
          clearable
          @keyup.enter.native="handleQuery"
          @blur="hb"
@@ -34,7 +34,7 @@
          ref="inputName"
          v-model="queryParams.xmmc"
          placeholder="请输入体检项目"
          style="width: 300px"
          style="width: 150px"
          clearable
          @keyup.enter.native="handleQuery"
        />
@@ -42,19 +42,18 @@
      <el-form-item
        label="单位名称"
        prop="tjCompName"
        style="margin-left: 20px"
        style="margin-left: 20px; margin-right: 500px"
      >
        <el-select
          :remote-method="getRemoteData"
          v-model="queryParams.tjCompName"
          value-key="drugManufacturerId"
          style="width: 300px"
          style="width: 200px"
          remote
          filterable
          placeholder="请选择单位名称"
          clearable
          @change="searchSelect"
        >
          <el-option
            v-for="dict in CompanyList"
@@ -64,7 +63,30 @@
          />
        </el-select>
      </el-form-item>
      <el-form-item label="登记时间" prop="createTimeList">
      <el-form-item label="状态" prop="zt">
        <el-select
          :remote-method="getRemoteData"
          v-model="queryParams.zt"
          style="width: 150px"
          remote
          filterable
          placeholder="请选择状态"
          clearable
          @change="searchSelect"
        >
          <el-option
            v-for="item in ztList"
            :key="item.id"
            :label="item.name"
            :value="item.id"
          />
        </el-select>
      </el-form-item>
      <el-form-item
        label="登记时间"
        prop="createTimeList"
        style="margin-right: 107px"
      >
        <el-date-picker
          v-model="createTimeList"
          type="datetimerange"
@@ -119,6 +141,24 @@
        >
      </el-form-item>
    </el-form>
    <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">
@@ -190,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
@@ -302,7 +352,7 @@
        <el-table-column
          label="状态"
          align="center"
          prop="tjtype"
          prop="zt"
          :show-overflow-tooltip="true"
        />
        <!-- <el-table-column label="流水号" align="center" prop="tjSerialNumber" /> -->
@@ -366,14 +416,14 @@
        </el-table-column>
        <!-- <el-table-column label="创建人" align="center" prop="createBy" /> -->
        <!-- <el-table-column label="更新人" align="center" prop="updateBy" /> -->
       <!--  <el-table-column
        <!--  <el-table-column
          label="单位工号"
          align="center"
          prop="firmWorkId"
          width="100px"
          :show-overflow-tooltip="true"
        /> -->
        <!-- <el-table-column label="部门名" align="center" prop="firmDeptName" /> -->
        <!-- <el-table-column label="客户照片" align="center" prop="photo" /> -->
@@ -1466,6 +1516,7 @@
  getTransitionInfo,
  getBlproByTjh,
  revokeBlProByBldhAndTjh,
  getForceChexiao,
} from "@/api/hosp/order";
import moment from "moment";
import { getZhList, getlistByZhId } from "@/api/system/package";
@@ -1473,7 +1524,7 @@
import { getInfo } from "@/api/login";
import ViewPdf from "@/components/ViewPdf";
import {
  projectGetList,
  shijianzhou,
  getaddtTransition,
  getProParentIdDxList,
  getProSonDxList,
@@ -1484,7 +1535,6 @@
  queryCompany,
  addbatch,
} from "@/api/team/tuanti";
import { createLogger } from "vuex";
export default {
  components: {
    ViewPdf,
@@ -1493,6 +1543,15 @@
  name: "Order",
  data() {
    return {
      ztList: [
        { name: "未检", id: 0 },
        { name: "在检", id: 1 },
        { name: "已完成", id: 2 },
        { name: "已审核", id: 3 },
        { name: "生成报告", id: 4 },
        { name: "报告核收", id: 5 },
        { name: "已出报告", id: 6 },
      ],
      DataList3: [],
      bldhid: "",
      budadaozhen: false,
@@ -1548,6 +1607,7 @@
      TreedataList: [],
      discount: 10,
      DataList: [],
      shijianlist: [],
      // 套餐提交按钮
      confirm: false,
      list1: true,
@@ -1595,8 +1655,8 @@
        bgbeginTime: null,
        bgendTime: null,
        xmmc: null,
        tjCompName:'',
        dw:null
        tjCompName: "",
        dw: null,
      },
      startTime: "",
      startTime1: "",
@@ -1659,6 +1719,12 @@
    });
  },
  methods: {
    findNameByTjnum(tjnum) {
      const order = this.orderList.find(
        (orderItem) => orderItem.tjNumber === tjnum
      );
      return order ? order.tjCustomerName : "未找到"; // 如果找不到对应的项,返回一个默认值
    },
    // 搜索
    getRemoteData(query) {
      if (query) {
@@ -1674,8 +1740,8 @@
    // 选框数据
    searchSelect(val) {
      this.CheckBox = val;
      console.log(this.CheckBox,9999);
      this.queryParams.dw = this.CheckBox.cnName;
      console.log(this.CheckBox, 9999);
    },
    onPayTypeChange() {
      if (this.payType === "6" && this.form.tjType !== 3) {
@@ -1746,7 +1812,6 @@
    /** 查询体检记录列表 */
    getList() {
      this.queryParams.compId = this.CheckBox.drugManufacturerId;
      this.queryParams.dw = this.CheckBox.cnName;
      if (this.startTime) {
        this.queryParams.djbeginTime = this.startTime[0];
        this.queryParams.djendTime = this.startTime[1];
@@ -1776,11 +1841,44 @@
        this.total = response.data.total;
        this.loading = false;
      });
       // 获取单位信息集合
       getCompany(this.queryParams).then((response) => {
      // 获取单位信息集合
      getCompany(this.queryParams).then((response) => {
        this.CompanyList = response.data;
        console.log( this.CompanyList,555);
        console.log(this.CompanyList, 555);
        this.loading = false;
      });
    },
    sub() {
      this.queryParams.compId = this.CheckBox.drugManufacturerId;
      if (this.startTime) {
        this.queryParams.djbeginTime = this.startTime[0];
        this.queryParams.djendTime = this.startTime[1];
      } else if (this.createTimeList) {
        this.queryParams.djbeginTime = this.createTimeList[0];
        this.queryParams.djendTime = this.createTimeList[1];
      } else if (this.createTimeList == null) {
        this.queryParams.djbeginTime = null;
        this.queryParams.djendTime = null;
      }
      if (this.startTime1) {
        this.queryParams.bgbeginTime = this.startTime1[0];
        this.queryParams.bgendTime = this.startTime1[1];
      }
      this.loading = true;
      getOrderList(this.queryParams).then((response) => {
        this.orderList = response.data.list;
        if (this.orderList) {
          this.orderList.forEach((item, index) => {
            item.newID =
              (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
              index +
              1;
          });
        }
        this.total = response.data.total;
        this.loading = false;
      });
    },
@@ -1841,6 +1939,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() {
@@ -1945,7 +2082,7 @@
        djendTime: null,
        bgbeginTime: null,
        bgendTime: null,
        dw: null
        dw: null,
      };
      this.resetForm("form");
    },
@@ -1957,7 +2094,8 @@
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
      // this.getList();
      this.sub();
    },
    renderContents(h, { node, data, store }) {
      return (
@@ -2012,10 +2150,23 @@
      this.startTime1 = [];
      this.createTimeList = [];
      this.resetForm("queryForm");
      this.queryParams = {
        pageNum: 1,
        pageSize: 10,
        djbeginTime: null,
        djendTime: null,
        tjNum: null,
        bgbeginTime: null,
        bgendTime: null,
        xmmc: null,
        tjCompName: "",
        dw: null,
      };
      this.handleQuery();
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      let tjNUms = selection.map((item) => item.tjNumber);
      selection.forEach((item) => {
        this.orderIds = item.orderId;
        this.tjnumbers = item.tjNumber;
@@ -2029,9 +2180,15 @@
      });
      this.ids = selection.map((item) => item.orderId);
      // this.tjNumbers = selection.map((item) => item.tjNumber);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
      if (tjNUms.length > 0) {
        shijianzhou(tjNUms).then((res) => {
          this.shijianlist = res.data;
        });
      } else {
        this.shijianlist = [];
      }
    },
    /** 新增按钮操作 */
    // handleAdd() {
@@ -2053,7 +2210,7 @@
        var discount = "";
        response.data.water.forEach((item) => {
          copeWith += item.copeWith;
          paidIn += item.copeWith;
          paidIn += item.paidIn;
          discount = item.discount;
        });
        this.bill.push({
@@ -2094,7 +2251,7 @@
        var discount = "";
        response.data.water.forEach((item) => {
          copeWith += item.copeWith;
          paidIn += item.copeWith;
          paidIn += item.paidIn;
          discount = item.discount;
        });
        this.bill.push({
@@ -2657,6 +2814,7 @@
    handleProjectssChange(selection) {
      this.DataListss = [];
      this.selection = [];
      this.bldhs = selection.map((item) => item.bldh);
      selection.forEach((item) => {
        item.projectList.forEach((item1) => {
@@ -2711,7 +2869,7 @@
  },
};
</script>
<style lang="scss">
<style lang="scss" scoped>
.pag {
  width: 100%;
  display: flex;
@@ -2762,6 +2920,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;
}
@@ -2810,4 +2974,15 @@
  flex-direction: column;
}
::v-deep .el-step__title.is-process {
  color: rgb(24, 144, 255);
}
::v-deep .el-step__head.is-process {
  color: rgb(24, 144, 255);
  border-color: rgb(24, 144, 255);
}
.shijian {
  display: flex;
  align-items: flex-start;
}
</style>