qx
qx
1 天以前 e2ce0493b0978ed2706eed28555bd83ed329cb97
src/views/hosp/order/index.vue
@@ -1,174 +1,181 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item label="姓名" prop="name">
        <el-input ref="inputName" v-model="queryParams.name" placeholder="请输入姓名" style="width: 150px" clearable
          @keyup.enter.native="handleQuery" />
      </el-form-item>
      <el-form-item label="体检号" prop="tjNum">
        <el-input ref="inputName" v-model="queryParams.tjNum" placeholder="请输入体检号" style="width: 150px" clearable
          @keyup.enter.native="handleQuery" @blur="hb" />
      </el-form-item>
      <el-form-item label="体检项目" prop="xmmc">
        <el-input ref="inputName" v-model="queryParams.xmmc" placeholder="请输入体检项目" style="width: 150px" clearable
          @keyup.enter.native="handleQuery" />
      </el-form-item>
      <el-form-item label="单位名称" prop="tjCompName" style="margin-left: 20px; margin-right: 500px">
        <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId"
          style="width: 200px" remote filterable placeholder="请选择单位名称" clearable @change="searchSelect">
          <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" />
        </el-select>
      </el-form-item>
      <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" align="right" :picker-options="pickerOptions"
          style="width: 300px" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:00']"
          format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" @change="dateChangebirthday1">
        </el-date-picker>
      </el-form-item>
      <!-- <el-form-item label="登记时间" prop="createTime">
  <div v-loading="isLoading" element-loading-text="正在提交,请稍候..." element-loading-spinner="el-icon-loading"
    element-loading-background="rgba(255, 255, 255, 0.8)" style="height: 100%; padding: 20px; position: relative;">
    <div class="app-container">
      <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
        <el-form-item label="姓名" prop="name">
          <el-input ref="inputName" v-model="queryParams.name" placeholder="请输入姓名" style="width: 150px" clearable
            @keyup.enter.native="handleQuery" />
        </el-form-item>
        <el-form-item label="体检号" prop="tjNum">
          <el-input ref="inputName" v-model="queryParams.tjNum" placeholder="请输入体检号" style="width: 150px" clearable
            @keyup.enter.native="handleQuery" @blur="hb" />
        </el-form-item>
        <el-form-item label="体检项目" prop="xmmc">
          <el-input ref="inputName" v-model="queryParams.xmmc" placeholder="请输入体检项目" style="width: 150px" clearable
            @keyup.enter.native="handleQuery" />
        </el-form-item>
        <el-form-item label="单位名称" prop="tjCompName" style="margin-left: 20px; margin-right: 500px">
          <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId"
            style="width: 200px" remote filterable placeholder="请选择单位名称" clearable @change="searchSelect">
            <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" />
          </el-select>
        </el-form-item>
        <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" align="right" :picker-options="pickerOptions"
            style="width: 300px" start-placeholder="开始日期" end-placeholder="结束日期"
            :default-time="['00:00:00', '23:59:00']" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm"
            @change="dateChangebirthday1">
          </el-date-picker>
        </el-form-item>
        <!-- <el-form-item label="登记时间" prop="createTime">
        <el-date-picker clearable v-model="queryParams.createTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择登记时间">
        </el-date-picker>
      </el-form-item> -->
      <!-- <el-form-item label="完成时间" prop="finishTimeList">
        <!-- <el-form-item label="完成时间" prop="finishTimeList">
        <el-date-picker clearable v-model="queryParams.finishTimeList" type="daterange" range-separator="-"
          start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" value-format="yyyy-MM-dd"
          placeholder="请选择体检完成时间" style="width: 240px">
        </el-date-picker>
      </el-form-item> -->
      <el-form-item label="报告时间" prop="reportTimeList">
        <el-date-picker clearable v-model="reportTimeList" @change="dateChangebirthday2" type="daterange"
          range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions"
          value-format="yyyy-MM-dd" placeholder="请选择出报告时间" style="width: 240px">
        </el-date-picker>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
        <el-form-item label="报告时间" prop="reportTimeList">
          <el-date-picker clearable v-model="reportTimeList" @change="dateChangebirthday2" type="daterange"
            range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions"
            value-format="yyyy-MM-dd" placeholder="请选择出报告时间" style="width: 240px">
          </el-date-picker>
        </el-form-item>
        <el-form-item>
          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
        </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>
      <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">
        <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" :disabled="single"
          v-hasPermi="['hosp:order:export']">导出</el-button>
      </el-col>
      <el-row :gutter="10" class="mb8">
        <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" size="mini" @click="handleRevoke" :loading="isLoading"
          :disabled="single">撤销签到</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" size="mini" @click="handleProject1" :disabled="single"
          v-hasPermi="['hosp:order:export']">补录项目</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 type="primary" size="mini" @click="handleReport1" :disabled="single"
          v-hasPermi="['hosp:order:export']">打印导诊单</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" size="mini" @click="handleUpdate1" :disabled="single"
          v-hasPermi="['hosp:order:export']">订单明细</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" size="mini" @click="budadzd" :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>
      <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"></right-toolbar>
    </el-row>
        <el-col :span="1.5">
          <el-button type="primary" size="mini" @click="handleProject1" :disabled="single"
            v-hasPermi="['hosp:order:export']">补录项目</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>
    <template>
      <el-table border v-loading="loading" :data="orderList"  ref="tableRef" @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="40px" align="center" fixed="left" />
        <!-- <el-table-column label="主键id" align="center" prop="orderId" /> -->
        <!-- <el-table-column label="用户id" align="center" prop="userId" /> -->
        <el-table-column label="序号" align="center" prop="newID" width="50px" fixed="left" />
        <el-table-column label="姓名" align="center" prop="tjCustomerName" fixed="left" width="90px"
          :show-overflow-tooltip="true" />
        <el-table-column label="身份证号" align="center" prop="tjCusIdCard" fixed="left" width="180px"
          :show-overflow-tooltip="true" />
        <el-table-column label="性别" align="center" prop="tjCustomerSex" width="50px" :show-overflow-tooltip="true">
          <template slot-scope="scope">
            <span v-if="scope.row.tjCustomerSex == '0'">男</span>
            <span v-if="scope.row.tjCustomerSex == '1'">女</span>
            <span v-if="scope.row.tjCustomerSex == '2'">未知</span>
          </template>
        </el-table-column>
        <el-table-column label="年龄" align="center" prop="tjCustomerAge" width="55px" :show-overflow-tooltip="true" />
        <el-table-column label="电话" align="center" prop="tjCustomerPhone" :show-overflow-tooltip="true" width="110px" />
        <el-table-column label="体检类型" align="center" prop="tjType" width="80px" :show-overflow-tooltip="true">
          <template slot-scope="scope">
            <dict-tag :options="dict.type.dict_team" :value="scope.row.tjType" />
            <!-- <span v-if="scope.row.tjType == '2'">个人</span>
        <el-col :span="1.5">
          <el-button type="primary" size="mini" @click="handleReport1" :disabled="single"
            v-hasPermi="['hosp:order:export']">打印导诊单</el-button>
        </el-col>
        <el-col :span="1.5">
          <el-button type="primary" size="mini" @click="handleUpdate1" :disabled="single"
            v-hasPermi="['hosp:order:export']">订单明细</el-button>
        </el-col>
        <el-col :span="1.5">
          <el-button type="primary" size="mini" @click="budadzd" :disabled="single"
            v-hasPermi="['hosp:order:export']">打印补录单</el-button>
        </el-col>
        <el-col :span="1.5">
          <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="handleRevoke"
            :disabled="single">撤销签到</el-button>
        </el-col>
        <el-col :span="1.5">
          <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ForceChexiao" :disabled="single"
            v-hasPermi="['qzcx']">强制撤销</el-button>
        </el-col>
        <el-col :span="1.5">
          <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ResumeAppointment"
            :disabled="multiple">恢复预约</el-button>
        </el-col>
        <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
      </el-row>
      <template>
        <el-table border v-loading="loading" :data="orderList" ref="tableRef" @selection-change="handleSelectionChange">
          <el-table-column type="selection" width="40px" align="center" fixed="left" />
          <!-- <el-table-column label="主键id" align="center" prop="orderId" /> -->
          <!-- <el-table-column label="用户id" align="center" prop="userId" /> -->
          <el-table-column label="序号" align="center" prop="newID" width="50px" fixed="left" />
          <el-table-column label="姓名" align="center" prop="tjCustomerName" fixed="left" width="90px"
            :show-overflow-tooltip="true" />
          <el-table-column label="身份证号" align="center" prop="tjCusIdCard" fixed="left" width="180px"
            :show-overflow-tooltip="true" />
          <el-table-column label="性别" align="center" prop="tjCustomerSex" width="50px" :show-overflow-tooltip="true">
            <template slot-scope="scope">
              <span v-if="scope.row.tjCustomerSex == '0'">男</span>
              <span v-if="scope.row.tjCustomerSex == '1'">女</span>
              <span v-if="scope.row.tjCustomerSex == '2'">未知</span>
            </template>
          </el-table-column>
          <el-table-column label="年龄" align="center" prop="tjCustomerAge" width="55px" :show-overflow-tooltip="true" />
          <el-table-column label="电话" align="center" prop="tjCustomerPhone" :show-overflow-tooltip="true"
            width="110px" />
          <el-table-column label="体检类型" align="center" prop="tjType" width="80px" :show-overflow-tooltip="true">
            <template slot-scope="scope">
              <dict-tag :options="dict.type.dict_team" :value="scope.row.tjType" />
              <!-- <span v-if="scope.row.tjType == '2'">个人</span>
            <span v-if="scope.row.tjType == '1'">团队</span> -->
          </template>
        </el-table-column>
        <el-table-column label="体检号" align="center" prop="tjNumber" :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="dictCompName" :show-overflow-tooltip="true" />
        <el-table-column label="状态" align="center" prop="zt" :show-overflow-tooltip="true" />
        <!-- <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 label="导诊打印次数" align="center" prop="dycs" width="110px" :formatter="driver"
          :show-overflow-tooltip="true">
          <template slot-scope="scope">
            {{ scope.row.dycs === null ? 0 : scope.row.dycs }}
          </template>
        </el-table-column>
        <el-table-column label="登记时间" align="center" prop="createTime" width="155px" :show-overflow-tooltip="true">
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.createTime) }}</span>
          </template>
        </el-table-column>
        <el-table-column label="完成时间" align="center" prop="finishTime" width="155px" :show-overflow-tooltip="true">
          <!-- <template slot-scope="scope">
            </template>
          </el-table-column>
          <el-table-column label="体检号" align="center" prop="tjNumber" :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="dictCompName" :show-overflow-tooltip="true" />
          <el-table-column label="状态" align="center" prop="zt" :show-overflow-tooltip="true" />
          <!-- <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 label="导诊打印次数" align="center" prop="dycs" width="110px" :formatter="driver"
            :show-overflow-tooltip="true">
            <template slot-scope="scope">
              {{ scope.row.dycs === null ? 0 : scope.row.dycs }}
            </template>
          </el-table-column>
          <el-table-column label="登记时间" align="center" prop="createTime" width="155px" :show-overflow-tooltip="true">
            <template slot-scope="scope">
              <span>{{ parseTime(scope.row.createTime) }}</span>
            </template>
          </el-table-column>
          <el-table-column label="完成时间" align="center" prop="finishTime" width="155px" :show-overflow-tooltip="true">
            <!-- <template slot-scope="scope">
            <span>{{ parseTime(scope.row.finishTime) }}</span>
          </template> -->
        </el-table-column>
        <!-- <el-table-column label="更新时间" align="center" prop="updateTime" width="180">
          </el-table-column>
          <!-- <el-table-column label="更新时间" align="center" prop="updateTime" width="180">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
        </template>
      </el-table-column> -->
        <el-table-column label="报告时间" align="center" prop="reportTime" width="155px" height="10px"
          :show-overflow-tooltip="true">
          <!-- <template slot-scope="scope">
          <el-table-column label="报告时间" align="center" prop="reportTime" width="155px" height="10px"
            :show-overflow-tooltip="true">
            <!-- <template slot-scope="scope">
            <span>{{ parseTime(scope.row.reportTime) }}</span>
          </template> -->
        </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>
          <!-- <el-table-column label="创建人" align="center" prop="createBy" /> -->
          <!-- <el-table-column label="更新人" align="center" prop="updateBy" /> -->
          <!--  <el-table-column
          label="单位工号"
          align="center"
          prop="firmWorkId"
