qinxianzhangyao
2024-05-24 94c40e717c313d91bde25bff7c6938dfc21d9aaf
src/views/hosp/order/index.vue
@@ -96,6 +96,16 @@
          >导出</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          size="mini"
          @click="handleRevoke"
          :disabled="single"
          >撤销签到</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
@@ -106,6 +116,7 @@
          >补录项目</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
@@ -412,7 +423,7 @@
    <el-dialog
      :title="title"
      :visible.sync="Projectopen"
      width="1500px"
      width="1100px"
      style="height: 860px"
      append-to-body
    >
@@ -426,7 +437,7 @@
          <el-input placeholder="输入关键字进行过滤" v-model="filterText">
          </el-input>
          <div class="tab3">
            <div class="outside1">
              <el-tree
                class="filter-tree"
                v-loading="loading"
@@ -434,23 +445,22 @@
                :props="defaultProps"
                show-checkbox
                node-key="proId"
                @check-change="handleCurrentChecked"
                @check="handleCurrentChecked"
                :default-checked-keys="checkedkey"
                :filter-node-method="filterNode"
                ref="tree"
              >
              </el-tree>
            </div>
          </div>
        </el-col>
        <el-col :span="4">
        <el-col :span="5">
          <div
            style="text-align: center; margin-bottom: 10px; margin-top: 10px"
          >
            项目列表
            明细项目列表
          </div>
          <div class="tab3">
            <div class="outside1">
              <el-tree
                class="filter-tree"
                v-loading="loading"
@@ -463,33 +473,24 @@
                :default-checked-keys="checkedListkey"
              >
              </el-tree>
            </div>
          </div>
        </el-col>
        <el-col :span="12">
        <el-col :span="11">
          <div class="grid-content bg-purple">
            <div style="text-align: center; margin-bottom: 10px">
            <div style="text-align: center; margin-bottom: 10px;margin-top: 10px">
              已选项目列表
            </div>
            <div
              style="
                padding: 0px 6px;
                border: 1px solid #e6ebf5;
                max-height: 420px;
                overflow: auto;
              "
            >
              <el-table
                :data="DataList"
                border
                style="width: 100%"
                height="250"
                height="400"  :span-method="objectSpanMethod"
              >
                <el-table-column prop="propinName" label="父项">
              <el-table-column prop="propinName" label="检查项目" >
                </el-table-column>
                <el-table-column prop="proName" label="项目" width="180">
                <el-table-column prop="proName" label="明细项目" width="260px">
                </el-table-column>
                <el-table-column prop="proPrice" label="原价">
                <el-table-column prop="proPrice" label="原价" width="56px">
                </el-table-column>
                <el-table-column
@@ -497,7 +498,7 @@
                  align="center"
                  fixed="right"
                  class-name="small-padding fixed-width"
                  width="80px"
                  width="50px"
                >
                  <template slot-scope="scope">
                    <el-button
@@ -505,7 +506,8 @@
                      type="text"
                      icon="el-icon-delete"
                      @click="handleDelete(scope.row)"
                      >删除</el-button
                      title="删除"
                      ></el-button
                    >
                  </template>
                </el-table-column>
@@ -522,7 +524,6 @@
                  </el-collapse-item>
                </div>
              </el-collapse>
            </div>
            <template>
              <el-form :model="form">
                <el-form-item label="体检类型" prop="tjType">
@@ -593,7 +594,7 @@
    <el-dialog
      :title="title"
      :visible.sync="Projectopen1"
      width="1500px"
      width="1100px"
      style="height: 860px"
      append-to-body
    >
@@ -607,7 +608,7 @@
          <el-input placeholder="输入关键字进行过滤" v-model="filterText">
          </el-input>
          <div class="tab3">
            <div class="outside1">
              <el-tree
                class="filter-tree"
                v-loading="loading"
@@ -621,14 +622,14 @@
                ref="tree"
              >
              </el-tree>
            </div>
          </div>
        </el-col>
        <el-col :span="4">
        <el-col :span="5">
          <div
            style="text-align: center; margin-bottom: 10px; margin-top: 10px"
          >
            项目列表
          明细项目列表
          </div>
          <div class="tab3">
            <div class="outside1">
