qinxianzhangyao
2024-07-04 683b2620e0fbfba24787046e2630cbfed0337484
src/views/hosp/order/index.vue
@@ -116,6 +116,16 @@
          >补录项目</el-button
        >
      </el-col>
      <!-- <el-col :span="1.5">
        <el-button
          type="primary"
          size="mini"
          @click="revokeProject"
          :disabled="single"
          v-hasPermi="['hosp:order:export']"
          >撤销补录</el-button
        >
      </el-col> -->
      <el-col :span="1.5">
        <el-button
@@ -227,11 +237,19 @@
          :show-overflow-tooltip="true"
          width="160px"
        />
        <el-table-column
          label="门诊号"
          align="center"
          prop="cardId"
          :show-overflow-tooltip="true"
          width="160px"
        />
        <!-- <el-table-column label="流水号" align="center" prop="tjSerialNumber" /> -->
        <el-table-column
          label="所选套餐"
          align="center"
          prop="pacName"
          :formatter="driver"
          :show-overflow-tooltip="true"
        />
        <el-table-column
@@ -456,7 +474,7 @@
              :default-checked-keys="checkedkey"
              :filter-node-method="filterNode"
              ref="tree"
                :render-content="renderContent"
              :render-content="renderContent"
            >
            </el-tree>
          </div>
@@ -478,7 +496,7 @@
              show-checkbox
              @check-change="handleCurrentChecked1"
              :default-checked-keys="checkedListkey"
                :render-content="renderContent"
              :render-content="renderContent"
            >
            </el-tree>
          </div>
@@ -503,7 +521,6 @@
              </el-table-column>
              <el-table-column prop="proName" label="明细项目" width="260px">
              </el-table-column>
              <el-table-column
                label="操作"
@@ -630,7 +647,7 @@
              :default-checked-keys="checkedkey"
              :filter-node-method="filterNode"
              ref="tree"
               :render-content="renderContent"
              :render-content="renderContent"
            >
            </el-tree>
          </div>
@@ -653,7 +670,7 @@
                show-checkbox
                @check-change="handleCurrentChecked1"
                :default-checked-keys="checkedListkey"
                 :render-content="renderContent"
                :render-content="renderContent"
              >
              </el-tree>
            </div>
@@ -680,7 +697,6 @@
              </el-table-column>
              <el-table-column prop="proName" label="明细项目" width="260px">
              </el-table-column>
              <el-table-column
                label="操作"
@@ -788,7 +804,7 @@
    <!-- 添加或修改体检记录对话框 -->
    <el-dialog :title="title" :visible.sync="open" width="950px" append-to-body>
      <el-tabs v-model="activeName1" type="card">
        <el-tab-pane label="订单流水" name="first">
        <!-- <el-tab-pane label="订单流水" name="first">
          <el-table :data="numberList" style="width: 100%">
            <el-table-column prop="proName" label="项目/耗材" width="300">
            </el-table-column>
@@ -822,26 +838,34 @@
              </template>
            </el-table-column>
          </el-table>
        </el-tab-pane>
        </el-tab-pane> -->
        <el-tab-pane label="项目汇总" name="second">
          <el-table :data="huizongList" style="width: 100%">
            <el-table-column prop="newID" label="序号"> </el-table-column>
            <el-table-column prop="parent_pro_name" label="项目">
          <el-table :data="huizongList" style="width: 100%" max-height="280">
            <el-table-column align="center" prop="newID" label="序号" width="50"> </el-table-column>
            <el-table-column align="center" prop="parent_pro_name" label="项目">
            </el-table-column>
            <el-table-column prop="ks" label="科室"> </el-table-column>
            <el-table-column prop="price" 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>
          <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>
        </el-tab-pane>
        <el-tab-pane label="明细项目" name="third">
          <el-table :data="infoList" style="width: 100%">
            <el-table-column prop="newID" label="序号"> </el-table-column>
            <el-table-column prop="parent_pro_name" label="父项">
          <el-table :data="infoList" style="width: 100%" max-height   ="300" :span-method="objectSpanMethod1">
            <el-table-column align="center" prop="newID" label="序号"  width="50"> </el-table-column>
            <el-table-column align="center" prop="parent_pro_name" label="父项">
            </el-table-column>
            <el-table-column prop="proName" label="子项"> </el-table-column>
            <el-table-column prop="danjia" label="单价"> </el-table-column>
            <el-table-column prop="num" label="数量"> </el-table-column>
            <el-table-column prop="zongjia" label="总价"> </el-table-column>
            <el-table-column prop="time" 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>
        </el-tab-pane>
      </el-tabs>
