qinxianzhangyao
2024-03-15 ac6766c11f8a2b8de903b58c13a8f206fa01dccd
src/views/hosp/customer/index.vue
@@ -2,7 +2,8 @@
  <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="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">
@@ -16,7 +17,8 @@
        <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"/>
@@ -54,21 +56,11 @@
        </el-select>
      </el-form-item> -->
      <el-form-item label="身份证号" prop="cusIdcard">
        <el-input
          v-model="queryParams.cusIdcard"
          placeholder="请输入身份证号"
          clearable
          @keyup.enter.native="handleQuery"
        />
        <el-input v-model="queryParams.cusIdcard" placeholder="请输入身份证号" clearable @keyup.enter.native="handleQuery" />
      </el-form-item>
      <el-form-item label="介绍人" prop="cusIntroduce">
        <el-input
          v-model="queryParams.cusIntroduce"
          placeholder="请输入介绍人"
          clearable
          style="width:140px"
          @keyup.enter.native="handleQuery"
        />
        <el-input v-model="queryParams.cusIntroduce" placeholder="请输入介绍人" clearable style="width:140px"
          @keyup.enter.native="handleQuery" />
      </el-form-item>
      <!-- <el-form-item label="体检次数" prop="cusNumber">
        <el-input
@@ -79,346 +71,124 @@
        />
      </el-form-item> -->
      <el-form-item label="体检次数" prop="cusNumber">
        <el-input
          v-model="queryParams.cusNumber"
          placeholder="输入整数"
          clearable
          style="width:100px"
          @keyup.enter.native="handleQuery"
        />
        <el-input v-model="queryParams.cusNumber" placeholder="输入整数" clearable style="width:100px"
          @keyup.enter.native="handleQuery" />
      </el-form-item>
      <el-form-item label="是否VIP" prop="cusIsvip">
        <el-select
          v-model="queryParams.cusIsvip"
          placeholder="选择VIP"
          clearable
          style="width:100px"
        >
          <el-option
            v-for="dict in dict.type.sys_yes_no"
            :key="dict.value"
            :label="dict.label"
            :value="dict.value"
          />
        <el-select v-model="queryParams.cusIsvip" placeholder="选择VIP" clearable style="width:100px">
          <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" :value="dict.value" />
        </el-select>
      </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>
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
        type="primary"
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd"
          v-hasPermi="['hosp:customer:add']"
          >新增</el-button
        >
        <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
          v-hasPermi="['hosp:customer:add']">新增</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
        type="primary"
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
          @click="handleUpdate"
          v-hasPermi="['hosp:customer:edit']"
          >修改</el-button
        >
        <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
          v-hasPermi="['hosp:customer:edit']">修改</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
        type="primary"
          icon="el-icon-delete"
          size="mini"
          :disabled="multiple"
          @click="handleDelete"
          v-hasPermi="['hosp:customer:remove']"
          >删除</el-button
        >
        <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
          v-hasPermi="['hosp:customer:remove']">删除</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-button type="primary" icon="el-icon-download" size="mini" @click="handleExport"
          v-hasPermi="['hosp:customer:export']">导出</el-button>
      </el-col>
      <right-toolbar
        :showSearch.sync="showSearch"
        @queryTable="getList"
      ></right-toolbar>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-table
      border
      v-loading="loading"
      :data="customerList"
      @selection-change="handleSelectionChange"
    >
    <el-table border v-loading="loading" :data="customerList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="40px" align="center" fixed="left" />
      <el-table-column
        label="序号"
        align="center"
        prop="newID"
        fixed="left"
        :show-overflow-tooltip="true"
        width="50px"
      />
      <el-table-column
        label="姓名"
        align="center"
        prop="cusName"
        width="90px"
        fixed="left"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="性别"
        align="center"
        prop="cusSex"
        :show-overflow-tooltip="true"
        width="60px"
      >
      <el-table-column label="序号" align="center" prop="newID" fixed="left" :show-overflow-tooltip="true" width="50px" />
      <el-table-column label="姓名" align="center" prop="cusName" width="90px" fixed="left"
        :show-overflow-tooltip="true" />
      <el-table-column label="性别" align="center" prop="cusSex" :show-overflow-tooltip="true" width="60px">
        <template slot-scope="scope">
          <dict-tag
            :options="dict.type.sys_user_sex"
            :value="scope.row.cusSex"
          />
          <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.cusSex" />
        </template>
      </el-table-column>
      <el-table-column
        label="出生日期"
        align="center"
        prop="cusBrithday"
        width="100px"
        :show-overflow-tooltip="true"
      >
      <el-table-column label="出生日期" align="center" prop="cusBrithday" width="100px" :show-overflow-tooltip="true">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.cusBrithday, "{y}-{m}-{d}") }}</span>
        </template>
      </el-table-column>
      <el-table-column
        label="身份证号"
        align="center"
        prop="cusIdcard"
        width="170px"
        :show-overflow-tooltip="true"
      />
       <el-table-column
        label="联系电话"
        align="center"
        prop="cusPhone"
        width="110px"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="现住址"
        align="center"
        prop="cusAddr"
        width="180px"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="邮政编码"
        align="center"
        prop="cusPostcode"
        width="80px"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="邮箱"
        align="center"
        prop="cusEmail"
        width="170px"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="民族"
        align="center"
        prop="cusNational"
        width="80px"
        :show-overflow-tooltip="true"
      >
      <el-table-column label="身份证号" align="center" prop="cusIdcard" width="170px" :show-overflow-tooltip="true" />
      <el-table-column label="联系电话" align="center" prop="cusPhone" width="110px" :show-overflow-tooltip="true" />
      <el-table-column label="现住址" align="center" prop="cusAddr" width="180px" :show-overflow-tooltip="true" />
      <el-table-column label="邮政编码" align="center" prop="cusPostcode" width="80px" :show-overflow-tooltip="true" />
      <el-table-column label="邮箱" align="center" prop="cusEmail" width="170px" :show-overflow-tooltip="true" />
      <el-table-column label="民族" align="center" prop="cusNational" width="80px" :show-overflow-tooltip="true">
        <template slot-scope="scope">
          <dict-tag
            :options="dict.type.dict_user_national"
            :value="scope.row.cusNational"
          />
          <dict-tag :options="dict.type.dict_user_national" :value="scope.row.cusNational" />
        </template>
      </el-table-column>
      <el-table-column
        label="婚姻状况"
        align="center"
        prop="cusMarryStatus"
        :show-overflow-tooltip="true"
        width="80px"
      >
      <el-table-column label="婚姻状况" align="center" prop="cusMarryStatus" :show-overflow-tooltip="true" width="80px">
        <template slot-scope="scope">
          <dict-tag
            :options="dict.type.dict_user_marry"
            :value="scope.row.cusMarryStatus"
          />
          <dict-tag :options="dict.type.dict_user_marry" :value="scope.row.cusMarryStatus" />
        </template>
      </el-table-column>
      <el-table-column
        label="介绍人"
        align="center"
        prop="cusIntroduce"
        width="90px"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="次数"
        align="center"
        prop="cusNumber"
        width="55px"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="VIP"
        align="center"
        prop="cusIsvip"
        width="55px"
        :show-overflow-tooltip="true"
      >
      <el-table-column label="介绍人" align="center" prop="cusIntroduce" width="90px" :show-overflow-tooltip="true" />
      <el-table-column label="次数" align="center" prop="cusNumber" width="55px" :show-overflow-tooltip="true" />
      <el-table-column label="VIP" align="center" prop="cusIsvip" width="55px" :show-overflow-tooltip="true">
        <template slot-scope="scope">
          <dict-tag
            :options="dict.type.sys_yes_no"
            :value="scope.row.cusIsvip"
          />
          <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.cusIsvip" />
        </template>
      </el-table-column>
      <el-table-column
        label="索引卡号"
        align="center"
        prop="indexCard"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        fixed="right"
        label="操作"
        align="center"
        width="70px"
        class-name="small-padding fixed-width"
      >
      <el-table-column label="索引卡号" align="center" prop="indexCard" :show-overflow-tooltip="true" />
      <el-table-column fixed="right" label="操作" align="center" width="90px" class-name="small-padding fixed-width">
        <template slot-scope="scope">
          <el-button
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="handleUpdate(scope.row)"
            v-hasPermi="['hosp:customer:edit']"
            title="修改"
          ></el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['hosp:customer:remove']"
            title="删除"
          ></el-button>
          <el-button size="mini" type="text" icon="el-icon-edit" @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" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
            v-hasPermi="['hosp:customer:remove']" title="删除"></el-button>
        </template>
      </el-table-column>
    </el-table>
    <div class="pag">
      <div class="pag1">
        <pagination
          v-show="total > 0"
          :total="total"
          :page.sync="queryParams.pageNum"
          :limit.sync="queryParams.pageSize"
          @pagination="getList"
        />
        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
          :limit.sync="queryParams.pageSize" @pagination="getList" />
      </div>
    </div>
    <!-- 添加或修改信息对话框 -->
    <el-dialog
      :title="title"
      :visible.sync="open"
      width="1000px"
      append-to-body
    >
      <el-form
        ref="form"
        :model="form"
        :rules="rules"
        label-width="100px"
        :inline="true"
      >
    <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
      <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true">
        <el-form-item label="姓名" prop="cusName">
          <el-input
            v-model="form.cusName"
            placeholder="请输入姓名"
            style="width: 200px"
          />
          <el-input v-model="form.cusName" placeholder="请输入姓名" style="width: 200px" />
        </el-form-item>
        <el-form-item label="性别" prop="cusSex">
          <el-select
            v-model="form.cusSex"
            placeholder="请选择性别"
            style="width: 200px"
          >
            <el-option
              v-for="dict in dict.type.sys_user_sex"
              :key="dict.value"
              :label="dict.label"
              :value="parseInt(dict.value)"
            ></el-option>
          <el-select v-model="form.cusSex" placeholder="请选择性别" style="width: 200px">
            <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
              :value="parseInt(dict.value)"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="身份证号" prop="cusIdcard">
          <el-input
            v-model="form.cusIdcard"
            placeholder="请输入身份证号"
            style="width: 200px"
          />
          <el-input v-model="form.cusIdcard" placeholder="请输入身份证号" style="width: 200px" />
        </el-form-item>
        <el-form-item label="出生日期" prop="cusBrithday">
          <el-date-picker
            clearable
            v-model="form.cusBrithday"
            type="date"
            value-format="yyyy-MM-dd"
            placeholder="请选择出生日期"
            style="width: 200px"
          >
          <el-date-picker clearable v-model="form.cusBrithday" type="date" value-format="yyyy-MM-dd"
            placeholder="请选择出生日期" style="width: 200px">
          </el-date-picker>
        </el-form-item>
        <el-form-item label="现住址" prop="cusAddr">
          <el-input
            v-model="form.cusAddr"
            placeholder="请输入现居住地址"
            style="width: 200px"
          />
          <el-input v-model="form.cusAddr" placeholder="请输入现居住地址" style="width: 200px" />
        </el-form-item>
        <el-form-item label="联系电话" prop="cusPhone">
          <el-input
            v-model="form.cusPhone"
            placeholder="请输入联系电话"
            style="width: 200px"
          />
          <el-input v-model="form.cusPhone" placeholder="请输入联系电话" style="width: 200px" />
        </el-form-item>
        <!-- <el-form-item label="账号密码" prop="cusPassword">
          <el-input v-model="form.cusPassword" placeholder="请输入账号密码" style="width: 220px" />
