1
wwl
2025-03-05 cb1f69717eed3b6a61b6c61a8934bac752782b2d
src/views/hosp/order/index.vue
@@ -243,6 +243,15 @@
          >强制撤销</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          size="mini"
          @click="ResumeAppointment"
          :disabled="multiple"
          >恢复预约</el-button
        >
      </el-col>
      <right-toolbar
        :showSearch.sync="showSearch"
        @queryTable="getList"
@@ -795,13 +804,20 @@
          <el-table
            :data="DataList3"
            border
            style="width: 100%"
            style="width: 100%; table-layout: fixed"
            height="560"
            :span-method="objectspanmethod"
          >
            <el-table-column prop="propinName" label="检查项目">
            :span-method="objectspanmethod">
            <el-table-column
              prop="propinName"
              label="检查项目"
              width="200px"
              :show-overflow-tooltip="true">
            </el-table-column>
            <el-table-column prop="proName" label="明细项目" width="200px">
            <el-table-column
              prop="proName"
              label="明细项目"
              width="200px"
              :show-overflow-tooltip="true">
            </el-table-column>
            <el-table-column prop="sl" label="数量" width="56px">
            </el-table-column>
@@ -944,15 +960,7 @@
              <div class="tab8">
                <el-row :gutter="20" style="width: 100%">
                  <el-col :span="22">
                    <!-- <div
                    style="
                      text-align: center;
                      margin-bottom: 10px;
                      margin-top: 10px;
                    "
                  >
                    项目列表
                  </div> -->
                    <el-input
                      placeholder="输入关键字进行过滤"
                      v-model="filterage"
@@ -975,29 +983,6 @@
                      </el-tree>
                    </div>
                  </el-col>
                  <!-- <el-col :span="11">
                  <div
                    style="
                      text-align: center;
                      margin-bottom: 10px;
                      margin-top: 10px;
                    "
                  >
                    明细项目列表
                  </div>
                  <div class="tab3">
                    <el-tree
                      class="filter-tree"
                      v-loading="loading"
                      :data="packagedataList"
                      node-key="proId"
                      :props="defaultpackProps"
                      :render-content="renderContent"
                    >
                    </el-tree>
                  </div>
                </el-col> -->
                  <!-- <el-col :span="11"> </el-col> -->
                </el-row>
              </div>
            </el-tab-pane>
@@ -1005,15 +990,6 @@
              <div class="tab8">
                <el-row type="flex" class="row-bg" justify="space-around">
                  <el-col :span="22">
                    <!-- <div
                  style="
                    text-align: center;
                    margin-bottom: 10px;
                    margin-top: 10px;
                  "
                >
                  项目列表
                </div> -->
                    <el-input
                      placeholder="输入关键字进行过滤"
                      v-model="filterText"
@@ -1036,106 +1012,6 @@
                      </el-tree>
                    </div>
                  </el-col>
                  <!-- <el-col :span="11">
                <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"
                      :data="TreedataList"
                      node-key="proId"
                      :props="defaultProps"
                      :filter-node-method="filterNode"
                      show-checkbox
                      @check-change="handleCurrentChecked1"
                      :default-checked-keys="checkedListkey"
                      :render-content="renderContent"
                    >
                    </el-tree>
                  </div>
                </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-column
                    label="操作"
                    align="center"
                    fixed="right"
                    class-name="small-padding fixed-width"
                    width="50px"
                  >
                    <template slot-scope="scope">
                      <el-button
                        size="mini"
                        type="text"
                        icon="el-icon-delete"
                        @click="handleDelete(scope.row)"
                        title="删除"
                      ></el-button>
                    </template>
                  </el-table-column>
                </el-table> -->
                  <!-- <el-collapse v-model="activeName" accordion v-if="list1">
                  <div>
                    <el-collapse-item title="请选择项目">
                      <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="原价">
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                  </div>
                </el-collapse> -->
                  <!-- </div>
            </el-col> -->
                </el-row>
              </div>
            </el-tab-pane>
