qx
2025-04-23 b7167b9db9209a30ee6e2fe4de85b4da703d100c
src/views/hosp/order/index.vue
@@ -156,17 +156,28 @@
        <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-col :span="1.5">
        <el-button
          type="primary"
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
           :disabled="singles"
          v-hasPermi="['hosp:order:export']"
          >导出</el-button
        >
      </el-col> -->
      <el-col :span="1.5">
        <el-button
          type="primary"
          icon="el-icon-download"
          size="mini"
          @click="exportDialogVisible = true"
          v-hasPermi="['hosp:order:export']"
          >导出</el-button
        >
@@ -178,7 +189,7 @@
          size="mini"
          @click="handleRevoke"
          :loading="isLoading"
          :disabled="single"
          :disabled="singles"
          >撤销签到</el-button
        >
      </el-col>
@@ -263,6 +274,7 @@
        border
        v-loading="loading"
        :data="orderList"
        ref="tableRef"
        @selection-change="handleSelectionChange"
      >
        <el-table-column
@@ -806,18 +818,21 @@
            border
            style="width: 100%; table-layout: fixed"
            height="560"
            :span-method="objectspanmethod">
            <el-table-column
              prop="propinName"
            :span-method="objectspanmethod"
          >
            <el-table-column
              prop="propinName"
              label="检查项目"
              width="200px"
              :show-overflow-tooltip="true">
              :show-overflow-tooltip="true"
            >
            </el-table-column>
            <el-table-column
              prop="proName"
            <el-table-column
              prop="proName"
              label="明细项目"
              width="200px"
              :show-overflow-tooltip="true">
              :show-overflow-tooltip="true"
            >
            </el-table-column>
            <el-table-column prop="sl" label="数量" width="56px">
            </el-table-column>
@@ -960,7 +975,6 @@
              <div class="tab8">
                <el-row :gutter="20" style="width: 100%">
                  <el-col :span="22">
                    <el-input
                      placeholder="输入关键字进行过滤"
                      v-model="filterage"
@@ -1027,18 +1041,21 @@
            border
            style="width: 100%; table-layout: fixed"
            height="560"
            :span-method="objectspanmethod">
            <el-table-column
              prop="propinName"
            :span-method="objectspanmethod"
          >
            <el-table-column
              prop="propinName"
              label="检查项目"
              width="200px"
              :show-overflow-tooltip="true">
              :show-overflow-tooltip="true"
            >
            </el-table-column>
            <el-table-column
              prop="proName"
            <el-table-column
              prop="proName"
              label="明细项目"
              width="200px"
              :show-overflow-tooltip="true">
              :show-overflow-tooltip="true"
            >
            </el-table-column>
            <el-table-column prop="sl" label="数量" width="56px">
            </el-table-column>
