123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962 |
- <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 != 200">
- <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 == 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">
- {{ 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>
- </view>
- </template>
- <script>
- import showModel from "../../components/showModel/showModel.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 {
- data() {
- return {
- 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: "",
- };
- },
- 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";
- 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) {
- //标本和标本轮巡工单,扫描标本后会自动调用摄像头,继续扫描,直到status不是200
- if (this.type == "specimenPlan" || this.type == "specimen") {
- 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"
- ) {
- uni.redirectTo({
- url: `../scanning_Result/scanning_Result?type=${
- this.queryObj.type //baba
- }&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"
- });
- },
- },
- 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, "result");
- 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);
- }
- 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;
- 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 (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>
|