qinxianzhangyao
2024-06-25 b54b3c4662338ca0897b8dbc9172f7f00306a09d
src/views/hosp/customer/index.vue
@@ -1,9 +1,21 @@
<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="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">
@@ -17,8 +29,13 @@
        <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"/>
@@ -56,11 +73,21 @@
        </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
@@ -71,32 +98,76 @@
        />
      </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"  style="margin: 0 15px;">搜索</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"
          style="margin: 0 15px"
          >搜索</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
@@ -109,101 +180,303 @@
        >
      </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-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
      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"
      >
        <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="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="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="isBlack" width="76px" >
      <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" />
          <dict-tag
            :options="dict.type.sys_yes_no"
            :value="scope.row.isBlack"
          />
        </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="90px" 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-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>
          <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"
            @input="inputChange"
            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
            disabled
            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-form-item label="年龄" prop="age">
          <el-input
            disabled
            v-model="form.age"
            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" />
@@ -212,32 +485,72 @@
          <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-item label="现住址" prop="cusAddr">
          <el-input
            v-model="form.cusAddr"
            placeholder="请输入现居住地址"
            style="width: 200px"
          />
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
@@ -247,28 +560,74 @@
    </el-dialog>
    <!-- 点击右边弹出层 -->
    <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose">
      <div style="text-align: center;margin: 10px 0;">
    <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-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
                  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-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>
                  <iframe
                    id="printIframe"
                    :src="url"
                    frameborder="0"
                    style="width: 100%; height: 680px"
                  ></iframe>
                </div>
              </el-col>
            </el-row>
@@ -276,18 +635,52 @@
          <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
                  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
                  v-model="form.content"
                  :options="editorOption"
                  style="height: 680px; width: 96%"
                >
                </quill-editor>
              </el-col>
            </el-row>
@@ -295,57 +688,168 @@
          <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-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
                  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
              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 { 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,
@@ -353,9 +857,9 @@
  delCustomer,
  addCustomer,
  updateCustomer,
  getHistryTjOrderByCusIdCard
  getHistryTjOrderByCusIdCard,
} from "@/api/hosp/customer";
import { getPdf ,addCustomerBlack} from "@/api/hosp/order";
import { getPdf, addCustomerBlack } from "@/api/hosp/order";
export default {
  name: "Customer",
@@ -370,32 +874,32 @@
    let checkPhoneNum = (rule, value, callback) => {
      let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
      if (value == "" && value == undefined && !value) {
        return callback('');
        return callback("");
      } else if (value != undefined && value != "") {
        return callback();
      } else if (!patter.test(value)) {
        return callback('');
        return callback("");
      }
    };
    return {
      editorOption: {
        placeholder: '请在这里输入',
        placeholder: "请在这里输入",
        modules: {
          toolbar: [
            ['bold', 'italic', 'underline', 'strike'], //加粗,斜体,下划线,删除线
            ['blockquote', 'code-block'], //引用,代码块
            ["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'] }], // 字体大小
            [{ 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'], //上传图片、上传视频
            ["clean"], //清除字体样式
            ["image", "video"], //上传图片、上传视频
          ],
        },
      },
@@ -408,7 +912,7 @@
      single: true,
      drawer: false,
      detailsList: [],
      activeName: 'first',
      activeName: "first",
      // 非多个禁用
      multiple: true,
      url: "",
@@ -445,7 +949,9 @@
      form: {},
      // 表单校验
      rules: {
        cusName: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
        cusName: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        cusSex: [
          { required: true, validator: checkPhoneNum, trigger: "change" },
        ],
@@ -559,32 +1065,61 @@
    // 详情
    handleDetails(row) {
      this.drawer = true
      let cusId = row.cusId
      getHistryTjOrderByCusIdCard(cusId).then(res => {
        this.detailsList = res.data
      })
      this.drawer = true;
      let cusId = row.cusId;
      getHistryTjOrderByCusIdCard(cusId).then((res) => {
        this.detailsList = res.data;
      });
    },
    handleBlacklist(){
      let data ={
        cusId :this.ids[0]
      }
      addCustomerBlack(data).then(res => {
        this.$modal.msgSuccess("已加入黑名单")
    handleBlacklist() {
      let data = {
        cusId: this.ids[0],
      };
      addCustomerBlack(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])
        this.$refs.selectChargeRuleRef.clearSelection();
        this.$refs.selectChargeRuleRef.toggleRowSelection(val[val.length - 1]);
      }
      let selectedRule = val[val.length - 1]
      let selectedRule = val[val.length - 1];
      if (this.activeName == "first") {
        const flag = true;
        let tjNumber = selectedRule.tjNum
        let tjNumber = selectedRule.tjNum;
        // let tjNumber = "10001240305100029"
        getPdf(tjNumber, flag).then((response) => {
          if (response.size === 0) {
@@ -608,19 +1143,15 @@
          }
        });
      } else if (this.activeName == "second") {
      } else if (this.activeName == "third") {
      }
    },
    handleClose() {
      this.$tab.refreshPage();
    },
    handleTabClick() {
      console.log(this.activeName)
      console.log(this.activeName);
    },
    /** 提交按钮 */
    submitForm() {
@@ -654,7 +1185,7 @@
          this.getList();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => { });
        .catch(() => {});
    },
    /** 导出按钮操作 */
    handleExport() {