1
wwl
2025-06-10 cee2eca9c3e40b48c40a8fe80f938a777f03d463
src/views/hosp/customer/index.vue
@@ -1,22 +1,121 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
    <el-dialog
      :title="title"
      :visible.sync="open1"
      width="1000px"
      append-to-body
    >
      <el-form
        ref="form1"
        :model="form1"
        :rules="rules1"
        label-width="100px"
        :inline="true"
      >
        <el-form-item label="单位名称" prop="cnName">
          <el-input v-model="form1.cnName" placeholder="请输入中文名称" />
        </el-form-item>
        <el-form-item label="联系人" prop="contactPerson">
          <el-input v-model="form1.contactPerson" placeholder="请输入联系人" />
        </el-form-item>
        <el-form-item label="联系电话" prop="contactPhone">
          <el-input v-model="form1.contactPhone" placeholder="请输入联系电话" />
        </el-form-item>
        <el-form-item label="税号" prop="taxNumber">
          <el-input v-model="form1.taxNumber" placeholder="请输入税号" />
        </el-form-item>
        <el-form-item label="法人" prop="legalPerson">
          <el-input v-model="form1.legalPerson" placeholder="请输入法人" />
        </el-form-item>
        <el-form-item label="注册地址" prop="registerAddress">
          <el-input
            v-model="form1.registerAddress"
            placeholder="请输入注册地址"
          />
        </el-form-item>
        <el-form-item label="通讯地址" prop="mailingAddress">
          <el-input
            v-model="form1.mailingAddress"
            placeholder="请输入通讯地址"
          />
        </el-form-item>
        <el-form-item label="开户银行" prop="bankAccount">
          <el-input v-model="form1.bankAccount" placeholder="请输入开户银行" />
        </el-form-item>
        <el-form-item label="银行账户" prop="countNum">
          <el-input v-model="form1.countNum" placeholder="请输入银行账户" />
        </el-form-item>
        <el-form-item label="邮箱" prop="email">
          <el-input v-model="form1.email" placeholder="请输入邮箱" />
        </el-form-item>
        <el-form-item label="负责人" prop="principal">
          <el-input v-model="form1.principal" placeholder="请输入负责人" />
        </el-form-item>
        <el-form-item label="网址" prop="url">
          <el-input v-model="form1.url" placeholder="请输入网址" />
        </el-form-item>
        <el-form-item label="传真" prop="faxNumber">
          <el-input v-model="form1.faxNumber" placeholder="请输入传真" />
        </el-form-item>
        <el-form-item label="行政区划名称" prop="areaName">
          <el-input v-model="form1.areaName" placeholder="请输入行政区划名称" />
        </el-form-item>
        <el-form-item label="排序" prop="orderNum">
          <el-input v-model="form1.orderNum" placeholder="请输入排序" />
        </el-form-item>
        <el-form-item label="有效时间" prop="validTime">
          <el-date-picker
            clearable
            v-model="form1.validTime"
            type="date"
            value-format="yyyy-MM-dd"
            placeholder="请选择有效时间"
          >
          </el-date-picker> </el-form-item
        ><br />
        <el-form-item label="备注" prop="remark">
          <el-input
            v-model="form1.remark"
            type="textarea"
            placeholder="请输入内容"
            :rows="2"
            label-width="400px"
            style="width: 830px"
            resize="none"
          ></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer2">
        <el-button type="primary" @click="submitFormS">确 定</el-button>
        <el-button @click="cancel1">取 消</el-button>
      </div>
    </el-dialog>
    <el-form
      :model="queryParams"
      ref="queryForm"
      size="small"
      :inline="true"
      v-show="showSearch"
      label-width="68px"
    >
      <el-form-item label="姓名" prop="cusName">
        <el-input v-model="queryParams.cusName" placeholder="请输入姓名" clearable style="width:120px" @keyup.enter.native="handleQuery"/>
        <el-input
          v-model="queryParams.cusName"
          placeholder="请输入姓名"
          clearable
          style="width: 120px"
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <!-- <el-form-item label="性别" prop="cusSex">
        <el-select v-model="queryParams.cusSex" placeholder="请选择性别" clearable style="width:120px">
          <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"/>
        </el-select>
      </el-form-item> -->
      <!-- <el-form-item label="出生日期" prop="cusBrithday">
        <el-date-picker clearable v-model="queryParams.cusBrithday" type="date" value-format="yyyy-MM-dd" placeholder="请选择出生日期"></el-date-picker>
      </el-form-item> -->
      <!-- <el-form-item label="现住址" prop="cusAddr">
        <el-input v-model="queryParams.cusAddr" placeholder="请输入现居住地址" clearable @keyup.enter.native="handleQuery"/>
      </el-form-item> -->
      <el-form-item label="联系电话" prop="cusPhone">
        <el-input v-model="queryParams.cusPhone" placeholder="请输入联系电话" style="width:140px"  clearable @keyup.enter.native="handleQuery"/>
        <el-input
          v-model="queryParams.cusPhone"
          placeholder="请输入联系电话"
          style="width: 140px"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <!-- <el-form-item label="邮政编码" prop="cusPostcode">
        <el-input v-model="queryParams.cusPostcode" placeholder="请输入邮政编码" clearable @keyup.enter.native="handleQuery"/>