@@ -1238,81 +1255,64 @@
      </div> -->
    </el-dialog>
    <!-- 添加或修改体检记录对话框 -->
    <el-dialog
      :title="title"
      :visible.sync="open"
      width="950px"
      width="1400px"
      append-to-body
      :close-on-click-modal="false"
      class="custom-dialog"
    >
      <el-tabs v-model="activeName1" type="card">
        <!-- <el-tab-pane label="订单流水" name="first">
          <el-table :data="numberList" style="width: 100%">
            <el-table-column prop="proName" label="项目/耗材" width="300">
            </el-table-column>
            <el-table-column prop="price" label="单价" width="300">
            </el-table-column>
            <el-table-column prop="count" label="数量" width="300">
            </el-table-column>
          </el-table>
          <el-table :data="bill" style="width: 100%">
            <el-table-column prop="copeWith" label="应付" width="180">
            </el-table-column>
            <el-table-column prop="discount" label="折扣" width="180">
            </el-table-column>
            <el-table-column prop="paidIn" label="实付" width="180">
            </el-table-column>
            <el-table-column prop="payType" label="付款方式" width="180">
              <template slot-scope="scope">
                <span v-if="scope.row.payType == '0'">现金支付</span>
                <span v-if="scope.row.payType == '1'">刷卡支付</span>
                <span v-if="scope.row.payType == '2'">支付宝支付</span>
                <span v-if="scope.row.payType == '3'">微信支付</span>
                <span v-if="scope.row.payType == '4'">云闪付支付</span>
              </template>
            </el-table-column>
            <el-table-column prop="payStasus" label="付款状态" width="180">
              <template slot-scope="scope">
                <span v-if="scope.row.payStasus == '0'">未付款</span>
                <span v-if="scope.row.payStasus == '1'">已付款</span>
                <span v-if="scope.row.payStasus == '2'">退费</span>
                <span v-if="scope.row.payStasus == '3'">预付款</span>
              </template>
            </el-table-column>
          </el-table>
        </el-tab-pane> -->
        <el-tab-pane label="项目汇总" name="second" style="height: 400px">
          <el-table :data="huizongList" style="width: 100%" max-height="200">
          <el-table :data="huizongList" style="width: 100%" max-height="350">
            <el-table-column
              align="center"
              type="index"
              label="序号"
              width="50"
            >
            </el-table-column>
            <el-table-column align="center" prop="parent_pro_name" label="项目">
            </el-table-column>
            <el-table-column align="center" prop="ks" label="科室">
            </el-table-column>
            <el-table-column align="center" prop="price" label="费用合计">
            </el-table-column>
            ></el-table-column>
            <el-table-column
              align="center"
              prop="parent_pro_name"
              label="项目"
            ></el-table-column>
            <el-table-column
              align="center"
              prop="ks"
              label="科室"
            ></el-table-column>
            <el-table-column
              align="center"
              prop="price"
              label="费用合计"
            ></el-table-column>
          </el-table>
          <h3>付款详情</h3>
          <el-table :data="bill" style="width: 100%; margin-top: 10px">
            <el-table-column align="center" prop="copeWith" label="应付">
            </el-table-column>
            <el-table-column align="center" prop="discount" label="折扣">
            </el-table-column>
            <el-table-column align="center" prop="paidIn" label="实付">
            </el-table-column>
            <el-table-column
              align="center"
              prop="copeWith"
              label="应付"
            ></el-table-column>
            <el-table-column
              align="center"
              prop="discount"
              label="折扣"
            ></el-table-column>
            <el-table-column
              align="center"
              prop="paidIn"
              label="实付"
            ></el-table-column>
          </el-table>
        </el-tab-pane>
        <el-tab-pane label="明细项目" name="third" style="height: 350px">
        <el-tab-pane label="明细项目" name="third" style="height: 450px">
          <!-- 移除 overflow-y: auto -->
          <el-table
            :data="infoList"
            style="width: 100%"
            max-height="330"
            style="width: 100"
            max-height="500"
            :span-method="objectSpanMethod1"
          >
            <el-table-column
@@ -1320,25 +1320,38 @@
              type="index"
              label="序号"
              width="50"
            >
            </el-table-column>
            <el-table-column align="center" prop="parent_pro_name" label="父项">
            </el-table-column>
            <el-table-column align="center" prop="pro_name" label="子项">
            </el-table-column>
            <el-table-column align="center" prop="danjia" label="单价">
            </el-table-column>
            <el-table-column align="center" prop="num" label="数量">
            </el-table-column>
            <el-table-column align="center" prop="zongjia" label="总价">
            </el-table-column>
            ></el-table-column>
            <el-table-column
              align="center"
              prop="parent_pro_name"
              label="父项"
            ></el-table-column>
            <el-table-column
              align="center"
              prop="pro_name"
              label="子项"
            ></el-table-column>
            <el-table-column
              align="center"
              prop="danjia"
              label="单价"
            ></el-table-column>
            <el-table-column
              align="center"
              prop="num"
              label="数量"
            ></el-table-column>
            <el-table-column
              align="center"
              prop="zongjia"
              label="总价"
            ></el-table-column>
            <el-table-column
              align="center"
              prop="time"
              label="开单时间"
              width="180"
            >
            </el-table-column>
            ></el-table-column>
          </el-table>
        </el-tab-pane>
      </el-tabs>
@@ -1534,6 +1547,21 @@
        <!-- <el-button @click="cancel">取 消</el-button> -->
      </div>
    </el-dialog>
    <el-dialog
      title="请选择导出范围"
      :visible.sync="exportDialogVisible"
      width="30%"
    >
      <el-radio-group v-model="exportType">
        <el-radio :label="'0'">当前页数据</el-radio>
        <el-radio :label="'1'">全部数据</el-radio>
      </el-radio-group>
      <span slot="footer" class="dialog-footer">
        <el-button @click="exportDialogVisible = false">取消</el-button>
        <el-button type="primary" @click="confirmExport">确定</el-button>
      </span>
    </el-dialog>
  </div>
