linweizeng 3 anni fa
parent
commit
41c334eb14

+ 26 - 18
pages/fileView/reportList.vue

@@ -109,7 +109,7 @@
 				})
 			},
 			//下载
-			getDe(id) {
+			getDe(id, item) {
 				let access_token = uni.getStorageSync('Access-Token')
 				console.log(access_token)
 
@@ -122,23 +122,31 @@
 						const data = res.data.variables.data[0]
 						let url =
 							http.apiHosp + data.FILE_PATH_
-						//电脑下载
-						let a = document.createElement('a')
-						a.target = '_black'
-						a.download = this.time + '检测报告'
-						a.style.display = 'none'
-						// 生成的base64编码
-						a.href = url
-						document.body.appendChild(a)
-						a.click()
-						document.body.removeChild(a)
-
-						//手机下载
-						// var iframe = document.createElement('iframe');
-						// iframe.style.display = '_black';
-						// iframe.src = "javascript: '<script>location.href=\"" + url + "\"<\/script>'";
-						// document.getElementsByTagName('body')[0].appendChild(iframe);
-
+						uni.getSystemInfo({
+							success: (res) => {
+								// windows | mac为pc端
+								// android | ios为手机端
+								if (res.platform == 'android' || res.platform == 'ios') {
+									var iframe = document.createElement('iframe');
+									iframe.style.display = 'none';
+									iframe.src = "javascript: '<script>location.href=\"" + url +
+										"\"<\/script>'";
+									document.getElementsByTagName('body')[0].appendChild(iframe);
+								} else {
+									const blob = new Blob([
+										url
+									]); //new Blob([res])中不加data就会返回下图中[objece objece]内容(少取一层)
+									const fileName = item.bao_gao_bian_hao_ + '检测项目' + '.pdf'; //下载文件名称
+									const elink = document.createElement('a');
+									elink.download = fileName;
+									elink.style.display = 'none';
+									elink.href = URL.createObjectURL(blob);
+									document.body.appendChild(elink);
+									elink.click();
+									URL.revokeObjectURL(elink.href); // 释放URL 对象
+								}
+							}
+						});
 					}
 				})
 			},

+ 36 - 30
pages/jiance/list/specimen.vue

@@ -35,10 +35,26 @@
 				<u-form-item label="送检时间">
 					<u-input type="select" v-model="form.song_jian_shi_jia" @click="dateClick('inspect')" />
 				</u-form-item>
+				<u-form-item label="备注">
+					<u-input placeholder="请输入备注" v-model="form.bei_zhu_1_" />
+				</u-form-item>
+				<u-form-item label="检测项目" label-position="top">
+					<view style="width: 100%;">
+						<view v-for="(it, x) in jianCeList" :key="x">
+							<view class="jiancexiangm">
+								<view>
+									{{it.lei_bie_ || ''}}-{{it.jian_ce_xiang_mu_ || ''}}[{{it.xiang_mu_dan_jia_ || '0'}}元]
+								</view>
+								<view>{{it.yi_ju_de_biao_zhu || ''}}</view>
+								<view>报告周期(工作日):{{it.bao_gao_zhou_qi_g || '0'}}天</view>
+							</view>
+						</view>
+					</view>
+				</u-form-item>
 
 				<view class="qingshe" @click="showBoolean1 = !showBoolean1">
 					<view>
-						②
+						
 					</view>
 					<view>
 						<u-icon name="arrow-up" v-if="showBoolean1"></u-icon>
@@ -46,16 +62,16 @@
 					</view>
 				</view>
 				<block v-if="showBoolean1">
-					<u-form-item label="样本类型">
+					<u-form-item label="样本类型">
 						<u-input type="select" v-model="form.yang_pin_lei_xing" @click="sheetClick('yangpinType1')" />
 					</u-form-item>
-					<u-form-item label="样本运输条件">
+					<u-form-item label="样本运输条件">
 						<u-input type="select" v-model="form.yang_ben_yun_shu_" @click="sheetClick('transportType1')" />
 					</u-form-item>
-					<u-form-item label="数量">
+					<u-form-item label="数量">
 						<u-number-box v-model="form.shu_liang_"></u-number-box>
 					</u-form-item>
-					<u-form-item label="样品规格">
+					<u-form-item label="样品规格">
 						<u-input v-model="form.yang_pin_gui_ge_" />
 						<u-button slot="right" type="success" size="mini" @click="sheetClick('specification1')">规格
 						</u-button>
@@ -141,27 +157,12 @@
 						<u-button slot="right" type="success" size="mini" @click="sheetClick('specification4')">规格
 						</u-button>
 					</u-form-item>
-					<u-form-item label="项目名称" v-if="form.xiang_mu_ming_che != ''">
+					<u-form-item label="项目名称" v-if="mingChengShow">
 						<u-input v-model="form.xiang_mu_ming_che" />
 					</u-form-item>
 				</block>