@@ -66,7 +165,7 @@
          v-model="queryParams.cusIntroduce"
          placeholder="请输入介绍人"
          clearable
          style="width:140px"
          style="width: 140px"
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
@@ -83,7 +182,7 @@
          v-model="queryParams.cusNumber"
          placeholder="输入整数"
          clearable
          style="width:100px"
          style="width: 100px"
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
@@ -92,7 +191,7 @@
          v-model="queryParams.cusIsvip"
          placeholder="选择VIP"
          clearable
          style="width:100px"
          style="width: 100px"
        >
          <el-option
            v-for="dict in dict.type.sys_yes_no"
@@ -108,6 +207,7 @@
          icon="el-icon-search"
          size="mini"
          @click="handleQuery"
          style="margin: 0 15px"
          >搜索</el-button
        >
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
@@ -119,7 +219,7 @@
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
        type="primary"
          type="primary"
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd"
@@ -129,7 +229,7 @@
      </el-col>
      <el-col :span="1.5">
        <el-button
        type="primary"
          type="primary"
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
@@ -140,7 +240,7 @@
      </el-col>
      <el-col :span="1.5">
        <el-button
        type="primary"
          type="primary"
          icon="el-icon-delete"
          size="mini"
          :disabled="multiple"
@@ -151,12 +251,33 @@
      </el-col>
      <el-col :span="1.5">
        <el-button
        type="primary"
          type="primary"
          size="mini"
          @click="handleBlacklist"
          :disabled="single"
          :loading="blackloading"
          v-hasPermi="['hosp:order:export']"
          >加入黑名单</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['hosp:customer:export']"
          >导出</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          size="mini"
          @click="handleReInfor"
          :disabled="single"
          :loading="blackloading"
          >注册his信息</el-button
        >
      </el-col>
      <right-toolbar
@@ -170,9 +291,13 @@
      v-loading="loading"
      :data="customerList"
      @selection-change="handleSelectionChange"
    >
      <el-table-column type="selection" width="40px" align="center" fixed="left" />
      <el-table-column
        type="selection"
        width="40px"
        align="center"
        fixed="left"
      />
      <el-table-column
        label="序号"
        align="center"
@@ -183,7 +308,7 @@
      />
      <el-table-column
        label="姓名"
        align="center"
        align="center"
        prop="cusName"
        width="90px"
        fixed="left"
@@ -221,7 +346,7 @@
        width="170px"
        :show-overflow-tooltip="true"
      />
       <el-table-column
      <el-table-column
        label="联系电话"
        align="center"
        prop="cusPhone"
@@ -235,7 +360,7 @@
        width="180px"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="邮政编码"
        align="center"
@@ -278,7 +403,29 @@
          />
        </template>
      </el-table-column>
      <el-table-column
        label="职业"
        align="center"
        prop="career"
        width="90px"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="工龄"
        align="center"
        prop="gl"
        width="90px"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="文化程度"
        align="center"
        prop="wenHua"
        width="90px"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="介绍人"
        align="center"
@@ -308,6 +455,19 @@
        </template>
      </el-table-column>
      <el-table-column
        label="黑名单"
        align="center"
        prop="isBlack"
        width="76px"
      >
        <template slot-scope="scope">
          <dict-tag
            :options="dict.type.sys_yes_no"
            :value="scope.row.isBlack"
          />
        </template>
      </el-table-column>
      <el-table-column
        label="索引卡号"
        align="center"
        prop="indexCard"
@@ -317,7 +477,7 @@
        fixed="right"
        label="操作"
        align="center"
        width="70px"
        width="90px"
        class-name="small-padding fixed-width"
      >
        <template slot-scope="scope">