@@ -176,32 +183,32 @@
          :show-overflow-tooltip="true"
        /> -->
        <!-- <el-table-column label="部门名" align="center" prop="firmDeptName" /> -->
          <!-- <el-table-column label="部门名" align="center" prop="firmDeptName" /> -->
        <!-- <el-table-column label="客户照片" align="center" prop="photo" /> -->
        <!-- <el-table-column prop="checkStatus" label="审核状态" width="180">
          <!-- <el-table-column label="客户照片" align="center" prop="photo" /> -->
          <!-- <el-table-column prop="checkStatus" label="审核状态" width="180">
          <template slot-scope="scope">
            <span>{{
              scope.row.checkStatus == "1" ? "已审核" : "待审核"
            }}</span>
          </template>
        </el-table-column> -->
        <el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" height="10px"
          width="114px">
          <template slot-scope="scope">
            <el-button size="mini" type="text" icon="el-icon-document" @click="handleUpdate(scope.row)"
              v-hasPermi="['hosp:order:edit']" title="订单流水"></el-button>
            <el-button size="mini" type="text" icon="el-icon-edit" @click="handleProject(scope.row)"
              v-hasPermi="['hosp:order:edit']" title="补录项目"></el-button>
            <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-download" title="下载导诊单" @click="
          <el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" height="10px"
            width="114px">
            <template slot-scope="scope">
              <el-button size="mini" type="text" icon="el-icon-document" @click="handleUpdate(scope.row)"
                v-hasPermi="['hosp:order:edit']" title="订单流水"></el-button>
              <!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleProject(scope.row)"
                v-hasPermi="['hosp:order:edit']" title="补录项目"></el-button> -->
              <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-download" title="下载导诊单" @click="
              daoZhenDan,
              LoadFileImg(scope.row);
                                        "></el-button> -->
            <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-view" title="查看报告" @click="
              <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-view" title="查看报告" @click="
              dialogVisible,
              downLoadFileImg(scope.row);
                                        "></el-button> -->
            <!-- <el-button
              <!-- <el-button
              type="text"
              size="mini"
              class="btn"
