| | |
| | | </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" |
| | |
| | | </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, |
| | |
| | | getIsRequired, |
| | | getconfigKey, |
| | | getHistryTjOrderProByCusIdCard, |
| | | readCertCardInfos, |
| | | } from "@/api/system/tijian"; |
| | | import Packages from "@/components/Packages"; |
| | | import { MessageBox } from "element-ui"; |
| | |
| | | proIdList: [], |
| | | tableDatas: [], |
| | | dialogVisiblese: false, |
| | | cardreaderradio: 3, |
| | | lishi: false, |
| | | table: false, |
| | | HistoryList: {}, |
| | | index: 0, |
| | | names: "", |
| | | inputSSS: "", |
| | | dictType: [ |
| | | { |
| | | value: 0, |
| | |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | cardreader: false, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | nodeobj: {}, |
| | |
| | | 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, |
| | |
| | | }, |
| | | created() { |
| | | this.getCurrentDateTime(); |
| | | |
| | | this.startTimer(); |
| | | this.getList1(); |
| | | // this.getData(); |
| | | }, |
| | | |
| | | methods: { |
| | | getCurrentDateTime() { |
| | | const currentDate = new Date(); |
| | |
| | | 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("请检查读卡器连接是否正常"); |
| | | }; |
| | | } |
| | | }, |
| | | |
| | |
| | | this.tableData.forEach((item) => { |
| | | this.tableData1.forEach((item1) => { |
| | | item.tjProjectList.forEach((item2) => { |
| | | console.log(item1) |
| | | console.log(item1); |
| | | if (item2.proId == item1.proPrantId && item1.pacName == "单项") { |
| | | this.$confirm( |
| | | "该套餐包含了已选单项,是否确认选择该套餐?", |
| | |
| | | ) |
| | | .then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "请注意查看价格", |
| | | }); |
| | | type: "success", |
| | | message: "请注意查看价格", |
| | | }); |
| | | }) |
| | | .catch((action) => { |
| | | if (action === "cancel") { |
| | | let del_row = selection.shift(); |
| | | this.$refs.tb.toggleRowSelection(del_row, false); |
| | | this.$refs.tb.toggleRowSelection(del_row, false); |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "已取消", |
| | |
| | | handleClick(tab, event) { |
| | | if (this.activeNames == "second") { |
| | | this.DataList = []; |
| | | this.checkedkey= []; |
| | | this.checkedkey = []; |
| | | this.getDataList(); |
| | | } else if (this.activeNames == "third") { |
| | | this.DataLists = []; |
| | | this.checkedkeys= []; |
| | | this.checkedkeys = []; |
| | | getZhList().then((response) => { |
| | | if (response.data) { |
| | | this.packageList = response.data; |
| | |
| | | width: 100%; |
| | | display: flex; |
| | | } |
| | | |
| | | .tab3 { |
| | | max-height: 400px; |
| | | border: 1px solid #dcdfe6; |
| | | } |
| | | |
| | | .filter-tree { |
| | | /* max-height: 360px; |
| | | overflow-y: auto; |
| | | border: 1px solid #d9d9d9; |
| | | border: 1px solid #d9d9d9; */ |
| | | overflow: auto; |
| | | flex: 1; |
| | | height: 350px; |
| | | } |
| | | |
| | | .tab2 { |