</template>
@@ -1561,7 +1589,7 @@
  getaddtTransition,
  getProParentIdDxList,
  getProSonDxList,
  getaddtTransition1
  getaddtTransition1,
} from "@/api/system/tijian";
import {
  SubmitCompany,
@@ -1664,10 +1692,11 @@
      dataObj: {},
      // 非单个禁用
      single: true,
      singles: false,
      activeNames: "first",
      // 非多个禁用
      multiple: true,
      tjNUms:[],
      tjNUms: [],
      // 显示搜索条件
      showSearch: true,
      userId: "",
@@ -1684,6 +1713,8 @@
      // 日期范围
      datetimerange: [],
      marryalls: 0,
      exportDialogVisible: false, // 控制弹框
      exportType: "0", // dqyorqbsj 的值,默认当前页
      // 查询参数
      queryParams: {
        pageNum: 1,
@@ -2018,7 +2049,7 @@
      });
    },
    ResumeAppointment(){
    ResumeAppointment() {
      this.isLoading = true;
      this.$confirm("您确认要恢复预约?", "确认信息", {
        distinguishCancelAndClose: true,
@@ -2255,6 +2286,7 @@
      this.ids = selection.map((item) => item.orderId);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
      this.singles = selection.length !== 1;
      if (tjNUms.length > 0) {
        shijianzhou(tjNUms).then((res) => {
          this.shijianlist = res.data;
@@ -2561,7 +2593,7 @@
    renderContent(h, { node, data, store }) {
      return (
        <span class="custom-tree-node">
           <span>{node.label}</span>
          <span>{node.label}</span>
          <span>({data.proPrice}元)</span>
        </span>
      );
@@ -2579,6 +2611,10 @@
      this.cusId = row.tjCusIdCard;
      this.userId = row.userId;
      console.log(row, 666);
      this.$nextTick(() => {
        this.$refs.tableRef.clearSelection(); // 清除所有选中
        this.$refs.tableRef.toggleRowSelection(row, true); // 选中当前行
      });
      this.customer = {
        cusIdcard: row.tjCusIdCard,
@@ -3025,6 +3061,8 @@
        proIds: this.proIds,
      };
      getaddtTransition1(data).then((response) => {
        console.log(123456789);
        if (response.code === 200) {
          // this.DataList3 = [];
          //   this.DataList = [];
@@ -3106,14 +3144,47 @@
          this.Projectssopen = false;
        });
    },
    /** 导出按钮操作 */
    handleExport() {
      this.$confirm("请选择导出范围", "导出数据", {
        distinguishCancelAndClose: true,
        confirmButtonText: "导出全部",
        cancelButtonText: "仅导出当前页",
        type: "warning",
      })
        .then(() => {
          // 用户点击了“导出全部”
          this.exportData(true);
        })
        .catch((action) => {
          if (action === "cancel") {
            // 用户点击了“仅导出当前页”
            this.exportData(false);
          }
        });
    },
    /** 导出按钮操作 */
    /*  handleExport() {
      console.log(this.queryParams);
      this.download(
        "hosp/order/export",
        "/hosp/order/exportOrderList",
        {
          ...this.queryParams,
        },
        `order_${new Date().getTime()}.xlsx`
      );
    }, */
    confirmExport() {
      this.exportDialogVisible = false;
      const exportParams = {
        ...this.queryParams,
        dqyorqbsj: this.exportType, // 添加这个字段
      };
      this.download(
        "/hosp/order/exportOrderList",
        exportParams,
        `order_${new Date().getTime()}.xlsx`
      );
    },
@@ -3121,6 +3192,26 @@
};
</script>
<style lang="scss" scoped>
.custom-dialog {
  /* 自定义弹出框的最小高度 */
  min-height: 600px; /* 从默认高度增加到 600px,可以根据需要调整 */
}
/* 调整 el-tabs 的内容区域高度 */
::v-deep .el-tabs__content {
  min-height: 500px; /* 确保选项卡内容区域有足够高度 */
}
/* 调整对话框的主体部分 */
::v-deep .el-dialog__body {
  padding: 20px;
}
/* 可选:调整 footer 的样式 */
.dialog-footer {
  padding: 10px 20px;
  text-align: right;
}
.pag {
  width: 100%;
  display: flex;