@@ -1149,13 +1025,20 @@
          <el-table
            :data="DataList3"
            border
            style="width: 100%"
            style="width: 100%; table-layout: fixed"
            height="560"
            :span-method="objectspanmethod"
          >
            <el-table-column prop="propinName" label="检查项目">
            :span-method="objectspanmethod">
            <el-table-column
              prop="propinName"
              label="检查项目"
              width="200px"
              :show-overflow-tooltip="true">
            </el-table-column>
            <el-table-column prop="proName" label="明细项目" width="200px">
            <el-table-column
              prop="proName"
              label="明细项目"
              width="200px"
              :show-overflow-tooltip="true">
            </el-table-column>
            <el-table-column prop="sl" label="数量" width="56px">
            </el-table-column>
@@ -1355,114 +1238,50 @@
      </div> -->
    </el-dialog>
    <!-- 添加或修改体检记录对话框 -->
    <el-dialog
      :title="title"
      :visible.sync="open"
      width="950px"
      append-to-body
      :close-on-click-modal="false"
    >
      <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-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>
          <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>
        </el-tab-pane>
        <el-tab-pane label="明细项目" name="third" style="height: 350px">
          <el-table
            :data="infoList"
            style="width: 100%"
            max-height="330"
            :span-method="objectSpanMethod1"
          >
            <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="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>
      <div slot="footer" class="dialog-footer">
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>
  :title="title"
  :visible.sync="open"
  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="second" style="height: 400px">
      <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>
      <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>
    </el-tab-pane>
    <el-tab-pane label="明细项目" name="third" style="height: 450px;"> <!-- 移除 overflow-y: auto -->
  <el-table
    :data="infoList"
    style="width: 100;"
    max-height="500"
    :span-method="objectSpanMethod1"
  >
    <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="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>
  <div slot="footer" class="dialog-footer">
    <el-button @click="cancel">取 消</el-button>
  </div>
</el-dialog>
    <el-dialog
      :title="title1"
@@ -1662,6 +1481,7 @@
  getOrderList,
  getNewDateList,
  revokeTjOrderByTjNum,
  huifuyuyuejilu,
  getTransitionInfo,
  getBlproByTjh,
  revokeBlProByBldhAndTjh,
@@ -1677,6 +1497,7 @@
  getaddtTransition,
  getProParentIdDxList,
  getProSonDxList,
  getaddtTransition1
} from "@/api/system/tijian";
import {
  SubmitCompany,
@@ -1782,6 +1603,7 @@
      activeNames: "first",
      // 非多个禁用
      multiple: true,
      tjNUms:[],
      // 显示搜索条件
      showSearch: true,
      userId: "",
@@ -2132,6 +1954,34 @@
      });
    },
    ResumeAppointment(){
      this.isLoading = true;
      this.$confirm("您确认要恢复预约?", "确认信息", {
        distinguishCancelAndClose: true,
        confirmButtonText: "确认",
        cancelButtonText: "取消",
      })
        .then(() => {
          huifuyuyuejilu(this.tjNUms).then((res) => {
            this.$modal.msgSuccess("恢复成功");
            // this.isLoading = false;
            this.getList();
          });
        })
        .catch((action) => {
          if (action === "cancel") {
            this.$message({
              type: "warning",
              message: "已取消",
            });
          }
        })
        .finally(() => {
          // 不论操作成功还是失败,都会执行
          this.isLoading = false;
        });
    },
    handleRevoke() {
      this.isLoading = true;
      this.$confirm("您确认要撤销?", "确认信息", {
@@ -2325,6 +2175,7 @@
    // 多选框选中数据
    handleSelectionChange(selection) {
      let tjNUms = selection.map((item) => item.tjNumber);
      this.tjNUms = selection.map((item) => item.tjNumber);
      selection.forEach((item) => {
        this.orderIds = item.orderId;
        this.tjnumbers = item.tjNumber;
@@ -2646,7 +2497,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>
      );
@@ -3109,7 +2960,7 @@
        cusId: this.cusIds,
        proIds: this.proIds,
      };
      getaddtTransition(data).then((response) => {
      getaddtTransition1(data).then((response) => {
        if (response.code === 200) {
          // this.DataList3 = [];
          //   this.DataList = [];
@@ -3206,6 +3057,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;