From 98e0b3a6726c2e04b502b1541621d116e8050865 Mon Sep 17 00:00:00 2001
From: yangan <yangan0921@163.com>
Date: 星期四, 08 八月 2024 16:42:19 +0800
Subject: [PATCH] feat:货代首页产品名称修改

---
 components/kxj-previewImage/kxj-previewImage.vue |  642 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 334 insertions(+), 308 deletions(-)

diff --git a/components/kxj-previewImage/kxj-previewImage.vue b/components/kxj-previewImage/kxj-previewImage.vue
index e4e49ec..b25403c 100644
--- a/components/kxj-previewImage/kxj-previewImage.vue
+++ b/components/kxj-previewImage/kxj-previewImage.vue
@@ -1,10 +1,20 @@
 <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"
+	<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"
@@ -17,10 +27,8 @@
 						scale-max="4"
 						:scale-value="scale"
 						@scale="onScale"
-						@change="movableChange"
-					>
-						<image
-							:id="'image-'+i"
+						@change="movableChange">
+						<image :id="'image-'+i"
 							:key="'movable-view'+i"
 							class="image"
 							:src="img"
@@ -30,343 +38,361 @@
 							mode="widthFix"
 							@touchmove="handletouchmove"
 							@touchstart="handletouchstart"
-							@touchend="handletouchend"
-						/>
+							@touchend="handletouchend" />
 					</movable-view>
 				</movable-area>
 			</swiper-item>
 		</swiper>
-		<view class="page" v-if="imgs.length > 0">
+		<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 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 [];
+	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
 			}
 		},
-		descs: {
-			//鎻忚堪鍒楄〃
-			type: Array,
-			required: false,
-			default: () => {
-				return [];
-			}
+		data() {
+			return {
+				swiper: false, //鏄惁绂佺敤
+				show: false, //鏄剧ず鐘舵��
+				index: 0, //褰撳墠椤�
+				deg: 0, //鏃嬭浆瑙掑害
+				time: 0, //瀹氭椂鍣�
+				interval: 1000, //闀挎寜浜嬩欢
+				scale: 1 //缂╂斁姣斾緥
+			};
 		},
-		//閫忔槑搴�,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) {
-			
-		},
+		methods: {
+			//姣斾緥鍙樺寲
+			onScale(e) {
 
-		//闀挎寜浜嬩欢鐩稿叧鍐呭---------寮�濮�-------------------
-		//鎺ヨЕ寮�濮�
-		handletouchstart(e) {
-			var tchs = e.touches.length;
-			if (tchs != 1) {
+			},
+
+			//闀挎寜浜嬩欢鐩稿叧鍐呭---------寮�濮�-------------------
+			//鎺ヨЕ寮�濮�
+			handletouchstart(e) {
+				var tchs = e.touches.length;
+				if (tchs != 1) {
+					return false;
+				}
+				this.time = setTimeout(() => {
+					this.onLongPress(e);
+				}, this.interval);
 				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);
+			},
+			//娓呴櫎瀹氭椂鍣�
+			handletouchend() {
+				clearTimeout(this.time);
+				if (this.time != 0) {
+					//澶勭悊鐐瑰嚮鏃堕棿
 				}
-			});
-			//#endif
+				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);
+			},
+			//闀挎寜浜嬩欢鐩稿叧鍐呭---------缁撴潫-------------------
 
-			//#ifdef APP-PLUS
-			this.downloadImg(src);
-			//#endif
+			//鍥剧墖鏀瑰彉
+			swiperChange(e) {
+				this.index = e.target.current; //鏇存柊褰撳墠鍥剧墖index
 
-			//#ifdef H5
-			//闈炲悓婧愬浘鐗囧皢鐩存帴鎵撳紑
-			var abtn = document.createElement('a');
-			abtn.href = src;
-			abtn.download = '';
-			abtn.target = '_blank';
-			abtn.click();
-			//#endif
-		},
+				this.$nextTick(function() {
+					this.scale = 1;
+				})
 
-		//涓嬭浇骞朵繚瀛樻枃浠�
-		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
-					});
-				}
-			});
-		},
+				//this.deg = 0; //鏃嬭浆瑙掑害
+				//this.swiper=true;
+			},
 
-		//鏃嬭浆
-		rotate(e) {
-			this.deg = this.deg == 270 ? 0 : this.deg + 90;
-		},
-		//鎵撳紑
-		open(e) {
-			if (e === null || e === '') {
-				console.log('kxj-previewImage:鎵撳紑鍙傛暟鏃犳晥');
-				return;
-			}
+			//绉诲姩鍙樺寲
+			movableChange(e) {
+				//console.log(e);
+				/* if(this.old.scale <= 1){
+					this.swiper=false;
+				}else if(e.detail.x===0){
+					this.swiper=false;
+				} */
+			},
 
-			if (!isNaN(e)) {
-				if(e>=this.imgs.length){
+
+			//淇濆瓨
+			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:鎵撳紑鍙傛暟鏃犳晥');
-				}else{
-					this.index = e;
+					return;
 				}
-			} 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);
+
+				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; //缂╂斁姣斾緥
 			}
-			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 {
+<style lang="scss"
+	scoped>
+	.previewImage {
+		z-index: 999;
+		position: fixed;
+		top: 0;
+		left: 0;
 		width: 100%;
 		height: 100%;
-		.marea {
-			height: 100%;
+		background-color: #000000;
+		user-select: none;
+
+		.swiper {
 			width: 100%;
-			position: fixed;
-			overflow: hidden;
-			.mview {
-				display: flex;
-				align-items: center;
-				justify-content: center;
+			height: 100%;
+
+			.marea {
+				height: 100%;
 				width: 100%;
-				height: auto;
-				min-height: 100%;
-				.image {
+				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;
+		.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);
-			padding: 3rpx 16rpx;
-			border-radius: 20rpx;
+			color: #fff;
+			font-size: 28rpx;
+			letter-spacing: 3rpx;
 			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>
+</style>
\ No newline at end of file

--
Gitblit v1.9.1