-
-
-				<u-form-item label="检测项目" label-position="top">
-					<view style="width: 100%;">
-						<view v-for="(it, x) in jianCeList" :key="x">
-							<view class="jiancexiangm">
-								<view>
-									{{it.lei_bie_ || ''}}-{{it.jian_ce_xiang_mu_ || ''}}[{{it.xiang_mu_dan_jia_ || '0'}}元]
-								</view>
-								<view>{{it.yi_ju_de_biao_zhu || ''}}</view>
-								<view>报告周期(工作日):{{it.bao_gao_zhou_qi_g || '0'}}天</view>
-							</view>
-						</view>
-					</view>
-				</u-form-item>
 			</u-form>
-			<u-button type="error" @click="getSave">提交</u-button>
+			<u-button type="error" @click="getSave" class="u-m-t-50">提交</u-button>
 		</view>
 
 		<u-calendar v-model="dateShow" :mode="mode" max-date="2050-01-01" @change="dateChange"></u-calendar>
@@ -192,6 +193,7 @@
 					song_jian_pi_hao_: '',
 					yang_pin_zhuang_t: '',
 					song_jian_shi_jia: '',
+					bei_zhu_1_: '',
 					yang_pin_lei_xing: '',
 					yang_ben_yun_shu_: '',
 					shu_liang_: 0,
@@ -237,7 +239,9 @@
 				dispositionList: order.disposition,
 				//性别
 				sexList: order.sex,
-				listType: ''
+				listType: '',
+
+				mingChengShow: false
 			}
 		},
 		onLoad(option) {
@@ -269,6 +273,7 @@
 						this.form.song_jian_pi_hao_ = result.song_jian_pi_hao_
 						this.form.yang_pin_zhuang_t = result.yang_pin_zhuang_t
 						this.form.song_jian_shi_jia = result.song_jian_shi_jia
+						this.form.bei_zhu_1_ = result.bei_zhu_1_
 						this.form.yang_pin_lei_xing = result.yang_pin_lei_xing
 						this.form.yang_ben_yun_shu_ = result.yang_ben_yun_shu_
 						this.form.shu_liang_ = parseInt(result.shu_liang_)
@@ -305,6 +310,10 @@
 							this.showBoolean4 = true
 						}
 
+						if (result.xiang_mu_ming_che != '') {
+							this.mingChengShow = true
+						}
+
 					}
 				})
 			},
@@ -384,16 +393,13 @@
 					this.list = this.jianCeTypeList
 				}
 			},
+			dateClick() {
+				this.dateShow = true
+			},
 			//日期回调
 			dateChange(e) {
 				if (this.type == 'inspect') {
-					this.form.songJianShiJian = e.result
-				}
-				if (this.type == 'report') {
-					this.form.chuBaoGaoShiJian = e.result
-				}
-				if (this.type == 'weiTuo') {
-					this.form.weiTuoRiQi = e.result
+					this.form.song_jian_shi_jia = e.result
 				}
 			},
 			//下拉框回调

+ 33 - 14
pages/jiance/order.vue

@@ -70,9 +70,8 @@
 						@click="dateClick('inspect',index)" v-if="type != 'detail'" />
 					<text v-else>{{item.songJianShiJian}}</text>
 				</u-form-item>
-				<u-form-item label="检毕样品处置">
-					<u-input placeholder="请输入检毕样品处置" v-model="item.songYangYaoQiu"
-						:disabled="type == 'detail'?true :false" />
+				<u-form-item label="备注">
+					<u-input placeholder="请输入备注" v-model="item.beiZhu1" :disabled="type == 'detail'?true :false" />
 				</u-form-item>
 				<u-form-item label="检测类型" v-if="type != 'detail'">
 					<u-input placeholder="请选择检测类型" type="select" v-model="item.jianCeType"
@@ -91,10 +90,10 @@
 							<view style="margin-left: 10rpx;font-size: 28rpx;">
 								<view>
 									{{it.jian_ce_lei_bie_ || ''}}-{{it.jian_ce_xiang_mu_ || ''}}
-									<text style="color: red;">[{{it.zhe_hou_jia_ge_ || '0'}}元]</text>
+									<text style="color: red;">[{{it.zhe_hou_jia_ge_ || ''}}元]</text>
 								</view>
 								<view>{{it.yi_ju_de_biao_zhu || ''}}</view>
-								<view>报告周期(工作日):{{it.bao_gao_zhou_qi_g || '0'}}天</view>
+								<view>报告周期(工作日):{{it.bao_gao_zhou_qi_g || ''}}天</view>
 								<view>送样要求:{{it.yang_pin_tiao_jia || ''}}</view>
 							</view>
 						</label>
