From f44fd28d2852faff2b2f0cada87c35af703c377a Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期五, 08 九月 2023 16:46:51 +0800
Subject: [PATCH] 修改称重错误

---
 pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue |    2 
 components/kxj-previewImage/kxj-previewImage.vue                                        |  372 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 373 insertions(+), 1 deletions(-)

diff --git a/components/kxj-previewImage/kxj-previewImage.vue b/components/kxj-previewImage/kxj-previewImage.vue
new file mode 100644
index 0000000..e4e49ec
--- /dev/null
+++ b/components/kxj-previewImage/kxj-previewImage.vue
@@ -0,0 +1,372 @@
+<template>
+	<view class="previewImage" :style="{ 'background-color': 'rgba(0,0,0,' + opacity + ')' }" v-if="show" @tap="close" @touchmove.stop.prevent>
+		<swiper class="swiper" :current="index" @change="swiperChange" :disable-touch="swiper" :circular="circular">
+			<swiper-item v-for="(img, i) in imgs" :key="'swiper-item-'+i" :id="'swiper-item-'+i">
+				<movable-area class="marea" scale-area>
+					<movable-view
+						:id="'movable-view-'+i"
+						:key="'movable-view-'+i"
+						class="mview"
+						direction="all"
+						:out-of-bounds="false"
+						:inertia="true"
+						damping="90"
+						friction="2"
+						scale="true"
+						scale-min="1"
+						scale-max="4"
+						:scale-value="scale"
+						@scale="onScale"
+						@change="movableChange"
+					>
+						<image
+							:id="'image-'+i"
+							:key="'movable-view'+i"
+							class="image"
+							:src="img"
+							:style="{ transform: 'rotateZ(' + deg + 'deg)' }"
+							:data-index="i"
+							:data-src="img"
+							mode="widthFix"
+							@touchmove="handletouchmove"
+							@touchstart="handletouchstart"
+							@touchend="handletouchend"
+						/>
+					</movable-view>
+				</movable-area>
+			</swiper-item>
+		</swiper>
+		<view class="page" v-if="imgs.length > 0">
+			<text class="text">{{ index + 1 }} / {{ imgs.length }}</text>
+		</view>
+		<view class="save" v-if="saveBtn" @click.stop.prevent="save"><text class="text">淇濆瓨</text></view>
+		<view class="rotate" v-if="rotateBtn" @click.stop.prevent="rotate"><text class="text">鏃嬭浆</text></view>
+		<view class="desc" v-if="descs.length > 0 && descs.length == imgs.length && descs[index].length > 0">{{ descs[index] }}</view>
+	</view>
+</template>
+
+<script>
+export default {
+	name: 'ksj-previewImage', //鎻掍欢鍚嶇О
+	props: {
+		imgs: {
+			//鍥剧墖鍒楄〃
+			type: Array,
+			required: true,
+			default: () => {
+				return [];
+			}
+		},
+		descs: {
+			//鎻忚堪鍒楄〃
+			type: Array,
+			required: false,
+			default: () => {
+				return [];
+			}
+		},
+		//閫忔槑搴�,0鍒�1涔嬮棿銆�
+		opacity: {
+			type: Number,
+			default: 0.8
+		},
+		//淇濆瓨鎸夐敭
+		saveBtn: {
+			type: Boolean,
+			default: true
+		},
+		//鏃嬭浆鎸夐敭
+		rotateBtn: {
+			type: Boolean,
+			default: true
+		},
+		//寰幆棰勮
+		circular:{
+			type: Boolean,
+			default: false
+		}
+	},
+	data() {
+		return {
+			swiper:false,//鏄惁绂佺敤
+			show: false, //鏄剧ず鐘舵��
+			index: 0, //褰撳墠椤�
+			deg: 0, //鏃嬭浆瑙掑害
+			time: 0, //瀹氭椂鍣�
+			interval: 1000, //闀挎寜浜嬩欢
+			scale: 1 //缂╂斁姣斾緥
+		};
+	},
+	methods: {
+		//姣斾緥鍙樺寲
+		onScale(e) {
+			
+		},
+
+		//闀挎寜浜嬩欢鐩稿叧鍐呭---------寮�濮�-------------------
+		//鎺ヨЕ寮�濮�
+		handletouchstart(e) {
+			var tchs = e.touches.length;
+			if (tchs != 1) {
+				return false;
+			}
+			this.time = setTimeout(() => {
+				this.onLongPress(e);
+			}, this.interval);
+			return false;
+		},
+		//娓呴櫎瀹氭椂鍣�
+		handletouchend() {
+			clearTimeout(this.time);
+			if (this.time != 0) {
+				//澶勭悊鐐瑰嚮鏃堕棿
+			}
+			return false;
+		},
+		//娓呴櫎瀹氭椂鍣�
+		handletouchmove() {
+			clearTimeout(this.time);
+			this.time = 0;
+		},
+		// 澶勭悊闀挎寜浜嬩欢
+		onLongPress(e) {
+			var src = e.currentTarget.dataset.src;
+			var index = e.currentTarget.dataset.index;
+			var data = { src: src, index: index };
+			this.$emit('longPress', data);
+		},
+		//闀挎寜浜嬩欢鐩稿叧鍐呭---------缁撴潫-------------------
+
+		//鍥剧墖鏀瑰彉
+		swiperChange(e) {
+			this.index = e.target.current; //鏇存柊褰撳墠鍥剧墖index
+			
+			this.$nextTick(function() {
+				this.scale = 1;
+			})
+			
+			//this.deg = 0; //鏃嬭浆瑙掑害
+			//this.swiper=true;
+		},
+		
+		//绉诲姩鍙樺寲
+		movableChange(e) {
+			//console.log(e);
+			/* if(this.old.scale <= 1){
+				this.swiper=false;
+			}else if(e.detail.x===0){
+				this.swiper=false;
+			} */
+		},
+		
+
+		//淇濆瓨
+		save(e) {
+			var _this = this;
+			var src = this.imgs[this.index];
+			//#ifdef MP-WEIXIN
+			//鎻愬墠鍚戠敤鎴峰彂璧锋巿鏉冭姹�
+			uni.authorize({
+				scope: 'scope.writePhotosAlbum',
+				success() {
+					console.log('kxj-previewImage:鍏佽鍌ㄥ瓨');
+					_this.downloadImg(src);
+				}
+			});
+			//#endif
+
+			//#ifdef APP-PLUS
+			this.downloadImg(src);
+			//#endif
+
+			//#ifdef H5
+			//闈炲悓婧愬浘鐗囧皢鐩存帴鎵撳紑
+			var abtn = document.createElement('a');
+			abtn.href = src;
+			abtn.download = '';
+			abtn.target = '_blank';
+			abtn.click();
+			//#endif
+		},
+
+		//涓嬭浇骞朵繚瀛樻枃浠�
+		downloadImg(src) {
+			//涓嬭浇鍥剧墖鏂囦欢
+			uni.showLoading({
+				title: '澶у浘鎻愬彇涓�'
+			});
+			uni.downloadFile({
+				url: src,
+				success: function(res) {
+					console.log('kxj-previewImage:涓嬭浇鎴愬姛');
+					uni.hideLoading();
+					uni.saveImageToPhotosAlbum({
+						filePath: res.tempFilePath,
+						success: () => {
+							uni.showToast({
+								title: '宸蹭繚瀛樿嚦鐩稿唽',
+								duration: 1000
+							});
+						}
+					});
+				},
+				fail: function() {
+					uni.hideLoading();
+					uni.showToast({
+						title: '鍥剧墖涓嬭浇澶辫触',
+						icon: 'none',
+						duration: 1000
+					});
+				}
+			});
+		},
+
+		//鏃嬭浆
+		rotate(e) {
+			this.deg = this.deg == 270 ? 0 : this.deg + 90;
+		},
+		//鎵撳紑
+		open(e) {
+			if (e === null || e === '') {
+				console.log('kxj-previewImage:鎵撳紑鍙傛暟鏃犳晥');
+				return;
+			}
+
+			if (!isNaN(e)) {
+				if(e>=this.imgs.length){
+					console.log('kxj-previewImage:鎵撳紑鍙傛暟鏃犳晥');
+				}else{
+					this.index = e;
+				}
+			} else {
+				var index = this.imgs.indexOf(e);
+				if(index===-1){
+					this.imgs = [e];
+					this.index = 0;
+					console.log('kxj-previewImage:鏈湪鍥剧墖鍦板潃鏁扮粍涓壘鍒颁紶鍏ョ殑鍥剧墖锛屽凡涓轰綘鑷姩鎵撳紑鍗曞紶棰勮妯″紡')
+				}else{
+					this.index = this.imgs.indexOf(e);
+				}
+			}
+			console.log('kxj-previewImage:褰撳墠棰勮鍥剧墖搴忓彿'+this.index);
+			this.show = true;
+		},
+		//鍏抽棴
+		close(e) {
+			this.show = false;
+			this.index = 0; //褰撳墠椤�
+			this.deg = 0; //鏃嬭浆瑙掑害
+			this.time = 0; //瀹氭椂鍣�
+			this.interval = 1000; //闀挎寜浜嬩欢
+			this.scale = 1; //缂╂斁姣斾緥
+		}
+	}
+};
+</script>
+
+<!--浣跨敤scss,鍙湪鏈粍浠剁敓鏁�-->
+<style lang="scss" scoped>
+.previewImage {
+	z-index: 999;
+	position: fixed;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+	background-color: #000000;
+	user-select: none;
+	.swiper {
+		width: 100%;
+		height: 100%;
+		.marea {
+			height: 100%;
+			width: 100%;
+			position: fixed;
+			overflow: hidden;
+			.mview {
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				width: 100%;
+				height: auto;
+				min-height: 100%;
+				.image {
+					width: 100%;
+				}
+			}
+		}
+	}
+
+	.page {
+		position: absolute;
+		width: 100%;
+		bottom: 20rpx;
+		text-align: center;
+		.text {
+			color: #fff;
+			font-size: 26rpx;
+			background-color: rgba(0, 0, 0, 0.5);
+			padding: 3rpx 16rpx;
+			border-radius: 20rpx;
+			user-select: none;
+		}
+	}
+	.save {
+		position: absolute;
+		left: 10rpx;
+		width: 120rpx;
+		height: 56rpx;
+		bottom: 10rpx;
+		text-align: center;
+		padding: 10rpx;
+		.text {
+			background-color: rgba(0, 0, 0, 0.5);
+			color: #fff;
+			font-size: 30rpx;
+			border-radius: 20rpx;
+			border: 1rpx solid #f1f1f1;
+			padding: 6rpx 22rpx;
+			user-select: none;
+		}
+		.text:active {
+			background-color: rgba(100, 100, 100, 0.5);
+		}
+	}
+	.rotate {
+		position: absolute;
+		right: 10rpx;
+		width: 120rpx;
+		height: 56rpx;
+		bottom: 10rpx;
+		text-align: center;
+		padding: 10rpx;
+		.text {
+			background-color: rgba(0, 0, 0, 0.5);
+			color: #fff;
+			font-size: 30rpx;
+			border-radius: 20rpx;
+			border: 1rpx solid #f1f1f1;
+			padding: 6rpx 22rpx;
+			user-select: none;
+		}
+		.text:active {
+			background-color: rgba(100, 100, 100, 0.5);
+		}
+	}
+	.desc {
+		position: absolute;
+		top: 0;
+		width: 100%;
+		padding: 5rpx 10rpx;
+		text-align: center;
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+		background-color: rgba(0, 0, 0, 0.5);
+		color: #fff;
+		font-size: 28rpx;
+		letter-spacing: 3rpx;
+		user-select: none;
+	}
+}
+</style>
diff --git a/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue b/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue
index 6c99049..2f82a84 100644
--- a/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue
+++ b/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue
@@ -280,7 +280,7 @@
 			this.primarySkin = params.primarySkin;
 			this.primaryHair = params.primaryHair;
 			this.primaryClean = params.primaryClean;
-			if (params.overTmWaixiao) {
+			if (params.overTmWaixiao !== 'null') {
 				this.weighData.overTmWaixiao = 1
 			}
 			this.changeweighHouseCode(params.weighHouseCode);

--
Gitblit v1.9.1