@@ -328,6 +488,14 @@
            @click="handleUpdate(scope.row)"
            v-hasPermi="['hosp:customer:edit']"
            title="修改"
          ></el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-share"
            @click="handleDetails(scope.row)"
            v-hasPermi="['hosp:customer:edit']"
            title="详情"
          ></el-button>
          <el-button
            size="mini"
@@ -391,12 +559,14 @@
        <el-form-item label="身份证号" prop="cusIdcard">
          <el-input
            v-model="form.cusIdcard"
            @input="inputChange"
            placeholder="请输入身份证号"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="出生日期" prop="cusBrithday">
          <el-date-picker
            disabled
            clearable
            v-model="form.cusBrithday"
            type="date"
@@ -406,10 +576,11 @@
          >
          </el-date-picker>
        </el-form-item>
        <el-form-item label="现住址" prop="cusAddr">
        <el-form-item label="年龄" prop="age">
          <el-input
            v-model="form.cusAddr"
            placeholder="请输入现居住地址"
            disabled
            v-model="form.age"
            placeholder="请输入年龄"
            style="width: 200px"
          />
        </el-form-item>
@@ -465,6 +636,27 @@
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="职业" prop="career">
          <el-input
            v-model="form.career"
            placeholder="请输入职业"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="工龄" prop="gl">
          <el-input
            v-model="form.gl"
            placeholder="请输入工龄"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="文化程度" prop="wenHua">
          <el-input
            v-model="form.wenHua"
            placeholder="请输入文化程度"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="介绍人" prop="cusIntroduce">
          <el-input