@@ -427,64 +197,31 @@
          <el-input v-model="form.cusPostcode" placeholder="请输入邮政编码"  />
        </el-form-item> -->
        <el-form-item label="邮箱" prop="cusEmail">
          <el-input
            v-model="form.cusEmail"
            placeholder="请输入邮箱"
            style="width: 200px"
          />
          <el-input v-model="form.cusEmail" placeholder="请输入邮箱" style="width: 200px" />
        </el-form-item>
        <!-- <el-form-item label="索引卡号" prop="indexCard">
          <el-input v-model="form.indexCard" placeholder="请输入索引卡号" style="width: 220px" />
        </el-form-item> -->
        <el-form-item label="民族" prop="cusNational">
          <el-select
            v-model="form.cusNational"
            placeholder="请选择民族"
            style="width: 200px"
            filterable
          >
            <el-option
              v-for="dict in dict.type.dict_user_national"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          <el-select v-model="form.cusNational" placeholder="请选择民族" style="width: 200px" filterable>
            <el-option v-for="dict in dict.type.dict_user_national" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="婚姻状况" prop="cusMarryStatus">
          <el-select
            v-model="form.cusMarryStatus"
            placeholder="请选择婚姻状况"
            style="width: 200px"
          >
            <el-option
              v-for="dict in dict.type.dict_user_marry"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          <el-select v-model="form.cusMarryStatus" placeholder="请选择婚姻状况" style="width: 200px">
            <el-option v-for="dict in dict.type.dict_user_marry" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="介绍人" prop="cusIntroduce">
          <el-input
            v-model="form.cusIntroduce"
            placeholder="请输入介绍人"
            style="width: 200px"
          />
          <el-input v-model="form.cusIntroduce" placeholder="请输入介绍人" style="width: 200px" />
        </el-form-item>
        <el-form-item label="是否VIP" prop="cusIsvip">
          <el-select
            v-model="form.cusIsvip"
            placeholder="请选择是否VIP"
            style="width: 200px"
          >
            <el-option
              v-for="dict in dict.type.sys_yes_no"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          <el-select v-model="form.cusIsvip" placeholder="请选择是否VIP" style="width: 200px">
            <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          </el-select>
        </el-form-item>
      </el-form>