@@ -209,7 +216,7 @@
              title="体检报告"
              @click="viewReport(scope.row)"
            ></el-button> -->
            <!-- <el-button
              <!-- <el-button
              type="text"
              size="mini"
              class="btn"
@@ -219,28 +226,28 @@
              @click="viewReport(scope.row)"
            ></el-button> -->
            <el-button type="text" size="mini" class="btn" icon="el-icon-download" title="导诊单"
              @click="handleReport(scope.row)"></el-button>
              <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-download" title="导诊单"
                @click="handleReport(scope.row)"></el-button> -->
            <!-- <button @click="downLoadFileImg(scope.row)">查看报告</button> -->
          </template>
        </el-table-column>
      </el-table>
    </template>
              <!-- <button @click="downLoadFileImg(scope.row)">查看报告</button> -->
            </template>
          </el-table-column>
        </el-table>
      </template>
    <div class="pag">
      <div class="pag1">
        <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
          :current-page="queryParams.pageNum" :page-sizes="[10, 20, 30, 40]" :page-size="queryParams.pageSize"
          layout="total, sizes, prev, pager, next, jumper" :total="total">
        </el-pagination>
        <!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
      <div class="pag">
        <div class="pag1">
          <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
            :current-page="queryParams.pageNum" :page-sizes="[10, 20, 30, 40]" :page-size="queryParams.pageSize"
            layout="total, sizes, prev, pager, next, jumper" :total="total">
          </el-pagination>
          <!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
          @pagination="getList" /> -->
        </div>
      </div>
    </div>
    <!-- 订单流水对话框 -->
    <!-- <el-dialog title="提示" :visible.sync="dialogVisible" width="1500px " >
      <!-- 订单流水对话框 -->
      <!-- <el-dialog title="提示" :visible.sync="dialogVisible" width="1500px " >
        <el-table :data="tableData" style="width: 100%">
      <el-table-column prop="date" label="日期" width="180">
      </el-table-column>
@@ -254,33 +261,33 @@
        </span>
     </el-dialog> -->
    <el-dialog title="PDF 预览" :visible.sync="dialogVisible" :close-on-click-modal="false">
      <div class="main">
        <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
      </div>
    </el-dialog>
      <el-dialog title="PDF 预览" :visible.sync="dialogVisible" :close-on-click-modal="false">
        <div class="main">
          <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
        </div>
      </el-dialog>
    <el-dialog title="导诊单" :visible.sync="daoZhenDan" :close-on-click-modal="false">
      <div class="main">
        <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
      </div>
    </el-dialog>
      <el-dialog title="导诊单" :visible.sync="daoZhenDan" :close-on-click-modal="false">
        <div class="main">
          <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
        </div>
      </el-dialog>
    <!-- 添加补录项目 -->
    <el-dialog :title="title" :visible.sync="Projectopen" width="1100px" style="height: 860px" append-to-body
      :close-on-click-modal="false">
      <div class="box">
        <div class="box1">
          <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">
            项目选择
          </div>
          <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick"
            v-model="activeNames">
            <el-tab-pane label="组合" name="first">
              <div class="tab8">
                <el-row :gutter="20" style="width: 100%">
                  <el-col :span="22">
                    <!-- <div
      <!-- 添加补录项目 -->
      <el-dialog :title="title" :visible.sync="Projectopen" width="1100px" style="height: 860px" append-to-body
        :close-on-click-modal="false">
        <div class="box">
          <div class="box1">
            <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">
              项目选择
            </div>
            <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick"
              v-model="activeNames">
              <el-tab-pane label="组合" name="first">
                <div class="tab8">
                  <el-row :gutter="20" style="width: 100%">
                    <el-col :span="22">
                      <!-- <div
                    style="
                      text-align: center;
                      margin-bottom: 10px;
@@ -289,16 +296,16 @@
                  >
                    项目列表
                  </div> -->
                    <el-input placeholder="输入关键字进行过滤" v-model="filterage">
                    </el-input>
                    <div class="tab3">
                      <el-tree class="filter-tree" v-loading="loading" :data="packageList" :props="defaultProp"
                        show-checkbox node-key="id" @check-change="handlepackage" :default-checked-keys="checkedkeys"
                        :filter-node-method="filterpackage" ref="treas" :render-content="renderContents">
                      </el-tree>
                    </div>
                  </el-col>
                  <!-- <el-col :span="11">
                      <el-input placeholder="输入关键字进行过滤" v-model="filterage">
                      </el-input>
                      <div class="tab3">
                        <el-tree class="filter-tree" v-loading="loading" :data="packageList" :props="defaultProp"
                          show-checkbox node-key="id" @check-change="handlepackage" :default-checked-keys="checkedkeys"
                          :filter-node-method="filterpackage" ref="treas" :render-content="renderContents">
                        </el-tree>
                      </div>
                    </el-col>
                    <!-- <el-col :span="11">
                  <div
                    style="
                      text-align: center;
@@ -320,15 +327,15 @@
                    </el-tree>
                  </div>
                </el-col> -->
                  <!-- <el-col :span="11"> </el-col> -->
                </el-row>
              </div>
            </el-tab-pane>
            <el-tab-pane label="单项" name="third">
              <div class="tab8">
                <el-row type="flex" class="row-bg" justify="space-around">
                  <el-col :span="22">
                    <!-- <div
                    <!-- <el-col :span="11"> </el-col> -->
                  </el-row>
                </div>
              </el-tab-pane>
              <el-tab-pane label="单项" name="third">
                <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;
