| | |
| | | <span>{{ parseTime(scope.row.reservationTime, "{y}-{m}-{d}") }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="体检类型" align="center" prop="tjType" width="80px" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="体检类型" align="center" prop="tjType" width="80px" :show-overflow-tooltip="true"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.dict_team" :value="scope.row.tjType" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="婚姻" align="center" prop="marriage" width="60px" :show-overflow-tooltip="true"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.dict_user_marry" :value="scope.row.marriage" /> |
| | |
| | | <el-input v-model="formIn.address" placeholder="请输入现居住地址" style="width: 410px" /> |
| | | </el-form-item> |
| | | <el-form-item label="体检类别" prop="tjCategory"> |
| | | <el-select style="width: 150px" v-model="formIn.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-select style="width: 140px" v-model="formIn.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-form-item> |
| | | <el-form-item label="部门" prop="department"> |
| | | <el-input v-model="formIn.department" placeholder="请输入部门" style="width: 160px" /> |
| | |
| | | <el-tab-pane label="单项"> |
| | | <div class="tab3"> |
| | | <div class="tab2"> |
| | | <el-tree :data="data" show-checkbox node-key="proId" :props="defaultProps" |
| | | @check-change="handleCurrentChecked"> |
| | | </el-tree> |
| | | <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" |
| | | @check-change="handleCurrentChecked"> |
| | | </el-tree>--> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="nowPrice" label="实收金额"> |
| | | </el-table-column> |
| | | <el-table-column prop="isEat" label="空腹"> |
| | | <el-table-column prop="proCheckMethod" label="空腹"> |
| | | </el-table-column> |
| | | |
| | | </el-table> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="nowPrice" label="实收金额"> |
| | | </el-table-column> |
| | | <el-table-column prop="isEat" label="空腹"> |
| | | <el-table-column prop="proCheckMethod" label="空腹"> |
| | | </el-table-column> |
| | | |
| | | </el-table> |
| | |
| | | <el-form-item label="卡号" prop="indexCard"> |
| | | <el-input v-model="formIn.indexCard" placeholder="请输入卡号" style="width: 190px" /> |
| | | </el-form-item> |
| | | <el-button type="primary" @click="taocan = true" size="mini">选择套餐</el-button> |
| | | <el-button type="primary" @click="Package" size="mini">选择套餐</el-button> |
| | | </el-form> |
| | | </div> |
| | | |
| | |
| | | <template slot="empty">数据正在加载中</template> |
| | | <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" /> |
| | | </el-table> |
| | | </div> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="nowPrice" label="实收金额"> |
| | | </el-table-column> |
| | | <el-table-column prop="isEat" label="空腹"> |
| | | <el-table-column prop="proCheckMethod" label="空腹"> |
| | | </el-table-column> |
| | | |
| | | </el-table> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="nowPrice" label="实收金额"> |
| | | </el-table-column> |
| | | <el-table-column prop="isEat" label="空腹"> |
| | | <el-table-column prop="proCheckMethod" label="空腹"> |
| | | </el-table-column> |
| | | |
| | | </el-table> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="nowPrice" label="实收金额"> |
| | | </el-table-column> |
| | | <el-table-column prop="isEat" label="空腹"> |
| | | <el-table-column prop="proCheckMethod" label="空腹"> |
| | | </el-table-column> |
| | | |
| | | </el-table> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { listReservation, gettjCancel, tjReappoint, tjCancelTj, } from "@/api/reservation/reservation"; |
| | | import { listReservation, gettjCancel, tjReappoint, tjCancelTj, getReservation } from "@/api/reservation/reservation"; |
| | | import printJS from "print-js"; |
| | | import { deptTreeSelect, projectGetList, getPackageListName, getaddtTransition, getTransitionList, } from "@/api/system/tijian"; |
| | | import { getCompany, queryCompany } from "@/api/team/tuanti"; |
| | | import user from "@/store/modules/user"; |
| | | import VTreeTransfer from '../../system/tijian/TreeTransfer.vue' |
| | | export default { |
| | | components: { |
| | | VTreeTransfer |
| | | }, |
| | | name: "Reservation", |
| | | dicts: ["dict_user_national", "dict_user_national", "dict_user_marry", "sys_yes_no", |
| | | "sys_user_sex", "dict_team", "tj_time_region", "dict_tjtype", "dict_job", |
| | |
| | | }, |
| | | }, |
| | | taocan: false, |
| | | defaultKeys: [], |
| | | value1: "", |
| | | pacName: "", |
| | | hides: false, |
| | |
| | | thisCancas: null, |
| | | thisContext: null, |
| | | thisVideo: null, |
| | | datekey: Date.now(), |
| | | treedataList: [], |
| | | list: [], |
| | | activeName: "1", |
| | | // 遮罩层 |
| | |
| | | fmobj: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | cusName: [{ required: true, message: "姓名不能为空", trigger: "blur" }], |
| | | cusName: [{ required: true, message: "", trigger: "blur" }], |
| | | cusSex: [ |
| | | { required: true, message: "性别不能为空", trigger: "change" }, |
| | | { required: true, message: "", trigger: "change" }, |
| | | ], |
| | | cusBrithday: [ |
| | | { required: true, message: "出生日期不能为空", trigger: "blur" }, |
| | | { required: true, message: "", trigger: "blur" }, |
| | | ], |
| | | // cusAddr: [ |
| | | // { required: true, message: "现居住地址不能为空", trigger: "blur" }, |
| | | // ], |
| | | cusPhone: [ |
| | | { required: true, message: "联系电话不能为空", trigger: "blur" }, |
| | | { required: true, message: "", trigger: "blur" }, |
| | | ], |
| | | reservationTime: [ |
| | | { required: true, message: "预约日期不能为空", trigger: "change" }, |
| | | { required: true, message: "", trigger: "change" }, |
| | | ], |
| | | timeRegion: [ |
| | | { required: true, message: "时间不能为空", trigger: "blur" }, |
| | | { required: true, message: "", trigger: "blur" }, |
| | | ], |
| | | }, |
| | | options: [ |
| | |
| | | name: [ |
| | | { |
| | | required: true, |
| | | message: "姓名不能为空", |
| | | message: "", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | idCard: [ |
| | | { |
| | | required: true, |
| | | message: "身份证号不能为空", |
| | | message: "", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | phoe: [ |
| | | { |
| | | required: true, |
| | | message: "联系电话不能为空", |
| | | message: "", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | |
| | | // response.rows.forEach((item, index) => |
| | | // {item.newID =(this.queryParams.pageNum - 1) * this.queryParams.pageSize +index +1; |
| | | // }); |
| | | this.reservationList.forEach((item) => { |
| | | if (item.tjType === "2") { |
| | | item.tjType = "个人"; |
| | | } else { |
| | | item.tjType = "团队"; |
| | | } |
| | | if (item.tjCategory === "01") { |
| | | item.tjCategory = "健康体检"; |
| | | } else if (item.tjCategory === "02") { |
| | | item.tjCategory = "职业病体检"; |
| | | } else if (item.tjCategory === "03") { |
| | | item.tjCategory = "公卫体检"; |
| | | } else if (item.tjCategory === "04") { |
| | | item.tjCategory = "入职体检"; |
| | | } else if (item.tjCategory === "05") { |
| | | item.tjCategory = "公务员体检"; |
| | | } else if (item.tjCategory === "06") { |
| | | item.tjCategory = "医保体检"; |
| | | } else if (item.tjCategory === "07") { |
| | | item.tjCategory = "婚检"; |
| | | } else if (item.tjCategory === "09") { |
| | | item.tjCategory = "出入境体检"; |
| | | } |
| | | }); |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | selection.forEach(item =>{ |
| | | this.fmobj = item |
| | | selection.forEach(item => { |
| | | this.fmobj = item |
| | | }) |
| | | console.log(this.fmobj) |
| | | this.ids = selection.map((item) => item.id); |
| | |
| | | handleUpdate(row) { |
| | | this.title = "修改体检预约"; |
| | | this.formIn = row; |
| | | this.form.tjType = this.formIn.tjType |
| | | if (this.formIn.timeRegion === 0) { |
| | | this.formIn.timeRegion = "8:00-9:00"; |
| | | } |
| | |
| | | this.loading = false; |
| | | }); |
| | | } |
| | | let cusId = this.formIn.idCard; |
| | | let id = this.formIn.id; |
| | | this.list1 = true; |
| | | (this.tableData1 = []), |
| | | (this.newpacName = []), |
| | | getTransitionList(cusId).then((response) => { |
| | | getReservation(id).then((response) => { |
| | | if (response.data) { |
| | | this.tableData1 = response.data; |
| | | if (this.tableData1.length != 0) { |
| | | this.TotalPrice1 = 0; |
| | | this.tableData1.forEach((item) => { |
| | | this.TotalPrice1 += item.nowPrice; |
| | | this.TotalPrice = ( |
| | | this.TotalPrice1 * |
| | | (this.discount / 10) |
| | | ).toFixed(2); |
| | | if (item.pacName === null) { |
| | | item.pacName = "单项"; |
| | | let cusId = response.data.idCard; |
| | | getTransitionList(cusId).then((response) => { |
| | | if (response.data) { |
| | | this.tableData1 = response.data; |
| | | if (this.tableData1.length != 0) { |
| | | this.TotalPrice1 = 0; |
| | | this.tableData1.forEach((item) => { |
| | | this.TotalPrice1 += item.nowPrice; |
| | | this.TotalPrice = ( |
| | | this.TotalPrice1 * |
| | | (this.discount / 10) |
| | | ).toFixed(2); |
| | | if (item.pacName === null) { |
| | | item.pacName = "单项"; |
| | | } |
| | | }); |
| | | this.list1 = false; |
| | | this.list3 = true; |
| | | } else { |
| | | this.list1 = true; |
| | | } |
| | | }); |
| | | this.list1 = false; |
| | | this.list3 = true; |
| | | } else { |
| | | this.list1 = true; |
| | | } |
| | | } |
| | | }) |
| | | |
| | | } else { |
| | | this.tableData1 = []; |
| | | this.list3 = false; |
| | |
| | | |
| | | /** 查询部门下拉树结构 */ |
| | | projectGetList().then((response) => { |
| | | this.data = response.data.list; |
| | | this.dXData = response.data; |
| | | this.treedataList = response.data.list; |
| | | this.dXData = response.data.list; |
| | | return; |
| | | }); |
| | | } else { |
| | | this.$message.warning("已过期请重新预约"); |
| | | } |
| | | }, |
| | | changeCategoryKeys(val) { |
| | | this.proIds = []; |
| | | this.proIds = val |
| | | }, |
| | | /** 修改详细按钮操作 */ |
| | | handleUpdate1(row) { |
| | |
| | | |
| | | /** 查询部门下拉树结构 */ |
| | | projectGetList().then((response) => { |
| | | this.data = response.data.list; |
| | | this.dXData = response.data; |
| | | this.treedataList = response.data.list; |
| | | this.dXData = response.data.list; |
| | | return; |
| | | }); |
| | | }, |
| | |
| | | numberChange(currentValue, oldValue) { |
| | | this.discount = currentValue; |
| | | this.TotalPrice = (this.TotalPrice1 * (this.discount / 10)).toFixed(2); |
| | | }, |
| | | |
| | | Package() { |
| | | this.taocan = true; |
| | | this.datekey = Date.now() |
| | | }, |
| | | |
| | | /** 搜索操作 */ |
| | |
| | | this.multiple = !selection.length; |
| | | if (selection[0]) { |
| | | this.DataList = []; |
| | | this.data = JSON.parse(JSON.stringify(this.dXData)); |
| | | this.treedataList = JSON.parse(JSON.stringify(this.dXData)); |
| | | selection[0].tjProjectList.forEach((selectionitem) => { |
| | | this.data.forEach((item) => { |
| | | this.treedataList.forEach((item) => { |
| | | if (selectionitem.proName == item.proName) { |
| | | item.disabled = true; |
| | | item.tjProjectList = []; |
| | |
| | | }); |
| | | }); |
| | | } else { |
| | | this.data = JSON.parse(JSON.stringify(this.dXData)); |
| | | this.treedataList = JSON.parse(JSON.stringify(this.dXData)); |
| | | return; |
| | | } |
| | | }, |