<template> <view class="Scanning_Result"> <view class="Scanning_top" v-if="res.status == 200"> <view class="Scanning_top_icon"> <view v-if="type == 'specimenPlan' || type == 'specimen'"> <view class="red fweight speNum"> {{ speNum }} </view> </view> <text v-else class="cubeic-ok icon_transport transport-duigou"></text> </view> <view class="Scanning_top_text"> <view class="text1"> 操作成功 </view> <view class="success_tips" v-if="type == 'inspect' || type == 'patientTransport'"> (请您评估患者的意识状况、生命体征、配合程度,如有异常请及时联系护士!) </view> </view> </view> <view class="Scanning_top" v-if="res.status == 11111"> <view class="Scanning_top_icon"> <text class="cubeic-close icon_transport transport-shibai"></text> </view> <view class="Scanning_top_text"> <view class="text1" style="color: red;">操作失败</view> </view> </view> <view class="Scanning_top" v-if="(res.status != 200 && res.status != 11111)"> <view class="Scanning_top_icon"> <text class="cubeic-close icon_transport transport-shibai"></text> </view> <view class="Scanning_top_text"> <view class="text1"> 操作失败 </view> <view class="text1 f30" v-if="queryObj.qrcode !== undefined"> 扫描内容:{{queryObj.qrcode}} </view> </view> </view> <view class="Scanning_cont" v-if=" (res.status == 200 && type == 'specimenPlan') || (res.status == 200 && type == 'specimen') "> <view>{{ infoDATA.stype.name }}({{infoDATA.scode}})</view> <view>检验项目 : {{ infoDATA.specimenDesc || "-" }}</view> <view> {{ infoDATA.sickRoom ? infoDATA.sickRoom.dept : "" }} <text style="width: 4em;text-align: center;margin-left: 1em;margin-right: 1em;" class="icon_transport transport-arrow-right-full"></text> {{ infoDATA.checkDept ? infoDATA.checkDept.dept : "" }} </view> <view>患者姓名 : {{ infoDATA.patientName}}({{infoDATA.bedNum}})</view> <view>住院号 : {{ infoDATA.residenceNo || '-' }}</view> </view> <view class="Scanning_cont" v-if=" (res.status == 11111 && type == 'specimenPlan') || (res.status == 11111 && type == 'specimen') "> <view>{{ infoDATA.stype.name }}({{infoDATA.scode}})</view> <view>检验项目 : {{ infoDATA.specimenDesc || "-" }}</view> <view>标本状态 : <text style="color: red">{{ infoDATA.speState ? infoDATA.speState.name : '' }}</text></view> <view> {{ infoDATA.sickRoom ? infoDATA.sickRoom.dept : "" }} <text style="width: 4em;text-align: center;margin-left: 1em;margin-right: 1em;" class="icon_transport transport-arrow-right-full"></text> {{ infoDATA.checkDept ? infoDATA.checkDept.dept : "" }} </view> <view>患者姓名 : {{ infoDATA.patientName}}({{infoDATA.bedNum}})</view> <view>住院号 : {{ infoDATA.residenceNo || '-' }}</view> </view> <view class="Scanning_cont" v-if=" (res.status == 200 && type == 'inspect') || type == 'patientTransport' "> <view v-if="res.patient"> 患者姓名 : {{ res.patient || "-" }} </view> <view v-if="res.residenceNo"> 住院号 : {{ res.residenceNo || "-" }} </view> <view v-if="res.deptName"> 住院科室 : {{ res.deptName !== "undefined" ? res.deptName : "-" }} </view> <view v-if="res.bedNum"> 床号 : {{ res.bedNum !== "undefined" ? res.bedNum : "-" }} </view> <view v-if="res.data"> 检查项目 : <text v-for="(data, i) in res.data" :key="i">{{ data.inspectName }}</text> </view> <view v-if=" res.status == 200 && infoType != 'ins-zxz-1' && infoType != 'ins-dsd-1' && infoType != 'ins-ddd-1' && infoType != 'trans-ddd-1' && infoType != 'trans-dsd-1' "> {{ res.msg || "" }} </view> <view v-if="infoType == 'trans-dsd-1' && res.status == 200"> 工单已完成 </view> <view v-if="infoType == 'ins-dsd-1' && res.status == 200"> 工单已完成。 </view> <!-- 半程陪检 --> <view v-if="infoDATA.type == 'ins-half-ok' && res.status == 200"> 已到达检查科室,工单已完成。 </view> </view> <view class="Scanning_cont" v-if="res.status == 200 && (type == 'drugsBag' || type == 'jPBag')"> <view> 药包类型 : {{(infoDATA.packType && infoDATA.packType !== 0) ? DRUGSBAG_TYPE[infoDATA.packType] : "-"}} </view> <view v-if="type == 'drugsBag'"> 药包编码 : #{{ infoDATA.packid }} </view> <view v-if="type == 'drugsBag' && accountObj && (queryObj.type1 === 'drug-ddd-2' || queryObj.type1 === 'drug-dsd-2')"> 交接人工号 : {{ accountObj.account }} </view> <view v-if="type == 'drugsBag' && accountObj && (queryObj.type1 === 'drug-ddd-2' || queryObj.type1 === 'drug-dsd-2')"> 交接人姓名 : {{ accountObj.accountName }} </view> <view v-if="type == 'jPBag'"> 静配药包编码 : #{{ infoDATA.packid }} </view> <view> 所属科室 : {{ infoDATA.target.dept || "-" }} </view> <view v-if="infoType === 'drug-dsd-2' || infoType === 'jp-dsd-2'"> 工单已完成。 </view> <view class="red"> 如果您当前科室还有药包需要扫描,请点击“继续扫描”! </view> </view> <view class="Scanning_cont" v-if="res.status != 200"> <view class="Scanning_cont_center" v-if="res.status != 11111"> {{ res.msg === "undefined" || !res.msg ? "" : res.msg }} </view> </view> <view class="foot_btn_spe" v-if=" (type == 'specimen' && isKs != '1') || (type == 'specimenPlan' && isKs != '1') "> <view class="btn1" @click="Scanning_again()"> 继续扫描 </view> <view class="btn3" @click="hand_again()">手动录入</view> <view class="btn3" @click="getNoScanSpecimen(false)">未扫描标本</view> <view class="btn3" @click="getNoScanSpecimen(true)">已扫描标本</view> <view class="btn2" @click="Scanning_complete(dataId)"> 完成扫描 </view> </view> <view class="foot_btn" v-if=" (type != 'specimenPlan' && type != 'specimen' && type != 'drugsBag' && type != 'jPBag' && (type != 'inspect') & (type != 'patientTransport')) || (queryObj.status == 200 && type == 'drugsBag' && infoType == 'drug-ddd-2') || (queryObj.status == 200 && type == 'drugsBag' && infoType == 'drug-dsd-2') || (queryObj.status == 200 && type == 'jPBag' && infoType == 'jp-ddd-2') || (queryObj.status == 200 && type == 'jPBag' && infoType == 'jp-dsd-2') || (queryObj.status == 200 && type == 'inspect') || (queryObj.status == 200 && type == 'patientTransport') "> <view class="btn3" @click="Scanning_again()" v-if="type == 'drugsBag'||type == 'jPBag'"> 继续扫描 </view> <view class="btn3" @click="showAlert(dataId)"> 知道了 </view> </view> <view class="foot_btn" v-if=" (isKs != '1' && queryObj.status != 200 && type == 'drugsBag' && infoType == 'drug-ddd-2') || (isKs != '1' && queryObj.status != 200 && type == 'drugsBag' && infoType == 'drug-dsd-2') || (isKs != '1' && queryObj.status != 200 && type == 'jPBag' && infoType == 'jp-ddd-2') || (isKs != '1' && queryObj.status != 200 && type == 'jPBag' && infoType == 'jp-dsd-2') || (isKs != '1' && queryObj.status != 200 && type == 'inspect') || (isKs != '1' && queryObj.status != 200 && type == 'patientTransport') "> <view class="btn3" @click="Scanning_again()"> 继续扫描 </view> <view class="btn3" @click="showAlert()" v-if="type == 'drugsBag'"> 知道了 </view> <view class="btn3" @click="photograph(queryObj, { DEPTCode, DEPT, infoType })" v-if=" (isKs != '1' && queryObj.status != 200 && type == 'inspect') || (isKs != '1' && queryObj.status != 200 && type == 'patientTransport') "> 拍照 </view> </view> <view class="foot_btn" v-if=" infoType == 'spe-ddd-1' || (isKs == '1' && queryObj.status != 200 && infoType == 'spe-dsd-2') || (isKs == '1' && queryObj.status != 200 && infoType == 'spe-dsd-1') || (isKs == '1' && queryObj.status != 200 && infoType == 'spe-ddd-2') || (isKs == '1' && queryObj.status != 200 && infoType == 'spe-dsd-3') || (isKs == '1' && queryObj.status != 200 && infoType == 'plan-spe-ddd-1') || (isKs == '1' && queryObj.status != 200 && infoType == 'plan-spe-ddd-2') || (isKs == '1' && queryObj.status != 200 && infoType == 'plan-spe-dsd-1') || (isKs == '1' && queryObj.status != 200 && infoType == 'plan-spe-dsd-2') || (isKs == '1' && queryObj.status != 200 && infoType == 'drug-ddd-2') || (isKs == '1' && queryObj.status != 200 && infoType == 'drug-dsd-2') || (isKs == '1' && queryObj.status != 200 && infoType == 'jp-ddd-2') || (isKs == '1' && queryObj.status != 200 && infoType == 'jp-dsd-2') || (isKs == '1' && queryObj.status != 200 && infoType == 'drug-ddd-1') || (isKs == '1' && queryObj.status != 200 && infoType == 'drug-dsd-1') || (isKs == '1' && queryObj.status != 200 && infoType == 'jp-ddd-1') || (isKs == '1' && queryObj.status != 200 && infoType == 'jp-dsd-1') || (isKs == '1' && queryObj.status != 200 && infoType == 'plan-spe-dsd-3') || (isKs == '1' && queryObj.status != 200 && type == 'inspect' && queryObj.type1 === 'undefined') || (isKs == '1' && queryObj.status != 200 && type == 'patientTransport' && queryObj.type1 === 'undefined') "> <view class="btn3" @click="showAlert(dataId)"> 知道了 </view> </view> <view class="foot_btn" v-if=" (isKs == '1' && queryObj.status != 200 && type == 'inspect' && queryObj.type1 === 'ins-zxz-1') || (isKs == '1' && queryObj.status != 200 && type == 'inspect' && queryObj.type1 === 'ins-dsd-1') || (isKs == '1' && queryObj.status != 200 && type == 'patientTransport' && queryObj.type1 === 'trans-dsd-1') "> <view class="btn1" @click="showAlert(dataId)"> 知道了 </view> <view class="btn2" @click="goToRight(dataId)"> 继续执行工单 </view> </view> <!-- 弹窗 --> <showModel :title="models.title" :icon="models.icon" :disjunctor="models.disjunctor" :content="models.content" @ok="ok" @cancel="cancel" :operate="models.operate"></showModel> <!-- 弹窗 --> <showModel :title="models1.title" :icon="models1.icon" :disjunctor="models1.disjunctor" :radioItem="models1.radioItem" @ok="ok1" @radioChange="radioChange1" @cancel="cancel1" :operate="models1.operate"> </showModel> <!-- 弹窗 --> <showModel :title="models2.title" :icon="models2.icon" :disjunctor="models2.disjunctor" :content="models2.content" @ok="ok2" @know="know2" @cancel="cancel2" :operate="models2.operate"> </showModel> <!-- 手动查询标本弹窗 --> <handViewSpecimen v-if="speModels.disjunctor" :title="speModels.title" :disjunctor="speModels.disjunctor" @ok="speOk" @cancel="speCancel"> </handViewSpecimen> <!-- 调查问卷二维码 --> <questionCode v-if="isQuestionModel" :orderId="dataId" @know="isQuestionModel = false"></questionCode> </view> </template> <script> import showModel from "../../components/showModel/showModel.vue"; import questionCode from "../../components/questionCode/questionCode.vue"; import { get, post, SM, webHandle } from "../../http/http.js"; import { photographTool } from "../../tools/photograph.js"; import { DRUGSBAG_TYPE } from '../../tools/enum.drugsbagType.js'; export default { components:{ questionCode }, data() { return { // 调研二维码 isQuestionModel:false, DRUGSBAG_TYPE, currentCode: '', //当前小扫描的科室二维码 // 手动查询标本弹窗model speModels: { disjunctor: false, }, deptId: undefined, handover: undefined, SMFlag: true, // 交接人信息 accountObj: undefined, // 完成扫描的id wcId: "", wcFlag: false, // 弹窗model models: { disjunctor: false, }, // 单选框弹窗model1 models1: { disjunctor: false, }, // 完成扫描弹窗model1 models2: { disjunctor: false, }, isKs: "", //是否科室签到 1 infoDATA: {}, res: {}, infoType: "", DEPTCode: "", RESData: {}, DEPT: "", dataId: "", type: "", model: {}, speNum: 0, queryObj: {}, //路由传递过来的数据 selectRadio: [], //单选框选中的数据,第一项是qrcode,第二项是名称 gotoFlag: true, content: "", taskTypeId:"", }; }, methods: { // 手动查询标本-确认 speOk(data) { console.log(data); if (!data.id) { //没有查询到标本 uni.showModal({ title: '提示', content: "没有查询到标本!", showCancel: false, success: function(res) { if (res.confirm) { console.log('用户点击确定'); } else if (res.cancel) { console.log('用户点击取消'); } } }); return; } this.speModels.disjunctor = false; this.hand_scanning_common(data.scode, 'hand'); }, // 手动查询标本-取消 speCancel() { this.speModels.disjunctor = false; }, // 手动查询标本弹窗 showHandViewSpecimen() { this.speModels = { title: '填写标本编码', disjunctor: true, } }, // 手动录入标本 hand_again() { this.showHandViewSpecimen(); }, // 手动输入标本和扫码公共方法 hand_scanning_common(ress1, type) { // ---------------- uni.showLoading({ title: "加载中", mask: true, }); //检验二维码的有效性 post("/dept/scanning", { content: ress1, }).then((result) => { this.SMFlag = true; this.currentCode = result.code; if (result.state == 200 || result.state == 201) { let codes = result.code; if (codes) { let speCode = codes; let data = { code: speCode, type: this.queryObj.type1, deptCode: this.DEPTCode, ids: [], }; data.ids.push(this.dataId); let postType = ""; if (this.type == "jPBag" || this.type == "drugsBag") { postType = "handleDrugsAndJp"; if(this.type == "drugsBag"){ delete data.ids; } data.deptId = this.deptId; data.handover = this.handover; } if (this.type == "specimen") { data["speCode"] = data.code; delete data.code; postType = "handleSpes"; } if (this.type == "specimenPlan") { data["speCode"] = data.code; delete data.code; postType = "handlePlanSpes"; } if (this.type == "inspect") { postType = "handleIns"; } if (this.type == "patientTransport") { postType = "handleTrans"; } post("/workerOrder/" + postType, data).then((ress) => { uni.hideLoading(); if (ress.status == 200 || ress.status == 11111) { //标本和标本轮巡工单,扫描标本后会自动调用摄像头,继续扫描,直到status不是200 if ((this.type == "specimenPlan" || this.type == "specimen") && ress.status != 11111) { setTimeout(()=>{ if (type === 'scan') { this.Scanning_again(); } },500) } if (this.type == "specimenPlan" || this.type == "specimen") { this.infoDATA = ress.data; this.speNum = ress.specimenCount; uni.redirectTo({ url: `../scanning_Result/scanning_Result?type=${ this.queryObj.type }&type1=${ this.queryObj.type1 }&infoData=${encodeURIComponent( JSON.stringify(ress.data) )}&status=${ress.status}&msg=${ress.msg}&deptCode=${ this.queryObj.deptCode }&dept=${this.queryObj.dept}&id=${this.dataId}&model=${encodeURIComponent(JSON.stringify(ress))}&speNum=${this.speNum}&scanOrHand=${type}`, }); } else if ( this.type == "inspect" || this.type == "patientTransport" ) { if(this.type == "patientTransport" && this.queryObj.type1 == 'trans-ddd-1'){ // 门诊服务点,有orderList if(ress.orderList){ uni.navigateTo({ url: `/pages/outpatient/outpatientStartSignIn/outpatientStartSignIn?model=${encodeURIComponent(JSON.stringify(ress))}`, }); }else{ uni.redirectTo({ url: `../scanning_Result/scanning_Result?type=${ this.queryObj.type }&type1=${ this.queryObj.type1 }&infoData=${encodeURIComponent( JSON.stringify(ress.data) )}&status=${ress.status}&msg=${ress.msg}&deptCode=${ this.queryObj.deptCode }&dept=${this.queryObj.dept}&id=${this.dataId}&model=${encodeURIComponent( JSON.stringify(ress) )}&patient=${ress.patient}&patientCode=${ ress.patientCode }&deptName=${ress.deptName}&bedNum=${ress.bedNum}`, }); } }else if(this.type == "patientTransport" && this.queryObj.type1 == 'trans-dsd-1'){ // 门诊服务点,有orderList if(ress.orderList){ uni.navigateTo({ url: `/pages/outpatient/outpatientEndSignIn/outpatientEndSignIn?model=${encodeURIComponent(JSON.stringify(ress))}`, }); }else{ uni.redirectTo({ url: `../scanning_Result/scanning_Result?type=${ this.queryObj.type }&type1=${ this.queryObj.type1 }&infoData=${encodeURIComponent( JSON.stringify(ress.data) )}&status=${ress.status}&msg=${ress.msg}&deptCode=${ this.queryObj.deptCode }&dept=${this.queryObj.dept}&id=${this.dataId}&model=${encodeURIComponent( JSON.stringify(ress) )}&patient=${ress.patient}&patientCode=${ ress.patientCode }&deptName=${ress.deptName}&bedNum=${ress.bedNum}`, }); } }else{ uni.redirectTo({ url: `../scanning_Result/scanning_Result?type=${ this.queryObj.type }&type1=${ this.queryObj.type1 }&infoData=${encodeURIComponent( JSON.stringify(ress.data) )}&status=${ress.status}&msg=${ress.msg}&deptCode=${ this.queryObj.deptCode }&dept=${this.queryObj.dept}&id=${this.dataId}&model=${encodeURIComponent( JSON.stringify(ress) )}&patient=${ress.patient}&patientCode=${ ress.patientCode }&deptName=${ress.deptName}&bedNum=${ress.bedNum}`, }); } } else { uni.redirectTo({ url: `../scanning_Result/scanning_Result?type=${ this.queryObj.type }&type1=${ this.queryObj.type1 }&infoData=${encodeURIComponent( JSON.stringify(ress.data) )}&status=${ress.status}&msg=${ress.msg}&deptCode=${ this.queryObj.deptCode }&dept=${this.queryObj.dept}&id=${this.dataId}&model=${encodeURIComponent(JSON.stringify(ress))}&accountObj=${encodeURIComponent(JSON.stringify(this.accountObj))}&deptId=${this.deptId}&handover=${this.handover}`, }); } } else { uni.redirectTo({ url: `../scanning_Result/scanning_Result?type=${ this.queryObj.type }&type1=${this.queryObj.type1}&status=${ress.status}&msg=${ ress.msg }&deptCode=${this.queryObj.deptCode}&dept=${ this.queryObj.dept }&id=${this.dataId}&model=${encodeURIComponent( JSON.stringify(this.infoDATA) )}&accountObj=${encodeURIComponent(JSON.stringify(this.accountObj))}&deptId=${this.deptId}&handover=${this.handover}&scanOrHand=${type}&qrcode=${this.currentCode}`, }); } }); } else { uni.hideLoading(); } } else { uni.hideLoading(); uni.showToast({ icon: "none", title: result.info || "接口获取数据失败!", }); } }); // ------------------------------ }, // 查看未扫描标本 // isScan true已扫描标本,false未扫描标本 getNoScanSpecimen(isScan) { if (!this.gotoFlag) { return; } this.gotoFlag = false; if(isScan){ uni.navigateTo({ url: `../noScanSpecimen/noScanSpecimen?deptName=${this.queryObj.dept}&workOrderId=${encodeURIComponent(JSON.stringify([this.queryObj.id]))}&deptCode=${this.queryObj.deptCode}&isScan=1`, }); }else{ uni.navigateTo({ url: `../noScanSpecimen/noScanSpecimen?deptName=${this.queryObj.dept}&workOrderId=${encodeURIComponent(JSON.stringify([this.queryObj.id]))}&deptCode=${this.queryObj.deptCode}`, }); } }, // 拍照 photograph(data, obj) { photographTool(data, obj); }, // 继续扫描 Scanning_again() { if (!this.SMFlag) { return; } this.SMFlag = false; SM().then((ress1) => { this.hand_scanning_common(ress1, 'scan'); }).catch(err => { this.SMFlag = true; }); }, // 正常完成扫描 overFinish() { let data = { type: this.queryObj.type1, ids: [this.wcId], }; //只要是标本轮巡1对多或者多对多 // plan-spe-dsd-2 1对多 // plan-spe-dsd-3 多对多 if ( this.queryObj.type1 === "plan-spe-ddd-2" || this.queryObj.type1 === "plan-spe-dsd-2" || this.queryObj.type1 === "plan-spe-dsd-3" ) { post("/workerOrder/finishPlanSpes", data).then((res) => { // uni.hideLoading() if (res.status == 200) { this.models2 = { disjunctor: true, title: "提示", content: `完成扫描成功`, icon: "success", operate: { know: "知道了", }, }; } else { uni.showToast({ icon: "none", title: res.msg || "接口获取数据失败!", }); } }); } else { post("/workerOrder/finishSpes", data).then((res) => { // uni.hideLoading() if (res.status == 200) { uni.navigateTo({ url: "../receiptpage/receiptpage", }); } else { uni.showToast({ icon: "none", title: res.msg || "接口获取数据失败!", }); } }); } }, // 确定 ok() { this.models.disjunctor = false; let postData = { ids: [this.queryObj.id], sign: true, deptQrCode: this.queryObj.deptCode }; uni.showLoading({ title: '加载中', mask: true }); post("/workerOrder/expectedAndActual", postData).then((ress) => { uni.hideLoading(); if (ress.status == 200) { if (this.wcFlag) { //正常完成扫描 this.overFinish() } else { this.gotoOver(); } } else if (ress.status == 1000035) { let content = ''; if (this.queryObj.type1 === 'spe-ddd-2' || this.queryObj.type1 === 'plan-spe-ddd-2') { //待到达 content = `系统内预计标本<strong class="red">${ress.expectReceiveNum}</strong>只,您扫描收取标本<strong class="red">${ress.actualReceiveNum}</strong>只,其中<strong class="red">${ress.notReceiveNum}</strong>只未扫描;`; } else { //待送达 this.content = `本工单已签到<strong class="red">${ress.scanSet?ress.scanSet.join('、'):''}</strong>,剩余需签到科室<strong class="red">${ress.notScanSet?ress.notScanSet.join('、'):''}</strong>,总签收<strong class="red">${ress.totalAcceptance}</strong>只,剩余<strong class="red">${ress.notAcceptance}</strong>只未签收,您确定完成工单吗?`; content = `您在<strong class="red">${ress.deptName}</strong>检验科扫描了<strong class="red">${ress.deptScanNum}</strong>个标本,还需扫描<strong class="red">${ress.deptNotScanNum}</strong>标本。`; } // 取消弹窗 2022年10月10日 this.ok2(); // this.models2 = { // disjunctor: true, // title: "提示", // content, // icon: "warn", // operate: { // ok: "确定", // cancel: "取消", // }, // }; } else { uni.showToast({ icon: "none", title: ress.msg || "接口获取数据失败!", }); } }) }, // 取消 cancel() { this.models.disjunctor = false; }, // 确定 ok2() { this.models2.disjunctor = false; let postData = { ids: [this.queryObj.id], deptQrCode: this.queryObj.deptCode }; uni.showLoading({ title: '加载中', mask: true }); post("/workerOrder/expectedAndActual", postData).then((ress) => { uni.hideLoading(); if (ress.status == 200) { if (this.wcFlag) { this.overFinish() } else { this.gotoOver(); } } else { uni.showToast({ icon: "none", title: ress.msg || "接口获取数据失败!", }); } }) }, // 取消 cancel2() { this.models2.disjunctor = false; }, know2() { this.models2.disjunctor = false; uni.navigateTo({ url: "../receiptpage/receiptpage", }); }, // 完成扫描 Scanning_complete(id) { // 如果是标本配送和标本轮巡,则进入标本核对页面 if((this.type === 'specimen' || this.type === 'specimenPlan') && this.queryObj.type1.includes('ddd')){ uni.navigateTo({ url: `../checkAfterScanning/checkAfterScanning?id=${id}&type=${this.queryObj.type}&type1=${this.queryObj.type1}&dept=${this.queryObj.dept}&deptId=${this.queryObj.deptId}&deptCode=${this.queryObj.deptCode}&speNum=${this.speNum}&content=${this.content}`, }); return; } this.wcId = id; if ( this.queryObj.type1 == "plan-spe-ddd-2" || this.queryObj.type1 == "spe-ddd-2" ) { this.wcFlag = true; this.models = { disjunctor: true, title: "提示", content: "是否确定标本已扫描完成?", icon: "warn", operate: { ok: "确定", cancel: "取消", }, }; } else if ( this.queryObj.type1 == "plan-spe-dsd-2" || this.queryObj.type1 == "plan-spe-dsd-3" || this.queryObj.type1 == "spe-dsd-2" || this.queryObj.type1 == "spe-dsd-3" ) { this.wcFlag = false; this.models = { disjunctor: true, title: "提示", content: "是否确定标本已扫描完成?", icon: "warn", operate: { ok: "确定", cancel: "取消", }, }; } else { this.gotoOver(); } }, // 跳转完成工单页面 gotoOver() { if(this.queryObj.type === 'specimenPlan'){ uni.navigateTo({ url: `../specimenCheckingEnd/specimenCheckingEnd?type=${this.queryObj.type}&type1=${ this.queryObj.type1 }&id=${encodeURIComponent(JSON.stringify([this.wcId]))}&deptCode=${ this.queryObj.deptCode }&dept=${this.queryObj.dept}&speNum=${this.speNum}&content=${this.content}`, }); }else{ uni.navigateTo({ url: `../scanning/scanning?type=${this.queryObj.type}&type1=${ this.queryObj.type1 }&id=${encodeURIComponent(JSON.stringify([this.wcId]))}&deptCode=${ this.queryObj.deptCode }&dept=${this.queryObj.dept}&speNum=${this.speNum}&content=${this.content}`, }); } }, // 继续执行工单,当扫错科室码的时候,直接跳过,默默执行正确的科室码 goToRight(id) { // flag 为1时查检查科室,flag为2时查终点科室 let flag; // 患者转科,患者陪检 if ( this.queryObj.type1 == "trans-dsd-1" || this.queryObj.type1 == "ins-dsd-1" ) { flag = 2; } if (this.queryObj.type1 == "ins-zxz-1") { flag = 1; } let postData = { workOrderId: id, flag: flag, }; uni.showLoading({ title: "加载中", mask: true, }); post("/workerOrder/continueWorkOrder", postData).then((res) => { uni.hideLoading(); console.log(res); if (res.state == 200) { let radioItem = []; res.data.forEach((item) => { let flag = radioItem.every( (item1) => item1.qrcode !== item.qrcode + "__" + item.deptName ); //如果radioItem里的所有项都与之不重复 if (flag) { radioItem.push({ qrcode: item.qrcode + "__" + item.deptName, deptName: item.deptName, }); } }); this.models1 = { disjunctor: true, title: "请选择正确的科室", radioItem, icon: "", operate: { ok: "确定", cancel: "取消", }, }; } else { uni.showToast({ icon: "none", title: res.msg || "接口获取数据失败!", }); } }); }, // 选中单选框 radioChange1(item) { console.log(item); this.selectRadio = item.split("__"); }, // 确定 ok1() { this.models1.disjunctor = false; if (!this.selectRadio.length) { //默认选中第一项,选中则是选中项 this.selectRadio = [ this.models1.radioItem[0].qrcode.split("__")[0], this.models1.radioItem[0].deptName, ]; } uni.navigateTo({ url: `../scanning_code/scanning_code?type=${this.queryObj.type}&type1=${this.queryObj.type1}&id=${this.queryObj.id}&deptCode=${this.selectRadio[0]}&dept=${this.selectRadio[1]}`, }); }, // 取消 cancel1() { this.models1.disjunctor = false; }, // 知道了 showAlert(id) { uni.navigateTo({ url: "../receiptpage/receiptpage" }); }, // 获取问卷配置 getQuestionnaireSet(){ uni.showLoading({ title: "加载中", mask: true, }); const userData = uni.getStorageSync("userData"); post("/simple/data/fetchDataList/questionnaireConfig",{ questionnaireConfig:{ hosId:userData.user.currentHospital.id }, idx:0, sum:10 }).then((res) => { uni.hideLoading(); if (res.status == 200) { let data = res.list[0]; if(data.taskTypeDTOS.length>0 && data.questionnaireDTOS.length>0){ let isQuestion = data.taskTypeDTOS.find(i=> i.id == this.taskTypeId) if(isQuestion){ this.isQuestionModel = true } } } else { uni.showToast({ icon: "none", title: res.msg || "接口获取数据失败!", }); } }); } }, onShow() { this.SMFlag = true; this.gotoFlag = true; }, onLoad(options) { if (options.status == 200&&options.scanOrHand === 'hand'&&(options.type === "specimen"||options.type === "specimenPlan")) { this.hand_again(); } console.log(options , "options"); this.queryObj = options; this.isKs = this.queryObj.isKs; if (options.infoData && options.infoData != "undefined") { this.infoDATA = JSON.parse(options.infoData); } else if (options.model) { this.infoDATA = JSON.parse(options.model); } console.log(this.infoDATA , "infoDATA"); if (options.accountObj && options.accountObj != "undefined") { this.accountObj = JSON.parse(options.accountObj); } if (options.deptId && options.deptId != "undefined") { this.deptId = options.deptId; } if (options.handover && options.handover != "undefined") { this.handover = options.handover; } this.dataId = options.id; if(options.taskTypeId){ this.taskTypeId = options.taskTypeId }else if(this.infoDATA.workOrderList && this.infoDATA.workOrderList.length>0){ this.taskTypeId = this.infoDATA.workOrderList[0].taskType.id } this.RESData = options.resData; this.res["status"] = options.status; this.res["msg"] = options.msg; console.log(options.patient); this.res["patient"] = options.patient; this.res["patientCode"] = options.patientCode; this.res["deptName"] = options.deptName; this.res["bedNum"] = options.bedNum; this.infoType = options.type1; if((this.infoType == 'trans-dsd-1' || this.infoType == 'ins-dsd-1' || this.infoType == 'ins-half-ok' || this.infoDATA.type == 'ins-half-ok') && this.res.status == 200){ this.getQuestionnaireSet() } if( this.res.status == 200 && this.infoType != 'ins-zxz-1' && this.infoType != 'ins-dsd-1' && this.infoType != 'ins-ddd-1' && this.infoType != 'trans-ddd-1' && this.infoType != 'trans-dsd-1'){ this.getQuestionnaireSet() } if (options.dept) { this.DEPT = options.dept; } if (options.speNum) { this.speNum = options.speNum; } this.DEPTCode = options.deptCode; this.type = options.type; // #ifdef APP-PLUS webHandle("no", "app"); // #endif // #ifdef H5 webHandle("no", "wx"); // #endif }, }; </script> <style lang="less"> .Scanning_Result { padding: 0 20rpx; .Scanning_top { .Scanning_top_icon { width: 140rpx; height: 140rpx; margin: 0 auto; margin-top: 116rpx; border-radius: 50%; line-height: 140rpx; .speNum{ text-align: center; font-size: 140rpx; } .cubeic-ok { font-size: 140rpx; color: #35b34a; } .cubeic-close { font-size: 140rpx; color: #ff3b53; } } .Scanning_top_text { .text1 { font-size: 48rpx; text-align: center; } .success_tips { color: red; font-size: 30rpx; } } } .Scanning_cont { font-size: 32rpx; text-align: center; view { margin-bottom: 16rpx; } .Scanning_cont_center { text-align: center; } .text { margin-top: 24rpx; color: #35b34a; } .text1 { margin-top: 24rpx; color: #ff3b53; } } .foot_btn { line-height: 88rpx; height: 100rpx; margin-top: 40rpx; display: flex; justify-content: center; .btn1, .btn2, .btn3 { height: 88rpx; flex: 1; margin: 0 1%; background-image: linear-gradient(to right, #72c172, #3bb197); color: #fff; border-radius: 8rpx; font-size: 32rpx; margin-top: 16rpx; text-align: center; } } .foot_btn_spe { line-height: 88rpx; height: 100rpx; margin-top: 40rpx; text-align: center; display: flex; justify-content: space-between; flex-wrap: wrap; &::after { content: ''; flex: 1; } view { height: 88rpx; width: 48%; margin: 0 1%; background-image: linear-gradient(to right, #72c172, #3bb197); color: #fff; border-radius: 8rpx; font-size: 32rpx; margin-top: 16rpx; } } } </style>