<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>