@@ -107,7 +106,7 @@
 									{{it.jian_ce_lei_bie_ || ''}}-{{it.jian_ce_xiang_mu_ || ''}}[{{it.zhe_hou_jia_ge_ || ''}}元]
 								</view>
 								<view>{{it.yi_ju_de_biao_zhu || ''}}</view>
-								<view>报告周期(工作日):{{it.bao_gao_zhou_qi_g || '0'}}天</view>
+								<view>报告周期(工作日):{{it.bao_gao_zhou_qi_g || ''}}天</view>
 								<view>送样要求:{{it.yang_pin_tiao_jia || ''}}</view>
 							</view>
 						</view>
@@ -283,13 +282,13 @@
 					</u-radio-group>
 					<text v-else>{{getButtChange(form.chuJuBaoGaoYaoQiu,reportRequireList)}}</text>
 				</u-form-item>
-				<u-form-item label="出报告时间" prop="chuBaoGaoShiJian" required>
+				<!-- 				<u-form-item label="出报告时间" prop="chuBaoGaoShiJian" required>
 					<u-input placeholder="请选择出报告时间" type="select" v-model="form.chuBaoGaoShiJian"
 						@click="dateClick('report')" v-if="type != 'detail'" />
 					<text v-else>{{form.chuBaoGaoShiJian}}</text>
-				</u-form-item>
-				<u-form-item label="样本处理" prop="yangBenChuLi" required>
-					<u-input placeholder="请选择样本处理" type="select" v-model="form.yangBenChuLi"
+				</u-form-item> -->
+				<u-form-item label="检毕样品处置" prop="yangBenChuLi" required>
+					<u-input placeholder="请选择检毕样品处置" type="select" v-model="form.yangBenChuLi"
 						@click="sheetClick('disposition')" v-if="type != 'detail'" />
 					<text v-else>{{form.yangBenChuLi}}</text>
 				</u-form-item>
@@ -482,6 +481,7 @@
 				//合同
 				hetong: [],
 				hetongList: [],
+				heTongShow: false,
 				//检测项目
 				jianCeList: [],
 				//检测类型