@@ -337,17 +344,17 @@
                >
                  项目列表
                </div> -->
                    <el-input placeholder="输入关键字进行过滤" v-model="filterText">
                    </el-input>
                    <div class="tab3">
                      <el-tree class="filter-tree" v-loading="loading" :data="Treedata" :props="defaultProps"
                        show-checkbox node-key="proId" @check-change="handleCurrentChecked"
                        :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree"
                        :render-content="renderContent">
                      </el-tree>
                    </div>
                  </el-col>
                  <!-- <el-col :span="11">
                      <el-input placeholder="输入关键字进行过滤" v-model="filterText">
                      </el-input>
                      <div class="tab3">
                        <el-tree class="filter-tree" v-loading="loading" :data="Treedata" :props="defaultProps"
                          show-checkbox node-key="proId" @check-change="handleCurrentChecked"
                          :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree"
                          :render-content="renderContent">
                        </el-tree>
                      </div>
                    </el-col>
                    <!-- <el-col :span="11">
                <div
                  style="
                    text-align: center;
@@ -375,7 +382,7 @@
                  </div>
                </div>
              </el-col> -->
                  <!-- <el-col :span="11">
                    <!-- <el-col :span="11">
              <div class="grid-content bg-purple">
                <div
                  style="
@@ -423,7 +430,7 @@
                    </template>
                  </el-table-column>
                </el-table> -->
                  <!-- <el-collapse v-model="activeName" accordion v-if="list1">
                    <!-- <el-collapse v-model="activeName" accordion v-if="list1">
                  <div>
                    <el-collapse-item title="请选择项目">
                      <el-table
