| | |
| | | <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" |
| | | 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="7"> |
| | | <el-form-item label="姓名" prop="cusName" style="display: flex" :rules="[ |
| | | <el-row :gutter="20"> |
| | | <el-col :span="17"> |
| | | <div class="grid-content bg-purple"> |
| | | <el-form |
| | | :inline="true" |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | :label-position="labelPosition" |
| | | label-width="106px" |
| | | v-show="top" |
| | | > |
| | | <el-form-item label="匿名" prop="isNow"> |
| | | <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-form-item |
| | | label="姓名" |
| | | prop="cusName" |
| | | :rules="[ |
| | | { |
| | | required: true, validator: (rule, value, callback) => { |
| | | required: true, |
| | | validator: (rule, value, callback) => { |
| | | if (!form.cusName) { |
| | | callback('') |
| | | callback(''); |
| | | } else if (form.cusName) { |
| | | callback() |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'blur', |
| | | }, |
| | | ]" |
| | | > |
| | | <el-input |
| | | v-model="form.cusName" |
| | | placeholder="请输入姓名" |
| | | :disabled="isDisabled" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | }, trigger: 'blur' |
| | | }]"> |
| | | <el-input v-model="form.cusName" placeholder="请输入姓名" :disabled="isDisabled" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <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-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="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="7"> |
| | | <el-form-item label="性别" prop="cusSex" :rules="[ |
| | | <el-form-item label="证件类型" prop="idType"> |
| | | <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-form-item label="民族" prop="cusNational"> |
| | | <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-form-item |
| | | label="性别" |
| | | prop="cusSex" |
| | | :rules="[ |
| | | { |
| | | required: true, validator: (rule, value, callback) => { |
| | | required: true, |
| | | validator: (rule, value, callback) => { |
| | | if (!form.cusSex && showHidden.has_sex === 'Y') { |
| | | callback('') |
| | | callback(''); |
| | | } else if (showHidden.has_sex === 'N') { |
| | | callback() |
| | | callback(); |
| | | } else if (form.cusSex && showHidden.has_sex === 'Y') { |
| | | callback() |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'blur', |
| | | }, |
| | | ]" |
| | | > |
| | | <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> |
| | | |
| | | }, 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="[ |
| | | <el-form-item |
| | | label="证件号码" |
| | | prop="cusIdcard" |
| | | :rules="[ |
| | | { |
| | | required: true, validator: (rule, value, callback) => { |
| | | required: true, |
| | | validator: (rule, value, callback) => { |
| | | if (!form.cusIdcard && showHidden.has_idcard === 'Y') { |
| | | callback('') |
| | | callback(''); |
| | | } else if (showHidden.has_idcard === 'N') { |
| | | callback() |
| | | } else if (form.cusIdcard && showHidden.has_idcard === 'Y') { |
| | | callback() |
| | | 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=" |
| | | }, |
| | | trigger: 'blur', |
| | | }, |
| | | ]" |
| | | > |
| | | <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="7"> |
| | | <el-form-item label="电话" prop="cusPhone" :rules="[ |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="婚姻" prop="cusMarryStatus"> |
| | | <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-form-item |
| | | label="电话" |
| | | prop="cusPhone" |
| | | :rules="[ |
| | | { |
| | | required: true, validator: (rule, value, callback) => { |
| | | required: true, |
| | | validator: (rule, value, callback) => { |
| | | if (!form.cusPhone && showHidden.is_phone === 'Y') { |
| | | callback('') |
| | | callback(''); |
| | | } else if (showHidden.is_phone === 'N') { |
| | | callback() |
| | | callback(); |
| | | } else if (form.cusPhone && showHidden.is_phone === 'Y') { |
| | | callback() |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'blur', |
| | | }, |
| | | ]" |
| | | > |
| | | <el-input |
| | | v-model="form.cusPhone" |
| | | placeholder="请输入联系电话" |
| | | :disabled="isDisabled" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | }, trigger: 'blur' |
| | | }]" style="display: flex"> |
| | | <el-input v-model="form.cusPhone" placeholder="请输入联系电话" :disabled="isDisabled" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-form-item label="出生日期" prop="cusBrithday"> |
| | | <el-date-picker |
| | | :disabled="isDisabled" |
| | | clearable |
| | | v-model="form.cusBrithday" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请选择出生日期" |
| | | style="width: 93%" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | |
| | | <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="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-form-item label="职业" prop="career"> |
| | | <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 :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="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-form-item label="邮箱" prop="cusEmail"> |
| | | <el-input |
| | | v-model="form.cusEmail" |
| | | placeholder="请输入邮箱" |
| | | :disabled="isDisabled" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="年龄 " prop="age"> |
| | | <el-input |
| | | v-model="form.age" |
| | | :disabled="isDisabled" |
| | | style="width: 30%" |
| | | /> |
| | | <el-select |
| | | :disabled="isDisabled" |
| | | v-model="form.ageUnit" |
| | | style="width: 20%" |
| | | > |
| | | <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-form-item prop="ageUnit"> |
| | | |
| | | </el-form-item> --> |
| | | </el-form> |
| | | <el-form |
| | | :inline="true" |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | :label-position="labelPosition" |
| | | label-width="106px" |
| | | v-show="top" |
| | | > |
| | | <el-form-item label="介绍人" prop="cusIntroduce"> |
| | | <el-input |
| | | :disabled="isDisabled" |
| | | v-model="form.cusIntroduce" |
| | | placeholder="请输入介绍人" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="工作单位" prop="company"> |
| | | <el-input |
| | | :disabled="isDisabled" |
| | | v-model="form.company" |
| | | placeholder="请输入工作单位" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="文化程度" prop="wenHua"> |
| | | <el-input |
| | | :disabled="isDisabled" |
| | | v-model="form.wenHua" |
| | | placeholder="请输入文化程度" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | :label-position="labelPosition" |
| | | label-width="106px" |
| | | v-show="top" |
| | | > |
| | | <el-row :gutter="21"> |
| | | <el-col :span="19"> |
| | | <el-form-item label="户口地址" prop="addr"> |
| | | <el-input |
| | | v-model="form.addr" |
| | | placeholder="请输入户口地址" |
| | | :disabled="isDisabled" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | :label-position="labelPosition" |
| | | label-width="106px" |
| | | v-show="top" |
| | | > |
| | | <el-row :gutter="21"> |
| | | <el-col :span="19"> |
| | | <el-form-item label="现住地址" prop="cusAddr"> |
| | | <el-input |
| | | v-model="form.cusAddr" |
| | | placeholder="请输入现居住地址" |
| | | :disabled="isDisabled" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | |
| | | <el-row v-show="top"> |
| | | <el-col :span="19"> |
| | | <div style="float: right; margin-bottom: 10px"> |
| | | <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-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 |
| | | > |
| | | </div> |
| | | </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-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 v-show="top"> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="7" 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%; |
| | | "> |
| | | <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=" |
| | | <img |
| | | style=" |
| | | width: 200px; |
| | | height: 200px; |
| | | margin-left: -20px; |
| | | margin-top: 90px; |
| | | padding-top: 1px; |
| | | " :src="imgSrc" alt="" class="tx_img" /> |
| | | " |
| | | :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> |
| | | <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 /> |
| | | <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-col> |
| | | </el-row> |
| | | |
| | | <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-dialog |
| | | title="选择套餐" |
| | | :visible.sync="taocan" |
| | | width="70%" |
| | | height="700px" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <el-tabs |
| | | type="border-card" |
| | | style="height: 560px; margin: 0 10px; width: 100%" |
| | | v-model="activeNames" |
| | | @tab-click="handleClick" |
| | | > |
| | | <el-tab-pane label="套餐" name="first"> |
| | | <el-form |
| | | :model="queryParam" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-if="showSearch" |
| | | label-width="auto" |
| | | > |
| | | <el-form-item label="套餐名称" prop="pacName"> |
| | | <el-input v-model="queryParam.pacName" placeholder="请输入套餐名称" clearable @keyup.enter.native="handle" /> |
| | | <el-input |
| | | v-model="queryParam.pacName" |
| | | placeholder="请输入套餐名称" |
| | | clearable |
| | | @keyup.enter.native="handle" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handle">查询</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handle" |
| | | >查询</el-button |
| | | > |
| | | <!-- <el-button type="primary" size="mini" @click="submit">确认</el-button> --> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div class="tab4"> |
| | | <div class="grid-content bg-purple" style="margin-left: 5px; width: 98%"> |
| | | <el-table v-loading="loading" element-loading-text="正在加载中..." element-loading-spinner="el-icon-loading" |
| | | border :data="newpacName" @selection-change="handleSelectionChange" height="450px" ref="tb" |
| | | style="width: 850px"> |
| | | <el-table-column type="selection" width="40px" align="center" label="选择" /> |
| | | <el-table-column label="套餐名称" align="center" prop="pacName" width="120px" /> |
| | | <el-table-column label="套餐价格" align="center" prop="price" width="120px" /> |
| | | <el-table-column label="套餐明细" align="center" prop="allProName" :show-overflow-tooltip="true" /> |
| | | <div |
| | | class="grid-content bg-purple" |
| | | style="margin-left: 5px; width: 98%" |
| | | > |
| | | <el-table |
| | | v-loading="loading" |
| | | element-loading-text="正在加载中..." |
| | | element-loading-spinner="el-icon-loading" |
| | | border |
| | | :data="newpacName" |
| | | @selection-change="handleSelectionChange" |
| | | height="450px" |
| | | ref="tb" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="40px" |
| | | align="center" |
| | | label="选择" |
| | | /> |
| | | <el-table-column |
| | | label="套餐名称" |
| | | align="center" |
| | | prop="pacName" |
| | | width="120px" |
| | | /> |
| | | <el-table-column |
| | | label="套餐价格" |
| | | align="center" |
| | | prop="price" |
| | | width="120px" |
| | | /> |
| | | <el-table-column |
| | | label="套餐明细" |
| | | align="center" |
| | | prop="allProName" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <!-- :selectable="checkSelectable" --> |
| | | <!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | |
| | | v-hasPermi="['system:package:Seach']">套餐详情 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> --> |
| | | </el-table-column> --> |
| | | </el-table> |
| | | </div> |
| | | <!-- <el-button |
| | |
| | | ></el-button> --> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="单项"> |
| | | <div class="tab3"> |
| | | <!-- <div class="tab2"> --> |
| | | <v-tree-transfer :treeData="treedataList" :defaultProps="{ children: 'tjProjectList', label: 'proName' }" |
| | | :defaultKeys="defaultKeys" @changeKeys="changeCategoryKeys" :key="datekey"></v-tree-transfer> |
| | | <!-- <el-tree ref="tree" :data="treedataList" show-checkbox node-key="proId" :props="defaultProps" |
| | | :default-expanded-keys="treeId" :default-checked-keys="treeList" @check-change="handleCurrentChecked"> |
| | | <el-tab-pane label="组合" name="third"> |
| | | <!-- <div class="tab3"> --> |
| | | <el-row :gutter="20" style="width: 100%"> |
| | | <el-col :span="6"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 项目列表 |
| | | </div> |
| | | <el-input placeholder="输入关键字进行过滤" v-model="filterage"> |
| | | </el-input> |
| | | <div class="tab3"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="packageList" |
| | | :props="defaultProp" |
| | | show-checkbox |
| | | node-key="id" |
| | | @check="handlepackage" |
| | | :default-checked-keys="checkedkeys" |
| | | :filter-node-method="filterpackage" |
| | | ref="treas" |
| | | :render-content="renderContents" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 明细项目列表 |
| | | </div> |
| | | <div class="tab3"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="packagedataList" |
| | | node-key="proId" |
| | | :props="defaultpackProps" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <div class="grid-content bg-purple"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 已选项目列表 |
| | | </div> |
| | | <el-table |
| | | :data="DataLists" |
| | | border |
| | | style="width: 100%" |
| | | height="400" |
| | | :span-method="objectspanmethod" |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="proName" |
| | | label="明细项目" |
| | | width="260px" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价" width="56px"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | fixed="right" |
| | | class-name="small-padding fixed-width" |
| | | width="50px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDel(scope.row)" |
| | | title="删除" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <h3 style="font-weight: 600">合计:{{ marryalls }}元</h3> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- </div> --> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="单项" name="second"> |
| | | <div class="tab8"> |
| | | <!-- <div class="tab7"> |
| | | <v-tree-transfer |
| | | :treeData="treedataList" |
| | | :defaultProps="{ children: 'tjProjectList', label: 'proName' }" |
| | | :defaultKeys="defaultKeys" |
| | | @changeKeys="changeCategoryKeys" |
| | | :key="datekey" |
| | | ></v-tree-transfer> --> |
| | | <!-- <el-tree :data="data" show-checkbox node-key="proId" :props="defaultProps" :default-checked-keys="treeList" |
| | | @check-change="handleCurrentChecked"> |
| | | </el-tree> --> |
| | | <!-- </div> --> |
| | | <!-- <el-button |
| | | style=" |
| | | width: 20px; |
| | | height: 100px; |
| | | margin-left: 10px; |
| | | margin-top: 20%; |
| | | font-size: 10px; |
| | | " |
| | | type="primary" |
| | | size="mini" |
| | | @click="submit" |
| | | ><i style="font-size: 18px" class="el-icon-d-arrow-right"></i |
| | | ></el-button> --> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 项目列表 |
| | | </div> |
| | | <!-- @input="gaibian" --> |
| | | <el-input placeholder="输入关键字进行过滤" v-model="filterText"> |
| | | </el-input> |
| | | <div class="tab3"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="Treedata" |
| | | :props="defaultProps" |
| | | show-checkbox |
| | | node-key="proId" |
| | | @check="handleCurrentChecked" |
| | | :default-checked-keys="checkedkey" |
| | | :filter-node-method="filterNode" |
| | | ref="tree" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 明细项目列表 |
| | | </div> |
| | | <div class="tab3"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="TreedataList" |
| | | node-key="proId" |
| | | :props="defaultProps" |
| | | :filter-node-method="filterNode" |
| | | show-checkbox |
| | | @check-change="handleCurrentChecked1" |
| | | :default-checked-keys="checkedListkey" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <div class="grid-content bg-purple"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 已选项目列表 |
| | | </div> |
| | | <el-table |
| | | :data="DataList" |
| | | border |
| | | style="width: 100%" |
| | | height="400" |
| | | :span-method="objectSpanMethod" |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="proPrice" |
| | | label="原价" |
| | | width="56px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="proName" |
| | | label="明细项目" |
| | | width="260px" |
| | | > |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | fixed="right" |
| | | class-name="small-padding fixed-width" |
| | | width="50px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | title="删除" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <h3 style="font-weight: 600">合计:{{ marryall }}元</h3> |
| | | <!-- <el-collapse v-model="activeName" accordion v-if="list1"> |
| | | <div> |
| | | <el-collapse-item title="请选择项目"> |
| | | <el-table |
| | | :data="DataList" |
| | | border |
| | | style="width: 100%" |
| | | height="400" |
| | | :span-method="objectSpanMethod" |
| | | > |
| | | <el-table-column |
| | | prop="proName" |
| | | label="项目" |
| | | width="180" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="ordPrice" label="原价"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-collapse-item> |
| | | </div> |
| | | </el-collapse> --> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | |
| | | <el-button type="primary" @click="submit">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <el-row type="flex" class="row-bg" justify="space-around" v-if="tcShow"> |
| | | <el-col> |
| | | <!-- --> |
| | | <el-row v-if="tcShow"> |
| | | <el-col :span="15"> |
| | | <div class="grid-content bg-purple"> |
| | | <!-- <el-table :data="fData" border height="220px" style="width: 100%; "> |
| | | <el-table-column prop="proName" label="组合项目" align="center" width="200px"> |
| | |
| | | </div> --> |
| | | |
| | | <template> |
| | | <el-form :model="form" :inline="true" label-width="75px" style="margin-left: 7px"> |
| | | <el-form |
| | | :model="form" |
| | | :inline="true" |
| | | label-width="75px" |
| | | style="margin-left: 20px" |
| | | > |
| | | <el-form-item label="体检类型"> |
| | | <el-select style="width: 100px" v-model="form.tjType" placeholder="请选择体检类型"> |
| | | <el-option v-for="dict in dict.type.dict_team" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | style="width: 150px" |
| | | v-model="form.tjType" |
| | | placeholder="请选择体检类型" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_team" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <!-- <div class="tab1"> --> |
| | | <!-- <el-form :inline="true" class="tab1"> --> |
| | | <el-form-item label="应收金额"> |
| | | <el-input placeholder="应收金额" v-model="TotalPrice1" disabled style="width: 126px"></el-input> |
| | | <el-input |
| | | placeholder="应收金额" |
| | | v-model="TotalPrice1" |
| | | disabled |
| | | style="width: 150px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="优惠"> |
| | | <!-- <el-input style="width: 100px" type="number" v-model="discount" :value="discount"></el-input> --> |
| | | <el-input-number ref="inputNumber" style="width: 126px" v-model="discount" :precision="2" :step="0.1" |
| | | :max="10" :min="1" @change="numberChange" :disabled="isfalse"></el-input-number> |
| | | <el-input-number |
| | | ref="inputNumber" |
| | | style="width: 150px" |
| | | v-model="discount" |
| | | :precision="2" |
| | | :step="0.1" |
| | | :max="10" |
| | | :min="1" |
| | | @change="numberChange" |
| | | :disabled="isfalse" |
| | | ></el-input-number> |
| | | </el-form-item> |
| | | <el-form-item label="实收金额"> |
| | | <el-input placeholder="实收金额" v-model="TotalPrice" style="width: 126px"></el-input> |
| | | <el-input |
| | | placeholder="实收金额" |
| | | v-model="TotalPrice" |
| | | style="width: 150px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <br /> |
| | | <!-- 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 |
| | | v-model="getType" |
| | | style="width: 150px" |
| | | @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 |
| | | style="width: 150px" |
| | | 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'" |
| | | size="mini">签到登记</el-button> |
| | | <el-button type="primary" @click="submitCheckinfee" :disabled="confirm" |
| | | v-if="showHidden.has_charge == 'Y'" size="mini">登记收费</el-button> |
| | | |
| | | <el-form-item style="margin-left: 149px"> |
| | | <el-button |
| | | type="primary" |
| | | @click="Package" |
| | | size="mini" |
| | | style="margin-right: 20px" |
| | | >选择套餐</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click="resetpackage" |
| | | size="mini" |
| | | style="margin-right: 20px" |
| | | >重置套餐</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click="submitPrice" |
| | | :disabled="confirm" |
| | | v-if="showHidden.has_charge == 'N'" |
| | | size="mini" |
| | | >签到登记</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click="submitCheckinfee" |
| | | :disabled="confirm" |
| | | v-if="showHidden.has_charge == 'Y'" |
| | | size="mini" |
| | | >登记收费</el-button |
| | | > |
| | | </el-form-item> |
| | | <!-- </el-form> --> |
| | | <!-- </div> --> |
| | | </el-form> |
| | | </template> |
| | | |
| | | <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-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-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-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-input |
| | | placeholder="地址" |
| | | v-model="addAddress.address" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | |
| | | <div style="text-align: center; margin-bottom: 10px"> |
| | | 已选项目列表 |
| | | </div> |
| | | <div style=" |
| | | <div |
| | | style=" |
| | | padding: 0px 6px; |
| | | border: 1px solid #e6ebf5; |
| | | max-height: 420px; |
| | | overflow: auto; |
| | | width: 980px; |
| | | width: 916px; |
| | | margin-left: 35px; |
| | | "> |
| | | " |
| | | > |
| | | <el-collapse v-model="index" accordion v-if="list3"> |
| | | <div class="info1" v-for="(item, index) in tableData1" :key="'info1-' + index"> |
| | | <div |
| | | class="info1" |
| | | v-for="(item, index) in tableData1" |
| | | :key="'info1-' + index" |
| | | > |
| | | <el-collapse-item :name="index"> |
| | | <template slot="title"> |
| | | {{ |
| | | item.pacName + |
| | | ":" + |
| | | item.parentName + |
| | | " (应收金额:" + |
| | | item.ordPrice + |
| | | "元 / 实收金额:" + |
| | | item.nowPrice + |
| | | "元)" |
| | | }} |
| | | <div style="width: 70%"> |
| | | {{ |
| | | item.pacName + |
| | | ":" + |
| | | item.parentName + |
| | | " (应收金额:" + |
| | | item.ordPrice + |
| | | "元 / 实收金额:" + |
| | | item.nowPrice + |
| | | "元)" |
| | | }} |
| | | </div> |
| | | |
| | | <div style="width: 20%"> |
| | | <el-button |
| | | type="primary" |
| | | @click="candelete(item)" |
| | | style="float: right" |
| | | >删 除</el-button |
| | | > |
| | | </div> |
| | | </template> |
| | | <el-table :data="item.list" border style="width: 100%" height="270"> |
| | | <el-table |
| | | :data="item.list" |
| | | border |
| | | style="width: 100%" |
| | | height="270" |
| | | > |
| | | <el-table-column prop="proName" label="项目" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="proType" label="性别" width="180"> |
| | | <template slot-scope="scope" v-if="scope.row.proType == ''"> |
| | | <template |
| | | slot-scope="scope" |
| | | v-if="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" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_user_sex" |
| | | :value="scope.row.proType" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ordPrice" label="应收金额"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="proCheckMethod" label="是否空腹"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_yes_no" |
| | | :value="scope.row.proCheckMethod" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </el-collapse> |
| | | |
| | | <div v-if="list2 == true"> |
| | | <el-table :data="tableData1" border style="width: 100%" height="250"> |
| | | <el-table |
| | | :data="tableData1" |
| | | border |
| | | style="width: 100%" |
| | | height="250" |
| | | > |
| | | <el-table-column prop="proName" label="项目" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="proType" label="性别" width="180"> |
| | |
| | | {{ scope.row.proType == "" ? "全部" : "" }} |
| | | </template> |
| | | <template slot-scope="scope" v-else> |
| | | <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.proType" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_user_sex" |
| | | :value="scope.row.proType" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ysPrice" label="应收金额"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="proCheckMethod" label="是否空腹"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_yes_no" |
| | | :value="scope.row.proCheckMethod" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <el-table-column prop="proName" label="项目" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="proType" label="性别" width="180"> |
| | | <template slot-scope="scope" v-if="scope.row.proType == ''"> |
| | | <template |
| | | slot-scope="scope" |
| | | v-if="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" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_user_sex" |
| | | :value="scope.row.proType" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ordPrice" label="应收金额"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="proCheckMethod" label="是否空腹"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_yes_no" |
| | | :value="scope.row.proCheckMethod" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-dialog title="导检单预览" :visible.sync="dialogVisibles" :close-on-click-modal="false"> |
| | | <el-dialog |
| | | title="导检单预览" |
| | | :visible.sync="dialogVisibles" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div class="main"> |
| | | <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe> |
| | | <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 id="sig" v-loading="loading" :data="feeitems" @selection-change="handleSelect" tooltip-effect="dark" |
| | | ref="multipleTable" border> |
| | | <el-table |
| | | id="sig" |
| | | v-loading="loading" |
| | | :data="feeitems" |
| | | @selection-change="handleSelect" |
| | | tooltip-effect="dark" |
| | | ref="multipleTable" |
| | | border |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="姓名" align="center" prop="tjName" width="100px" /> |
| | | <el-table-column |
| | | label="姓名" |
| | | align="center" |
| | | prop="tjName" |
| | | width="100px" |
| | | /> |
| | | <el-table-column label="性别" align="center" prop="sex" width="90px"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_user_sex" |
| | | :value="scope.row.sex" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="身份证" align="center" prop="idCard" width="150px" |
| | | :show-overflow-tooltip="true"></el-table-column> |
| | | <el-table-column label="手机号" align="center" prop="tjPhone" width="120px" |
| | | :show-overflow-tooltip="true"></el-table-column> |
| | | <el-table-column label="体检号" align="center" prop="tjNumber" width="160px" /> |
| | | <el-table-column label="登记时间" align="center" prop="tjFlowingWater.createTime" |
| | | :show-overflow-tooltip="true"></el-table-column> |
| | | <el-table-column label="单位名称" align="center" prop="tjComp"></el-table-column> |
| | | <el-table-column label="体检类型" align="center" prop="tjType" width="80px"> |
| | | <el-table-column |
| | | label="身份证" |
| | | align="center" |
| | | prop="idCard" |
| | | width="150px" |
| | | :show-overflow-tooltip="true" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="手机号" |
| | | align="center" |
| | | prop="tjPhone" |
| | | width="120px" |
| | | :show-overflow-tooltip="true" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="体检号" |
| | | align="center" |
| | | prop="tjNumber" |
| | | width="160px" |
| | | /> |
| | | <el-table-column |
| | | label="登记时间" |
| | | align="center" |
| | | prop="tjFlowingWater.createTime" |
| | | :show-overflow-tooltip="true" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="单位名称" |
| | | align="center" |
| | | prop="tjComp" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="体检类型" |
| | | align="center" |
| | | prop="tjType" |
| | | width="80px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.dict_team" :value="scope.row.tjType" /> |
| | | <dict-tag |
| | | :options="dict.type.dict_team" |
| | | :value="scope.row.tjType" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="订单流水号" align="center" prop="tjFlowingWater.waterId" width="200px" /> |
| | | <el-table-column label="收费员" align="center" prop="tjFlowingWater.updateBy" width="100px" /> |
| | | <el-table-column |
| | | label="订单流水号" |
| | | align="center" |
| | | prop="tjFlowingWater.waterId" |
| | | width="200px" |
| | | /> |
| | | <el-table-column |
| | | label="收费员" |
| | | align="center" |
| | | prop="tjFlowingWater.updateBy" |
| | | width="100px" |
| | | /> |
| | | </el-table> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="20"> |
| | | <el-form :inline="true" :model="formInline" class="demo-form-inline" style="margin: 12px 6px"> |
| | | <el-form |
| | | :inline="true" |
| | | :model="formInline" |
| | | class="demo-form-inline" |
| | | style="margin: 12px 6px" |
| | | > |
| | | <el-form-item label="应收金额"> |
| | | <el-input style="width: 86px" :value="formInline.price + '.00'" placeholder="金额" |
| | | :disabled="true"></el-input> |
| | | <el-input |
| | | style="width: 86px" |
| | | :value="formInline.price + '.00'" |
| | | placeholder="金额" |
| | | :disabled="true" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="优惠"> |
| | | <el-input-number style="width: 140px" v-model="discount" :precision="2" :step="0.1" :max="10" :min="1" |
| | | @change="numberChange" :disabled="isfalse"></el-input-number> |
| | | <el-input-number |
| | | style="width: 140px" |
| | | v-model="discount" |
| | | :precision="2" |
| | | :step="0.1" |
| | | :max="10" |
| | | :min="1" |
| | | @change="numberChange" |
| | | :disabled="isfalse" |
| | | ></el-input-number> |
| | | </el-form-item> |
| | | <el-form-item label="实收金额"> |
| | | <el-input v-model="formInline.paidIn" placeholder="实付" style="width: 94px"> |
| | | <el-input |
| | | v-model="formInline.paidIn" |
| | | placeholder="实付" |
| | | style="width: 94px" |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="付款类型" prop="payType"> |
| | | <el-select style="width: 120px" v-model="formInline.payType" placeholder="请选择付款类型"> |
| | | <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | style="width: 120px" |
| | | v-model="formInline.payType" |
| | | placeholder="请选择付款类型" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_pay_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button style="margin-left: 15px" type="primary" size="mini" @click="SubmitEvent">收费</el-button> |
| | | <el-button |
| | | style="margin-left: 15px" |
| | | type="primary" |
| | | size="mini" |
| | | @click="SubmitEvent" |
| | | >收费</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | |
| | | </el-table> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog |
| | | title="提示" |
| | | :visible.sync="cardreader" |
| | | width="30%" |
| | | :close-on-press-escape="false" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <template> |
| | | <el-radio-group v-model="cardreaderradio" @input="changeradio"> |
| | | <el-radio :label="3">身份证</el-radio> |
| | | <el-radio :label="6">健康码</el-radio> |
| | | </el-radio-group> |
| | | <div style="margin-top: 10px" v-show="cardreaderradio == 6"> |
| | | <el-input |
| | | v-model="inputSSS" |
| | | ref="tableHeadFilterInp" |
| | | placeholder="请输入内容" |
| | | ></el-input> |
| | | </div> |
| | | </template> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="cardreader = false">取 消</el-button> |
| | | <el-button type="primary" @click="cardreadercopes">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <div style="position: absolute; bottom: 100px; width: 360px; display: none"> |
| | | <div id="printBill" style="width: 280px; font-size: 1px" ref="printContent"> |
| | | <div |
| | | id="printBill" |
| | | style="width: 280px; font-size: 1px" |
| | | ref="printContent" |
| | | > |
| | | <div style="font-size: 1px"> |
| | | <div style="text-align: center"> |
| | | <h3>{{ hospName }}小票</h3> |
| | |
| | | </span> --> |
| | | <!-- </el-dialog> --> |
| | | <historyTj :cusIdCard="form.cusIdcard" ref="historyTj"></historyTj> |
| | | <el-dialog title="提示" :visible.sync="dialogVisiblese" width="30%" :before-close="handleClose"> |
| | | <el-dialog title="提示" :visible.sync="dialogVisiblese" width="30%"> |
| | | <span>是否复制最近一次的体检项目?</span> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisiblese = false">取 消</el-button> |
| | |
| | | getByTjNum, |
| | | } from "@/api/hosp/customer"; |
| | | import { getPrintSetUp } from "@/api/system/examcharge"; |
| | | |
| | | import axios from "axios"; |
| | | import { getIp } from "@/utils/auth"; |
| | | import { |
| | | deptTreeSelect, |
| | | projectGetList, |
| | | getOrder, |
| | | getProParentIdDxList, |
| | | getProSonDxList, |
| | | getCusIdcard, |
| | | getPackageListName, |
| | | getaddtTransition, |
| | | getTransitionList, |
| | | getByTeamNo, |
| | | delTbBycusCardIdAndProId, |
| | | getLoadFile, |
| | | getIsRequired, getconfigKey, |
| | | getIsRequired, |
| | | getconfigKey, |
| | | getHistryTjOrderProByCusIdCard, |
| | | readCertCardInfos, |
| | | } from "@/api/system/tijian"; |
| | | import Packages from "@/components/Packages"; |
| | | import { MessageBox } from "element-ui"; |
| | | import VTreeTransfer from "./TreeTransfer.vue"; |
| | | import { getZhList, getlistByZhId } from "@/api/system/package"; |
| | | import historyTj from "@/components/historyTj/index"; |
| | | export default { |
| | | dicts: [ |
| | |
| | | components: { |
| | | VTreeTransfer, |
| | | historyTj, |
| | | Packages |
| | | Packages, |
| | | }, |
| | | data() { |
| | | return { |
| | | filterage: "", |
| | | checkedkeys: [], |
| | | DataLists: [], |
| | | marryalls: 0, |
| | | packagedataList: [], |
| | | packageList: [], |
| | | zhxqList: [], |
| | | zhList: [], |
| | | pname: "", |
| | | filterText: "", |
| | | proIdList: [], |
| | | tableDatas: [], |
| | | dialogVisiblese: false, |
| | | cardreaderradio: 3, |
| | | lishi: false, |
| | | table: false, |
| | | HistoryList: {}, |
| | | index: 0, |
| | | names: "", |
| | | inputSSS: "", |
| | | dictType: [ |
| | | { |
| | | value: 0, |
| | |
| | | }, |
| | | ], |
| | | isNow: 1, |
| | | marryall: 0, |
| | | treeId: [], |
| | | treeList: [], |
| | | defaultKeys: [], |
| | |
| | | hospName: "", |
| | | currentDate: "", |
| | | currentTime: "", |
| | | tjCategory: "", |
| | | tjCategory: "12", |
| | | formIn: { |
| | | tjPro: "体检费", |
| | | }, |
| | |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | cardreader: false, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | nodeobj: {}, |
| | |
| | | proIds: [], |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | activeNames: "first", |
| | | // 树状形状 |
| | | Treedata: [], |
| | | TreedataList: [], |
| | | TreedataLists: [], |
| | | treedataList: [], |
| | | checkedkey: [], |
| | | checkedListkey: [], |
| | | defaultProps: { |
| | | children: "tjProjectList", |
| | | children: [], |
| | | label: "proName", |
| | | }, |
| | | defaultProp: { |
| | | children: [], |
| | | label: "zhmc", |
| | | }, |
| | | defaultpackProps: { |
| | | children: [], |
| | | label: "proName", |
| | | }, |
| | | formPacId: "", |
| | |
| | | pacRemark: null, |
| | | }, |
| | | valueUrl: "ws://127.0.0.1:18890", |
| | | valueUrls: "ws://127.0.0.1:6789/websocket", |
| | | // valueUrls: "ws://"+getIp() +":6789/websocket", |
| | | WebSocket: null, |
| | | // 身份证需要 |
| | | // socket: null, |
| | |
| | | // 表单校验 |
| | | rules: { |
| | | cusName: [{ required: true, message: "", trigger: "blur" }], |
| | | cusSex: [ |
| | | { required: true, message: "", trigger: "change" }, |
| | | ], |
| | | cusSex: [{ required: true, message: "", trigger: "change" }], |
| | | address: [{ required: true, message: "", trigger: "blur" }], |
| | | phone: [{ required: true, message: "", trigger: "blur" }], |
| | | cusPhone: [ |
| | | { required: true, message: "", trigger: "change" }, |
| | | ], |
| | | cusBrithday: [ |
| | | { required: true, message: "", trigger: "change" }, |
| | | ], |
| | | cusPhone: [{ required: true, message: "", trigger: "change" }], |
| | | cusBrithday: [{ required: true, message: "", trigger: "change" }], |
| | | // cusNational: [ |
| | | // { required: true, message: "民族不能为空", trigger: "change" }, |
| | | // ], |
| | | cusIdcard: [ |
| | | { required: true, message: "", trigger: "change" }, |
| | | ], |
| | | cusIdcard: [{ required: true, message: "", trigger: "change" }], |
| | | }, |
| | | }; |
| | | }, |
| | | watch: { |
| | | filterText(val) { |
| | | this.$refs.tree.filter(val); |
| | | }, |
| | | filterage(val) { |
| | | this.$refs.treas.filter(val); |
| | | }, |
| | | }, |
| | | created() { |
| | | this.getCurrentDateTime(); |
| | | |
| | | this.startTimer(); |
| | | this.getList1(); |
| | | this.getData(); |
| | | // this.getData(); |
| | | }, |
| | | |
| | | methods: { |
| | | getCurrentDateTime() { |
| | | const currentDate = new Date(); |
| | |
| | | this.getCurrentDateTime(); |
| | | }, 1000); //每秒钟更新一次 |
| | | }, |
| | | |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | // return data.proName.indexOf(value) !== -1; |
| | | if (data.proName.indexOf(value) !== -1) { |
| | | return data.proName.indexOf(value) !== -1; |
| | | } else { |
| | | return data.proEngName.indexOf(value) !== -1; |
| | | } |
| | | }, |
| | | filterpackage(value, data) { |
| | | if (!value) return true; |
| | | if (data.zhmc.indexOf(value) !== -1) { |
| | | return data.zhmc.indexOf(value) !== -1; |
| | | } else { |
| | | return data.pym.indexOf(value) !== -1; |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | | clearInterval(this.timer); |
| | | }, //清除定时器,以避免内存泄露。 |
| | |
| | | d.getFullYear() - |
| | | birthdays.getFullYear() - |
| | | (d.getMonth() < birthdays.getMonth() || |
| | | (d.getMonth() == birthdays.getMonth() && |
| | | d.getDate() < birthdays.getDate()) |
| | | (d.getMonth() == birthdays.getMonth() && |
| | | d.getDate() < birthdays.getDate()) |
| | | ? 1 |
| | | : 0); |
| | | this.form.cusSex = sex; |
| | |
| | | }, |
| | | inputChanges() { |
| | | this.$refs.historyTj.getlist(); |
| | | }, |
| | | |
| | | candelete(item) { |
| | | let data = { |
| | | cusCardId: this.form.cusIdcard, |
| | | proId: item.proPrantId, |
| | | }; |
| | | delTbBycusCardIdAndProId(data).then((res) => { |
| | | getTransitionList(this.form.cusIdcard).then((response) => { |
| | | this.tableData1 = response.data; |
| | | 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"; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | cope() { |
| | | this.tcShow = true; |
| | |
| | | } else { |
| | | item.list.forEach((items) => { |
| | | _this.proIdList.push(items.proId); |
| | | console.log(_this.pacId, 888); |
| | | }); |
| | | } |
| | | }); |
| | |
| | | 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.thisVideo.play(); |
| | | }; |
| | | }) |
| | | .catch((err) => { }); |
| | | .catch((err) => {}); |
| | | }, |
| | | // 绘制图片(拍照功能) |
| | | |
| | |
| | | .then((_) => { |
| | | done(); |
| | | }) |
| | | .catch((_) => { }); |
| | | .catch((_) => {}); |
| | | }, |
| | | |
| | | /** 查询信息列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | // listCustomer(this.queryParams).then((response) => { |
| | | // this.customerList = response.rows; |
| | | // this.total = response.total; |
| | |
| | | pacId: "", |
| | | proIds: [], |
| | | }; |
| | | getaddtTransition(data).then((response) => { }); |
| | | getaddtTransition(data).then((response) => {}); |
| | | this.$tab.refreshPage(); |
| | | }); |
| | | } else { |
| | |
| | | } else { |
| | | _this.tcShow = true; |
| | | this.$message.warning("暂无预约信息"); |
| | | _this.resetpackage(); |
| | | } |
| | | _this.isDisabled = true; |
| | | } else { |
| | |
| | | // this.$message.error("此用户不存在"); |
| | | // }); |
| | | } else { |
| | | let configKey = "getInfoFromSqlData" |
| | | getconfigKey(configKey).then(res => { |
| | | let configKey = "getInfoFromSqlData"; |
| | | getconfigKey(configKey).then((res) => { |
| | | if (res.code == 200) { |
| | | if (res.msg == "N") { |
| | | var websocket = null; |
| | |
| | | _this.form.cusAddr = resultObj.resultContent.certAddress; |
| | | _this.form.cusIdcard = resultObj.resultContent.certNumber; |
| | | _this.imageUrl = |
| | | "data:image/jpeg;base64," + resultObj.resultContent.identityPic; |
| | | "data:image/jpeg;base64," + |
| | | resultObj.resultContent.identityPic; |
| | | if ( |
| | | resultObj.name == "readCert" || |
| | | resultObj.name == "PushWithImg" |
| | |
| | | websocket.onclose = function () { |
| | | alert("读卡器连接关闭"); |
| | | }; |
| | | } else if (res.msg == "Y"){ |
| | | } else if (res.msg == "Y") { |
| | | this.$refs.aaa.open = true; |
| | | this.$refs.aaa.getAllList(); |
| | | this.$refs.aaa.title = "证件字典"; |
| | | } else if (res.msg == "S") { |
| | | this.cardreader = true; |
| | | _this.cardreaderradio = 3; |
| | | _this.inputSSS = ""; |
| | | // let url = window.location.protocol + "//" + window.location.host; |
| | | // console.log(url); |
| | | // axios |
| | | // .get("http://localhost:81/dev-api/readCertCardInfos") |
| | | // .then((res) => { |
| | | // console.log(res); |
| | | // }) |
| | | // .catch((err) => { |
| | | // console.log(err); |
| | | // }); |
| | | |
| | | // readCertCardInfos().then((res) => { |
| | | // _this.form.cusName = res.data.name; |
| | | // _this.form.cusSex = |
| | | // res.data.sex; |
| | | // _this.form.cusNational = res.data.mz; |
| | | // _this.form.cusBrithday = res.data.csrq; |
| | | // if (_this.form.cusBrithday) { |
| | | // _this.form.cusBrithday = _this.form.cusBrithday.replace( |
| | | // /^(\d{4})(\d{2})(\d{2})$/, |
| | | // "$1-$2-$3" |
| | | // ); |
| | | // } |
| | | // _this.form.cusAddr = res.data.addres; |
| | | // _this.form.cusIdcard = res.data.card; |
| | | // }); |
| | | } |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | }, |
| | | changeradio() { |
| | | if (this.cardreaderradio != 3) { |
| | | this.$nextTick(() => { |
| | | this.$refs.tableHeadFilterInp.focus(); |
| | | }); |
| | | } |
| | | }, |
| | | cardreadercopes() { |
| | | let _this = this; |
| | | |
| | | if (this.cardreaderradio == 3) { |
| | | var websocket = null; |
| | | var url = this.valueUrls; |
| | | // var url = 'ws://'+ getIp() +':6789/websocket' |
| | | 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("11111"); |
| | | } |
| | | websocket.onopen = function () { |
| | | try { |
| | | // 连接设备 |
| | | var jsonObjs = { |
| | | type: 1, |
| | | data: {}, |
| | | }; |
| | | var jStrs = JSON.stringify(jsonObjs); |
| | | websocket.send(jStrs); |
| | | } catch (err) { |
| | | var tryTime = 0; |
| | | // 重试10次,每次之间间隔3秒 |
| | | if (tryTime < 1) { |
| | | var t1 = setTimeout(function () { |
| | | tryTime++; |
| | | var jsonObjs = { |
| | | type: 1, |
| | | data: {}, |
| | | }; |
| | | var jStrs = JSON.stringify(jsonObjs); |
| | | websocket.send(jStrs); |
| | | }, 1 * 1000); |
| | | } else { |
| | | console.error("重连失败."); |
| | | } |
| | | } |
| | | }; |
| | | websocket.onclose = function () { |
| | | alert("读卡器连接关闭"); |
| | | }; |
| | | websocket.onmessage = function (event) { |
| | | var resultObj = JSON.parse(event.data); |
| | | _this.form.cusName = resultObj.data.name; |
| | | _this.form.cusSex = resultObj.data.sex; |
| | | _this.form.cusNational = resultObj.data.mz; |
| | | _this.form.cusBrithday = resultObj.data.csrq; |
| | | if (_this.form.cusBrithday) { |
| | | _this.form.cusBrithday = _this.form.cusBrithday.replace( |
| | | /^(\d{4})(\d{2})(\d{2})$/, |
| | | "$1-$2-$3" |
| | | ); |
| | | } |
| | | _this.form.cusIdcard = resultObj.data.card; |
| | | if (_this.form.cusIdcard) { |
| | | 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 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.age = age; |
| | | } |
| | | } |
| | | _this.form.cusAddr = resultObj.data.addres; |
| | | |
| | | _this.cardreader = false; |
| | | }; |
| | | |
| | | //连接发生错误的回调方法 |
| | | websocket.onerror = function () { |
| | | alert("请检查读卡器连接是否正常"); |
| | | }; |
| | | } else { |
| | | // if (_this.inputSSS.indexOf(":1") != -1) { |
| | | |
| | | // var str1 = _this.inputSSS.indexOf(":1"); |
| | | // var result1 = _this.inputSSS.substring(0, str1); |
| | | |
| | | // var str2 = _this.inputSSS.indexOf(":1"); |
| | | // var result2 = _this.inputSSS.substring( |
| | | // str2 + 2, |
| | | // _this.inputSSS.length |
| | | // ); |
| | | |
| | | // _this.inputSSS = result1 + result2; |
| | | // } |
| | | _this.inputSSS = _this.inputSSS.replace(":1", ""); |
| | | var websocket = null; |
| | | var url = this.valueUrls; |
| | | // var url = 'ws://'+ getIp() +':6789/websocket' |
| | | 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("11111"); |
| | | } |
| | | websocket.onopen = function () { |
| | | try { |
| | | // 连接设备 |
| | | var jsonObjs = { |
| | | type: 2, |
| | | data: { |
| | | qrcode: _this.inputSSS, |
| | | }, |
| | | }; |
| | | var jStrs = JSON.stringify(jsonObjs); |
| | | websocket.send(jStrs); |
| | | } catch (err) { |
| | | var tryTime = 0; |
| | | // 重试10次,每次之间间隔3秒 |
| | | if (tryTime < 1) { |
| | | var t1 = setTimeout(function () { |
| | | tryTime++; |
| | | var jsonObjs = { |
| | | type: 2, |
| | | data: { |
| | | qrcode: _this.inputSSS, |
| | | }, |
| | | }; |
| | | var jStrs = JSON.stringify(jsonObjs); |
| | | websocket.send(jStrs); |
| | | }, 1 * 1000); |
| | | } else { |
| | | console.error("重连失败."); |
| | | } |
| | | } |
| | | }; |
| | | websocket.onclose = function () { |
| | | alert("读卡器连接关闭"); |
| | | }; |
| | | websocket.onmessage = function (event) { |
| | | var resultObj = JSON.parse(event.data); |
| | | _this.form.cusName = resultObj.data.name; |
| | | |
| | | if( resultObj.data.nation == "汉族"){ |
| | | _this.form.cusNational ="1"; |
| | | } |
| | | if(resultObj.data.gender == "男"){ |
| | | _this.form.cusSex = 0; |
| | | }else{ |
| | | _this.form.cusSex = 1; |
| | | } |
| | | _this.form.cusBrithday = resultObj.data.birthday; |
| | | if (_this.form.cusBrithday) { |
| | | _this.form.cusBrithday = _this.form.cusBrithday.replace( |
| | | /^(\d{4})(\d{2})(\d{2})$/, |
| | | "$1-$2-$3" |
| | | ); |
| | | } |
| | | _this.form.cusPhone = resultObj.data.phone; |
| | | _this.form.cusIdcard = resultObj.data.idenno; |
| | | if (_this.form.cusIdcard) { |
| | | 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 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.age = age; |
| | | } |
| | | } |
| | | _this.cardreader = false; |
| | | }; |
| | | |
| | | //连接发生错误的回调方法 |
| | | websocket.onerror = function () { |
| | | alert("请检查读卡器连接是否正常"); |
| | | }; |
| | | } |
| | | }, |
| | | |
| | | handleChanges(param1) { |
| | | if(this.form.pacCode == "不详"){ |
| | | if (this.form.pacCode == "不详") { |
| | | this.form.cusIdcard = param1[0].xh; |
| | | }else{ |
| | | } else { |
| | | this.form.cusIdcard = param1[0].pacCode; |
| | | } |
| | | |
| | | |
| | | // this.form.cusName = param1[0].pacName; |
| | | // this.form.cusPhone = param1[0].pacRemark; |
| | | |
| | | }, |
| | | |
| | | // selected(row, index) { |
| | |
| | | this.taocan = false; |
| | | this.malldisble = false; |
| | | this.defaultKeys = []; |
| | | this.DataLists = []; |
| | | }, |
| | | |
| | | cancell() { |
| | | console.log(this.addAddress.address); |
| | | if (this.addAddress.address) { |
| | | this.malldisble = false; |
| | | } else { |
| | |
| | | }, |
| | | |
| | | // 点击多选框获取选中数据 |
| | | handleSelectionChange(selection, row) { |
| | | this.tableData = selection; |
| | | if (selection.length > 1) { |
| | | let del_row = selection.shift(); |
| | | this.$refs.tb.toggleRowSelection(del_row, false); //设置这一行取消选中 |
| | | // handleSelectionChange(selection, row) { |
| | | // this.tableData = selection; |
| | | // if (selection.length > 1) { |
| | | // let del_row = selection.shift(); |
| | | // this.$refs.tb.toggleRowSelection(del_row, false); //设置这一行取消选中 |
| | | // } |
| | | // this.single = selection.length !== 1; |
| | | // this.multiple = !selection.length; |
| | | // this.tableData.forEach((item) => { |
| | | // this.fData = item.tjProjectList; |
| | | // }); |
| | | // if (selection[0]) { |
| | | // this.DataList = []; |
| | | // this.data = JSON.parse(JSON.stringify(this.dXData)); |
| | | // 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; |
| | | // } |
| | | // }, |
| | | |
| | | resetpackage() { |
| | | if (this.form.cusIdcard) { |
| | | var cusId = this.form.cusIdcard; |
| | | } else { |
| | | this.$message.warning("请先填写信息,再选体检内容"); |
| | | } |
| | | // this.single = selection.length !== 1; |
| | | // this.multiple = !selection.length; |
| | | // 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)); |
| | | 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 = []; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | let _this = this; |
| | | _this.pacId = ""; |
| | | this.proIds = []; |
| | | this.tjCategory = "12"; |
| | | let data = { |
| | | cusId, |
| | | pacId: _this.pacId, |
| | | proIds: this.proIds, |
| | | }; |
| | | getaddtTransition(data).then((response) => { |
| | | if (response.code === 200) { |
| | | let cusId = this.form.cusIdcard; |
| | | this.proIds = []; |
| | | getTransitionList(cusId).then((response) => { |
| | | this.tableData1 = response.data; |
| | | this.TotalPrice1 = 0; |
| | | if (this.tableData1.length >= 1) { |
| | | this.list1 = false; |
| | | this.list3 = true; |
| | | } else { |
| | | this.list1 = true; |
| | | |
| | | this.TotalPrice = "0.00"; |
| | | } |
| | | }); |
| | | } |
| | | } else { |
| | | this.treedataList = JSON.parse(JSON.stringify(this.dXData)); |
| | | return; |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | Package() { |
| | | this.taocan = true; |
| | | this.activeNames = "first"; |
| | | let cusSex = this.form.cusSex; |
| | | this.datekey = Date.now(); |
| | | //全部套餐 |
| | | this.loading = true; |
| | | deptTreeSelect(cusSex).then((response) => { |
| | | this.newpacName = response.rows; |
| | | console.log(this.newpacName) |
| | | console.log(this.tableData1) |
| | | try { |
| | | if (this.tableData1.length >= 1) { |
| | | this.newpacName.forEach((item3) => { |
| | |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | } catch (error) { } |
| | | } catch (error) {} |
| | | this.loading = false; |
| | | }); |
| | | this.getData(); |
| | | // this.getData(); |
| | | }, |
| | | |
| | | // checkSelectable(row, index) { |
| | | // if (!row) { return } |
| | | // if (this.tableData1) { |
| | | // if (this.tableData1.length != 0){ |
| | | // for (let j = 0; j < this.tableData1.length; j++) { |
| | | // for (let i = 0; i < row.tjProjectList.length; i++) { |
| | | // if (this.tableData1[j].pacName == "单项") { |
| | | // if (row.tjProjectList[i].proName === this.tableData1[j].parentName) { |
| | | // return false |
| | | // } |
| | | // } |
| | | // } |
| | | // return true |
| | | // } |
| | | // } |
| | | // } else { |
| | | // return true |
| | | // } |
| | | // 点击多选框获取选中数据 |
| | | handleSelectionChange(selection, row) { |
| | | this.tableData = selection; |
| | | if (selection.length > 1) { |
| | | let del_row = selection.shift(); |
| | | this.$refs.tb.toggleRowSelection(del_row, false); //设置这一行取消选中 |
| | | } |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | | if (this.tableData1.length != 0) { |
| | | this.tableData.forEach((item) => { |
| | | this.tableData1.forEach((item1) => { |
| | | item.tjProjectList.forEach((item2) => { |
| | | console.log(item1); |
| | | if (item2.proId == item1.proPrantId && item1.pacName == "单项") { |
| | | this.$confirm( |
| | | "该套餐包含了已选单项,是否确认选择该套餐?", |
| | | "确认信息", |
| | | { |
| | | distinguishCancelAndClose: true, |
| | | confirmButtonText: "确认", |
| | | cancelButtonText: "取消", |
| | | } |
| | | ) |
| | | .then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "请注意查看价格", |
| | | }); |
| | | }) |
| | | .catch((action) => { |
| | | if (action === "cancel") { |
| | | let del_row = selection.shift(); |
| | | this.$refs.tb.toggleRowSelection(del_row, false); |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "已取消", |
| | | }); |
| | | } |
| | | }); |
| | | // this.$message.warning("该套餐包含了已选单项,若选择该套餐,请先删除单项"); |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | if (selection[0]) { |
| | | // this.DataList = []; |
| | | // this.data = JSON.parse(JSON.stringify(this.dXData)); |
| | | // selection[0].tjProjectList.forEach((selectionitem) => { |
| | | // this.Treedata.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 = []; |
| | | // } |
| | | // }); |
| | | // } |
| | | // }); |
| | | // } |
| | | // }); |
| | | // this.TreedataList.forEach((item3) => { |
| | | // if (item3.proParentId == selectionitem.proId) { |
| | | // item.disabled = true; |
| | | // } |
| | | // }); |
| | | // }); |
| | | } else { |
| | | this.treedataList = JSON.parse(JSON.stringify(this.dXData)); |
| | | return; |
| | | } |
| | | }, |
| | | handleClick(tab, event) { |
| | | if (this.activeNames == "second") { |
| | | this.DataList = []; |
| | | this.checkedkey = []; |
| | | this.getDataList(); |
| | | } else if (this.activeNames == "third") { |
| | | this.DataLists = []; |
| | | this.checkedkeys = []; |
| | | getZhList().then((response) => { |
| | | if (response.data) { |
| | | this.packageList = response.data; |
| | | // this.checkedkeys.push(this.packageList[0].id); |
| | | // let datas = { |
| | | // zhId: this.packageList[0].id, |
| | | // }; |
| | | // getlistByZhId(datas).then((res) => { |
| | | // this.packagedataList = res.data.tjProjectList; |
| | | // for (var i = 0; i < this.packagedataList.length; i++) { |
| | | // let proId = this.packagedataList[i].proId; |
| | | // getProSonDxList(proId).then((res) => { |
| | | // this.TreedataList = res.data.list; |
| | | // this.TreedataList.forEach((item) => { |
| | | // this.DataLists.push(item); |
| | | // if (this.DataLists.length >= 1) { |
| | | // this.marryalls = 0; |
| | | // this.DataLists.forEach((item1) => { |
| | | // this.marryalls += item1.proPrice; |
| | | // this.packagedataList.forEach((item3) => { |
| | | // if (item1.proParentId == item3.proId) { |
| | | // item1.propinName = item3.proName; |
| | | // } |
| | | // }); |
| | | // }); |
| | | // } |
| | | // }); |
| | | // }); |
| | | // } |
| | | // }); |
| | | } |
| | | this.loading = false; |
| | | }); |
| | | } |
| | | }, |
| | | // gaibian(val){ |
| | | // console.log(val); |
| | | // let pname = val; |
| | | // console.log(pname); |
| | | // getProParentIdDxList(pname).then(response=>{ |
| | | // this.Treedata = response.data.list; |
| | | // }) |
| | | // }, |
| | | getDataList() { |
| | | this.loading = true; |
| | | getProParentIdDxList().then((response) => { |
| | | this.Treedata = response.data.list; |
| | | if (this.tableData[0]) { |
| | | this.tableData[0].tjProjectList.forEach((selectionitem) => { |
| | | this.Treedata.forEach((item) => { |
| | | if (selectionitem.proId == item.proId) { |
| | | item.disabled = true; |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | // if (this.DataLists.length != 0) { |
| | | // this.DataLists.forEach((selectionitem) => { |
| | | // this.Treedata.forEach((item) => { |
| | | // if (selectionitem.propinName == item.proName) { |
| | | // item.disabled = true; |
| | | // } |
| | | // }); |
| | | // }); |
| | | // } |
| | | // this.checkedkey.push(this.Treedata[0].proId); |
| | | // let proId = this.Treedata[0].proId; |
| | | // getProSonDxList(proId).then((res) => { |
| | | // this.TreedataList = res.data.list; |
| | | // this.TreedataList.forEach((item) => { |
| | | // this.checkedListkey.push(item.proId); |
| | | // this.DataList.push(item); |
| | | // this.DataList.forEach((item) => { |
| | | // item.propinName = this.Treedata[0].proName; |
| | | // }); |
| | | // }); |
| | | // this.TotalPrice1 = 0; |
| | | // this.marryall = 0; |
| | | // if (this.DataList.length != 0) { |
| | | // this.list1 = false; |
| | | // this.DataList.forEach((item) => { |
| | | // this.TotalPrice1 = item.proPrice + this.TotalPrice1; |
| | | // this.marryall += item.proPrice; |
| | | // }); |
| | | // } |
| | | // }); |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | handlepackage(data, checked, checkedNodes) { |
| | | if (checked.checkedNodes.length != 0) { |
| | | this.$refs.treas.setCheckedKeys([data.id]); |
| | | let datas = { |
| | | zhId: data.id, |
| | | }; |
| | | getlistByZhId(datas).then((res) => { |
| | | this.packagedataList = res.data.tjProjectList; |
| | | for (var i = 0; i < this.packagedataList.length; i++) { |
| | | let proId = this.packagedataList[i].proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.TreedataList.forEach((item) => { |
| | | this.DataLists.push(item); |
| | | if (this.DataLists.length >= 1) { |
| | | this.marryalls = 0; |
| | | this.DataLists.forEach((item1) => { |
| | | this.marryalls += item1.proPrice; |
| | | this.packagedataList.forEach((item3) => { |
| | | if (item1.proParentId == item3.proId) { |
| | | item1.propinName = item3.proName; |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | } else if (checked.checkedNodes.length == 0) { |
| | | // for (var i = 0; i < data.tjProjectList.length; i++) { |
| | | // let proId = data.tjProjectList[i].proId; |
| | | // getProSonDxList(proId).then((res) => { |
| | | // this.TreedataList = res.data.list; |
| | | // this.TreedataList.forEach((item) => { |
| | | // this.DataLists.forEach((item1, index) => { |
| | | // if (item.proId == item1.proId) { |
| | | // this.DataLists.splice(index, 1); |
| | | // } |
| | | // }); |
| | | // }); |
| | | // this.marryalls = 0 |
| | | // if(this.DataLists.length != 0){ |
| | | // this.DataLists.forEach((item1, index) => { |
| | | // this.marryalls += item1.proPrice; |
| | | // }) |
| | | // } |
| | | // }); |
| | | // } |
| | | } |
| | | }, |
| | | objectspanmethod({ row, column, rowIndex, columnIndex }) { |
| | | let fields = ["propinName"]; |
| | | let cellValue = row[column.property]; |
| | | if (cellValue && fields.includes(column.property)) { |
| | | let prevRow = this.DataLists[rowIndex - 1]; |
| | | let nextRow = this.DataLists[rowIndex + 1]; |
| | | if (prevRow && prevRow[column.property] === cellValue) { |
| | | return { rowspan: 0, colspan: 0 }; |
| | | } else { |
| | | let countRowspan = 1; |
| | | while (nextRow && nextRow[column.property] === cellValue) { |
| | | nextRow = this.DataLists[++countRowspan + rowIndex]; |
| | | } |
| | | |
| | | if (countRowspan > 1) { |
| | | return { rowspan: countRowspan, colspan: 1 }; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // if (columnIndex == 3) { |
| | | // let rowspan = 0; |
| | | // this.DataLists.forEach((element) => { |
| | | // if (element.propinName === row.propinName) { |
| | | // rowspan++; |
| | | // } |
| | | // }); |
| | | // return [rowspan, 1]; |
| | | // } |
| | | }, |
| | | |
| | | // 点击获取每个树节点 |
| | | handleCurrentChecked(data, checked, checkedNodes) { |
| | | if (checked === true) { |
| | | this.DataList.push(data); |
| | | } else { |
| | | this.DataList.pop(data); |
| | | } |
| | | |
| | | this.proIds = []; |
| | | if (this.DataList.length != 0) { |
| | | this.DataList.forEach((item) => { |
| | | this.proIds.push(item.proId); |
| | | this.dataObj = data; |
| | | if (checked.checkedNodes.length != 0) { |
| | | this.$refs.tree.setCheckedKeys([data.proId]); |
| | | let proId = data.proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.TreedataList.forEach((item) => { |
| | | this.checkedListkey.push(item.proId); |
| | | this.DataList.push(item); |
| | | this.spliceData(); |
| | | this.DataList.forEach((item1) => { |
| | | if (item1.proParentId == data.proId) { |
| | | item1.propinName = data.proName; |
| | | } |
| | | }); |
| | | }); |
| | | this.TotalPrice1 = 0; |
| | | this.marryall = 0; |
| | | if (this.DataList.length != 0) { |
| | | this.list1 = false; |
| | | this.DataList.forEach((item) => { |
| | | // this.TotalPrice1 = item.proPrice + this.TotalPrice1; |
| | | this.marryall += item.proPrice; |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | this.proIds = []; |
| | | } else if (checked.checkedNodes.length == 0) { |
| | | let proId = data.proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.checkedListkey = []; |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | spliceData() { |
| | | for (var i = 0; i < this.DataList.length; i++) { |
| | | for (var j = i + 1; j < this.DataList.length; j++) { |
| | | if (this.DataList[i].proId == this.DataList[j].proId) { |
| | | //如果第一个等于第二个,splice方法删除第二个 |
| | | this.DataList.splice(j, 1); |
| | | j--; |
| | | } |
| | | } |
| | | } |
| | | return this.DataList; |
| | | }, |
| | | |
| | | renderContent(h, { node, data, store }) { |
| | | return ( |
| | | <span class="custom-tree-node"> |
| | | <span>{node.label}</span> |
| | | <span>({data.proPrice}元)</span> |
| | | </span> |
| | | ); |
| | | }, |
| | | renderContents(h, { node, data, store }) { |
| | | return ( |
| | | <span class="custom-tree-node"> |
| | | <span>{node.label}</span> |
| | | <span>({data.price}元)</span> |
| | | </span> |
| | | ); |
| | | }, |
| | | // 点击获取每个树节点 |
| | | handleCurrentChecked1(data, checked, checkedNodes) { |
| | | if (checked == false) { |
| | | this.DataList.forEach((item, index) => { |
| | | if (item.proId == data.proId) { |
| | | this.DataList.splice(index, 1); |
| | | this.marryall = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.marryall += item1.proPrice; |
| | | }); |
| | | } |
| | | }); |
| | | } else if (checked == true) { |
| | | this.DataList.push(data); |
| | | this.DataList.forEach((item1) => { |
| | | if (item1.proParentId == this.dataObj.proId) { |
| | | item1.propinName = this.dataObj.proName; |
| | | } |
| | | }); |
| | | this.spliceData(); |
| | | this.marryall = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.marryall += item1.proPrice; |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | this.DataList.forEach((item, index) => { |
| | | if (item.proId == row.proId) { |
| | | this.DataList.splice(index, 1); |
| | | this.marryall = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.marryall += item1.proPrice; |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | handleDel(row) { |
| | | this.DataLists.forEach((item, index) => { |
| | | if (item.proId == row.proId) { |
| | | this.DataLists.splice(index, 1); |
| | | this.marryalls = 0; |
| | | this.DataLists.forEach((item1) => { |
| | | this.marryalls += item1.proPrice; |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // // 默认接受四个值 { 当前行的值, 当前列的值, 行的下标, 列的下标 } |
| | | objectSpanMethod({ row, column, rowIndex, columnIndex }) { |
| | | let fields = ["propinName"]; |
| | | let cellValue = row[column.property]; |
| | | if (cellValue && fields.includes(column.property)) { |
| | | let prevRow = this.DataList[rowIndex - 1]; |
| | | let nextRow = this.DataList[rowIndex + 1]; |
| | | if (prevRow && prevRow[column.property] === cellValue) { |
| | | return { rowspan: 0, colspan: 0 }; |
| | | } else { |
| | | let countRowspan = 1; |
| | | while (nextRow && nextRow[column.property] === cellValue) { |
| | | nextRow = this.DataList[++countRowspan + rowIndex]; |
| | | } |
| | | if (countRowspan > 1) { |
| | | return { rowspan: countRowspan, colspan: 1 }; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | |
| | | } else { |
| | | _this.pacId = ""; |
| | | } |
| | | this.proIds = []; |
| | | if (this.DataList.length != 0) { |
| | | this.DataList.forEach((item) => { |
| | | this.proIds.push(item.proId); |
| | | }); |
| | | } |
| | | if (this.DataLists.length != 0) { |
| | | this.DataLists.forEach((item) => { |
| | | this.proIds.push(item.proId); |
| | | }); |
| | | } |
| | | let data = { |
| | | cusId, |
| | | pacId: _this.pacId, |
| | | proIds: this.proIds, |
| | | }; |
| | | getaddtTransition(data).then((response) => { |
| | | if (response.code === 200) { |
| | | 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.tjCategory != null) { |
| | | this.tjCategory = item.tjCategory; |
| | | } |
| | | if (item.pacName == "单项") { |
| | | item.list.forEach((item9) => { |
| | |
| | | } else { |
| | | this.TotalPrice = TotalPrice; |
| | | } |
| | | |
| | | this.list1 = false; |
| | | this.list3 = true; |
| | | } else { |
| | | this.list1 = true; |
| | | |
| | | this.TotalPrice = "0.00"; |
| | | } |
| | | }); |
| | |
| | | }); |
| | | this.taocan = false; |
| | | this.defaultKeys = []; |
| | | this.DataLists = []; |
| | | }, |
| | | changeCategoryKeys(val) { |
| | | this.proIds = []; |
| | | this.proIds = val; |
| | | // if (this.DataList.length != 0) { |
| | | // this.DataList.forEach((item) => { |
| | | // this.proIds.push(item.proId); |
| | | // }); |
| | | // } else { |
| | | // this.proIds = []; |
| | | // } |
| | | }, |
| | | // changeCategoryKeys(val) { |
| | | // this.proIds = []; |
| | | // this.proIds = val; |
| | | // if (this.DataList.length != 0) { |
| | | // this.DataList.forEach((item) => { |
| | | // this.proIds.push(item.proId); |
| | | // }); |
| | | // } else { |
| | | // this.proIds = []; |
| | | // } |
| | | // }, |
| | | submitCheckinfee() { |
| | | let _this = this; |
| | | let List = _this.tableData1; //单个项目信息 |
| | | if (this.responseList.cusId) { |
| | | var userId = this.responseList.cusId; |
| | | } else { |
| | | var userId = _this.form.cusId; |
| | | } |
| | | let tjType = _this.form.tjType; |
| | | if (this.tableData[0]) { |
| | | var pacId = this.tableData[0].pacId; |
| | | } |
| | | |
| | | //tjOrderList//这个是处理完的每一项套餐信息 |
| | | List.forEach((item) => { |
| | | if (item.list) { |
| | | item.list.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.nowPrice, |
| | | proId: item1.proId, |
| | | }); |
| | | }); |
| | | } else if (item.tjProjectList) { |
| | | item.tjProjectList.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.priceNow, |
| | | proId: item1.proId, |
| | | }); |
| | | }); |
| | | if (_this.tjCategory !== "") { |
| | | let List = _this.tableData1; //单个项目信息 |
| | | if (this.responseList.cusId) { |
| | | var userId = this.responseList.cusId; |
| | | } else { |
| | | this.tjOrderList.push({ |
| | | proName: item.proName, |
| | | proPrice: item.ysPrice, |
| | | proId: item.proId, |
| | | }); |
| | | var userId = _this.form.cusId; |
| | | } |
| | | }); |
| | | let copeWith = this.TotalPrice1; |
| | | let paidIn = this.TotalPrice.toString(); |
| | | let discount = this.discount; |
| | | this.tjFlowingWater = { copeWith, paidIn, discount }; |
| | | let tjType = _this.form.tjType; |
| | | if (this.tableData[0]) { |
| | | var pacId = this.tableData[0].pacId; |
| | | } |
| | | |
| | | let data; |
| | | if (pacId || this.getType == "2") { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | pacId, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | getType: this.getType, |
| | | addAddress: this.addAddress, |
| | | tjCategory: this.tjCategory, |
| | | }; |
| | | } else { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | getType: this.getType, |
| | | tjCategory: this.tjCategory, |
| | | }; |
| | | } |
| | | getOrder(data).then((res) => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | this.tjNumbers = res.msg; |
| | | this.charge = true; |
| | | let data = { |
| | | 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 |
| | | ); |
| | | //tjOrderList//这个是处理完的每一项套餐信息 |
| | | List.forEach((item) => { |
| | | if (item.list) { |
| | | item.list.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.nowPrice, |
| | | proId: item1.proId, |
| | | }); |
| | | } else { |
| | | this.$refs.multipleTable.clearSelection(); |
| | | } |
| | | this.loading = false; |
| | | }); |
| | | } else if (item.tjProjectList) { |
| | | item.tjProjectList.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.priceNow, |
| | | proId: item1.proId, |
| | | }); |
| | | }); |
| | | } else { |
| | | this.feeitems = []; |
| | | this.loading = false; |
| | | this.tjOrderList.push({ |
| | | proName: item.proName, |
| | | proPrice: item.ysPrice, |
| | | proId: item.proId, |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | let copeWith = this.TotalPrice1; |
| | | let paidIn = this.TotalPrice.toString(); |
| | | let discount = this.discount; |
| | | this.tjFlowingWater = { copeWith, paidIn, discount }; |
| | | |
| | | let data; |
| | | if (pacId || this.getType == "2") { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | pacId, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | getType: this.getType, |
| | | addAddress: this.addAddress, |
| | | tjCategory: this.tjCategory, |
| | | }; |
| | | } else { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | getType: this.getType, |
| | | tjCategory: this.tjCategory, |
| | | }; |
| | | } |
| | | getOrder(data).then((res) => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | this.tjNumbers = res.msg; |
| | | this.charge = true; |
| | | let data = { |
| | | 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 = []; |
| | | this.loading = false; |
| | | } |
| | | }); |
| | | }); |
| | | } else { |
| | | this.$modal.msgError("请选择体检类别"); |
| | | } |
| | | }, |
| | | |
| | | // 表格单选 |
| | | handleSelect(selection, val) { |
| | | console.log(selection, val); |
| | | this.selectionList = this.$refs.multipleTable.selection; |
| | | this.selectionList.forEach((item) => { |
| | | this.formIn.name = item.tjName; |
| | |
| | | } |
| | | }, |
| | | |
| | | // 最后提交按钮 |
| | | submitPrice() { |
| | | let _this = this; |
| | | let List = _this.tableData1; //单个项目信息 |
| | | if (this.responseList.cusId) { |
| | | var userId = this.responseList.cusId; |
| | | } else { |
| | | var userId = _this.form.cusId; |
| | | } |
| | | let tjType = _this.form.tjType; |
| | | if (this.tableData[0]) { |
| | | var pacId = this.tableData[0].pacId; |
| | | } |
| | | |
| | | //tjOrderList//这个是处理完的每一项套餐信息 |
| | | List.forEach((item) => { |
| | | if (item.list) { |
| | | item.list.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.nowPrice, |
| | | proId: item1.proId, |
| | | }); |
| | | }); |
| | | } else if (item.tjProjectList) { |
| | | item.tjProjectList.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.priceNow, |
| | | proId: item1.proId, |
| | | }); |
| | | }); |
| | | } else { |
| | | this.tjOrderList.push({ |
| | | proName: item.proName, |
| | | proPrice: item.ysPrice, |
| | | proId: item.proId, |
| | | }); |
| | | } |
| | | }); |
| | | let copeWith = this.TotalPrice1; |
| | | let paidIn = this.TotalPrice.toString(); |
| | | let discount = this.discount; |
| | | this.tjFlowingWater = { copeWith, paidIn, discount }; |
| | | |
| | | let data; |
| | | if (pacId) { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | pacId, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | tjCategory:this.tjCategory |
| | | }; |
| | | } else { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | tjCategory:this.tjCategory |
| | | }; |
| | | } |
| | | listgetOrder(data) { |
| | | getOrder(data).then((res) => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | // this.dialogVisibles = true; |
| | |
| | | const viewNum = "792931586196398080"; |
| | | const params = { viewNum, tjNumber }; |
| | | this.$tab.openPage("导诊单", "/report/breDailyReport", params); |
| | | _this.confirm = true; |
| | | this.confirm = true; |
| | | }); |
| | | this.$tab.refreshPage(); |
| | | }, |
| | | |
| | | // 最后提交按钮 |
| | | submitPrice() { |
| | | let _this = this; |
| | | if (_this.tjCategory !== "") { |
| | | let List = _this.tableData1; //单个项目信息 |
| | | if (this.responseList.cusId) { |
| | | var userId = this.responseList.cusId; |
| | | } else { |
| | | var userId = _this.form.cusId; |
| | | } |
| | | let tjType = _this.form.tjType; |
| | | if (this.tableData[0]) { |
| | | var pacId = this.tableData[0].pacId; |
| | | } |
| | | |
| | | //tjOrderList//这个是处理完的每一项套餐信息 |
| | | List.forEach((item) => { |
| | | if (item.list) { |
| | | item.list.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.nowPrice, |
| | | proId: item1.proId, |
| | | }); |
| | | }); |
| | | } else if (item.tjProjectList) { |
| | | item.tjProjectList.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.priceNow, |
| | | proId: item1.proId, |
| | | }); |
| | | }); |
| | | } else { |
| | | this.tjOrderList.push({ |
| | | proName: item.proName, |
| | | proPrice: item.ysPrice, |
| | | proId: item.proId, |
| | | }); |
| | | } |
| | | }); |
| | | let copeWith = this.TotalPrice1; |
| | | let paidIn = this.TotalPrice.toString(); |
| | | let discount = this.discount; |
| | | this.tjFlowingWater = { copeWith, paidIn, discount }; |
| | | |
| | | let data; |
| | | if (pacId || this.tjOrderList.length > 0) { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | pacId, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | tjCategory: this.tjCategory, |
| | | }; |
| | | this.listgetOrder(data); |
| | | } else if (pacId || this.tjOrderList.length > 0) { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | tjCategory: this.tjCategory, |
| | | }; |
| | | this.listgetOrder(data); |
| | | } else { |
| | | this.$message({ |
| | | type: "warning ", |
| | | message: "请选择套餐!", |
| | | }); |
| | | } |
| | | } else { |
| | | this.$modal.msgError("请选择体检类别"); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | |
| | | <style > |
| | | <style> |
| | | .el-form-item__error { |
| | | display: none; |
| | | } |
| | | |
| | | .el-col-19 { |
| | | width: 80.166667%; |
| | | } |
| | | |
| | | .el-table__header-wrapper .el-checkbox { |
| | | display: none; |
| | | } |
| | |
| | | width: 100%; |
| | | display: flex; |
| | | } |
| | | |
| | | .tab3 { |
| | | width: 100%; |
| | | display: flex; |
| | | border: 1px solid #dcdfe6; |
| | | } |
| | | |
| | | .filter-tree { |
| | | /* max-height: 360px; |
| | | overflow-y: auto; |
| | | border: 1px solid #d9d9d9; */ |
| | | overflow: auto; |
| | | flex: 1; |
| | | height: 350px; |
| | | } |
| | | |
| | | .tab2 { |
| | |
| | | .content { |
| | | margin-bottom: 25px; |
| | | } |
| | | .tab8 { |
| | | width: 100%; |
| | | display: flex; |
| | | } |
| | | </style> |
| | | |