qx
qx
2025-04-21 106c445f8b633ffdcf2a6839c9bf72359c8646d4
qx
3个文件已修改
1000 ■■■■ 已修改文件
src/views/hosp/order/index.vue 996 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sampling/sampling/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hosp/order/index.vue
@@ -1,105 +1,34 @@
<template>
  <div class="app-container">
    <el-form
      :model="queryParams"
      ref="queryForm"
      size="small"
      :inline="true"
      v-show="showSearch"
      label-width="68px"
    >
    <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-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-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-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-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 :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-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">
@@ -113,43 +42,20 @@
        </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 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-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-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>
@@ -162,247 +68,89 @@
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
          type="primary"
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['hosp:order:export']"
          >导出</el-button
        >
        <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" :disabled="single"
          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-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-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-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-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-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-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-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-button type="primary" size="mini" @click="ResumeAppointment" :disabled="multiple">恢复预约</el-button>
      </el-col>
      <right-toolbar
        :showSearch.sync="showSearch"
        @queryTable="getList"
      ></right-toolbar>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <template>
      <el-table
        border
        v-loading="loading"
        :data="orderList"
        @selection-change="handleSelectionChange"
      >
        <el-table-column
          type="selection"
          width="40px"
          align="center"
          fixed="left"
        />
      <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"
        >
        <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"
        >
        <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"
            />
            <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="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"
        >
        <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"
        >
        <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"
        >
        <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> -->
@@ -412,14 +160,8 @@
          <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"
        >
        <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> -->
@@ -444,31 +186,13 @@
            }}</span>
          </template>
        </el-table-column> -->
        <el-table-column
          fixed="right"
          label="操作"
          align="center"
          class-name="small-padding fixed-width"
          height="10px"
          width="114px"
        >
        <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 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);
@@ -495,14 +219,8 @@
              @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>
@@ -512,16 +230,9 @@
    <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 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" /> -->
@@ -543,58 +254,28 @@
        </span>
     </el-dialog> -->
    <el-dialog
      title="PDF 预览"
      :visible.sync="dialogVisible"
      :close-on-click-modal="false"
    >
    <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>
        <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"
    >
    <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>
        <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"
    >
    <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 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-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%">
@@ -608,25 +289,12 @@
                  >
                    项目列表
                  </div> -->
                    <el-input
                      placeholder="输入关键字进行过滤"
                      v-model="filterage"
                    >
                    <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 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>
@@ -669,25 +337,13 @@
                >
                  项目列表
                </div> -->
                    <el-input
                      placeholder="输入关键字进行过滤"
                      v-model="filterText"
                    >
                    <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 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>
@@ -801,43 +457,21 @@
          <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"
          <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 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 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"
            >
            <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>
                <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDel(scope.row)"
                  title="删除"></el-button>
              </template>
            </el-table-column>
          </el-table>
@@ -845,11 +479,7 @@
          <!-- <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 :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">
@@ -859,75 +489,38 @@
        <!-- 原价 -->
        <el-form-item label="原价" style="display: flex">
          <el-input
            placeholder="原价"
            :value="TotalPrice1"
            disabled
            style="width: 90px"
          ></el-input>
          <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-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-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 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 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 type="primary" :loading="isSubmit1" @click="submitPrice1" :disabled="confirm">
            提交
          </el-button>
        </el-form-item>
@@ -935,51 +528,26 @@
    </el-dialog>
    <!-- 添加补录项目 -->
    <el-dialog
      :title="title"
      :visible.sync="Projectopen1"
      width="1100px"
      style="height: 860px"
      append-to-body
      :close-on-click-modal="false"
    >
    <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 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-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 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 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>
@@ -990,25 +558,13 @@
              <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 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 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>
@@ -1022,43 +578,21 @@
          <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"
          <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 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 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"
            >
            <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>
                <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDel(scope.row)"
                  title="删除"></el-button>
              </template>
            </el-table-column>
          </el-table>
@@ -1067,11 +601,7 @@
        </div>
      </div>
      <el-form
        :model="form"
        inline
        style="display: flex; justify-content: space-between; margin-top: 20px"
      >
      <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">
@@ -1081,75 +611,38 @@
        <!-- 原价 -->
        <el-form-item label="原价" style="display: flex">
          <el-input
            placeholder="原价"
            :value="TotalPrice1"
            disabled
            style="width: 90px"
          ></el-input>
          <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-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-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 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 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 type="primary" :loading="isSubmit1" @click="submitPrice1" :disabled="confirm">
            提交
          </el-button>
        </el-form-item>
@@ -1239,13 +732,7 @@
    </el-dialog>
    <!-- 添加或修改体检记录对话框 -->
    <el-dialog
      :title="title"
      :visible.sync="open"
      width="950px"
      append-to-body
      :close-on-click-modal="false"
    >
    <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%">
@@ -1284,12 +771,7 @@
        </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 align="center" type="index" label="序号" width="50">
            </el-table-column>
            <el-table-column align="center" prop="parent_pro_name" label="项目">
            </el-table-column>
@@ -1309,18 +791,8 @@
          </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 :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>
@@ -1332,12 +804,7 @@
            </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 align="center" prop="time" label="开单时间" width="180">
            </el-table-column>
          </el-table>
        </el-tab-pane>
