| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div style="display: flex;"> |
| | | <div style="width:76%;"> |
| | | <el-form :inline="true" ref="form" :model="form" :rules="rules" |
| | | :label-position="labelPosition" class="demo-form-inline" label-width="auto" v-show="top"> |
| | | <el-row type="flex"> |
| | | <el-col :span="6"> |
| | | <el-form-item label="是否匿名" prop="isNow"> |
| | | <el-select style="width: 11rem" v-model="isNow" placeholder="是否匿名" @change="freezing(isNow)"> |
| | | <div style="display: flex"> |
| | | <div style="width: 76%"> |
| | | <el-form :inline="true" ref="form" :model="form" :rules="rules" :label-position="labelPosition" |
| | | label-width="106px" v-show="top"> |
| | | <el-row> |
| | | <el-col :span="5"> |
| | | <el-form-item label="匿名" prop="isNow" style="display: flex"> |
| | | <el-select v-model="isNow" placeholder="是否匿名" @change="freezing(isNow)"> |
| | | <el-option v-for="dict in dictType" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="姓名" prop="cusName"> |
| | | <el-input v-model="form.cusName" placeholder="请输入姓名" :disabled="isDisabled" style="width: 13rem" /> |
| | | <el-col :span="7"> |
| | | <el-form-item label="姓名" prop="cusName" style="display: flex" :rules="[ |
| | | { |
| | | required: true, validator: (rule, value, callback) => { |
| | | if (!form.cusName) { |
| | | callback('') |
| | | } else if (form.cusName) { |
| | | callback() |
| | | } |
| | | |
| | | }, trigger: 'blur' |
| | | }]"> |
| | | <el-input v-model="form.cusName" placeholder="请输入姓名" :disabled="isDisabled" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="证件类型" prop="idType"> |
| | | <el-select :disabled="isDisabled" style="width: 13rem" v-model="form.idType" placeholder="请选择证件类型"> |
| | | <el-col :span="9"> |
| | | <el-form-item label="证件类型" prop="idType" style="display: flex"> |
| | | <el-select :disabled="isDisabled" v-model="form.idType" placeholder="请选择证件类型"> |
| | | <el-option v-for="dict in dict.type.dict_user_cardtype" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="证件号" prop="cusIdcard" :rules="showHidden.has_idcard === 'Y' ? rules.cusIdcard : []" |
| | | :required="showHidden.has_idcard === 'Y'"> |
| | | <el-input :disabled="isDisabled" style="width: 16rem" v-model="form.cusIdcard" placeholder="请输入身份证号" |
| | | @input="inputChange" /> |
| | | <i style="font-size: 1rem; margin-left: 3px" class="el-icon-search" @click="handleQuery"></i> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-form :inline="true" ref="form" :model="form" :rules="rules" :label-position="labelPosition" |
| | | label-width="106px" v-show="top"> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="年龄" prop="age"> |
| | | <el-input style="width: 5rem" v-model="form.age" :disabled="isDisabled" /> |
| | | </el-form-item> |
| | | <el-form-item prop="ageUnit"> |
| | | <el-select :disabled="isDisabled" style="width: 5rem" v-model="form.ageUnit"> |
| | | <el-option v-for="dict in dict.type.dict_ageunit" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="性别" prop="cusSex" :rules="showHidden.has_sex === 'Y' ? rules.cusSex : []" |
| | | :required="showHidden.has_sex === 'Y'"> |
| | | <el-select :disabled="isDisabled" style="width: 13rem" v-model="form.cusSex" placeholder="性别"> |
| | | <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-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="出生日期" prop="cusBrithday"> |
| | | <el-date-picker :disabled="isDisabled" style="width: 13.4rem" clearable v-model="form.cusBrithday" |
| | | type="date" value-format="yyyy-MM-dd" placeholder="请选择出生日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="联系电话" prop="cusPhone" :rules="showHidden.is_phone === 'Y' ? rules.cusPhone : []" |
| | | :required="showHidden.is_phone === 'Y'"> |
| | | <el-input v-model="form.cusPhone" placeholder="请输入联系电话" :disabled="isDisabled" style="width: 16rem" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="户口地址" prop="addr"> |
| | | <el-input v-model="form.addr" placeholder="请输入户口地址" :disabled="isDisabled" style="width: 31.5rem" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="现住址" prop="cusAddr"> |
| | | <el-input v-model="form.cusAddr" placeholder="请输入现居住地址" :disabled="isDisabled" style="width: 36.5rem" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="职业" prop="career"> |
| | | <el-select filterable :disabled="isDisabled" v-model="form.career" placeholder="请输入职业" |
| | | style="width: 11rem"> |
| | | <el-option v-for="dict in dict.type.dict_job" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="民族" prop="cusNational"> |
| | | <el-select filterable :disabled="isDisabled" v-model="form.cusNational" placeholder="请选择民族" |
| | | style="width: 13rem"> |
| | | <el-col :span="5"> |
| | | <el-form-item label="民族" prop="cusNational" style="display: flex"> |
| | | <el-select filterable :disabled="isDisabled" v-model="form.cusNational" placeholder="请选择民族"> |
| | | <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-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="婚姻" prop="cusMarryStatus"> |
| | | <el-select :disabled="isDisabled" style="width: 11rem" v-model="form.cusMarryStatus" placeholder="婚姻状况"> |
| | | <el-col :span="7"> |
| | | <el-form-item label="性别" prop="cusSex" :rules="[ |
| | | { |
| | | required: true, validator: (rule, value, callback) => { |
| | | if (!form.cusSex && showHidden.has_sex === 'Y') { |
| | | callback('') |
| | | } else if (showHidden.has_sex === 'N') { |
| | | callback() |
| | | } else if (form.cusSex && showHidden.has_sex === 'Y') { |
| | | callback() |
| | | } |
| | | |
| | | }, trigger: 'blur' |
| | | }]" style="display: flex"> |
| | | <el-select :disabled="isDisabled" v-model="form.cusSex" placeholder="性别"> |
| | | <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-col> |
| | | |
| | | <el-col :span="9"> |
| | | <el-form-item label="证件号" prop="cusIdcard" :rules="[ |
| | | { |
| | | required: true, validator: (rule, value, callback) => { |
| | | if (!form.cusIdcard && showHidden.has_idcard === 'Y') { |
| | | callback('') |
| | | } else if (showHidden.has_idcard === 'N') { |
| | | callback() |
| | | } else if (form.cusIdcard && showHidden.has_idcard === 'Y') { |
| | | callback() |
| | | } |
| | | |
| | | }, trigger: 'blur' |
| | | }]" style="display: flex"> |
| | | <span slot="label" style="display:inline-block;border-bottom: 2px solid blue;" @click="handleQuery"> |
| | | 证件号 |
| | | </span> |
| | | <el-input :disabled="isDisabled" v-model="form.cusIdcard" placeholder="请输入身份证号" @input="inputChange" /> |
| | | <!-- <i style=" |
| | | font-size: 1rem; |
| | | position: absolute; |
| | | right: -20px; |
| | | top: 10px; |
| | | cursor: pointer; |
| | | " class="el-icon-search" @click="handleQuery"></i> --> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-form :inline="true" ref="form" :model="form" :rules="rules" :label-position="labelPosition" |
| | | label-width="106px" v-show="top"> |
| | | <el-row> |
| | | <el-col :span="5"> |
| | | <el-form-item label="婚姻" prop="cusMarryStatus" style="display: flex"> |
| | | <el-select :disabled="isDisabled" v-model="form.cusMarryStatus" placeholder="婚姻状况"> |
| | | <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-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="工作单位" prop="company"> |
| | | <el-input :disabled="isDisabled" v-model="form.company" placeholder="请输入工作单位" style="width: 18rem" /> |
| | | <el-col :span="7"> |
| | | <el-form-item label="电话" prop="cusPhone" :rules="[ |
| | | { |
| | | required: true, validator: (rule, value, callback) => { |
| | | if (!form.cusPhone && showHidden.is_phone === 'Y') { |
| | | callback('') |
| | | } else if (showHidden.is_phone === 'N') { |
| | | callback() |
| | | } else if (form.cusPhone && showHidden.is_phone === 'Y') { |
| | | callback() |
| | | } |
| | | |
| | | }, trigger: 'blur' |
| | | }]" style="display: flex"> |
| | | <el-input v-model="form.cusPhone" placeholder="请输入联系电话" :disabled="isDisabled" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :span="9"> |
| | | <el-form-item label="出生日期" prop="cusBrithday" style="display: flex"> |
| | | <el-date-picker :disabled="isDisabled" clearable v-model="form.cusBrithday" type="date" |
| | | value-format="yyyy-MM-dd" placeholder="请选择出生日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-form :inline="true" ref="form" :model="form" :rules="rules" :label-position="labelPosition" |
| | | label-width="106px" v-show="top"> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="介绍人" prop="cusIntroduce"> |
| | | <el-input :disabled="isDisabled" v-model="form.cusIntroduce" placeholder="请输入介绍人" style="width: 11rem" /> |
| | | <el-col :span="5"> |
| | | <el-form-item label="职业" prop="career" style="display: flex"> |
| | | <el-select filterable :disabled="isDisabled" v-model="form.career" placeholder="请输入职业"> |
| | | <el-option v-for="dict in dict.type.dict_job" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="邮箱" prop="cusEmail"> |
| | | <el-input v-model="form.cusEmail" placeholder="请输入邮箱" :disabled="isDisabled" style="width: 13rem" /> |
| | | |
| | | <el-col :span="7"> |
| | | <el-form-item label="邮箱" prop="cusEmail" style="display: flex"> |
| | | <el-input v-model="form.cusEmail" placeholder="请输入邮箱" :disabled="isDisabled" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item style="margin-left: 24rem"> |
| | | <el-button :disabled="isDisabled" style="margin-left: 5rem" type="primary" size="mini" |
| | | @click="submitForm">登记</el-button> |
| | | <el-col :span="4"> |
| | | <el-form-item label="年龄 " prop="age" style="display: flex" label-width="150px |
| | | "> |
| | | <el-input v-model="form.age" :disabled="isDisabled" style="padding-left: 10%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <el-form-item prop="ageUnit"> |
| | | <el-select :disabled="isDisabled" v-model="form.ageUnit" style="width: 94%"> |
| | | <el-option v-for="dict in dict.type.dict_ageunit" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px" :label-position="labelPosition" v-show="top"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="户口地址" prop="addr"> |
| | | <el-input v-model="form.addr" placeholder="请输入户口地址" :disabled="isDisabled" style="width: 103%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px" :label-position="labelPosition" v-show="top"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="现住址" prop="cusAddr"> |
| | | <el-input v-model="form.cusAddr" style="width: 103%" placeholder="请输入现居住地址" :disabled="isDisabled" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-form :inline="true" ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="98px" |
| | | v-show="top"> |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="介绍人" prop="cusIntroduce" style="display: flex"> |
| | | <el-input :disabled="isDisabled" v-model="form.cusIntroduce" placeholder="请输入介绍人" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="工作单位" prop="company" style="display: flex"> |
| | | <el-input style="width: 100%" :disabled="isDisabled" v-model="form.company" placeholder="请输入工作单位" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="文化程度" prop="wenHua" style="display: flex"> |
| | | <el-input style="width: 100%" :disabled="isDisabled" v-model="form.wenHua" placeholder="请输入文化程度" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-button v-show="lishi" type="primary" @click="cope" size="mini">一键复制</el-button> |
| | | <el-button type="primary" @click="inputChanges" v-show="lishi" size="mini" |
| | | :disabled="confirm">历史体检记录</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-form :inline="true" ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="80px" |
| | | v-show="top"> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item> |
| | | <el-button :disabled="isDisabled" type="primary" size="mini" @click="submitForm">登记</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" @queryTable="getList">重置</el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | <div class="content" v-show="showHidden.mall_hasPhoto == 'Y'"> |
| | | <div v-show="hide" style="border: 1px dashed #dcdfe6; width: 180px; height: 180px"> |
| | | <img v-if="imageUrl" :src="imageUrl" class="avatar" /> |
| | | </div> |
| | | <div v-if="imgSrc" class="img_bg_camera"> |
| | | <img style=" |
| | | <div v-show="top"> |
| | | <div class="content" v-show="showHidden.mall_hasPhoto == 'Y'"> |
| | | <div v-show="hide" style=" |
| | | border: 1px dashed #dcdfe6; |
| | | width: 180px; |
| | | height: 180px; |
| | | margin-left: 5%; |
| | | "> |
| | | <img v-if="imageUrl" :src="imageUrl" class="avatar" /> |
| | | </div> |
| | | <div v-if="imgSrc" class="img_bg_camera"> |
| | | <img style=" |
| | | width: 200px; |
| | | height: 200px; |
| | | margin-left: -20px; |
| | | margin-top: 90px; |
| | | padding-top: 1px; |
| | | " :src="imgSrc" alt="" class="tx_img" /> |
| | | </div> |
| | | <video v-show="hides" id="videoCamera" :width="videoWidth" :height="videoHeight" autoplay |
| | | style="margin-top: 1px"></video> |
| | | <canvas style="display: none" id="canvasCamera" :width="videoWidth" :height="videoHeight"></canvas> |
| | | <div class="camera_outer" style="margin-top: 10px"> |
| | | <el-button type="primary" plain size="mini" @click="getCompetence()">打开摄像头</el-button> |
| | | <el-button type="primary" plain size="mini" @click="setImage()">拍照</el-button><br /> |
| | | </div> |
| | | <video v-show="hides" id="videoCamera" :width="videoWidth" :height="videoHeight" autoplay |
| | | style="margin-top: 1px"></video> |
| | | <canvas style="display: none" id="canvasCamera" :width="videoWidth" :height="videoHeight"></canvas> |
| | | <div class="camera_outer" style="margin-top: 10px"> |
| | | <el-button type="primary" plain size="mini" @click="getCompetence()">打开摄像头</el-button> |
| | | <el-button type="primary" plain size="mini" @click="setImage()">拍照</el-button><br /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <el-dialog title="选择套餐" :visible.sync="taocan" width="42%" height="700px"> |
| | | <el-tabs type="border-card" style="height: 560px; margin:0 10px; width: 100%"> |
| | | <el-dialog title="选择套餐" :visible.sync="taocan" width="50%" height="700px"> |
| | | <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%"> |
| | | <el-tab-pane label="套餐"> |
| | | <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="auto"> |
| | | <el-form-item label="套餐名称" prop="pacName"> |
| | |
| | | <el-form-item label="实收金额"> |
| | | <el-input placeholder="实收金额" v-model="TotalPrice" style="width: 126px"></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- 140828199805050012 --> |
| | | <el-form-item label="领取方式"> |
| | | <!-- <el-input style="width: 100%;" v-model="form.getType" placeholder="请选择领取方式" /> --> |
| | | <el-select v-model="getType" style="width: 94%" @change="getmailType"> |
| | | <el-option v-for="dict in dict.type.report_get_type" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="体检类别"> |
| | | <el-select style="width: 140px" v-model="tjCategory" placeholder="请选择体检类别"> |
| | | <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | <!-- <el-input v-model="form.category" placeholder="请输入体检类别" /> --> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="Package" size="mini">选择套餐</el-button> |
| | | <el-button type="primary" @click="submitPrice" :disabled="confirm" v-if="showHidden.has_charge == 'N'" |
| | |
| | | </el-form> |
| | | </template> |
| | | |
| | | <div style="text-align: center; margin-bottom: 10px; margin-right: 800px"> |
| | | <el-dialog title="邮寄" :visible.sync="malldisble" :close-on-click-modal="false"> |
| | | <el-form :model="addAddress" :rules="rules" label-width="78px" style="margin-left: 7px"> |
| | | <el-form-item label="姓名"> |
| | | <el-input placeholder="姓名" v-model="addAddress.getUser"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="电话"> |
| | | <el-input placeholder="电话" v-model="addAddress.phone"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="地址"> |
| | | <el-input placeholder="地址" v-model="addAddress.address"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="cancell">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <div style="text-align: center; margin-bottom: 10px"> |
| | | 已选项目列表 |
| | | </div> |
| | | <div style=" |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="proType" label="性别" width="180"> |
| | | <template slot-scope="scope" v-if="scope.row.proType == ''"> |
| | | {{ scope.row.proType == '' ? "全部" : "" }} |
| | | {{ scope.row.proType == "" ? "全部" : "" }} |
| | | </template> |
| | | <template slot-scope="scope" v-else> |
| | | <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.proType" /> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="proType" label="性别" width="180"> |
| | | <template slot-scope="scope" v-if="scope.row.proType == ''"> |
| | | {{ scope.row.proType == '' ? "全部" : "" }} |
| | | {{ scope.row.proType == "" ? "全部" : "" }} |
| | | </template> |
| | | <template slot-scope="scope" v-else> |
| | | <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.proType" /> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="proType" label="性别" width="180"> |
| | | <template slot-scope="scope" v-if="scope.row.proType == ''"> |
| | | {{ scope.row.proType == '' ? "全部" : "" }} |
| | | {{ scope.row.proType == "" ? "全部" : "" }} |
| | | </template> |
| | | <template slot-scope="scope" v-else> |
| | | <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.proType" /> |
| | |
| | | <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | |
| | | <el-dialog title="收费" :visible.sync="charge" width="59%" height="700px"> |
| | | <div> |
| | |
| | | </el-table> |
| | | </div> |
| | | </el-dialog> |
| | | <div style=" |
| | | position: absolute; |
| | | bottom: 100px; |
| | | width: 360px; |
| | | display: none; |
| | | "> |
| | | <div id="printBill" style="width: 280px;font-size: 1px;" ref="printContent"> |
| | | <div style="font-size: 1px;"> |
| | | <div style="text-align: center;"> |
| | | <div style="position: absolute; bottom: 100px; width: 360px; display: none"> |
| | | <div id="printBill" style="width: 280px; font-size: 1px" ref="printContent"> |
| | | <div style="font-size: 1px"> |
| | | <div style="text-align: center"> |
| | | <h3>{{ hospName }}小票</h3> |
| | | </div> |
| | | |
| | | <div style="margin-top: 4px;"> |
| | | <div> |
| | | 姓名:{{ formIn.name }} |
| | | </div> |
| | | <div> |
| | | 电话:{{ formIn.phone }} |
| | | </div> |
| | | <div> |
| | | 体检项目:{{ formIn.tjPro }} |
| | | </div> |
| | | <div> |
| | | 实收金额:{{ formInline.paidIn }}元 |
| | | </div> |
| | | <div> |
| | | 收费时间:{{ currentDate + " " + currentTime }} |
| | | </div> |
| | | <div style="margin-top: 4px"> |
| | | <div>姓名:{{ formIn.name }}</div> |
| | | <div>电话:{{ formIn.phone }}</div> |
| | | <div>体检项目:{{ formIn.tjPro }}</div> |
| | | <div>实收金额:{{ formInline.paidIn }}元</div> |
| | | <div>收费时间:{{ currentDate + " " + currentTime }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <el-button type="primary" @click="beat = false">确 定</el-button> |
| | | </span> --> |
| | | <!-- </el-dialog> --> |
| | | <historyTj :cusIdCard="form.cusIdcard" ref="historyTj"></historyTj> |
| | | <el-dialog title="提示" :visible.sync="dialogVisiblese" width="30%" :before-close="handleClose"> |
| | | <span>是否复制最近一次的体检项目?</span> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisiblese = false">取 消</el-button> |
| | | <el-button type="primary" @click="copes">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <Packages ref="aaa" @add="handleChanges" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { dataURLtoFile, random } from "./file"; |
| | | import { getInfo } from "@/api/login"; |
| | | import { addCustomer, getwater, getfindTj, getByTjNum } from "@/api/hosp/customer"; |
| | | import { |
| | | addCustomer, |
| | | getwater, |
| | | getfindTj, |
| | | getByTjNum, |
| | | } from "@/api/hosp/customer"; |
| | | import { getPrintSetUp } from "@/api/system/examcharge"; |
| | | |
| | | import { |
| | |
| | | getTransitionList, |
| | | getByTeamNo, |
| | | getLoadFile, |
| | | getIsRequired |
| | | getIsRequired, getconfigKey, |
| | | getHistryTjOrderProByCusIdCard, |
| | | } from "@/api/system/tijian"; |
| | | import Packages from "@/components/Packages"; |
| | | import { MessageBox } from "element-ui"; |
| | | import VTreeTransfer from './TreeTransfer.vue' |
| | | import VTreeTransfer from "./TreeTransfer.vue"; |
| | | import historyTj from "@/components/historyTj/index"; |
| | | export default { |
| | | dicts: [ |
| | | "dict_tjtype", |
| | | "report_get_type", |
| | | "dict_user_national", |
| | | "dict_user_marry", |
| | | "sys_yes_no", |
| | |
| | | ], |
| | | name: "Tijian", |
| | | components: { |
| | | VTreeTransfer |
| | | VTreeTransfer, |
| | | historyTj, |
| | | Packages |
| | | }, |
| | | data() { |
| | | return { |
| | | proIdList: [], |
| | | tableDatas: [], |
| | | dialogVisiblese: false, |
| | | lishi: false, |
| | | table: false, |
| | | HistoryList: {}, |
| | | index: 0, |
| | | dictType: [ |
| | | { |
| | | value: 0, |
| | | label: "是" |
| | | label: "是", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "否" |
| | | label: "否", |
| | | }, |
| | | |
| | | ], |
| | | isNow: 1, |
| | | treeId: [], |
| | |
| | | payType: "0", |
| | | paidIn: "0.00", |
| | | }, |
| | | getType: "", |
| | | hospName: "", |
| | | currentDate: "", |
| | | currentTime: "", |
| | | tjCategory: "", |
| | | formIn: { |
| | | tjPro:"体检费" |
| | | tjPro: "体检费", |
| | | }, |
| | | selectionList: [], |
| | | OrderId: "", |
| | |
| | | activeName: "1", |
| | | DataList: [], |
| | | fData: [], |
| | | addAddress: {}, |
| | | tjOrderList: [], //单个项目集合 |
| | | tjFlowingWater: {}, |
| | | // 搜索套餐名字 |
| | | name: "", |
| | | isfalse: false, |
| | | malldisble: false, |
| | | responseList: {}, |
| | | showHidden: {}, |
| | | tjNumbers: "", |
| | |
| | | }, |
| | | // 表单校验 |
| | | rules: { |
| | | cusName: [{ required: true, message: "姓名不能为空", trigger: "blur" }], |
| | | cusName: [{ required: true, message: "", trigger: "blur" }], |
| | | cusSex: [ |
| | | { required: true, message: "性别不能为空", trigger: "change" }, |
| | | { required: true, message: "", trigger: "change" }, |
| | | ], |
| | | // cusBrithday: [ |
| | | // { required: true, message: "出生日期不能为空", trigger: "blur" }, |
| | | // ], |
| | | // cusAddr: [ |
| | | // { required: true, message: "现居住地址不能为空", trigger: "blur" }, |
| | | // ], |
| | | address: [{ required: true, message: "", trigger: "blur" }], |
| | | phone: [{ required: true, message: "", trigger: "blur" }], |
| | | cusPhone: [ |
| | | { required: true, message: "联系电话不能为空", trigger: "blur" }, |
| | | { required: true, message: "", trigger: "change" }, |
| | | ], |
| | | cusBrithday: [ |
| | | { required: true, message: "", trigger: "change" }, |
| | | ], |
| | | // cusNational: [ |
| | | // { required: true, message: "民族不能为空", trigger: "change" }, |
| | | // ], |
| | | cusIdcard: [ |
| | | { required: true, message: "身份证号不能为空", trigger: "blur" }, |
| | | { required: true, message: "", trigger: "change" }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getCurrentDateTime() |
| | | this.getCurrentDateTime(); |
| | | |
| | | this.startTimer() |
| | | this.startTimer(); |
| | | this.getList1(); |
| | | this.getData(); |
| | | }, |
| | | methods: { |
| | | getCurrentDateTime() { |
| | | |
| | | const currentDate = new Date() |
| | | const currentDate = new Date(); |
| | | |
| | | // 格式化日期:YYYY-MM-DD |
| | | |
| | | const year = currentDate.getFullYear() |
| | | const year = currentDate.getFullYear(); |
| | | |
| | | const month = String(currentDate.getMonth() + 1).padStart(2, '0') |
| | | const month = String(currentDate.getMonth() + 1).padStart(2, "0"); |
| | | |
| | | const day = String(currentDate.getDate()).padStart(2, '0') |
| | | const day = String(currentDate.getDate()).padStart(2, "0"); |
| | | |
| | | this.currentDate = `${year}-${month}-${day}` |
| | | this.currentDate = `${year}-${month}-${day}`; |
| | | |
| | | // 格式化时间:HH:mm:ss |
| | | |
| | | const hours = String(currentDate.getHours()).padStart(2, '0') |
| | | const hours = String(currentDate.getHours()).padStart(2, "0"); |
| | | |
| | | const minutes = String(currentDate.getMinutes()).padStart(2, '0') |
| | | const minutes = String(currentDate.getMinutes()).padStart(2, "0"); |
| | | |
| | | const seconds = String(currentDate.getSeconds()).padStart(2, '0') |
| | | const seconds = String(currentDate.getSeconds()).padStart(2, "0"); |
| | | |
| | | this.currentTime = `${hours}:${minutes}:${seconds}` |
| | | |
| | | this.currentTime = `${hours}:${minutes}:${seconds}`; |
| | | }, |
| | | |
| | | startTimer() { |
| | | |
| | | this.timer = setInterval(() => { |
| | | |
| | | this.getCurrentDateTime() |
| | | |
| | | }, 1000) //每秒钟更新一次 |
| | | |
| | | this.getCurrentDateTime(); |
| | | }, 1000); //每秒钟更新一次 |
| | | }, |
| | | |
| | | beforeDestroy() { |
| | | |
| | | clearInterval(this.timer) |
| | | |
| | | },//清除定时器,以避免内存泄露。 |
| | | clearInterval(this.timer); |
| | | }, //清除定时器,以避免内存泄露。 |
| | | freezing(val) { |
| | | if (val == 0) { |
| | | this.form.cusName = random(2) |
| | | this.form.cusName = random(2); |
| | | } else { |
| | | this.form.cusName = "" |
| | | this.form.cusName = ""; |
| | | } |
| | | }, |
| | | getList1() { |
| | |
| | | } |
| | | }); |
| | | getIsRequired().then((response) => { |
| | | this.showHidden = response.data |
| | | }) |
| | | this.showHidden = response.data; |
| | | }); |
| | | }, |
| | | inputChange() { |
| | | const reg = |
| | |
| | | this.form.cusBrithday = birthday; |
| | | this.form.age = age; |
| | | } |
| | | // let cusIdCard = this.form.cusIdcard; |
| | | // getHistryTjOrderByCusIdCard(cusIdCard).then((res) => { |
| | | // if (res.code == 200) { |
| | | this.table = true; |
| | | this.lishi = true; |
| | | // this.HistoryList = res.data; |
| | | // } |
| | | // }); |
| | | } else { |
| | | return false; |
| | | } |
| | | }, |
| | | inputChanges() { |
| | | this.$refs.historyTj.getlist(); |
| | | }, |
| | | cope() { |
| | | this.tcShow = true; |
| | | let cusIdCard = this.form.cusIdcard; |
| | | getHistryTjOrderProByCusIdCard(cusIdCard).then((res) => { |
| | | this.copeList = res.data; |
| | | if (res.msg != "暂无历史记录") { |
| | | this.dialogVisiblese = true; |
| | | } else { |
| | | this.$message.warning("暂无历史体检记录!"); |
| | | } |
| | | }); |
| | | }, |
| | | copes() { |
| | | let cusIdCard = this.form.cusIdcard; |
| | | getHistryTjOrderProByCusIdCard(cusIdCard).then((res) => { |
| | | this.tableDatas = res.data; |
| | | if (this.form.cusIdcard) { |
| | | var cusId = this.form.cusIdcard; |
| | | } else { |
| | | this.$message.warning("请先填写信息,再选体检内容"); |
| | | } |
| | | |
| | | let _this = this; |
| | | if (this.tableDatas.length != 0) { |
| | | this.tableDatas.forEach((item) => { |
| | | if (item.pacId != null) { |
| | | _this.pacId = item.pacId; |
| | | } else { |
| | | item.list.forEach((items) => { |
| | | _this.proIdList.push(items.proId); |
| | | console.log(_this.pacId, 888); |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | _this.pacId = ""; |
| | | } |
| | | let data = { |
| | | cusId, |
| | | pacId: _this.pacId, |
| | | proIds: _this.proIdList, |
| | | }; |
| | | getaddtTransition(data).then((response) => { |
| | | if (response.code === 200) { |
| | | let cusId = this.form.cusIdcard; |
| | | this.proIds = []; |
| | | getTransitionList(cusId).then((response) => { |
| | | this.tableData1 = response.data; |
| | | console.log(this.tableData1); |
| | | this.TotalPrice1 = 0; |
| | | if (this.tableData1) { |
| | | this.tableData1.forEach((item) => { |
| | | this.TotalPrice1 += item.nowPrice; |
| | | if (item.pacName === null) { |
| | | item.pacName = "单项"; |
| | | } |
| | | if (item.pacName == "单项") { |
| | | item.list.forEach((item9) => { |
| | | this.treeList.push(item9.proId); |
| | | }); |
| | | } |
| | | this.pacName = item.pacName; |
| | | }); |
| | | |
| | | const r = /^\+?[0-9][0-9]*$/; //正整数(可以0打头) |
| | | let TotalPrice = this.TotalPrice1 * (this.discount / 10); |
| | | if (r.test(TotalPrice)) { |
| | | this.TotalPrice = TotalPrice + ".00"; |
| | | } else { |
| | | this.TotalPrice = TotalPrice; |
| | | } |
| | | |
| | | this.list1 = false; |
| | | this.list3 = true; |
| | | } else { |
| | | this.list1 = true; |
| | | |
| | | this.TotalPrice = "0.00"; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | this.taocan = false; |
| | | this.defaultKeys = []; |
| | | }); |
| | | this.dialogVisiblese = false; |
| | | }, |
| | | getCompetence() { |
| | | var _this = this; |
| | |
| | | |
| | | /** 查询信息列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | // listCustomer(this.queryParams).then((response) => { |
| | | // this.customerList = response.rows; |
| | | // this.total = response.total; |
| | |
| | | }); |
| | | }, |
| | | |
| | | getmailType() { |
| | | if (this.getType == "2") { |
| | | this.addAddress.getUser = this.form.cusName; |
| | | this.addAddress.phone = this.form.cusPhone; |
| | | this.addAddress.address = this.form.cusAddr; |
| | | this.malldisble = true; |
| | | } |
| | | }, |
| | | |
| | | // 根据身份证查询 |
| | | handleQuery() { |
| | | this.loading = true; |
| | |
| | | item.pacName = "单项"; |
| | | } |
| | | if (item.pacName == "单项") { |
| | | item.list.forEach(item9 => { |
| | | this.treeList.push(item9.proId) |
| | | }) |
| | | item.list.forEach((item9) => { |
| | | this.treeList.push(item9.proId); |
| | | }); |
| | | } |
| | | }); |
| | | this.list1 = false; |
| | |
| | | // this.$message.error("此用户不存在"); |
| | | // }); |
| | | } else { |
| | | var websocket = null; |
| | | var url = this.valueUrl; |
| | | if ("WebSocket" in window) { |
| | | websocket = new WebSocket(url); |
| | | } else if ("MozWebSocket" in window) { |
| | | websocket = new MozWebSocket(url); |
| | | } else { |
| | | // console.log("SockJS"); |
| | | } |
| | | |
| | | if (websocket == null) { |
| | | alert("创建WebSocket对象失败"); |
| | | } |
| | | |
| | | //连接发生错误的回调方法 |
| | | websocket.onerror = function () { |
| | | alert("请检查读卡器连接是否正常"); |
| | | }; |
| | | |
| | | //连接成功建立的回调方法 |
| | | websocket.onopen = function () { |
| | | this.websocket = websocket; |
| | | // 连接设备 |
| | | var jsonObj = { |
| | | name: "connect", |
| | | }; |
| | | var jStr = JSON.stringify(jsonObj); |
| | | this.websocket.send(jStr); |
| | | alert("请放身份证再点确认"); |
| | | var jsonObj = { |
| | | name: "readCert", |
| | | }; |
| | | var jStr = JSON.stringify(jsonObj); |
| | | this.websocket.send(jStr); |
| | | this.dialogVisible = false; |
| | | }; |
| | | |
| | | //接收到消息的回调方法 |
| | | websocket.onmessage = function (event) { |
| | | var resultObj = eval("(" + event.data + ")"); |
| | | //resultFlag为0代表读卡成功 |
| | | if ( |
| | | resultObj.name == "readCard" || |
| | | resultObj.name == "readCert" || |
| | | resultObj.name == "PushWithImg" || |
| | | resultObj.name == "PushWithOutImg" |
| | | ) { |
| | | if (resultObj.resultFlag == "0") { |
| | | //回显相关数据 |
| | | _this.form.cusName = resultObj.resultContent.partyName; |
| | | _this.form.cusSex = |
| | | resultObj.resultContent.gender == "0" ? "女" : "男"; |
| | | _this.form.cusNational = resultObj.resultContent.nation; |
| | | _this.form.cusBrithday = resultObj.resultContent.bornDay; |
| | | if (_this.form.cusBrithday) { |
| | | _this.form.cusBrithday = _this.form.cusBrithday.replace( |
| | | /^(\d{4})(\d{2})(\d{2})$/, |
| | | "$1-$2-$3" |
| | | ); |
| | | } |
| | | _this.form.cusAddr = resultObj.resultContent.certAddress; |
| | | _this.form.cusIdcard = resultObj.resultContent.certNumber; |
| | | _this.imageUrl = |
| | | "data:image/jpeg;base64," + resultObj.resultContent.identityPic; |
| | | if ( |
| | | resultObj.name == "readCert" || |
| | | resultObj.name == "PushWithImg" |
| | | ) { |
| | | this.imageUrl = |
| | | "data:image/jpeg;base64," + |
| | | resultObj.resultContent.identityPrintPic; |
| | | } |
| | | } else if (resultObj.resultFlag == "-1") { |
| | | if (resultObj.errorMsg == "端口打开失败") { |
| | | //alert("读卡器未连接"); |
| | | let configKey = "getInfoFromSqlData" |
| | | getconfigKey(configKey).then(res => { |
| | | if (res.code == 200) { |
| | | if (res.msg == "N") { |
| | | var websocket = null; |
| | | var url = this.valueUrl; |
| | | if ("WebSocket" in window) { |
| | | websocket = new WebSocket(url); |
| | | } else if ("MozWebSocket" in window) { |
| | | websocket = new MozWebSocket(url); |
| | | } else { |
| | | //alert(resultObj.errorMsg); |
| | | // console.log("SockJS"); |
| | | } |
| | | } else if (resultObj.resultFlag == "-2") { |
| | | //alert(resultObj.errorMsg); |
| | | } |
| | | } else if (resultObj.name == "getStatus") { |
| | | if (resultObj.resultFlag == "0") { |
| | | if (resultObj.status == "0") { |
| | | } else { |
| | | alert("设备连接已断开,请检查读卡器连接"); |
| | | |
| | | if (websocket == null) { |
| | | alert("创建WebSocket对象失败"); |
| | | } |
| | | |
| | | //连接发生错误的回调方法 |
| | | websocket.onerror = function () { |
| | | alert("请检查读卡器连接是否正常"); |
| | | }; |
| | | |
| | | //连接成功建立的回调方法 |
| | | websocket.onopen = function () { |
| | | this.websocket = websocket; |
| | | // 连接设备 |
| | | var jsonObj = { |
| | | name: "connect", |
| | | }; |
| | | var jStr = JSON.stringify(jsonObj); |
| | | this.websocket.send(jStr); |
| | | alert("请放身份证再点确认"); |
| | | var jsonObj = { |
| | | name: "readCert", |
| | | }; |
| | | var jStr = JSON.stringify(jsonObj); |
| | | this.websocket.send(jStr); |
| | | this.dialogVisible = false; |
| | | }; |
| | | |
| | | //接收到消息的回调方法 |
| | | websocket.onmessage = function (event) { |
| | | var resultObj = eval("(" + event.data + ")"); |
| | | //resultFlag为0代表读卡成功 |
| | | if ( |
| | | resultObj.name == "readCard" || |
| | | resultObj.name == "readCert" || |
| | | resultObj.name == "PushWithImg" || |
| | | resultObj.name == "PushWithOutImg" |
| | | ) { |
| | | if (resultObj.resultFlag == "0") { |
| | | //回显相关数据 |
| | | _this.form.cusName = resultObj.resultContent.partyName; |
| | | _this.form.cusSex = |
| | | resultObj.resultContent.gender == "0" ? "女" : "男"; |
| | | _this.form.cusNational = resultObj.resultContent.nation; |
| | | _this.form.cusBrithday = resultObj.resultContent.bornDay; |
| | | if (_this.form.cusBrithday) { |
| | | _this.form.cusBrithday = _this.form.cusBrithday.replace( |
| | | /^(\d{4})(\d{2})(\d{2})$/, |
| | | "$1-$2-$3" |
| | | ); |
| | | } |
| | | _this.form.cusAddr = resultObj.resultContent.certAddress; |
| | | _this.form.cusIdcard = resultObj.resultContent.certNumber; |
| | | _this.imageUrl = |
| | | "data:image/jpeg;base64," + resultObj.resultContent.identityPic; |
| | | if ( |
| | | resultObj.name == "readCert" || |
| | | resultObj.name == "PushWithImg" |
| | | ) { |
| | | this.imageUrl = |
| | | "data:image/jpeg;base64," + |
| | | resultObj.resultContent.identityPrintPic; |
| | | } |
| | | } else if (resultObj.resultFlag == "-1") { |
| | | if (resultObj.errorMsg == "端口打开失败") { |
| | | //alert("读卡器未连接"); |
| | | } else { |
| | | //alert(resultObj.errorMsg); |
| | | } |
| | | } else if (resultObj.resultFlag == "-2") { |
| | | //alert(resultObj.errorMsg); |
| | | } |
| | | } else if (resultObj.name == "getStatus") { |
| | | if (resultObj.resultFlag == "0") { |
| | | if (resultObj.status == "0") { |
| | | } else { |
| | | alert("设备连接已断开,请检查读卡器连接"); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | //连接关闭的回调方法 |
| | | websocket.onclose = function () { |
| | | alert("读卡器连接关闭"); |
| | | }; |
| | | } else if (res.msg == "Y"){ |
| | | this.$refs.aaa.open = true; |
| | | this.$refs.aaa.getAllList(); |
| | | this.$refs.aaa.title = "证件字典"; |
| | | } |
| | | } |
| | | }; |
| | | }) |
| | | |
| | | //连接关闭的回调方法 |
| | | websocket.onclose = function () { |
| | | alert("读卡器连接关闭"); |
| | | }; |
| | | } |
| | | }, |
| | | |
| | | handleChanges(param1) { |
| | | if(this.form.pacCode == "不详"){ |
| | | this.form.cusIdcard = param1[0].xh; |
| | | }else{ |
| | | this.form.cusIdcard = param1[0].pacCode; |
| | | } |
| | | |
| | | // this.form.cusName = param1[0].pacName; |
| | | // this.form.cusPhone = param1[0].pacRemark; |
| | | |
| | | }, |
| | | |
| | | // selected(row, index) { |
| | |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.Seachopen = false; |
| | | this.taocan = false |
| | | this.defaultKeys = [] |
| | | this.taocan = false; |
| | | this.malldisble = false; |
| | | this.defaultKeys = []; |
| | | }, |
| | | |
| | | cancell() { |
| | | console.log(this.addAddress.address); |
| | | if (this.addAddress.address) { |
| | | this.malldisble = false; |
| | | } else { |
| | | this.$message.error("请填写地址"); |
| | | } |
| | | }, |
| | | |
| | | /** 搜索操作 */ |
| | |
| | | // this.tableData.forEach((item) => { |
| | | // this.fData = item.tjProjectList; |
| | | // }); |
| | | console.log(this.treedataList) |
| | | console.log(selection) |
| | | if (selection[0]) { |
| | | this.DataList = []; |
| | | // this.data = JSON.parse(JSON.stringify(this.dXData)); |
| | | selection[0].tjProjectList.forEach((selectionitem) => { |
| | | this.treedataList.forEach((item) => { |
| | | if (selectionitem.proName == item.proName) { |
| | | item.disabled = true; |
| | | item.tjProjectList = []; |
| | | } |
| | | if (item.tjProjectList) { |
| | | item.tjProjectList.forEach((item1) => { |
| | | if (selectionitem.proName == item1.proName) { |
| | | item1.disabled = true; |
| | | item1.tjProjectList = []; |
| | | } |
| | | if (item1.tjProjectList) { |
| | | item1.tjProjectList.forEach((item2) => { |
| | | if (selectionitem.proName == item2.proName) { |
| | | item2.disabled = true; |
| | | item2.tjProjectList = []; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | if (selection[0].tjProjectList) { |
| | | selection[0].tjProjectList.forEach((selectionitem) => { |
| | | this.treedataList.forEach((item) => { |
| | | if (selectionitem.proName == item.proName) { |
| | | item.disabled = true; |
| | | item.tjProjectList = []; |
| | | } |
| | | if (item.tjProjectList) { |
| | | item.tjProjectList.forEach((item1) => { |
| | | if (selectionitem.proName == item1.proName) { |
| | | item1.disabled = true; |
| | | item1.tjProjectList = []; |
| | | } |
| | | if (item1.tjProjectList) { |
| | | item1.tjProjectList.forEach((item2) => { |
| | | if (selectionitem.proName == item2.proName) { |
| | | item2.disabled = true; |
| | | item2.tjProjectList = []; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | } else { |
| | | this.treedataList = JSON.parse(JSON.stringify(this.dXData)); |
| | | return; |
| | |
| | | Package() { |
| | | this.taocan = true; |
| | | let cusSex = this.form.cusSex; |
| | | this.datekey = Date.now() |
| | | this.datekey = Date.now(); |
| | | //全部套餐 |
| | | this.loading = true; |
| | | deptTreeSelect(cusSex).then((response) => { |
| | | this.newpacName = response.rows; |
| | | console.log(this.newpacName) |
| | | console.log(this.tableData1) |
| | | try { |
| | | this.newpacName.forEach((item3) => { |
| | | this.tableData1.forEach((item4) => { |
| | | item4.list.forEach((item6) => { |
| | | if (item6.pacName === item3.pacName) { |
| | | this.$nextTick(() => { |
| | | this.$refs.tb.toggleRowSelection(item3, true); |
| | | }); |
| | | throw Error(); |
| | | } |
| | | if (this.tableData1.length >= 1) { |
| | | this.newpacName.forEach((item3) => { |
| | | this.tableData1.forEach((item4) => { |
| | | item4.list.forEach((item6) => { |
| | | if (item6.pacName === item3.pacName) { |
| | | this.$nextTick(() => { |
| | | this.$refs.tb.toggleRowSelection(item3, true); |
| | | }); |
| | | throw Error(); |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | } catch (error) { } |
| | | this.loading = false; |
| | | }); |
| | |
| | | this.proIds = []; |
| | | getTransitionList(cusId).then((response) => { |
| | | this.tableData1 = response.data; |
| | | console.log(this.tableData1) |
| | | console.log(this.tableData1); |
| | | this.TotalPrice1 = 0; |
| | | if (this.tableData1) { |
| | | this.tableData1.forEach((item) => { |
| | |
| | | item.pacName = "单项"; |
| | | } |
| | | if (item.pacName == "单项") { |
| | | item.list.forEach(item9 => { |
| | | this.treeList.push(item9.proId) |
| | | }) |
| | | item.list.forEach((item9) => { |
| | | this.treeList.push(item9.proId); |
| | | }); |
| | | } |
| | | this.pacName = item.pacName; |
| | | }); |
| | | |
| | | |
| | | const r = /^\+?[0-9][0-9]*$/; //正整数(可以0打头) |
| | | let TotalPrice = this.TotalPrice1 * (this.discount / 10); |
| | | if (r.test(TotalPrice)) { |
| | | this.TotalPrice = |
| | | TotalPrice + '.00'; |
| | | this.TotalPrice = TotalPrice + ".00"; |
| | | } else { |
| | | this.TotalPrice = |
| | | TotalPrice |
| | | this.TotalPrice = TotalPrice; |
| | | } |
| | | |
| | | |
| | | this.list1 = false; |
| | | this.list3 = true; |
| | | |
| | | } else { |
| | | this.list1 = true; |
| | | |
| | |
| | | } |
| | | }); |
| | | this.taocan = false; |
| | | this.defaultKeys = [] |
| | | this.defaultKeys = []; |
| | | }, |
| | | changeCategoryKeys(val) { |
| | | this.proIds = []; |
| | | this.proIds = val |
| | | this.proIds = val; |
| | | // if (this.DataList.length != 0) { |
| | | // this.DataList.forEach((item) => { |
| | | // this.proIds.push(item.proId); |
| | |
| | | this.tjFlowingWater = { copeWith, paidIn, discount }; |
| | | |
| | | let data; |
| | | if (pacId) { |
| | | if (pacId || this.getType == "2") { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | pacId, |
| | |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | getType: this.getType, |
| | | addAddress: this.addAddress, |
| | | tjCategory: this.tjCategory, |
| | | }; |
| | | } else { |
| | | data = { |
| | |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | getType: this.getType, |
| | | tjCategory: this.tjCategory, |
| | | }; |
| | | } |
| | | getOrder(data).then((res) => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | this.tjNumbers = res.msg |
| | | this.tjNumbers = res.msg; |
| | | this.charge = true; |
| | | let data = { |
| | | tjNum: res.msg |
| | | } |
| | | tjNum: res.msg, |
| | | }; |
| | | getfindTj(data).then((response) => { |
| | | if (response.data) { |
| | | this.feeitems = response.data; |
| | | if (this.feeitems.length != 0) { |
| | | this.$nextTick(() => { |
| | | this.$refs.multipleTable.toggleRowSelection( |
| | | this.feeitems[0], |
| | | true |
| | | ); |
| | | }); |
| | | } else { |
| | | this.$refs.multipleTable.clearSelection(); |
| | | } |
| | | this.loading = false; |
| | | }else{ |
| | | this.feeitems = [] |
| | | } else { |
| | | this.feeitems = []; |
| | | this.loading = false; |
| | | } |
| | | }) |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | // 表格单选 |
| | | handleSelect(selection, val) { |
| | | console.log(selection, val) |
| | | console.log(selection, val); |
| | | this.selectionList = this.$refs.multipleTable.selection; |
| | | this.selectionList.forEach((item) => { |
| | | this.formIn.name = item.tjName |
| | | this.formIn.phone = item.tjPhone |
| | | this.formIn.name = item.tjName; |
| | | this.formIn.phone = item.tjPhone; |
| | | this.OrderId = item.tjOrderId; |
| | | if (item.tjFlowingWater != null) { |
| | | this.waterId = item.tjFlowingWater.waterId; |
| | |
| | | this.mobanId = res.data.mobanId; |
| | | this.waterId = res.data.waterId; |
| | | this.$modal.msgSuccess("操作成功"); |
| | | this.charge = false |
| | | this.charge = false; |
| | | this.isDisabled = false; |
| | | this.top = true |
| | | this.reset() |
| | | getPrintSetUp().then(res => { |
| | | this.top = true; |
| | | this.reset(); |
| | | getPrintSetUp().then((res) => { |
| | | if (res.msg == "0") { |
| | | this.$nextTick(() => { |
| | | const style = |
| | |
| | | printJS({ |
| | | printable: "printBill", // 标签元素id |
| | | noPrint: ".noPrint", |
| | | type: 'html', |
| | | type: "html", |
| | | header: "", |
| | | targetStyles: ["*"], |
| | | maxWidth: "800", |
| | |
| | | style, |
| | | }); |
| | | }); |
| | | |
| | | } else { |
| | | const tjnumber = this.tjNumbers; |
| | | const viewNum = "809623418249637888"; |
| | | const params = { viewNum, tjnumber }; |
| | | this.$tab.openPage("个人发票", "/report/charge", params); |
| | | } |
| | | }) |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | type: "warning ", |
| | | message: "查询到您已退款,请您重新预约!", |
| | | }); |
| | | } |
| | | |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | tjCategory:this.tjCategory |
| | | }; |
| | | } else { |
| | | data = { |
| | |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | tjCategory:this.tjCategory |
| | | }; |
| | | } |
| | | getOrder(data).then((res) => { |
| | |
| | | |
| | | |
| | | <style > |
| | | .el-form-item__error { |
| | | display: none; |
| | | } |
| | | .el-table__header-wrapper .el-checkbox { |
| | | display: none; |
| | | } |
| | |
| | | width: 178px; |
| | | height: 178px; |
| | | display: block; |
| | | } |
| | | |
| | | .el-col-8 { |
| | | width: 330px; |
| | | } |
| | | |
| | | .tab4 { |
| | |
| | | height: 300px; |
| | | } |
| | | |
| | | .el-input--suffix .el-input__inner { |
| | | padding-right: 15px; |
| | | } |
| | | |
| | | .el-date-editor.el-input, |
| | | .el-date-editor.el-input__inner { |
| | | width: 95.9%; |
| | | } |
| | | |
| | | /* .el-dialog { |
| | | width: 1000px; |
| | | min-height: 500px; |