| | |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | label-width="84px" |
| | | label-width="106px" |
| | | > |
| | | <el-form-item |
| | | label="姓名" |
| | |
| | | }, |
| | | ]" |
| | | > |
| | | <el-input v-model="form.cusName" placeholder="请输入姓名" /> |
| | | <el-input v-model="form.cusName" placeholder="请输入姓名" style="width: 99%;"/> |
| | | </el-form-item> |
| | | <el-form-item label="性别" prop="cusSex"> |
| | | <el-select |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="证件类型" prop="idType"> |
| | | <el-select v-model="form.idType" placeholder="请选择证件类型"> |
| | | <el-select v-model="form.idType" placeholder="请选择证件类型" style="width: 93%;"> |
| | | <el-option |
| | | v-for="dict in dict.type.dict_user_cardtype" |
| | | :key="dict.value" |
| | |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | label-width="84px" |
| | | label-width="106px" |
| | | > |
| | | <el-form-item label="民族" prop="cusNational"> |
| | | <el-select |
| | | filterable |
| | | v-model="form.cusNational" |
| | | placeholder="请选择民族" |
| | | style="width: 96%" |
| | | > |
| | | <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 |
| | | label="电话" |
| | | prop="cusPhone" |
| | | :rules="[ |
| | | { |
| | | required: true, |
| | | validator: (rule, value, callback) => { |
| | | if (!form.cusPhone) { |
| | | callback(''); |
| | | } else if (form.cusPhone) { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'blur', |
| | | }, |
| | | ]" |
| | | > |
| | | <el-input v-model="form.cusPhone" placeholder="请输入电话" /> |
| | | </el-form-item> |
| | | <el-form-item label="婚姻" prop="cusMarryStatus"> |
| | | |
| | | <el-form-item label="婚姻" prop="cusMarryStatus" > |
| | | <el-select |
| | | v-model="form.cusMarryStatus" |
| | | placeholder="请选择婚姻状况" |
| | |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | label-width="84px" |
| | | label-width="106px" |
| | | > |
| | | |
| | | <el-form-item |
| | | label="电话" |
| | | prop="cusPhone" |
| | | :rules="[ |
| | | { |
| | | required: true, |
| | | validator: (rule, value, callback) => { |
| | | if (!form.cusPhone) { |
| | | callback(''); |
| | | } else if (form.cusPhone) { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'blur', |
| | | }, |
| | | ]" |
| | | > |
| | | <el-input v-model="form.cusPhone" placeholder="请输入电话" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="邮箱" prop="cusEmail"> |
| | | <el-form-item label="邮箱" prop="cusEmail"> |
| | | <el-input v-model="form.cusEmail" placeholder="请输入邮箱" /> |
| | | </el-form-item> |
| | | <el-form-item label="民族" prop="cusNational"> |
| | | <el-select |
| | | filterable |
| | | v-model="form.cusNational" |
| | | placeholder="请选择民族" |
| | | style="width: 93%;" |
| | | > |
| | | <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="age"> |
| | | <el-input |
| | | v-model="form.age" |
| | | :disabled="isDisabled" |
| | | style="width: 30%" |
| | | style="width: 28%" |
| | | /> |
| | | <el-select |
| | | :disabled="isDisabled" |
| | |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | label-width="84px" |
| | | label-width="106px" |
| | | > |
| | | <el-form-item label="卡号" prop="indexCard"> |
| | | <el-input v-model="form.indexCard" placeholder="请输入卡号" /> |
| | |
| | | <el-form-item label="体检类型" prop="tjType"> |
| | | <el-select |
| | | v-model="form.tjType" |
| | | placeholder="请选择体检类型" |
| | | style="width: 94%" |
| | | placeholder="请选择体检类型" style="width: 94%;" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_team" |
| | |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | label-width="84px" |
| | | label-width="106px" |
| | | > |
| | | <el-form-item label="单位" prop="company"> |
| | | <el-input v-model="form.company" placeholder="请输入工作单位" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="部门" prop="department"> |
| | | <el-input v-model="form.department" placeholder="请输入部门" /> |
| | | </el-form-item> |
| | | <el-form-item label="体检类别" prop="category"> |
| | | <el-select v-model="form.category" placeholder="请选择体检类别"> |
| | | <el-select v-model="form.category" placeholder="请选择体检类别" style="width: 95%;"> |
| | | <el-option |
| | | v-for="dict in dict.type.dict_tjtype" |
| | | :key="dict.value" |
| | |
| | | </el-select> |
| | | <!-- <el-input v-model="form.category" placeholder="请输入体检类别" /> --> |
| | | </el-form-item> |
| | | <el-form-item label="部门" prop="department"> |
| | | <el-input v-model="form.department" placeholder="请输入部门" /> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | <el-form |
| | | style="margin: 4px 8px" |
| | |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | label-width="84px" |
| | | label-width="106px" |
| | | > |
| | | <el-form-item label="现住地址" prop="cusAddr"> |
| | | <el-input v-model="form.cusAddr" placeholder="请输入现居住地址" /> |
| | | </el-form-item> |
| | | <el-form-item label="预约日期" prop="reservationTime"> |
| | | <el-date-picker |
| | | v-model="form.reservationTime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="选择日期" |
| | | :picker-options="setDisabled" |
| | | style="width: 94%" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="预约时间" prop="timeRegion"> |
| | | <el-form-item label="预约时间" prop="timeRegion" > |
| | | <el-select |
| | | v-model="form.timeRegion" |
| | | placeholder="请选择预约时间" |
| | | style="width: 94%" |
| | | placeholder="请选择预约时间" style="width: 95%;" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.tj_time_region" |
| | |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="预约日期" prop="reservationTime"> |
| | | <el-date-picker |
| | | v-model="form.reservationTime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="选择日期" |
| | | :picker-options="setDisabled" |
| | | style="width: 88%" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | </div> |
| | | </el-col> |
| | |
| | | <el-dialog |
| | | title="选择套餐" |
| | | :visible.sync="taocan" |
| | | width="59%" |
| | | width="80%" |
| | | height="700px" |
| | | > |
| | | <el-tabs |
| | | type="border-card" |
| | | style="height: 538px; margin: 0 10px; width: 100%" |
| | | @tab-click="handleClick" |
| | | v-model="activeNames" |
| | | > |
| | | <el-tab-pane label="套餐"> |
| | | <el-tab-pane label="套餐" name="first"> |
| | | <el-form |
| | | :model="queryParam" |
| | | ref="queryForm" |
| | |
| | | class="el-icon-d-arrow-right"></i></el-button> --> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="单项"> |
| | | <div class="tab8"> |
| | | <el-tab-pane label="单项" name="second" > |
| | | <div class="tab8" > |
| | | <!-- <div class="tab7"> |
| | | <v-tree-transfer |
| | | :treeData="treedataList" |
| | |
| | | @check-change="handleCurrentChecked"> |
| | | </el-tree> --> |
| | | <!-- </div> --> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"> |
| | | <el-row :gutter="20" style="width:100%"> |
| | | <el-col :span="8"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | |
| | | :default-checked-keys="checkedkey" |
| | | :filter-node-method="filterNode" |
| | | ref="tree" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | |
| | | show-checkbox |
| | | @check-change="handleCurrentChecked1" |
| | | :default-checked-keys="checkedListkey" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <el-collapse v-model="activeName" accordion v-if="list1"> |
| | | <div> |
| | | <el-collapse-item title="请选择项目"> |
| | |
| | | </el-collapse-item> |
| | | </div> |
| | | </el-collapse> |
| | | <h3 v-else style="font-weight: 600;">合计:{{ marryall }}元</h3> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-form |
| | | :model="form" |
| | | :inline="true" |
| | | label-width="75px" |
| | | label-width="100px" |
| | | style="margin-left: 10px" |
| | | > |
| | | <el-form-item label="应收金额" style="margin-right: 20px"> |
| | |
| | | placeholder="应收金额" |
| | | :value="TotalPrice1 + '.00'" |
| | | disabled |
| | | style="width: 150px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="优惠折扣" style="margin-right: 20px"> |
| | |
| | | <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="实收金额" style="margin-right: 20px"> |
| | | <el-form-item label="实收金额" > |
| | | <el-input |
| | | placeholder="实收金额" |
| | | v-model="TotalPrice" |
| | | disabled |
| | | style="width: 190px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="Package" size="mini" |
| | | >选择套餐</el-button |
| | | > |
| | | |
| | | <el-button |
| | | type="primary" |
| | | @click="resetpackage" |
| | | size="mini" |
| | | >重置套餐</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click="submitPrice" |
| | |
| | | border: 1px solid #e6ebf5; |
| | | max-height: 420px; |
| | | overflow: auto; |
| | | width: 1020px; |
| | | margin-left: 20px; |
| | | width: 950px; |
| | | margin-left: 25px; |
| | | " |
| | | > |
| | | <el-collapse v-model="index" accordion> |
| | |
| | | ".00元)" |
| | | }} |
| | | </template> |
| | | <el-button |
| | | type="primary" |
| | | @click="candelete(item)" |
| | | style="margin: 5px" |
| | | >删 除</el-button |
| | | > |
| | | <el-table |
| | | :data="item.list" |
| | | border |
| | |
| | | getaddTj, |
| | | getHistryTjOrderByCusIdCard, |
| | | getHistryTjOrderProByCusIdCard, |
| | | delTbBycusCardIdAndProId, |
| | | } from "@/api/system/tijian"; |
| | | import { MessageBox } from "element-ui"; |
| | | import VTreeTransfer from "../tijian/TreeTransfer.vue"; |
| | |
| | | // } |
| | | // }; |
| | | return { |
| | | marryall: 0, |
| | | filterText: "", |
| | | proIdList: [], |
| | | tableDatas: [], |
| | |
| | | /** 照相机弹窗模块-start */ |
| | | videoWidth: 200, |
| | | videoHeight: 200, |
| | | activeNames: 'first', |
| | | // canvasWidth:300, |
| | | // canvasHeight:300, |
| | | imgSrc: "", |
| | |
| | | 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"; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.proName.indexOf(value) !== -1; |
| | | // return data.proName.indexOf(value) !== -1; |
| | | if(value == data.proName){ |
| | | return data.proName.indexOf(value) !== -1; |
| | | }else{ |
| | | return data.proEngName.indexOf(value) !== -1; |
| | | } |
| | | }, |
| | | cope() { |
| | | let cusIdCard = this.form.cusIdcard; |
| | |
| | | // return true; |
| | | // } |
| | | // }, |
| | | resetpackage(){ |
| | | if (this.form.cusIdcard) { |
| | | var cusId = this.form.cusIdcard; |
| | | } else { |
| | | this.$message.warning("请先填写信息,再选体检内容"); |
| | | } |
| | | let _this = this; |
| | | _this.pacId = ""; |
| | | this.proIds = []; |
| | | 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"; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | Package() { |
| | | this.taocan = true; |
| | | let cusSex = this.form.cusSex; |
| | | this.activeNames="first" |
| | | this.datekey = Date.now(); |
| | | //全部套餐 |
| | | this.loading = true; |
| | |
| | | this.getDataList(); |
| | | } |
| | | }, |
| | | renderContent(h, { node, data, store }) { |
| | | return ( |
| | | <span class="custom-tree-node"> |
| | | <span>{node.label}</span> |
| | | <span>({data.proPrice}元)</span> |
| | | </span> |
| | | ); |
| | | }, |
| | | getDataList() { |
| | | this.loading = true; |
| | | getProParentIdDxList().then((response) => { |
| | |
| | | }); |
| | | }); |
| | | 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.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; |
| | | }); |
| | | } |
| | | }); |
| | |
| | | if (item.proId == data.proId) { |
| | | this.DataList.splice(index, 1); |
| | | this.TotalPrice1 = 0; |
| | | this.marryall = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | this.marryall += item1.proPrice; |
| | | }); |
| | | } |
| | | }); |
| | |
| | | }); |
| | | this.spliceData(); |
| | | this.TotalPrice1 = 0; |
| | | this.marryall = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | this.marryall += item1.proPrice; |
| | | }); |
| | | } |
| | | }, |
| | |
| | | this.DataList.forEach((item, index) => { |
| | | if (item.proId == row.proId) { |
| | | this.DataList.splice(index, 1); |
| | | this.marryall = 0; |
| | | this.TotalPrice1 = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | this.marryall += item1.proPrice; |
| | | }); |
| | | } |
| | | }); |