@@ -445,210 +452,234 @@
                    </el-collapse-item>
                  </div>
                </el-collapse> -->
                  <!-- </div>
                    <!-- </div>
            </el-col> -->
                </el-row>
              </div>
            </el-tab-pane>
          </el-tabs>
                  </el-row>
                </div>
              </el-tab-pane>
            </el-tabs>
          </div>
          <div class="grid-content bg-purple">
            <div style="text-align: center; margin-bottom: 10px; margin-top: 9px">
              已选项目列表
            </div>
            <el-table :data="DataList3" border style="width: 100%; table-layout: fixed" height="560"
              :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" :show-overflow-tooltip="true">
              </el-table-column>
              <el-table-column prop="sl" label="数量" width="56px">
              </el-table-column>
              <el-table-column prop="proPrice" label="原价" width="56px">
              </el-table-column>
              <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="50px">
                <template slot-scope="scope">
                  <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDel(scope.row)"
                    title="删除"></el-button>
                </template>
              </el-table-column>
            </el-table>
            <!-- <h3 style="font-weight: 600">合计:{{ marryalls }}元</h3> -->
          </div>
        </div>
        <el-form :model="form" inline style="display: flex; justify-content: space-between; margin-top: 20px">
          <!-- 体检类型 -->
          <el-form-item label="体检类型" prop="tjType" style="display: flex">
            <div class="type">
              {{ { 1: "团队", 2: "个人", 3: "团体票" }[form.tjType] }}
            </div>
          </el-form-item>
          <!-- 原价 -->
          <el-form-item label="原价" style="display: flex">
            <el-input placeholder="原价" :value="TotalPrice1" disabled style="width: 90px"></el-input>
          </el-form-item>
          <!-- 折扣设定 -->
          <el-form-item label="折扣" style="display: flex">
            <el-input style="width: 90px" type="number" v-model="discount" :value="discount"></el-input>
          </el-form-item>
          <!-- 应付金额 -->
          <el-form-item label="应付" style="display: flex">
            <el-input placeholder="应付金额" :value="TotalPrice1 * (discount / 10)" style="width: 90px"></el-input>
          </el-form-item>
          <!-- 付款类型 -->
          <el-form-item label="付款类型" prop="payType" style="display: flex">
            <el-select style="width: 120px" v-model="payType" placeholder="请选择付款类型" @change="onPayTypeChange">
              <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label"
                :value="dict.value"></el-option>
            </el-select>
          </el-form-item>
          <!-- 结算方式 -->
          <el-form-item label="结算方式" prop="jsType" style="display: flex">
            <el-select v-model="jsType" placeholder="请选择结算方式" style="width: 130px" clearable>
              <el-option v-for="dict in dict.type.reservation_pay_type" :key="dict.value" :label="dict.label"
                :value="dict.value" />
            </el-select>
          </el-form-item>
          <!-- 提交按钮 -->
          <el-form-item style="display: flex">
            <el-button type="primary" :loading="isSubmit1" @click="submitPrice1" :disabled="confirm">
              提交
            </el-button>
          </el-form-item>
        </el-form>
      </el-dialog>
      <!-- 添加补录项目 -->
      <el-dialog :title="title" :visible.sync="Projectopen1" width="1200px" style="height: 860px" append-to-body
        :close-on-click-modal="false">
        <div class="box">
          <div class="box1">
            <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">
              项目选择
            </div>
            <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick"
              v-model="activeNames">
              <el-tab-pane label="组合" name="first">
                <div class="tab8">
                  <el-row :gutter="20" style="width: 100%">
                    <el-col :span="22">
                      <el-input placeholder="输入关键字进行过滤" v-model="filterage">
                      </el-input>
                      <div class="tab3">
                        <el-tree class="filter-tree" v-loading="loading" :data="packageList" :props="defaultProp"
                          show-checkbox node-key="id" @check-change="handlepackage" :default-checked-keys="checkedkeys"
                          :filter-node-method="filterpackage" ref="treas" :render-content="renderContents">
                        </el-tree>
                      </div>
                    </el-col>
                  </el-row>
                </div>
              </el-tab-pane>
              <el-tab-pane label="单项" name="third">
                <div class="tab8">
                  <el-row type="flex" class="row-bg" justify="space-around">
                    <el-col :span="22">
                      <el-input placeholder="输入关键字进行过滤" v-model="filterText">
                      </el-input>
                      <div class="tab3">
                        <el-tree class="filter-tree" v-loading="loading" :data="Treedata" :props="defaultProps"
                          show-checkbox node-key="proId" @check-change="handleCurrentChecked"
                          :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree"
                          :render-content="renderContent">
                        </el-tree>
                      </div>
                    </el-col>
                  </el-row>
                </div>
              </el-tab-pane>
            </el-tabs>
          </div>
          <div class="grid-content bg-purple">
            <div style="text-align: center; margin-bottom: 10px; margin-top: 9px">
              已选项目列表
            </div>
            <el-table :data="DataList3" border style="width: 100%; table-layout: fixed" height="560"
              :span-method="objectspanmethod">
              <el-table-column prop="propinName" label="检查项目" width="160px" :show-overflow-tooltip="true">
              </el-table-column>
              <el-table-column prop="proName" label="明细项目" width="160px" :show-overflow-tooltip="true">
              </el-table-column>
              <el-table-column prop="sl" label="数量" width="56px">
              </el-table-column>
              <el-table-column prop="proPrice" label="原价" width="56px">
              </el-table-column>
              <el-table-column label="折扣">
                <template slot-scope="scope">
                  <!-- @input="validateDiscount(scope.row)" -->
                  <el-input-number v-model.number="scope.row.discount" @change="handleManualChange(scope.row)"
                    placeholder="输入折扣" size="small" type="number" :precision="1" :step="0.1" :max="10" :min="0">
                  </el-input-number>
                </template>
              </el-table-column>
              <el-table-column prop="nowPrice" label="现价">
                <template slot-scope="scope">
                  {{ scope.row.nowPrice ? scope.row.nowPrice.toFixed(2) : scope.row.nowPrice }}
                </template>
              </el-table-column>
              <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="50px">
                <template slot-scope="scope">
                  <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDel(scope.row)"
                    title="删除"></el-button>
                </template>
              </el-table-column>
            </el-table>
            <!-- <h3 style="font-weight: 600">合计:{{ marryalls }}元</h3> -->
          </div>
        </div>
        <div class="grid-content bg-purple">
          <div style="text-align: center; margin-bottom: 10px; margin-top: 9px">
            已选项目列表
          </div>
          <el-table :data="DataList3" border style="width: 100%; table-layout: fixed" height="560"
            :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" :show-overflow-tooltip="true">
            </el-table-column>
            <el-table-column prop="sl" label="数量" width="56px">
            </el-table-column>
            <el-table-column prop="proPrice" label="原价" width="56px">
            </el-table-column>
        <el-form :model="form" inline style="display: flex; justify-content: space-between; margin-top: 20px">
          <!-- 体检类型 -->
          <el-form-item label="体检类型" prop="tjType" style="display: flex">
            <div class="type">
              {{ { 1: "团队", 2: "个人", 3: "团体票" }[form.tjType] }}
            </div>
          </el-form-item>
            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="50px">
              <template slot-scope="scope">
                <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDel(scope.row)"
                  title="删除"></el-button>
              </template>
            </el-table-column>
          </el-table>
          <!-- 原价 -->
          <el-form-item label="原价" style="display: flex">
            <el-input placeholder="原价" :value="TotalPrice1" disabled style="width: 90px"></el-input>
          </el-form-item>
          <!-- <h3 style="font-weight: 600">合计:{{ marryalls }}元</h3> -->
        </div>
      </div>
      <el-form :model="form" inline style="display: flex; justify-content: space-between; margin-top: 20px">
        <!-- 体检类型 -->
        <el-form-item label="体检类型" prop="tjType" style="display: flex">
          <div class="type">
            {{ { 1: "团队", 2: "个人", 3: "团体票" }[form.tjType] }}
          </div>
        </el-form-item>
          <!-- 折扣设定 -->
          <!-- <el-form-item label="折扣" style="display: flex">
            <el-input style="width: 90px" type="number" v-model="discount" :value="discount"></el-input>
          </el-form-item> -->
        <!-- 原价 -->
        <el-form-item label="原价" style="display: flex">
          <el-input placeholder="原价" :value="TotalPrice1" disabled style="width: 90px"></el-input>
        </el-form-item>
          <el-form-item label="折扣">
            <!-- {{ discount }} -->
            <el-input-number ref="inputNumber" style="width: 150px" v-model="discount" :precision="1" :step="0.1"
              :max="10" :min="0" @change="debounceNumberChange"></el-input-number>
          </el-form-item>
        <!-- 折扣设定 -->
        <el-form-item label="折扣" style="display: flex">
          <el-input style="width: 90px" type="number" v-model="discount" :value="discount"></el-input>
        </el-form-item>
          <!-- 应付金额 -->
          <!-- <el-form-item label="应付" style="display: flex">
            <el-input placeholder="应付金额" :value="TotalPrice1 * (discount / 10)" style="width: 90px"></el-input>
          </el-form-item> -->
          <el-form-item label="应付">
            <el-input placeholder="应付金额" v-model="TotalPrice" style="width: 206px" @input="changeXianjia"
              @blur="numberChangeXianPrice(discount, discount)" />
          </el-form-item>
        <!-- 应付金额 -->
        <el-form-item label="应付" style="display: flex">
          <el-input placeholder="应付金额" :value="TotalPrice1 * (discount / 10)" style="width: 90px"></el-input>
        </el-form-item>
          <!-- 付款类型 -->
          <el-form-item label="付款类型" prop="payType" style="display: flex">
            <el-select style="width: 120px" v-model="payType" placeholder="请选择付款类型" @change="onPayTypeChange">
              <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label"
                :value="dict.value"></el-option>
            </el-select>
          </el-form-item>
        <!-- 付款类型 -->
        <el-form-item label="付款类型" prop="payType" style="display: flex">
          <el-select style="width: 120px" v-model="payType" placeholder="请选择付款类型" @change="onPayTypeChange">
            <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          </el-select>
        </el-form-item>
          <!-- 结算方式 -->
          <el-form-item label="结算方式" prop="jsType" style="display: flex">
            <el-select v-model="jsType" placeholder="请选择结算方式" style="width: 130px" clearable>
              <el-option v-for="dict in dict.type.reservation_pay_type" :key="dict.value" :label="dict.label"
                :value="dict.value" />
            </el-select>
          </el-form-item>
        <!-- 结算方式 -->
        <el-form-item label="结算方式" prop="jsType" style="display: flex">
          <el-select v-model="jsType" placeholder="请选择结算方式" style="width: 130px" clearable>
            <el-option v-for="dict in dict.type.reservation_pay_type" :key="dict.value" :label="dict.label"
              :value="dict.value" />
          </el-select>
        </el-form-item>
          <!-- 提交按钮 -->
          <el-form-item style="display: flex">
            <el-button type="primary" :loading="isSubmit1" @click="submitPrice1" :disabled="confirm">
              提交
            </el-button>
          </el-form-item>
        </el-form>
        <!-- 提交按钮 -->
        <el-form-item style="display: flex">
          <el-button type="primary" :loading="isSubmit1" @click="submitPrice1" :disabled="confirm">
            提交
          </el-button>
        </el-form-item>
      </el-form>
    </el-dialog>
    <!-- 添加补录项目 -->
    <el-dialog :title="title" :visible.sync="Projectopen1" width="1100px" style="height: 860px" append-to-body
      :close-on-click-modal="false">
      <div class="box">
        <div class="box1">
          <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">
            项目选择
          </div>
          <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick"
            v-model="activeNames">
            <el-tab-pane label="组合" name="first">
              <div class="tab8">
                <el-row :gutter="20" style="width: 100%">
                  <el-col :span="22">
                    <el-input placeholder="输入关键字进行过滤" v-model="filterage">
                    </el-input>
                    <div class="tab3">
                      <el-tree class="filter-tree" v-loading="loading" :data="packageList" :props="defaultProp"
                        show-checkbox node-key="id" @check-change="handlepackage" :default-checked-keys="checkedkeys"
                        :filter-node-method="filterpackage" ref="treas" :render-content="renderContents">
                      </el-tree>
                    </div>
                  </el-col>
                </el-row>
              </div>
            </el-tab-pane>
            <el-tab-pane label="单项" name="third">
              <div class="tab8">
                <el-row type="flex" class="row-bg" justify="space-around">
                  <el-col :span="22">
                    <el-input placeholder="输入关键字进行过滤" v-model="filterText">
                    </el-input>
                    <div class="tab3">
                      <el-tree class="filter-tree" v-loading="loading" :data="Treedata" :props="defaultProps"
                        show-checkbox node-key="proId" @check-change="handleCurrentChecked"
                        :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree"
                        :render-content="renderContent">
                      </el-tree>
                    </div>
                  </el-col>
                </el-row>
              </div>
            </el-tab-pane>
          </el-tabs>
        </div>
        <div class="grid-content bg-purple">
          <div style="text-align: center; margin-bottom: 10px; margin-top: 9px">
            已选项目列表
          </div>
          <el-table :data="DataList3" border style="width: 100%; table-layout: fixed" height="560"
            :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" :show-overflow-tooltip="true">
            </el-table-column>
            <el-table-column prop="sl" label="数量" width="56px">
            </el-table-column>
            <el-table-column prop="proPrice" label="原价" width="56px">
            </el-table-column>
            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="50px">
              <template slot-scope="scope">
                <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDel(scope.row)"
                  title="删除"></el-button>
              </template>
            </el-table-column>
          </el-table>
          <!-- <h3 style="font-weight: 600">合计:{{ marryalls }}元</h3> -->
        </div>
      </div>
      <el-form :model="form" inline style="display: flex; justify-content: space-between; margin-top: 20px">
        <!-- 体检类型 -->
        <el-form-item label="体检类型" prop="tjType" style="display: flex">
          <div class="type">
            {{ { 1: "团队", 2: "个人", 3: "团体票" }[form.tjType] }}
          </div>
        </el-form-item>
        <!-- 原价 -->
        <el-form-item label="原价" style="display: flex">
          <el-input placeholder="原价" :value="TotalPrice1" disabled style="width: 90px"></el-input>
        </el-form-item>
        <!-- 折扣设定 -->
        <el-form-item label="折扣" style="display: flex">
          <el-input style="width: 90px" type="number" v-model="discount" :value="discount"></el-input>
        </el-form-item>
        <!-- 应付金额 -->
        <el-form-item label="应付" style="display: flex">
          <el-input placeholder="应付金额" :value="TotalPrice1 * (discount / 10)" style="width: 90px"></el-input>
        </el-form-item>
        <!-- 付款类型 -->
        <el-form-item label="付款类型" prop="payType" style="display: flex">
          <el-select style="width: 120px" v-model="payType" placeholder="请选择付款类型" @change="onPayTypeChange">
            <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          </el-select>
        </el-form-item>
        <!-- 结算方式 -->
        <el-form-item label="结算方式" prop="jsType" style="display: flex">
          <el-select v-model="jsType" placeholder="请选择结算方式" style="width: 130px" clearable>
            <el-option v-for="dict in dict.type.reservation_pay_type" :key="dict.value" :label="dict.label"
              :value="dict.value" />
          </el-select>
        </el-form-item>
        <!-- 提交按钮 -->
        <el-form-item style="display: flex">
          <el-button type="primary" :loading="isSubmit1" @click="submitPrice1" :disabled="confirm">
            提交
          </el-button>
        </el-form-item>
      </el-form>
      <!-- <div class="heji">
        <!-- <div class="heji">
        <div class="o">
          <el-form
            :model="form"