@@ -487,26 +679,352 @@
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="现住址" prop="cusAddr">
          <el-input
            v-model="form.cusAddr"
            placeholder="请输入现居住地址"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="单位名称" prop="compName">
              <el-select
                v-model="form.compName"
                remote
                default-first-option
                allow-create
                filterable
                style="width: 200px"
                placeholder="请选择单位名称"
                clearable
                @change="idFn1"
              >
                <el-option
                  v-for="dict in CompanyList"
                  :key="dict.cnName"
                  :label="dict.cnName"
                  :value="dict.cnName"
                />
              </el-select>
              <i class="el-icon-circle-plus-outline" @click="handleAdd1"></i>
            </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>
    <!-- 点击右边弹出层 -->
    <el-drawer
      :visible.sync="drawer"
      :with-header="false"
      size="70%"
      :before-close="handleClose"
    >
      <div style="text-align: center; margin: 10px 0">
        <span>健康记录</span>
      </div>
      <template>
        <el-tabs
          v-model="activeName"
          type="border-card"
          @tab-click="handleTabClick"
          style="margin-left: 10px"
        >
          <el-tab-pane label="体检记录" name="first">
            <el-row>
              <el-col :span="14">
                <el-table
                  ref="selectChargeRuleRef"
                  v-loading="loading"
                  :data="detailsList"
                  border
                  height="680px"
                  style="width: 96%; margin: 10px 10px"
                  @selection-change="selectChargeRule"
                >
                  <el-table-column
                    type="selection"
                    width="40px"
                    align="center"
                    fixed="left"
                  />
                  <!-- <el-table-column prop="tjNum" label="体检号" width="155" align="center"></el-table-column> -->
                  <el-table-column
                    prop="tjTime"
                    label="体检时间"
                    width="155"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="tjProName"
                    label="体检项目"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="userName"
                    label="总检医师"
                    width="75"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="paidIn"
                    label="体检费用"
                    width="75"
                    align="center"
                  ></el-table-column>
                </el-table>
              </el-col>
              <el-col :span="10">
                <div>
                  <iframe
                    id="printIframe"
                    :src="url"
                    frameborder="0"
                    style="width: 100%; height: 680px"
                  ></iframe>
                </div>
              </el-col>
            </el-row>
          </el-tab-pane>
          <el-tab-pane label="门诊记录" name="second">
            <el-row>
              <el-col :span="14">
                <el-table
                  ref="selectChargeRuleRef"
                  v-loading="loading"
                  :data="detailsList"
                  border
                  height="680px"
                  style="width: 96%; margin: 10px 10px"
                  @selection-change="selectChargeRule"
                >
                  <el-table-column
                    type="selection"
                    width="40px"
                    align="center"
                  />
                  <el-table-column
                    prop="project.proScope"
                    label="序号"
                  ></el-table-column>
                  <el-table-column
                    prop="project.proScope"
                    label="就诊时间"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="project.proScope"
                    label="就诊科室"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="project.proScope"
                    label="接诊医师"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="project.proScope"
                    label="就诊总费用"
                    align="center"
                  ></el-table-column>
                </el-table>
              </el-col>
              <el-col :span="10">
                <quill-editor
                  v-model="form.content"
                  :options="editorOption"
                  style="height: 680px; width: 96%"
                >
                </quill-editor>
              </el-col>
            </el-row>
          </el-tab-pane>
          <el-tab-pane label="住院记录" name="third">
            <el-row>
              <el-col :span="14">
                <el-table
                  ref="selectChargeRuleRef"
                  v-loading="loading"
                  :data="detailsList"
                  border
                  height="680px"
                  style="width: 96%; margin: 10px 10px"
                  @selection-change="selectChargeRule"
                >
                  <el-table-column
                    type="selection"
                    width="40px"
                    align="center"
                  />
                  <el-table-column
                    prop="project.proScope"
                    label="序号"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="project.proScope"
                    label="入院时间"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="project.proScope"
                    label="出院时间"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="project.proScope"
                    label="住院天数"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="project.proScope"
                    label="住院科室"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="project.proScope"
                    label="主治医师"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="project.proScope"
                    label="主要诊断"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="project.proScope"
                    label="是否手术"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="project.proScope"
                    label="离院方式"
                    align="center"
                  ></el-table-column>
                  <el-table-column
                    prop="project.proScope"
                    label="住院总费用"
                    align="center"
                  ></el-table-column>
                </el-table>
              </el-col>
              <el-col :span="10">
                <quill-editor
                  v-model="form.content"
                  :options="editorOption"
                  style="height: 680px; width: 96%"
                >
                </quill-editor>
              </el-col>
            </el-row>
          </el-tab-pane>
          <el-tab-pane label="手术记录" name="fourth">
            <el-table
              v-loading="loading"
              :data="detailsList"
              border
              height="460px"
              style="width: 96%; margin: 10px 10px"
            >
              <el-table-column
                prop="project.proScope"
                label="序号"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="project.proScope"
                label="开始时间"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="project.proScope"
                label="结束时间"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="project.proScope"
                label="手术名称"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="project.proScope"
                label="手术编码"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="project.proScope"
                label="手术级别"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="project.proScope"
                label="术者"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="project.proScope"
                label="一助"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="project.proScope"
                label="二助"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="project.proScope"
                label="麻醉方式"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="project.proScope"
                label="麻醉开始时间"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="project.proScope"
                label="麻醉结束时间"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="project.proScope"
                label="麻醉医师"
                align="center"
              ></el-table-column>
            </el-table>
          </el-tab-pane>
        </el-tabs>
      </template>
    </el-drawer>
  </div>
