| | |
| | | }) |
| | | } |
| | | |
| | | |
| | | // 体检记录页面恢复预约记录接口 |
| | | export function huifuyuyuejilu(data) { |
| | | return request({ |
| | | url: '/hosp/order/huifuyuyuejilu', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | export function getTjrWnJuanMoBan(tjCategory) { |
| | | return request({ |
| | | url: '/hosp/surveyTemplate/getTjrWnJuanMoBan', |
| | |
| | | >强制撤销</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="ResumeAppointment" |
| | | :disabled="multiple" |
| | | >恢复预约</el-button |
| | | > |
| | | </el-col> |
| | | <right-toolbar |
| | | :showSearch.sync="showSearch" |
| | | @queryTable="getList" |
| | |
| | | getOrderList, |
| | | getNewDateList, |
| | | revokeTjOrderByTjNum, |
| | | huifuyuyuejilu, |
| | | getTransitionInfo, |
| | | getBlproByTjh, |
| | | revokeBlProByBldhAndTjh, |
| | |
| | | activeNames: "first", |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | tjNUms:[], |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | userId: "", |
| | |
| | | }); |
| | | }, |
| | | |
| | | ResumeAppointment(){ |
| | | this.isLoading = true; |
| | | this.$confirm("您确认要恢复预约?", "确认信息", { |
| | | distinguishCancelAndClose: true, |
| | | confirmButtonText: "确认", |
| | | cancelButtonText: "取消", |
| | | }) |
| | | .then(() => { |
| | | huifuyuyuejilu(this.tjNUms).then((res) => { |
| | | this.$modal.msgSuccess("恢复成功"); |
| | | // this.isLoading = false; |
| | | this.getList(); |
| | | }); |
| | | }) |
| | | .catch((action) => { |
| | | if (action === "cancel") { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "已取消", |
| | | }); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | // 不论操作成功还是失败,都会执行 |
| | | this.isLoading = false; |
| | | }); |
| | | }, |
| | | |
| | | handleRevoke() { |
| | | this.isLoading = true; |
| | | this.$confirm("您确认要撤销?", "确认信息", { |
| | |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | let tjNUms = selection.map((item) => item.tjNumber); |
| | | this.tjNUms = selection.map((item) => item.tjNumber); |
| | | selection.forEach((item) => { |
| | | this.orderIds = item.orderId; |
| | | this.tjnumbers = item.tjNumber; |
| | |
| | | cusBrithday: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | cusAddr: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | // cusAddr: [ |
| | | // { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | // ], |
| | | cusPhone: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | |
| | | methods: { |
| | | handleQuery() { |
| | | this.loading = true; |
| | | this.selectList = []; |
| | | getCusTomterListByCompId(this.objs).then((res) => { |
| | | this.userList = res.data; |
| | | this.loading = false; |
| | |
| | | addPlOrderAndDetail(data).then((res) => { |
| | | this.open2 = false; |
| | | this.$modal.msgSuccess("签到成功"); |
| | | if (res.file) { |
| | | let base64 = res.file; |
| | | this.base64ToBlob({ |
| | | b64data: base64, |
| | |
| | | this.url = window.webkitURL.createObjectURL(res.preview); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | this.handleQuery(); |
| | | this.selectList = []; |
| | | }); |
| | |
| | | > |
| | | <!-- v-hasPermi="['reservation:reservation:remove']" --> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="Groupsignin" |
| | | >团体签到</el-button |
| | | > |
| | | <!-- v-hasPermi="['reservation:reservation:remove']" --> |
| | | </el-col> |
| | | <right-toolbar |
| | | :showSearch.sync="showSearch" |
| | | @queryTable="getList" |
| | |
| | | </template> |
| | | </el-drawer> |
| | | |
| | | |
| | | <el-dialog |
| | | title="PDF 预览" |
| | | :visible.sync="dialogVisible" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div class="main"> |
| | | <iframe |
| | | id="printIframe" |
| | | :src="url" |
| | | frameborder="0" |
| | | style="width: 100%; height: 100%" |
| | | ></iframe> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="open2" |
| | | width="800px" |
| | | append-to-body |
| | | > |
| | | <el-form ref="form" :model="forms" label-width="100px" :inline="true"> |
| | | <el-form-item label="体检类别"> |
| | | <el-select |
| | | style="width: 150px" |
| | | v-model="forms.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> |
| | | <div slot="footer" class="dialog-footer2"> |
| | | <el-button type="primary" @click="submitType">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <div |
| | | style=" |
| | | position: absolute; |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { addComp } from "@/api/system/comp"; |
| | | import { addComp, |
| | | addPlOrderAndDetail } from "@/api/system/comp"; |
| | | import Big from "big.js"; |
| | | |
| | | import { |
| | | listReservation, |
| | | gettjCancel, |
| | |
| | | ], |
| | | data() { |
| | | let checkPhoneNum = (rule, value, callback) => { |
| | | console.log(value); |
| | | let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); |
| | | if (value == "" && value == undefined && !value) { |
| | | return callback(""); |
| | |
| | | dialogVisibles: false, |
| | | src: "", |
| | | url: "", |
| | | open2: false, |
| | | forms: { |
| | | tjCategory:null |
| | | }, |
| | | dialogVisible: false, |
| | | /** 照相机弹窗模块-start */ |
| | | videoWidth: 200, |
| | |
| | | // 是否显示弹出层 |
| | | |
| | | pacId: "", |
| | | cusIds:[], |
| | | // 结果 |
| | | result: "", |
| | | proIds: [], |
| | |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.open2 = false; |
| | | this.reset(); |
| | | }, |
| | | |
| | |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.cusIds = selection.map((item) => item.idCard); |
| | | selection.forEach((item) => { |
| | | this.fmobj = item; |
| | | }); |
| | | console.log(this.fmobj); |
| | | this.ids = selection.map((item) => item.id); |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | |
| | | |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | console.log(row); |
| | | this.title = "修改体检预约"; |
| | | this.formIn = row; |
| | | this.form.tjType = this.formIn.tjType; |
| | |
| | | this.TotalPrice1 = 0; |
| | | this.tableData1.forEach((item) => { |
| | | this.TotalPrice1 += item.nowPrice; |
| | | console.log(this.discount); |
| | | this.TotalPrice = ( |
| | | this.TotalPrice1 * |
| | | (this.discount / 10) |
| | |
| | | this.treedataList = JSON.parse(JSON.stringify(this.dXData)); |
| | | return; |
| | | } |
| | | }, |
| | | |
| | | Groupsignin() { |
| | | this.open2 = true; |
| | | }, |
| | | |
| | | |
| | | submitType() { |
| | | // let cusIds = []; |
| | | // this.selectList.forEach((item) => { |
| | | // cusIds.push(item.idCard); |
| | | // }); |
| | | let data = { |
| | | cusIds: this.cusIds, |
| | | tjCategory: this.forms.tjCategory, |
| | | }; |
| | | addPlOrderAndDetail(data).then((res) => { |
| | | this.open2 = false; |
| | | this.$modal.msgSuccess("签到成功"); |
| | | if (res.file) { |
| | | |
| | | let base64 = res.file; |
| | | this.base64ToBlob({ |
| | | b64data: base64, |
| | | contentType: "application/pdf", |
| | | }).then((res) => { |
| | | this.dialogVisible = true; |
| | | // 转后后的blob对象 |
| | | try { |
| | | this.url = res.preview; |
| | | } catch (error) { |
| | | this.url = window.webkitURL.createObjectURL(res.preview); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | |
| | | base64ToBlob({ b64data = "", contentType = "", sliceSize = 512 } = {}) { |
| | | return new Promise((resolve, reject) => { |
| | | // 使用 atob() 方法将数据解码 |
| | | let byteCharacters = atob(b64data); |
| | | let byteArrays = []; |
| | | for ( |
| | | let offset = 0; |
| | | offset < byteCharacters.length; |
| | | offset += sliceSize |
| | | ) { |
| | | let slice = byteCharacters.slice(offset, offset + sliceSize); |
| | | let byteNumbers = []; |
| | | for (let i = 0; i < slice.length; i++) { |
| | | byteNumbers.push(slice.charCodeAt(i)); |
| | | } |
| | | // 8 位无符号整数值的类型化数组。内容将初始化为 0。 |
| | | // 如果无法分配请求数目的字节,则将引发异常。 |
| | | byteArrays.push(new Uint8Array(byteNumbers)); |
| | | } |
| | | let result = new Blob(byteArrays, { |
| | | type: contentType, |
| | | }); |
| | | result = Object.assign(result, { |
| | | // jartto: 这里一定要处理一下 URL.createObjectURL |
| | | preview: URL.createObjectURL(result), |
| | | // name: `图片示例.png`, |
| | | }); |
| | | resolve(result); |
| | | }); |
| | | }, |
| | | |
| | | // 点击获取每个树节点 |
| | |
| | | overflow: hidden; |
| | | } |
| | | |
| | | |
| | | |
| | | #printIframe::-webkit-scrollbar { |
| | | width: 6px; |
| | | } |