mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	
		
			
	
	
		
			188 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
		
		
			
		
	
	
			188 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| 
								 | 
							
								<template>
							 | 
						||
| 
								 | 
							
									<view class="uni-popup-share">
							 | 
						||
| 
								 | 
							
										<view class="uni-share-title"><text class="uni-share-title-text">{{shareTitleText}}</text></view>
							 | 
						||
| 
								 | 
							
										<view class="uni-share-content">
							 | 
						||
| 
								 | 
							
											<view class="uni-share-content-box">
							 | 
						||
| 
								 | 
							
												<view class="uni-share-content-item" v-for="(item,index) in bottomData" :key="index" @click.stop="select(item,index)">
							 | 
						||
| 
								 | 
							
													<image class="uni-share-image" :src="item.icon" mode="aspectFill"></image>
							 | 
						||
| 
								 | 
							
													<text class="uni-share-text">{{item.text}}</text>
							 | 
						||
| 
								 | 
							
												</view>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											</view>
							 | 
						||
| 
								 | 
							
										</view>
							 | 
						||
| 
								 | 
							
										<view class="uni-share-button-box">
							 | 
						||
| 
								 | 
							
											<button class="uni-share-button" @click="close">{{cancelText}}</button>
							 | 
						||
| 
								 | 
							
										</view>
							 | 
						||
| 
								 | 
							
									</view>
							 | 
						||
| 
								 | 
							
								</template>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<script>
							 | 
						||
| 
								 | 
							
									import popup from '../uni-popup/popup.js'
							 | 
						||
| 
								 | 
							
									import {
							 | 
						||
| 
								 | 
							
									initVueI18n
							 | 
						||
| 
								 | 
							
									} from '@dcloudio/uni-i18n'
							 | 
						||
| 
								 | 
							
									import messages from '../uni-popup/i18n/index.js'
							 | 
						||
| 
								 | 
							
									const {	t	} = initVueI18n(messages)
							 | 
						||