</template>
<script>
import { quillEditor } from "vue-quill-editor";
import "quill/dist/quill.core.css";
import "quill/dist/quill.snow.css";
import "quill/dist/quill.bubble.css";
import {
  getCompany,
  queryCompany,
  getconfigKey,
} from "@/api/team/tuanti";
import {
  listCustomer,
  getCustomer,
  delCustomer,
  addCustomer,
  updateCustomer,
  getHistryTjOrderByCusIdCard,getUserinfo
} from "@/api/hosp/customer";
import { getPdf, addCustomerBlack } from "@/api/hosp/order";
import {
  addComp,
} from "@/api/system/comp";
export default {
  name: "Customer",
  components: { quillEditor },
  dicts: [
    "dict_user_national",
    "dict_user_marry",
@@ -515,25 +1033,53 @@
  ],
  data() {
    let checkPhoneNum = (rule, value, callback) => {
         console.log( value)
      let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
      if (value == "" && value == undefined && !value) {
        return callback('');
      }  else if(value != undefined && value != ""){
        return callback("");
      } else if (value != undefined && value != "") {
        return callback();
      }else if (!patter.test(value)) {
        return callback('');
      } else if (!patter.test(value)) {
        return callback("");
      }
    };
    return {
      editorOption: {
        placeholder: "请在这里输入",
        modules: {
          toolbar: [
            ["bold", "italic", "underline", "strike"], //加粗,斜体,下划线,删除线
            ["blockquote", "code-block"], //引用,代码块
            [{ header: 1 }, { header: 2 }], // 标题,键值对的形式;1、2表示字体大小
            [{ list: "ordered" }, { list: "bullet" }], //列表
            [{ script: "sub" }, { script: "super" }], // 上下标
            [{ indent: "-1" }, { indent: "+1" }], // 缩进
            [{ direction: "rtl" }], // 文本方向
            [{ size: ["small", false, "large", "huge"] }], // 字体大小
            [{ header: [1, 2, 3, 4, 5, 6, false] }], //几级标题
            [{ color: [] }, { background: [] }], // 字体颜色,字体背景颜色
            [{ font: [] }], //字体
            [{ align: [] }], //对齐方式
            ["clean"], //清除字体样式
            ["image", "video"], //上传图片、上传视频
          ],
        },
      },
      // 遮罩层
      loading: true,
      blackloading:false,
      isAdding:false,
      // 选中数组
      ids: [],
      // 非单个禁用
      single: true,
      drawer: false,
      detailsList: [],
      activeName: "first",
      // 非多个禁用
      multiple: true,
      url: "",
      // 显示搜索条件
      showSearch: true,
      // 总条数
@@ -560,45 +1106,148 @@
        cusMarryStatus: null,
        cusIdcard: null,
        cusIntroduce: null,
        career:null,
        gl:null,
        wenHua: null,
        cusNumber: null,
        cusIsvip: null,
      },
      deptList: [],
      CompanyList: [],
      open1: false,
      // 表单参数
      form: {},
      form: {
        idType: 1
      },
      form1: {
        company: "",
        payType: "",
        name: "",
        phoe: "",
        signingPic: "",
        discount: "",
      },
      // 表单校验
      rules: {
        cusName: [{ required: true, validator: checkPhoneNum,  trigger: "blur" }],
        cusName: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        cusSex: [
          { required: true, validator: checkPhoneNum,  trigger: "change" },
          { required: true, validator: checkPhoneNum, trigger: "change" },
        ],
        cusBrithday: [
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        cusAddr: [
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
        ],
        // cusAddr: [
        //   { required: true, validator: checkPhoneNum, trigger: "blur" },
        // ],
        cusPhone: [
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        cusPassword: [
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        // cusNational: [
        //   { required: true, message: "民族不能为空", trigger: "change" }
        // ],
        cusIdcard: [
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        deleted: [
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
      },
      rules1: {
      cnName: [
        { required: true,  trigger: 'blur' },
      ],
      contactPerson: [
        { required: true, trigger: 'blur' },
      ],
      contactPhone: [
        {
          required: true,
          trigger: 'blur'
        },
        {
          pattern: /^1[3-9]\d{9}$/,
          trigger: 'blur'
        }
      ],
    }
    };
  },
  created() {
    this.getCompanyList();
    this.getList();
  },
  methods: {
    // 保存部门
    /** 提交按钮 */
    submitFormS() {
      this.$refs["form1"].validate((valid) => {
        if (valid) {
          addComp(this.form1).then((response) => {
            this.$modal.msgSuccess("新增成功");
            this.open1 = false;
            this.getCompanyList();
          });
        }
      });
    },
    idFn1(value) {
      if (value) {
        // 保存修改前的 dictCompId
        const originalCompId = this.form.dictCompId;
        // 更新公司名称
        this.form.compName = value;
        // 遍历公司列表,根据公司名称设置对应的 drugManufacturerId
        this.CompanyList.forEach((item) => {
          if (item.cnName == this.form.compName) {
            this.form.dictCompId = item.drugManufacturerId;
          }
        });
        // 如果 dictCompId 没有变化,重置为空
        if (this.form.dictCompId === originalCompId) {
          this.form.dictCompId = '';
        }
      }
    },
    // 搜索
    getRemoteData(query) {
      if (query) {
        let compName = query;
        queryCompany(compName).then((response) => {
          this.CompanyList = response.data;
          this.CompanyList.forEach((item) => {
            this.objs = item;
          });
        });
      }
    },
    /** 新增按钮操作 */
    handleAdd1() {
      this.reset1();
      this.open1 = true;
      this.title = "添加体检单位信息维护";
    },
    // 获取单位信息集合
    getCompanyList() {
      this.loading = true;
      getconfigKey("team_reservation_default_day").then((res) => {
        this.queryParams.yxts = res.msg;
      });
      getCompany(this.queryParam).then((response) => {
        this.CompanyList = response.data;
        this.total = response.total;
        this.loading = false;
      });
    },
    /** 查询信息列表 */
    getList() {
      this.loading = true;
@@ -617,11 +1266,29 @@
    // 取消按钮
    cancel() {
      this.open = false;
      this.open1 = false;
      this.reset();
    },
    cancel1() {
      this.open1 = false;
      this.reset1();
    },
    // 表单重置
    reset1() {
      this.form1 = {
        company: "",
        payType: "",
        name: "",
        phoe: "",
        signingPic: "",
        discount: "",
      }
    },
    reset() {
      this.form = {
        dictCompId:  null,
        cusId: null,
        cusName: null,
        cusSex: null,
@@ -636,6 +1303,9 @@
        cusMarryStatus: null,
        cusIdcard: null,
        cusIntroduce: null,
        wenHua: null,
        career:null,
        gl:null,
        cusNumber: null,
        cusIsvip: null,
        createBy: null,
@@ -678,9 +1348,113 @@
        this.title = "客户信息维护";
      });
    },
    // 详情
    handleDetails(row) {
      this.drawer = true;
      let cusId = row.cusId;
      getHistryTjOrderByCusIdCard(cusId).then((res) => {
        this.detailsList = res.data;
      });
    },
    handleBlacklist() {
      this.blackloading = true;
      let data = {
        cusId: this.ids[0],
      };
      addCustomerBlack(data).then((res) => {
        this.$modal.msgSuccess("已加入黑名单");
        this.blackloading = false;
        this.getList();
      });
    },
    handleReInfor() {
      let data = {
        cusId: this.ids[0],
      };
      getUserinfo(data).then((res) => {
        this.$modal.msgSuccess("注册成功");
        this.getList();
      });
    },
    inputChange() {
      const reg =
        /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
      if (reg.test(this.form.cusIdcard)) {
        var org_birthday = this.form.cusIdcard.substring(6, 14);
        var org_gender = this.form.cusIdcard.substring(16, 17);
        var sex = org_gender % 2 == 1 ? 0 : 1;
        var birthday =
          org_birthday.substring(0, 4) +
          "-" +
          org_birthday.substring(4, 6) +
          "-" +
          org_birthday.substring(6, 8);
        var birthdays = new Date(birthday.replace(/-/g, "-"));
        let d = new Date();
        let age =
          d.getFullYear() -
          birthdays.getFullYear() -
          (d.getMonth() < birthdays.getMonth() ||
          (d.getMonth() == birthdays.getMonth() &&
            d.getDate() < birthdays.getDate())
            ? 1
            : 0);
        this.form.cusSex = sex;
        this.form.cusBrithday = birthday;
        this.form.age = age;
      }
    },
    selectChargeRule(val) {
      if (val.length > 1) {
        this.$refs.selectChargeRuleRef.clearSelection();
        this.$refs.selectChargeRuleRef.toggleRowSelection(val[val.length - 1]);
      }
      let selectedRule = val[val.length - 1];
      if (this.activeName == "first") {
        const flag = true;
        let tjNumber = selectedRule.tjNum;
        // let tjNumber = "10001240305100029"
        getPdf(tjNumber, flag).then((response) => {
          if (response.size === 0) {
            const loading = this.$loading({
              lock: true,
              text: "Loading",
              spinner: "el-icon-loading",
              background: "rgba(0, 0, 0, 0.7)",
            });
            setTimeout(() => {
              loading.close();
            }, 3000);
            // this.$message.msgSuccess("报告正在生成,请两分钟后预览!");
            this.$message({
              message: "报告正在生成,请两分钟后预览!",
              type: "warning",
            });
          } else {
            this.dialogVisible = true;
            this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url
          }
        });
      } else if (this.activeName == "second") {
      } else if (this.activeName == "third") {
      }
    },
    handleClose() {
      this.$tab.refreshPage();
    },
    handleTabClick() {
      console.log(this.activeName);
    },
    /** 提交按钮 */
    submitForm() {
      this.$refs["form"].validate((valid) => {
        this.form.idType = 1
        if (valid) {
          if (this.form.cusId != null) {
            updateCustomer(this.form).then((response) => {
@@ -731,6 +1505,7 @@
  display: flex;
  justify-content: center;
}
.pag1 {
  width: 30%;
}
@@ -739,4 +1514,10 @@
  display: flex;
  justify-content: center;
}
.dialog-footer2 {
  width: 960px;
  height: 36px;
  display: flex;
  justify-content: center;
}
</style>