@@ -729,12 +760,12 @@
          </el-form>
        </div>
      </div> -->
    </el-dialog>
      </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-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>
@@ -769,146 +800,153 @@
            </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>
    <el-dialog :title="title1" :visible.sync="Projectssopen" width="1100px" style="height: 860px" append-to-body
      :close-on-click-modal="false">
      <el-row type="flex" class="row-bg" justify="space-around">
        <el-col :span="13">
          <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">
            补录列表
          </div>
          <div class="tab3">
            <el-table :data="DataLists" border style="width: 100%" height="400"
              @selection-change="handleProjectssChange">
              <el-table-column type="selection" width="40" align="center" />
              <el-table-column type="index" label="序号" align="center" width="49px">
          <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 prop="blje" label="补录金额" align="center" width="74px">
              <el-table-column align="center" prop="parent_pro_name" label="项目">
              </el-table-column>
              <el-table-column prop="bldh" label="补录单号" align="center" width="155px">
              <el-table-column align="center" prop="ks" label="科室">
              </el-table-column>
              <el-table-column prop="blsj" label="补录时间" align="center" width="156px">
              <el-table-column align="center" prop="price" label="费用合计">
              </el-table-column>
              <el-table-column prop="blrmc" label="补录人" align="center" width="96px">
              <el-table-column align="center" prop="sfzt" label="费用状态">
                <template v-slot="scope">
                  <span v-if="scope.row.sfzt">{{ '已结账' }}</span>
                  <span v-else>{{ '未结账' }}</span>
                </template>
              </el-table-column>
            </el-table>
          </div>
        </el-col>
            <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>
        <el-col :span="10">
          <div class="grid-content bg-purple">
      <el-dialog :title="title1" :visible.sync="Projectssopen" width="1100px" style="height: 860px" append-to-body
        :close-on-click-modal="false">
        <el-row type="flex" class="row-bg" justify="space-around">
          <el-col :span="13">
            <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">
              补录项目
              补录列表
            </div>
            <el-table :data="DataListss" border style="width: 100%" height="400" :span-method="objectSpanMethod2">
              <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>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">撤 销</el-button>
        <!-- <el-button @click="cancel">取 消</el-button> -->
      </div>
    </el-dialog>
    <el-dialog :title="title1" :visible.sync="budadaozhen" width="1100px" style="height: 860px" append-to-body
      :close-on-click-modal="false">
      <el-row type="flex" class="row-bg" justify="space-around">
        <el-col :span="13">
          <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">
            补录列表
          </div>
            <div class="tab3">
              <el-table :data="DataLists" border style="width: 100%" height="400"
                @selection-change="handleProjectssChange">
                <el-table-column type="selection" width="40" align="center" />
                <el-table-column type="index" label="序号" align="center" width="49px">
                </el-table-column>
                <el-table-column prop="blje" label="补录金额" align="center" width="74px">
                </el-table-column>
                <el-table-column prop="bldh" label="补录单号" align="center" width="155px">
                </el-table-column>
                <el-table-column prop="blsj" label="补录时间" align="center" width="156px">
                </el-table-column>
                <el-table-column prop="blrmc" label="补录人" align="center" width="96px">
                </el-table-column>
              </el-table>
            </div>
          </el-col>
          <div class="tab3">
            <el-table :data="DataLists" border style="width: 100%" height="400"
              @selection-change="handleProjectssChange">
              <el-table-column type="selection" width="40" align="center" />
              <el-table-column type="index" label="序号" align="center" width="49px">
              </el-table-column>
              <el-table-column prop="blje" label="补录金额" align="center" width="74px">
              </el-table-column>
              <el-table-column prop="bldh" label="补录单号" align="center" width="155px">
              </el-table-column>
              <el-table-column prop="blsj" label="补录时间" align="center" width="156px">
              </el-table-column>
              <el-table-column prop="blrmc" label="补录人" align="center" width="96px">
              </el-table-column>
            </el-table>
          </div>
        </el-col>
          <el-col :span="10">
            <div class="grid-content bg-purple">
              <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">
                补录项目
              </div>
              <el-table :data="DataListss" border style="width: 100%" height="400" :span-method="objectSpanMethod2">
                <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>
        <div slot="footer" class="dialog-footer">
          <el-button type="primary" @click="submitForm">撤 销</el-button>
          <!-- <el-button @click="cancel">取 消</el-button> -->
        </div>
      </el-dialog>
        <el-col :span="10">
          <div class="grid-content bg-purple">
      <el-dialog :title="title1" :visible.sync="budadaozhen" width="1100px" style="height: 860px" append-to-body
        :close-on-click-modal="false">
        <el-row type="flex" class="row-bg" justify="space-around">
          <el-col :span="13">
            <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">
              补录项目
              补录列表
            </div>
            <el-table :data="DataListss" border style="width: 100%" height="400" :span-method="objectSpanMethod2">
              <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>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="dayin">打 印</el-button>
        <!-- <el-button @click="cancel">取 消</el-button> -->
      </div>
    </el-dialog>
            <div class="tab3">
              <el-table :data="DataLists" border style="width: 100%" height="400"
                @selection-change="handleProjectssChange">
                <el-table-column type="selection" width="40" align="center" />
                <el-table-column type="index" label="序号" align="center" width="49px">
                </el-table-column>
                <el-table-column prop="blje" label="补录金额" align="center" width="74px">
                </el-table-column>
                <el-table-column prop="bldh" label="补录单号" align="center" width="155px">
                </el-table-column>
                <el-table-column prop="blsj" label="补录时间" align="center" width="156px">
                </el-table-column>
                <el-table-column prop="blrmc" label="补录人" align="center" width="96px">
                </el-table-column>
              </el-table>
            </div>
          </el-col>
          <el-col :span="10">
            <div class="grid-content bg-purple">
              <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">
                补录项目
              </div>
              <el-table :data="DataListss" border style="width: 100%" height="400" :span-method="objectSpanMethod2">
                <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>
        <div slot="footer" class="dialog-footer">
          <el-button type="primary" @click="dayin">打 印</el-button>
          <!-- <el-button @click="cancel">取 消</el-button> -->
        </div>
      </el-dialog>
    </div>
  </div>