@@ -686,6 +686,7 @@
 							})
 							this.hetong = list
 						} else {
+							this.heTongShow = true
 							uni.showToast({
 								title: '你好,该账户还没有与本公司签订合同,或者你合同已失效。',
 								icon: 'none',
@@ -765,7 +766,16 @@
 			},
 			//选择项目
 			changeIndex(it, index, x) {
+				let itemData = this.form.lhypb[index]
 				this.form.lhypb[index].jianCeList[x].checked = !this.form.lhypb[index].jianCeList[x].checked
+
+				let show = itemData.jianCeList.some(item => item.id_ == '1039826037036285952' || item.id_ ==
+					'1040205909151711232')
+
+				if (show) {
+					itemData.mingChengShow = true
+				}
+
 				this.getTotal()
 			},
 			getTotal() {
@@ -774,8 +784,8 @@
 					let itemTotal = 0
 					item.jianCeList.forEach((it, x) => {
 						if (it.checked) {
-							total += parseFloat(it.zhe_hou_jia_ge_)
-							itemTotal += parseFloat(it.zhe_hou_jia_ge_)
+							total += parseFloat(it.zhe_hou_jia_ge_ || 0)
+							itemTotal += parseFloat(it.zhe_hou_jia_ge_ || 0)
 						}
 					})
 					item.yangPinZongJia = (itemTotal).toFixed(2)
@@ -932,6 +942,14 @@
 			sumbit(valueType) {
 				//委托提交判断
 				if (valueType != 'beingTime') {
+					if (this.heTongShow) {
+						uni.showToast({
+							title: '你好,该账户还没有与本公司签订合同,或者你合同已失效。',
+							icon: 'none',
+							duration: 2000
+						})
+						return
+					}
 					if (this.form.lhypb.length == 0) {
 						uni.showToast({
 							title: '请填写该委托单需要检测的样品信息',
@@ -1192,7 +1210,7 @@
 						songJianPiHao: '',
 						yangPinZhuangTai: '',
 						songJianShiJian: '',
-						songYangYaoQiu: '',
+						beiZhu1: '',
 
 						yangPinLeiXing: '',
 						yangBenYunShuTiao: '',
@@ -1214,7 +1232,7 @@
 						yangPinYunShuSi: '',
 						shuLiangSi: 0,
 						jianCeList: JSON.parse(JSON.stringify(this.jianCeList)),
-						jianCeType: this.jianCeTypeList[0].value,
+						jianCeType: this.jianCeTypeList.length > 0 ? this.jianCeTypeList[0].value : '',
 
 						xiangMuMingCheng: '',
 						yangPinZongJia: '',
@@ -1230,6 +1248,7 @@
 						showBoolean2: false,
 						showBoolean3: false,
 						showBoolean4: false,
+						mingChengShow: false
 					}
 					this.form.lhypb.push(obj)
 				})

+ 9 - 1
pages/jiance/order/meth.js

@@ -48,7 +48,7 @@ export default {
 				songJianPiHao: item.song_jian_pi_hao_,
 				yangPinZhuangTai: item.yang_pin_zhuang_t,
 				songJianShiJian: item.song_jian_shi_jia,
-				songYangYaoQiu: item.song_yang_yao_qiu,
+				beiZhu1: item.bei_zhu_1_,
 
 				yangPinLeiXing: item.yang_pin_lei_xing,
 				yangBenYunShuTiao: item.yang_ben_yun_shu_,
@@ -83,6 +83,7 @@ export default {
 				showBoolean2: false,
 				showBoolean3: false,
 				showBoolean4: false,
+				mingChengShow: false
 			}
 			if (obj.yangPinLeiXing != '') {
 				obj.showBoolean1 = true
@@ -96,6 +97,13 @@ export default {
 			if (obj.yangPinLeiXingSi != '') {
 				obj.showBoolean4 = true
 			}
+
+			let show = jian_ce_xiang_mu2_.some(item => item == '1039826037036285952' || item ==
+				'1040205909151711232')
+			if (show) {
+				itemData.mingChengShow = true
+			}
+
 			TList.push(obj)
 		})
 		return TList

+ 7 - 5
plugin/colorui/components/cu-custom.vue

@@ -1,6 +1,6 @@
 <template>
 	<view>
-		<view class="cu-custom" :style="[{height:CustomBar + 'px'}]">
+		<view class="cu-custom cu-custom-bar" :style="[{height:CustomBar + 'px'}]">
 			<view class="cu-bar fixed" :style="style" :class="[bgImage!=''?'none-bg text-white bg-img':'',bgColor]">
 				<view class="action" @tap="BackPage" v-if="isBack">
 					<text class="cuIcon-back"></text>
@@ -28,8 +28,8 @@
 		name: 'cu-custom',
 		computed: {
 			style() {
-				var StatusBar= this.StatusBar;
-				var CustomBar= this.CustomBar;
+				var StatusBar = this.StatusBar;
+				var CustomBar = this.CustomBar;
 				var bgImage = this.bgImage;
 				var style = `height:${CustomBar}px;padding-top:${StatusBar}px;`;
 				if (this.bgImage) {
@@ -62,6 +62,8 @@
 	}
 </script>
 
-<style>
-
+<style lang="scss" scoped>
+	.cu-custom-bar {
+		z-index: 998;
+	}
 </style>

+ 23 - 3
uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue

@@ -15,10 +15,10 @@
 				<view v-if="right" class="uni-calendar__header-btn-box" @click.stop="next">
 					<view class="uni-calendar__header-btn uni-calendar--right"></view>
 				</view>
-				<view v-if="!insert" class="dialog-close" @click="clean">
+				<!-- <view v-if="!insert" class="dialog-close" @click="clean">
 					<view class="dialog-close-plus" data-id="close"></view>
 					<view class="dialog-close-plus dialog-close-rotate" data-id="close"></view>
-				</view>
+				</view> -->
 
 				<!-- <text class="uni-calendar__backtoday" @click="backtoday">回到今天</text> -->
 			</view>
@@ -87,6 +87,7 @@
 					<text class="uni-calendar__button-text uni-calendar--fixed-width">{{okText}}</text>
 				</view> -->
 				<view class="uni-datetime-picker--btn" @click="confirm">{{confirmText}}</view>
+				<view class="uni-datetime-picker-btn-cancel" @click="clean">{{cancelText}}</view>
 			</view>
 		</view>
 	</view>
@@ -332,6 +333,9 @@
 			okText() {
 				return t("uni-datetime-picker.ok")
 			},
+			cancelText() {
+				return t("uni-datetime-picker.cancel")
+			},
 			yearText() {
 				return t("uni-datetime-picker.year")
 			},
@@ -603,7 +607,7 @@
 	}
 </script>
 
-<style lang="scss" >
+<style lang="scss">
 	.uni-calendar {
 		/* #ifndef APP-NVUE */
 		display: flex;
@@ -899,9 +903,25 @@
 		letter-spacing: 2px;
 	}
 
+	.uni-datetime-picker-btn-cancel {
+		border-radius: 100px;
+		height: 40px;
+		line-height: 40px;
+		background-color: #dd6161;
+		color: #fff;
+		font-size: 16px;
+		letter-spacing: 2px;
+		margin-top: 20rpx;
+	}
+
 	/* #ifndef APP-NVUE */
 	.uni-datetime-picker--btn:active {
 		opacity: 0.7;
 	}
+
+	.uni-datetime-picker-btn-cancel:active {
+		opacity: 0.7;
+	}
+
 	/* #endif */
 </style>