@@ -849,6 +873,70 @@
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>
    <!-- <el-dialog
      :title="title"
      :visible.sync="Projectopen"
      width="1100px"
      style="height: 860px"
      append-to-body
    >
      <el-row type="flex" class="row-bg" justify="space-around">
        <el-col :span="6">
          <div
            style="text-align: center; margin-bottom: 10px; margin-top: 10px"
          >
            项目列表
          </div>
          <el-input placeholder="输入关键字进行过滤" v-model="filterText">
          </el-input>
          <div class="tab3">
            <el-table
              :data="DataList"
              border
              style="width: 100%"
              height="400"
              :span-method="objectSpanMethod"
            >
              <el-table-column prop="propinName" label="检查项目">
              </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>
            </el-table>
          </div>
        </el-col>
        <el-col :span="11">
          <div class="grid-content bg-purple">
            <div
              style="text-align: center; margin-bottom: 10px; margin-top: 10px"
            >
              补录项目
            </div>
            <el-table
              :data="DataList"
              border
              style="width: 100%"
              height="400"
              :span-method="objectSpanMethod"
            >
              <el-table-column prop="propinName" label="检查项目">
              </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>
            </el-table>
          </div>
        </el-col>
      </el-row>
    </el-dialog> -->
  </div>
</template>
@@ -879,9 +967,9 @@
  name: "Order",
  data() {
    return {
      huizongList:[],
      infoList:[],
      activeName1: "first",
      huizongList: [],
      infoList: [],
      activeName1: "second",
      filterText: "",
      orderIds: "",
      tjnumbers: "",
@@ -1024,7 +1112,8 @@
    },
    filterNode(value, data) {
      if (!value) return true;
      if(value == data.proName){
      // return data.proName.indexOf(value) !== -1;
       if(data.proName.indexOf(value) !== -1){
        return data.proName.indexOf(value) !== -1;
      }else{
        return data.proEngName.indexOf(value) !== -1;
@@ -1098,6 +1187,9 @@
        this.total = response.data.total;
        this.loading = false;
      });
    },
    driver(row) {
      return row.pacName == null ? "普通体检" : row.pacName;
    },
    /** 点击显示导检单报表*/ //lige    开始
    handleReport(row) {
@@ -1284,8 +1376,6 @@
        this.title = "订单流水";
      });
      getTransitionInfo(tjNumber).then((res) => {
        console.log(111);
        console.log(res);
        this.huizongList = res.data.huizong;
        this.infoList = res.data.info;
        this.huizongList.forEach((item, index) => {
@@ -1311,6 +1401,22 @@
        this.numberList = response.data.charging;
        this.bill = response.data.water;
        this.title = "订单流水";
      });
      getTransitionInfo(tjNumber).then((res) => {
        this.huizongList = res.data.huizong;
        this.infoList = res.data.info;
        this.huizongList.forEach((item, index) => {
          item.newID =
            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
            index +
            1;
        });
        this.infoList.forEach((item, index) => {
          item.newID =
            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
            index +
            1;
        });
      });
    },
@@ -1372,6 +1478,9 @@
        });
        this.loading = false;
      });
    },
    revokeProject(){
    },
    // 补录项目
    handleProject1() {
@@ -1482,7 +1591,7 @@
    //  // 默认接受四个值 { 当前行的值, 当前列的值, 行的下标, 列的下标 }
    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
      console.log(row, column, rowIndex, columnIndex);
      // console.log(row, column, rowIndex, columnIndex);
      let fields = ["propinName"];
      let cellValue = row[column.property];
      if (cellValue && fields.includes(column.property)) {
@@ -1502,6 +1611,27 @@
      }
    },
    objectSpanMethod1({ row, column, rowIndex, columnIndex }) {
      // console.log(row, column, rowIndex, columnIndex);
      let fields = ["parent_pro_name"];
      let cellValue = row[column.property];
      if (cellValue && fields.includes(column.property)) {
        let prevRow = this.infoList[rowIndex - 1];
        let nextRow = this.infoList[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.infoList[++countRowspan + rowIndex];
          }
          if (countRowspan > 1) {
            return { rowspan: countRowspan, colspan: 1 };
          }
        }
      }
    },
    // 收费按钮
    submitPrice() {
      this.proIds = [];