| | |
| | | <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"/> |
| | |
| | | v-model="queryParams.cusIntroduce" |
| | | placeholder="请输入介绍人" |
| | | clearable |
| | | style="width:140px" |
| | | style="width: 140px" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | |
| | | v-model="queryParams.cusNumber" |
| | | placeholder="输入整数" |
| | | clearable |
| | | style="width:100px" |
| | | style="width: 100px" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | |
| | | v-model="queryParams.cusIsvip" |
| | | placeholder="选择VIP" |
| | | clearable |
| | | style="width:100px" |
| | | style="width: 100px" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_yes_no" |
| | |
| | | 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-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | type="primary" |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | |
| | | </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-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" |
| | |
| | | /> |
| | | <el-table-column |
| | | label="姓名" |
| | | align="center" |
| | | align="center" |
| | | prop="cusName" |
| | | width="90px" |
| | | fixed="left" |
| | |
| | | width="170px" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | <el-table-column |
| | | label="联系电话" |
| | | align="center" |
| | | prop="cusPhone" |
| | |
| | | width="180px" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | |
| | | |
| | | <el-table-column |
| | | label="邮政编码" |
| | | align="center" |
| | |
| | | /> |
| | | </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" |
| | |
| | | </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" |
| | |
| | | fixed="right" |
| | | label="操作" |
| | | align="center" |
| | | width="70px" |
| | | width="90px" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | |
| | | @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" |
| | |
| | | <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" |
| | |
| | | > |
| | | </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> |
| | |
| | | ></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 |
| | |
| | | ></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, |
| | | } 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", |
| | |
| | | ], |
| | | 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, |
| | | // 总条数 |
| | |
| | | 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; |
| | |
| | | // 取消按钮 |
| | | 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, |
| | |
| | | cusMarryStatus: null, |
| | | cusIdcard: null, |
| | | cusIntroduce: null, |
| | | wenHua: null, |
| | | career:null, |
| | | gl:null, |
| | | cusNumber: null, |
| | | cusIsvip: null, |
| | | createBy: null, |
| | |
| | | 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(); |
| | | }); |
| | | }, |
| | | |
| | | 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) => { |
| | |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .pag1 { |
| | | width: 30%; |
| | | } |
| | |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | .dialog-footer2 { |
| | | width: 960px; |
| | | height: 36px; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | </style> |