<template> <view class="pharmacyDetails"> <view class="pharmacyDetails_title"><text v-if="queryObj.deptName">{{queryObj.deptName}}-</text>{{isScan?'已':'未'}}扫描标本信息</view> <view class="page_item footerOtherMargin"> <view class="page_item_wrap" v-for="(spe, i) in specimens" :key="spe.id"> <specimenListItem :i="i" :item="spe"></specimenListItem> <view class="L-l"></view> <view class="R-l"></view> </view> </view> <view class="foot_btn2 footerPadding"> <view class="btn2" @click="goBack">返回</view> </view> </view> </template> <script> import { post, webHandle } from "../../http/http.js"; export default { data() { return { queryObj: {}, //路由传递过来的数据 isScan: false,//true是已扫描标本,false是未扫描标本 workOrderId: -1, deptCode: '', specimens: [], }; }, methods: { // 返回 goBack() { uni.navigateBack(); }, // 获取已扫描或未扫描标本信息 getNoScanSpecimen(isScan) { let postData = { gdIds: this.workOrderId, currentPage: 0, pageSize: 999, }; if(this.queryObj.specimensCheck){ //标本核对页面过来的 if(this.queryObj.deptName){ // 标本核对,已扫描总数 postData.deptQrCode = this.deptCode||undefined; postData.specimensCheck = 1; } }else{ postData.deptQrCode = this.deptCode||undefined; } // 是否是已扫描 if(isScan && !this.queryObj.noScan){ // 显示已扫描,但添加scanned参数 postData.scanned = 1; } uni.showLoading({ title: "加载中", mask: true, }); post("/api/noScanSpecimenData", postData).then((res) => { uni.hideLoading(); if (res.data) { this.specimens = res.data; } }); }, }, onLoad(options) { console.log(options); this.queryObj = options; this.workOrderId = JSON.parse(options.workOrderId); this.deptCode = options.deptCode; this.isScan = Boolean(options.isScan); this.getNoScanSpecimen(this.isScan); // #ifdef APP-PLUS webHandle("no", "app"); // #endif // #ifdef H5 webHandle("no", "wx"); // #endif }, }; </script> <style lang="less" scoped> .pharmacyDetails { background-color: rgb(249, 250, 251); padding-top: 50rpx; height: 100%; box-sizing: border-box; .pharmacyDetails_title { font-size: 46rpx; font-weight: 550; text-align: center; } .page_item_wrap { position: relative; margin-top: 32rpx; .page_item { margin-top: 16rpx; margin-bottom: 124rpx; background: #fff; border-radius: 8rpx; margin: 0 20rpx; border: 2rpx solid #e5e9ed; position: relative; overflow: hidden; padding: 0 16rpx; .L { width: 40rpx; height: 40rpx; border-radius: 50%; background: #f9fafb; position: absolute; left: -20rpx; top: 68rpx; border: 2rpx solid #e5e9ed; } .R { width: 40rpx; height: 40rpx; border-radius: 50%; background: #f9fafb; position: absolute; float: right; right: -20rpx; top: 68rpx; border: 2rpx solid #e5e9ed; } .page_item_top { height: 88rpx; border-bottom: 2rpx dashed #e5e9ed; padding: 0 16rpx; .page_item_top-inner { display: flex; justify-content: space-between; align-items: center; height: 100%; .page_item_top_L { .L_text { font-size: 32rpx; font-weight: 700; } } .page_item_top_R { font-size: 32rpx; .L_iocn { color: rgb(7, 134, 60); font-size: 36rpx; font-weight: 700; } } } } .page_item_cont { min-height: 90rpx; padding: 0 16rpx; text-align: left; position: relative; .text_big { font-size: 32rpx; font-weight: 700; margin-top: 10rpx; p { font-weight: 700; line-height: 1.5; } } .line { height: 20rpx; width: 2rpx; border-left: 2rpx solid #e5e9ed; position: absolute; top: 82rpx; left: 40rpx; } .page_item_cont_T { padding-top: 28rpx; padding-bottom: 28rpx; font-size: 28rpx; .page_item_cont_title { height: 100%; font-size: 32rpx; display: flex; justify-content: space-between; align-items: center; } } .page_item_cont_B { padding-top: 28rpx; margin-bottom: 28rpx; .page_item_cont_title { font-size: 32rpx; display: flex; justify-content: space-between; align-items: center; } } .page_item_cont_C { margin-bottom: 28rpx; .page_item_cont_title_C { font-size: 32rpx; display: flex; justify-content: space-between; align-items: center; } } #infos { display: none; } } } .L-l { width: 2rpx; height: 40rpx; background: #f9fafb; position: absolute; left: 20rpx; top: 72rpx; } .R-l { width: 2rpx; height: 40rpx; background: #f9fafb; position: absolute; right: 20rpx; top: 72rpx; } } .cube-toolbar-item { width: 710rpx; height: 68rpx; line-height: 68rpx; position: fixed; left: 20rpx; bottom: 160rpx; border-radius: 8rpx; background: linear-gradient(to right, #72c172, #3bb197); font-size: 36rpx; color: #fff; text-align: center; } .btn-wrap { display: flex; justify-content: space-between; position: fixed; left: 20rpx; bottom: 160rpx; } .cube-toolbar-item1 { width: 350rpx; height: 68rpx; line-height: 68rpx; border-radius: 8rpx; margin: 0 5rpx; background: linear-gradient(to right, #72c172, #3bb197); font-size: 36rpx; color: #fff; text-align: center; } .foot_btn2 { position: fixed; bottom: 0; right: 20rpx; left: 20rpx; line-height: 66rpx; height: 100rpx; border-top: 2rpx solid #e5e9ed; background: #f9fafb; display: flex; justify-content: space-between; .btn2 { height: 66rpx; width: 100%; 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; } .btn3 { height: 66rpx; width: 48%; 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; } } } </style>