@@ -1347,65 +814,27 @@
      </div>
    </el-dialog>
    <el-dialog
      :title="title1"
      :visible.sync="Projectssopen"
      width="1100px"
      style="height: 860px"
      append-to-body
      :close-on-click-modal="false"
    >
    <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 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 :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 type="index" label="序号" align="center" width="49px">
              </el-table-column>
              <el-table-column
                prop="blje"
                label="补录金额"
                align="center"
                width="74px"
              >
              <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 prop="bldh" label="补录单号" align="center" width="155px">
              </el-table-column>
              <el-table-column
                prop="blsj"
                label="补录时间"
                align="center"
                width="156px"
              >
              <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 prop="blrmc" label="补录人" align="center" width="96px">
              </el-table-column>
            </el-table>
          </div>
@@ -1413,18 +842,10 @@
        <el-col :span="10">
          <div class="grid-content bg-purple">
            <div
              style="text-align: center; margin-bottom: 10px; margin-top: 10px"
            >
            <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 :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">
@@ -1441,65 +862,27 @@
      </div>
    </el-dialog>
    <el-dialog
      :title="title1"
      :visible.sync="budadaozhen"
      width="1100px"
      style="height: 860px"
      append-to-body
      :close-on-click-modal="false"
    >
    <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 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 :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 type="index" label="序号" align="center" width="49px">
              </el-table-column>
              <el-table-column
                prop="blje"
                label="补录金额"
                align="center"
                width="74px"
              >
              <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 prop="bldh" label="补录单号" align="center" width="155px">
              </el-table-column>
              <el-table-column
                prop="blsj"
                label="补录时间"
                align="center"
                width="156px"
              >
              <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 prop="blrmc" label="补录人" align="center" width="96px">
              </el-table-column>
            </el-table>
          </div>
@@ -1507,18 +890,10 @@
        <el-col :span="10">
          <div class="grid-content bg-purple">
            <div
              style="text-align: center; margin-bottom: 10px; margin-top: 10px"
            >
            <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 :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">
@@ -1667,7 +1042,7 @@
      activeNames: "first",
      // 非多个禁用
      multiple: true,
      tjNUms:[],
      tjNUms: [],
      // 显示搜索条件
      showSearch: true,
      userId: "",
@@ -2018,7 +1393,7 @@
      });
    },
    ResumeAppointment(){
    ResumeAppointment() {
      this.isLoading = true;
      this.$confirm("您确认要恢复预约?", "确认信息", {
        distinguishCancelAndClose: true,
@@ -2240,6 +1615,13 @@
    handleSelectionChange(selection) {
      let tjNUms = selection.map((item) => item.tjNumber);
      this.tjNUms = selection.map((item) => item.tjNumber);
      // if (selection.length > 1) {
      //   const newSelection = [selection[selection.length - 1]];
      //   this.$nextTick(() => {
      //     this.$refs.tableRef.clearSelection();
      //     this.$refs.tableRef.toggleRowSelection(newSelection[0], true);
      //   });
      // }
      selection.forEach((item) => {
        this.orderIds = item.orderId;
        this.tjnumbers = item.tjNumber;
@@ -2561,7 +1943,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>
      );
@@ -2581,7 +1963,7 @@
          this.payType = res.data[0].dictValue;
        }
      })
      this.loading = true;
      this.DataList = [];
      this.DataList3 = [];
@@ -3193,19 +2575,23 @@
//   padding: 20px;
// }
::v-deep .el-message-box__message {
  color: red !important; /* 强制设置颜色为红色 */
  color: red !important;
  /* 强制设置颜色为红色 */
}
// .custom-message-box .el-message-box__message {
//   color: red !important; /* 设置文字为红色 */
// }
.o {
  margin-top: 8px;
}
.outside {
  width: 500px;
  display: flex;
  margin-top: 8px;
}
.outsides {
  width: 500px;
  display: flex;
@@ -3224,11 +2610,13 @@
  display: flex;
  margin-top: 8px;
}
.outside2 {
  width: 500px;
  display: flex;
  margin-top: 8px;
}
.heji {
  display: flex;
  flex-direction: row;
@@ -3236,10 +2624,12 @@
  align-items: center;
  margin-top: 10px;
}
.box {
  display: flex;
  justify-content: space-between;
}
.box1 {
  width: 50%;
  display: flex;
@@ -3249,10 +2639,12 @@
::v-deep .el-step__title.is-process {
  color: rgb(24, 144, 255);
}
::v-deep .el-step__head.is-process {
  color: rgb(24, 144, 255);
  border-color: rgb(24, 144, 255);
}
.shijian {
  display: flex;
  align-items: flex-start;
src/views/login.vue
@@ -58,7 +58,7 @@
    <!--  底部  -->
    <div class="el-login-footer">
      <span>Copyright © 2023-2024 All Rights Reserved.</span>
      <span>Copyright © 2024-2025 All Rights Reserved.</span>
      <!-- <span>Copyright © 2022-2023龙美网络 All Rights Reserved.</span> -->
    </div>
  </div>
src/views/sampling/sampling/index.vue
@@ -250,7 +250,7 @@
      piliangList: [],
      msg: "",
      getNumbr: null,
      valueUrl: "ws://127.0.0.1/websocket",
      valueUrl: "ws://127.0.0.1:6789/websocket",
      webSocket: null,
      list: [],
      selectList: [],