mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 20:28:44 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			108 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
<template>
 | 
						|
	<!-- #ifdef APP-NVUE -->
 | 
						|
	<cell>
 | 
						|
		<!-- #endif -->
 | 
						|
		<view class="uni-list-ad">
 | 
						|
			<view v-if="borderShow" :class="{'uni-list--border':border,'uni-list-item--first':isFirstChild}"></view>
 | 
						|
			<ad style="width: 200px;height: 300px;border-width: 1px;border-color: red;border-style: solid;" adpid="1111111111"
 | 
						|
			 unit-id="" appid="" apid="" type="feed" @error="aderror" @close="closeAd"></ad>
 | 
						|
		</view>
 | 
						|
		<!-- #ifdef APP-NVUE -->
 | 
						|
	</cell>
 | 
						|
	<!-- #endif -->
 | 
						|
 | 
						|
</template>
 | 
						|
 | 
						|
<script>
 | 
						|
	// #ifdef APP-NVUE
 | 
						|
	const dom = uni.requireNativePlugin('dom');
 | 
						|
	// #endif
 | 
						|
	export default {
 | 
						|
		name: 'UniListAd',
 | 
						|
		props: {
 | 
						|
			title: {
 | 
						|
				type: String,
 | 
						|
				default: '',
 | 
						|
 | 
						|
			}
 | 
						|
		},
 | 
						|
		// inject: ['list'],
 | 
						|
		data() {
 | 
						|
			return {
 | 
						|
				isFirstChild: false,
 | 
						|
				border: false,
 | 
						|
				borderShow: true,
 | 
						|
			}
 | 
						|
		},
 | 
						|
 | 
						|
		mounted() {
 | 
						|
			this.list = this.getForm()
 | 
						|
			if (this.list) {
 | 
						|
				if (!this.list.firstChildAppend) {
 | 
						|
					this.list.firstChildAppend = true
 | 
						|
					this.isFirstChild = true
 | 
						|
				}
 | 
						|
				this.border = this.list.border
 | 
						|
			}
 | 
						|
		},
 | 
						|
		methods: {
 | 
						|
			/**
 | 
						|
			 * 获取父元素实例
 | 
						|
			 */
 | 
						|
			getForm(name = 'uniList') {
 | 
						|
				let parent = this.$parent;
 | 
						|
				let parentName = parent.$options.name;
 | 
						|
				while (parentName !== name) {
 | 
						|
					parent = parent.$parent;
 | 
						|
					if (!parent) return false
 | 
						|
					parentName = parent.$options.name;
 | 
						|
				}
 | 
						|
				return parent;
 | 
						|
			},
 | 
						|
			aderror(e) {
 | 
						|
				console.log("aderror: " + JSON.stringify(e.detail));
 | 
						|
			},
 | 
						|
			closeAd(e) {
 | 
						|
				this.borderShow = false
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
</script>
 | 
						|
 | 
						|
<style lang="scss" >
 | 
						|
	.uni-list-ad {
 | 
						|
		position: relative;
 | 
						|
		border: 1px red solid;
 | 
						|
	}
 | 
						|
 | 
						|
	.uni-list--border {
 | 
						|
		position: relative;
 | 
						|
		padding-bottom: 1px;
 | 
						|
		/* #ifdef APP-PLUS */
 | 
						|
		border-top-color: $uni-border-color;
 | 
						|
		border-top-style: solid;
 | 
						|
		border-top-width: 0.5px;
 | 
						|
		/* #endif */
 | 
						|
		margin-left: $uni-spacing-row-lg;
 | 
						|
	}
 | 
						|
 | 
						|
	/* #ifndef APP-NVUE */
 | 
						|
	.uni-list--border:after {
 | 
						|
		position: absolute;
 | 
						|
		top: 0;
 | 
						|
		right: 0;
 | 
						|
		left: 0;
 | 
						|
		height: 1px;
 | 
						|
		content: '';
 | 
						|
		-webkit-transform: scaleY(.5);
 | 
						|
		transform: scaleY(.5);
 | 
						|
		background-color: $uni-border-color;
 | 
						|
	}
 | 
						|
 | 
						|
	.uni-list-item--first:after {
 | 
						|
		height: 0px;
 | 
						|
	}
 | 
						|
 | 
						|
	/* #endif */
 | 
						|
</style>
 |