@@ -647,30 +648,23 @@
            </div>
          </div>
        </el-col>
        <el-col :span="12">
        <el-col :span="11">
          <div class="grid-content bg-purple">
            <div style="text-align: center; margin-bottom: 10px">
            <div style="text-align: center; margin-bottom: 10px;margin-top: 10px">
              已选项目列表
            </div>
            <div
              style="
                padding: 0px 6px;
                border: 1px solid #e6ebf5;
                max-height: 420px;
                overflow: auto;
              "
            >
              <el-table
                :data="DataList"
                border
                style="width: 100%"
                height="250"
                height="400"  :span-method="objectSpanMethod"
              >
                <el-table-column prop="propinName" label="检查项目">
              <el-table-column prop="propinName" label="检查项目" >
                </el-table-column>
                <el-table-column prop="proName" label="明细项目" width="180">
                <el-table-column prop="proName" label="明细项目" width="260px">
                </el-table-column>
                <el-table-column prop="proPrice" label="原价">
                <el-table-column prop="proPrice" label="原价" width="56px">
                </el-table-column>
                <el-table-column
@@ -678,7 +672,7 @@
                  align="center"
                  fixed="right"
                  class-name="small-padding fixed-width"
                  width="80px"
                  width="50px"
                >
                  <template slot-scope="scope">
                    <el-button
@@ -694,7 +688,7 @@
              <el-collapse v-model="activeName" accordion v-if="list1">
                <div>
                  <el-collapse-item title="请选择项目">
                    <el-table :data="DataList" border style="width: 100%">
                    <el-table :data="DataList" border style="width: 100%" height="400"  :span-method="objectSpanMethod">
                      <el-table-column prop="proName" label="项目" width="180">
                      </el-table-column>
                      <el-table-column prop="ordPrice" label="原价">
@@ -703,7 +697,7 @@
                  </el-collapse-item>
                </div>
              </el-collapse>
            </div>
            <template>
              <el-form :model="form">
                <el-form-item label="体检类型" prop="tjType">
@@ -818,7 +812,7 @@
  hasReport,
  getPdf,
  getOrderList,
  getNewDateList,
  getNewDateList,revokeTjOrderByTjNum,
} from "@/api/hosp/order";
import moment from "moment";
import { getwater } from "@/api/hosp/customer";
@@ -1076,6 +1070,13 @@
        }
      });
    },
    handleRevoke(){
      revokeTjOrderByTjNum(this.tjnumbers).then(res => {
        this.$modal.msgSuccess("撤销成功")
        this.getList();
      })
    },
    /** 点击显示体检报告报表*/
    // viewReport(row) {
    //   const tjNumber = row.tjNumber;
@@ -1293,6 +1294,7 @@
      this.Projectopen1 = true;
      this.title = "补录项目";
    },
    // 点击获取每个树节点
    handleCurrentChecked(data, checked, checkedNodes) {
      this.dataObj = data
@@ -1380,6 +1382,28 @@
          });
        }
      });
    },
     //  // 默认接受四个值 { 当前行的值, 当前列的值, 行的下标, 列的下标 }
     objectSpanMethod({ row, column, rowIndex, columnIndex }) {
      console.log(row, column, rowIndex, columnIndex)
      let fields = ["propinName"];
      let cellValue = row[column.property];
      if (cellValue && fields.includes(column.property)) {
        let prevRow = this.DataList[rowIndex - 1];
        let nextRow = this.DataList[rowIndex + 1];
        if (prevRow && prevRow[column.property] === cellValue) {
          return { rowspan: 0, colspan: 0 };
        } else {
          let countRowspan = 1;
          while (nextRow && nextRow[column.property] === cellValue) {
            nextRow = this.DataList[++countRowspan + rowIndex];
          }
          if (countRowspan > 1) {
            return { rowspan: countRowspan, colspan: 1 };
          }
        }
      }
    },
    // 收费按钮
@@ -1552,7 +1576,7 @@
// }
.outside {
  width: 700px;
  width: 500px;
  display: flex;
  margin-top: 8px;
}
@@ -1560,6 +1584,7 @@
.tab3 {
  max-height: 500px;
  overflow-y: auto;
  border: 1px solid #d9d9d9;
}
.outside1 {