@@ -493,20 +230,121 @@
        <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 {
  listCustomer,
  getCustomer,
  delCustomer,
  addCustomer,
  updateCustomer,
  getHistryTjOrderByCusIdCard
} from "@/api/hosp/customer";
import { getPdf } from "@/api/hosp/order";
export default {
  name: "Customer",
  components: { quillEditor },
  dicts: [
    "dict_user_national",
    "dict_user_marry",
@@ -515,25 +353,50 @@
  ],
  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 != ""){
      } else if (value != undefined && value != "") {
        return callback();
      }else if (!patter.test(value)) {
      } 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,
      // 选中数组
      ids: [],
      // 非单个禁用
      single: true,
      drawer: false,
      detailsList: [],
      activeName: 'first',
      // 非多个禁用
      multiple: true,
      url: "",
      // 显示搜索条件
      showSearch: true,
      // 总条数
@@ -567,30 +430,30 @@
      form: {},
      // 表单校验
      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" },
          { 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" },
        ],
      },
    };
@@ -678,6 +541,62 @@
        this.title = "客户信息维护";
      });
    },
    // 详情
    handleDetails(row) {
      this.drawer = true
      let cusId = row.cusId
      getHistryTjOrderByCusIdCard(cusId).then(res => {
        this.detailsList = res.data
      })
    },
    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) => {
@@ -710,7 +629,7 @@
          this.getList();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => {});
        .catch(() => { });
    },
    /** 导出按钮操作 */
    handleExport() {
@@ -731,6 +650,7 @@
  display: flex;
  justify-content: center;
}
.pag1 {
  width: 30%;
}