</template>
@@ -927,6 +965,7 @@
  getForceChexiao,
} from "@/api/hosp/order";
import moment from "moment";
import Big from "big.js";
import { getZhList, getlistByZhId } from "@/api/system/package";
import { getwater } from "@/api/hosp/customer";
import { getInfo } from "@/api/login";
@@ -1019,6 +1058,7 @@
      },
      TreedataList: [],
      discount: 10,
      lastXianPrice:0,
      DataList: [],
      shijianlist: [],
      // 套餐提交按钮
@@ -1027,6 +1067,7 @@
      activeName: "1",
      proIds: [],
      TotalPrice1: 0,
      TotalPrice: 0,
      TotalPrice6: 0,
      TotalPrice7: 0,
      numberList: [],
@@ -1039,6 +1080,7 @@
      dataObj: {},
      // 非单个禁用
      single: true,
      singles: false,
      activeNames: "first",
      // 非多个禁用
      multiple: true,
@@ -1334,8 +1376,6 @@
      // 先调用 getInfo 获取 userId
      getInfo()
        .then((res) => {
          console.log(res, 1111);
          const dqdlr = res.user.userId; // 获取 userId
          console.log("User ID:", dqdlr);
          const params = { viewNum, tjNumber, dqdlr }; // 将 userId 加入 params
@@ -1357,6 +1397,7 @@
    // 强制撤销按钮
    ForceChexiao() {
      const tjNum = this.tjnumbers;
      this.isLoading = true
      this.$confirm(
        "您是否需要强制撤销?撤销后该人员本次体检记录不可恢复!",
        "确认信息",
@@ -1367,14 +1408,24 @@
          customClass: "custom-message-box",
        }
      )
        .then(() => {
          getForceChexiao(tjNum).then((res) => {
            this.$modal.msgSuccess("撤销成功");
            this.getList();
            if (res.code == 200) {
              this.$modal.msgSuccess("撤销成功");
              this.isLoading = false
              this.getList();
            }
          }).catch(() => {
            console.log("加载失败")
            this.isLoading = false;
          }).finally(() => {
            console.log("加载失败")
            // 不论操作成功还是失败,都会执行
            this.isLoading = false;
          });
        })
        .catch((action) => {
          this.isLoading = false
          if (action === "cancel") {
            this.$message({
              type: "warning",
@@ -1402,13 +1453,23 @@
      })
        .then(() => {
          huifuyuyuejilu(this.tjNUms).then((res) => {
            this.$modal.msgSuccess("恢复成功");
            // this.isLoading = false;
            this.getList();
            if (res.code == 200) {
              this.$modal.msgSuccess("恢复成功");
              this.isLoading = false
              this.getList();
            }
          }).catch(() => {
            console.log("加载失败")
            this.isLoading = false;
          }).finally(() => {
            console.log("加载失败")
            // 不论操作成功还是失败,都会执行
            this.isLoading = false;
          });
        })
        .catch((action) => {
          if (action === "cancel") {
            this.isLoading = false;
            this.$message({
              type: "warning",
              message: "已取消",
@@ -1417,8 +1478,174 @@
        })
        .finally(() => {
          // 不论操作成功还是失败,都会执行
          this.isLoading = false;
        });
    },
    updateProPrice(row) {
      console.log(row)
      const ordPrice = new Big(row.ordPrice);
      const discount = new Big(row.discount);
      const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10)
      row.nowPrice = result.toNumber();
      this.TotalPrice = this.tableData1.reduce((sum, item) => {
        return sum.plus(new Big(item.nowPrice || "0"));
      }, new Big(0));
      this.discount =
        (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10;
    },
    debounceNumberChange(currentValue, oldValue) {
      clearTimeout(this.debounceTimer);
      this.debounceTimer = setTimeout(() => {
        this.numberChange(currentValue, oldValue);
      }, 300);
    },
    // 折扣
    numberChange(currentValue, oldValue) {
      this.$confirm("确定修改所有子项的折扣吗?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          this.discount = currentValue;
          this.DataList3.forEach((item) => {
            item.discount = this.discount;
            const ordPrice = new Big(item.proPrice.toString());
            const discount = new Big(item.discount.toString());
            const result = ordPrice.times(discount.div(10));
            item.nowPrice = result.toNumber();
            // this.TotalPrice = this.DataList3.reduce((sum, item) => {
            //   return sum.plus(new Big(item.nowPrice || "0"));
            // }, new Big(0));
            this.TotalPrice = new Big(this.TotalPrice1 * (this.discount / 10))
          });
        })
        .catch(() => {
          this.discount = oldValue;
        });
    },
    changeXianjia() {
      // 原始折扣率计算
      if (this.TotalPrice1 !== 0) {
        this.discount =
          (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10;
      }
    },
    numberChangeXianPrice(currentValue, oldValue) {
      // 如果现价没有变化,直接返回
      if (this.TotalPrice === this.lastXianPrice || !this.TotalPrice) {
        return;
      }
      this.$confirm("确定修改所有子项的折扣吗?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          this.discount = currentValue;
          // if (this.discount < this.getInfodis) {
          //   this.discount = this.getInfodis;
          // }
          let totalYsprice = new Big(0);
          console.log(this.tableData3, 11111)
          this.tableData3.forEach((item) => {
            item.discount = this.discount;
            const ordPrice = new Big(item.proPrice);
            const discount = new Big(item.discount);
            const result = ordPrice.times(discount.div(10));
            item.nowPrice = result.toNumber();
            totalYsprice = totalYsprice.plus(new Big(item.nowPrice));
          });
          if (!totalYsprice.eq(this.TotalPrice)) {
            const diff = new Big(this.TotalPrice).minus(totalYsprice);
            if (this.tableData1.length > 0) {
              const lastItem = this.tableData3[this.tableData3.length - 1];
              const newYsPrice = new Big(lastItem.nowPrice)
                .plus(diff)
                .toNumber();
              // console.log(
              //   "hhh",
              //   this.tableData1[this.tableData1.length - 1].nowPrice,
              //   newYsPrice
              // );
              this.$set(
                this.tableData3[this.tableData3.length - 1],
                "nowPrice",
                newYsPrice
              );
            }
          }
          this.lastXianPrice = this.TotalPrice;
        })
        .catch(() => {
          this.discount = oldValue;
        });
    },
    handleManualChange(row) {
      this.updateProPrice(row);
    },
    //  validateDiscount(row) {
    //   if (
    //     this.TotalPrice !== undefined &&
    //     !isNaN(this.TotalPrice) &&
    //     this.TotalPrice !== this.lastXianPrice
    //   ) {
    //     this.updateProPrice1(row);
    //     this.lastXianPrice = this.TotalPrice;
    //   }
    // },
    // updateProPrice1(row) {
    //     console.log( row,2222)
    //   const ordPrice = new Big(row.proPrice);
    //   const discount = new Big(row.discount);
    //   const result = ordPrice.times(discount.div(10));
    //   row.nowPrice = result.toNumber();
    //   const totalYsPrice = this.tableData1.reduce((sum, item) => {
    //     return sum.plus(new Big(item.nowPrice || "0"));
    //   }, new Big(0));
    //   const totalYsPriceNum = totalYsPrice.toNumber();
    //   if (this.TotalPrice !== undefined && !isNaN(this.TotalPrice)) {
    //     const xianPrice = new Big(this.TotalPrice);
    //     const diff = xianPrice.minus(totalYsPriceNum);
    //     if (!diff.eq(0) && this.tableData1.length > 0) {
    //       const lastItem = this.tableData1[this.tableData1.length - 1];
    //       const newYsPrice = new Big(lastItem.nowPrice).plus(diff).toNumber();
    //       this.$set(
    //         this.tableData1[this.tableData1.length - 1],
    //         "nowPrice",
    //         newYsPrice
    //       );
    //     }
    //   }
    // Update youhui calculation
    //   if (this.TotalPrice1 !== 0 && this.TotalPrice !== 0) {
    //     this.discount =
    //       (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10;
    //   } else {
    //     this.discount = 0;
    //   }
    // },
    updateProPrice(row) {
      console.log(row, 55555)
      const ordPrice = new Big(row.proPrice);
      const discount = new Big(row.discount);
      const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10)
      row.nowPrice = result.toNumber();
      this.TotalPrice = this.DataList3.reduce((sum, item) => {
        return sum.plus(new Big(item.nowPrice || "0"));
      }, new Big(0));
      this.discount =
        (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10;
    },
    handleRevoke() {
@@ -1430,13 +1657,23 @@
      })
        .then(() => {
          revokeTjOrderByTjNum(this.tjnumbers).then((res) => {
            this.$modal.msgSuccess("撤销成功");
            // this.isLoading = false;
            this.getList();
            if (res.code == 200) {
              this.$modal.msgSuccess("撤销成功");
              this.isLoading = false
              this.getList();
            }
          }).catch(() => {
            console.log("加载失败")
            this.isLoading = false;
          }).finally(() => {
            console.log("加载失败")
            // 不论操作成功还是失败,都会执行
            this.isLoading = false;
          });
        })
        .catch((action) => {
          if (action === "cancel") {
            this.isLoading = false;
            this.$message({
              type: "warning",
              message: "已取消",
@@ -1445,7 +1682,7 @@
        })
        .finally(() => {
          // 不论操作成功还是失败,都会执行
          this.isLoading = false;
          // this.isLoading = false;
        });
    },
    /** 点击显示体检报告报表*/
@@ -1636,6 +1873,7 @@
      this.ids = selection.map((item) => item.orderId);
      this.single = selection.length !== 1;
      this.singles = selection.length !== 1;
      this.multiple = !selection.length;
      if (tjNUms.length > 0) {
        shijianzhou(tjNUms).then((res) => {
@@ -1969,7 +2207,9 @@
      this.DataList3 = [];
      this.Datalists = [];
      this.TotalPrice1 = 0;
      this.orderId = row.orderId;
      this.filterText = "",
        this.filterage = "",
        this.orderId = row.orderId;
      this.cusId = row.tjCusIdCard;
      this.userId = row.userId;
      this.customer = {
@@ -2049,7 +2289,9 @@
      this.DataList = [];
      this.DataList3 = [];
      this.Datalists = [];
      this.TotalPrice1 = 0;
      this.filterText = "",
        this.filterage = "",
        this.TotalPrice1 = 0;
      this.orderId = this.ids;
      this.cusId = this.cusIds;
      this.userId = this.userIds;
@@ -2160,6 +2402,8 @@
          this.TotalPrice1 = 0;
          this.DataList3.forEach((item) => {
            this.TotalPrice1 += item.proPrice * item.sl;
             this.TotalPrice = new Big(this.TotalPrice1 * (this.discount / 10))
          this.lastXianPrice = this.TotalPrice;
          });
        });
      } else if (checked === false) {
@@ -2188,6 +2432,8 @@
          this.TotalPrice1 = 0;
          this.DataList3.forEach((item) => {
            this.TotalPrice1 += item.proPrice * item.sl;
             this.TotalPrice = new Big(this.TotalPrice1 * (this.discount / 10))
          this.lastXianPrice = this.TotalPrice;
          });
        });
      }