| 
								 | 
							
									export default {
							 | 
						||
| 
								 | 
							
										name: 'UniPopupShare',
							 | 
						||
| 
								 | 
							
										mixins:[popup],
							 | 
						||
| 
								 | 
							
										emits:['select'],
							 | 
						||
| 
								 | 
							
										props: {
							 | 
						||
| 
								 | 
							
											title: {
							 | 
						||
| 
								 | 
							
												type: String,
							 | 
						||
| 
								 | 
							
												default: ''
							 | 
						||
| 
								 | 
							
											},
							 | 
						||
| 
								 | 
							
											beforeClose: {
							 | 
						||
| 
								 | 
							
												type: Boolean,
							 | 
						||
| 
								 | 
							
												default: false
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										},
							 | 
						||
| 
								 | 
							
										data() {
							 | 
						||
| 
								 | 
							
											return {
							 | 
						||
| 
								 | 
							
												bottomData: [{
							 | 
						||
| 
								 | 
							
														text: '微信',
							 | 
						||
| 
								 | 
							
														icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/c2b17470-50be-11eb-b680-7980c8a877b8.png',
							 | 
						||
| 
								 | 
							
														name: 'wx'
							 | 
						||
| 
								 | 
							
													},
							 | 
						||
| 
								 | 
							
													{
							 | 
						||
| 
								 | 
							
														text: '支付宝',
							 | 
						||
| 
								 | 
							
														icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/d684ae40-50be-11eb-8ff1-d5dcf8779628.png',
							 | 
						||
| 
								 | 
							
														name: 'wx'
							 | 
						||
| 
								 | 
							
													},
							 | 
						||
| 
								 | 
							
													{
							 | 
						||
| 
								 | 
							
														text: 'QQ',
							 | 
						||
| 
								 | 
							
														icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/e7a79520-50be-11eb-b997-9918a5dda011.png',
							 | 
						||
| 
								 | 
							
														name: 'qq'
							 | 
						||
| 
								 | 
							
													},
							 | 
						||
| 
								 | 
							
													{
							 | 
						||
| 
								 | 
							
														text: '新浪',
							 | 
						||
| 
								 | 
							
														icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/0dacdbe0-50bf-11eb-8ff1-d5dcf8779628.png',
							 | 
						||
| 
								 | 
							
														name: 'sina'
							 | 
						||
| 
								 | 
							
													},
							 | 
						||
| 
								 | 
							
													// {
							 | 
						||
| 
								 | 
							
													// 	text: '百度',
							 | 
						||
| 
								 | 
							
													// 	icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/1ec6e920-50bf-11eb-8a36-ebb87efcf8c0.png',
							 | 
						||
| 
								 | 
							
													// 	name: 'copy'
							 | 
						||
| 
								 | 
							
													// },
							 | 
						||
| 
								 | 
							
													// {
							 | 
						||
| 
								 | 
							
													// 	text: '其他',
							 | 
						||
| 
								 | 
							
													// 	icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/2e0fdfe0-50bf-11eb-b997-9918a5dda011.png',
							 | 
						||
| 
								 | 
							
													// 	name: 'more'
							 | 
						||
| 
								 | 
							
													// }
							 | 
						||
| 
								 | 
							
												]
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										},
							 | 
						||
| 
								 | 
							
										created() {},
							 | 
						||
| 
								 | 
							
										computed: {
							 | 
						||
| 
								 | 
							
											cancelText() {
							 | 
						||
| 
								 | 
							
												return t("uni-popup.cancel")
							 | 
						||
| 
								 | 
							
											},
							 | 
						||
| 
								 | 
							
										shareTitleText() {
							 | 
						||
| 
								 | 
							
												return this.title || t("uni-popup.shareTitle")
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										},
							 | 
						||
| 
								 | 
							
										methods: {
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * 选择内容
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											select(item, index) {
							 | 
						||
| 
								 | 
							
												this.$emit('select', {
							 | 
						||
| 
								 | 
							
													item,
							 | 
						||
| 
								 | 
							
													index
							 | 
						||
| 
								 | 
							
												})
							 | 
						||
| 
								 | 
							
												this.close()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											},
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * 关闭窗口
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											close() {
							 | 
						||
| 
								 | 
							
												if(this.beforeClose) return
							 | 
						||
| 
								 | 
							
												this.popup.close()
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								</script>
							 | 
						||
| 
								 | 
							
								<style lang="scss" >
							 | 
						||
| 
								 | 
							
									.uni-popup-share {
							 | 
						||
| 
								 | 
							
										background-color: #fff;
							 | 
						||
| 
								 | 
							
										border-top-left-radius: 11px;
							 | 
						||
| 
								 | 
							
										border-top-right-radius: 11px;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									.uni-share-title {
							 | 
						||
| 
								 | 
							
										/* #ifndef APP-NVUE */
							 | 
						||
| 
								 | 
							
										display: flex;
							 | 
						||
| 
								 | 
							
										/* #endif */
							 | 
						||
| 
								 | 
							
										flex-direction: row;
							 | 
						||
| 
								 | 
							
										align-items: center;
							 | 
						||
| 
								 | 
							
										justify-content: center;
							 | 
						||
| 
								 | 
							
										height: 40px;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									.uni-share-title-text {
							 | 
						||
| 
								 | 
							
										font-size: 14px;
							 | 
						||
| 
								 | 
							
										color: #666;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									.uni-share-content {
							 | 
						||
| 
								 | 
							
										/* #ifndef APP-NVUE */
							 | 
						||
| 
								 | 
							
										display: flex;
							 | 
						||
| 
								 | 
							
										/* #endif */
							 | 
						||
| 
								 | 
							
										flex-direction: row;
							 | 
						||
| 
								 | 
							
										justify-content: center;
							 | 
						||
| 
								 | 
							
										padding-top: 10px;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									.uni-share-content-box {
							 | 
						||
| 
								 | 
							
										/* #ifndef APP-NVUE */
							 | 
						||
| 
								 | 
							
										display: flex;
							 | 
						||
| 
								 | 
							
										/* #endif */
							 | 
						||
| 
								 | 
							
										flex-direction: row;
							 | 
						||
| 
								 | 
							
										flex-wrap: wrap;
							 | 
						||
| 
								 | 
							
										width: 360px;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									.uni-share-content-item {
							 | 
						||
| 
								 | 
							
										width: 90px;
							 | 
						||
| 
								 | 
							
										/* #ifndef APP-NVUE */
							 | 
						||
| 
								 | 
							
										display: flex;
							 | 
						||
| 
								 | 
							
										/* #endif */
							 | 
						||
| 
								 | 
							
										flex-direction: column;
							 | 
						||
| 
								 | 
							
										justify-content: center;
							 | 
						||
| 
								 | 
							
										padding: 10px 0;
							 | 
						||
| 
								 | 
							
										align-items: center;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									.uni-share-content-item:active {
							 | 
						||
| 
								 | 
							
										background-color: #f5f5f5;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									.uni-share-image {
							 | 
						||
| 
								 | 
							
										width: 30px;
							 | 
						||
| 
								 | 
							
										height: 30px;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									.uni-share-text {
							 | 
						||
| 
								 | 
							
										margin-top: 10px;
							 | 
						||
| 
								 | 
							
										font-size: 14px;
							 | 
						||
| 
								 | 
							
										color: #3B4144;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									.uni-share-button-box {
							 | 
						||
| 
								 | 
							
										/* #ifndef APP-NVUE */
							 | 
						||
| 
								 | 
							
										display: flex;
							 | 
						||
| 
								 | 
							
										/* #endif */
							 | 
						||
| 
								 | 
							
										flex-direction: row;
							 | 
						||
| 
								 | 
							
										padding: 10px 15px;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									.uni-share-button {
							 | 
						||
| 
								 | 
							
										flex: 1;
							 | 
						||
| 
								 | 
							
										border-radius: 50px;
							 | 
						||
| 
								 | 
							
										color: #666;
							 | 
						||
| 
								 | 
							
										font-size: 16px;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									.uni-share-button::after {
							 | 
						||
| 
								 | 
							
										border-radius: 50px;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								</style>
							 |