| 
						 | 
						<template>	<view class="formBox" :style="{width: formWidth,height: formHeight}">		<!-- 表头 -->		<view class="headerBox" :style="{height: formRowHeight,width: length + 'rpx',lineHeight:formRowHeight}">			<view class="numberBox" v-if="showNumber" :style="{height: formRowHeight}">				序号			</view>			<view  				class="headerTitle" 				v-for="(itemH, indexH) in Header"				:key="indexH"				:style="{height: formRowHeight,width: itemH.width+'rpx', border: border ? '1px solid #F6F6F6' : 'none', 'background-color': headBgColor}">					{{itemH.text}}			</view>		</view>		<view class="titel" v-if="Content.length <= 0">			暂无数据		</view>		<view :style="{width: length + 'rpx'}">			<view class="contentBox" v-for="(itemC,index) in Content" :key="index" @click="clickList(itemC,index)">				<block v-for="(itemH,index2) in Header" :key="index2">					<view class="keyBox" :style="{height: formRowHeight,width: itemH.width+'rpx', border: border ? '1px solid #F6F6F6' : 'none'}">						{{itemC[itemH.key]}}					</view>				</block>			</view>		</view>	</view></template>
<script>	/*** * */	export default {		name:'nk-form',		props:{			Header: {				type: Array,				default: ()=>{					return []				}			},			Content: {				type: Array,				default: ()=>{					return []				}			},			height: {				type: [String,Number],				default: 1000			},			width: {				type: [String,Number],				default: '600'			},			showNumber: {				type: Boolean,				default: true			},			rowHeight: {				type: [String,Number],				default: 80			},			border: {				type: Boolean,				default: true			},			headBgColor: {				type: String,				default: '#f7f5f6'			}		},		data() {			return {				headerData:'',				contentData:'',				formWidth: '',				formHeight: '',				formRowHeight: '',				length: 0			};		},		created() {			if(typeof this.width == 'string'){				if(this.width.indexOf('rpx') > -1){					this.formWidth = this.width;				}				if(this.width.indexOf('%') > -1){					this.formWidth = this.width;				}				else{					this.formWidth = this.width + 'rpx';				}			}else{				this.formWidth = this.width + 'rpx';			}			if(typeof this.height == 'string'){				if(this.height.indexOf('rpx') > -1){					this.formHeight = this.height;				}				if(this.height.indexOf('%') > -1){					this.formHeight = this.height;				}				else{					this.formHeight = this.height + 'rpx';				}			}else{				this.formHeight = this.height + 'rpx';			}			if(typeof this.rowHeight == 'string'){				if(this.rowHeight.indexOf('rpx') > -1){					this.formRowHeight = this.rowHeight + 'rpx';				}				if(this.rowHeight.indexOf('%') > -1){					this.formRowHeight = this.rowHeight;				}				else{					this.formHeight = this.height + 'rpx';				}			}else{				this.formRowHeight = this.rowHeight + 'rpx';			}		},		methods:{			// 计算总长度
			getLength(){				for(let i = 0; i < this.Header.length; i++){					this.length = this.length + this.Header[i].width * 1;				}				if(this.showNumber){					this.length = this.length + 80;				}			},						// 点击事件
			clickList(event,index) {				let data = {					content: event,					index: index				}				this.$emit("clickList",data);			}		},		mounted:function(){			this.getLength();		}	}</script>
<style lang="scss">.formBox{	overflow: auto;	position: relative;	.headerBox{		position: sticky;		top: 0;		display: flex;		justify-content: flex-start;		.numberBox,.headerTitle{			display: inline-flex;			align-items: center;			justify-content: center;			font-size: 30rpx;			font-weight: 900;			color: rgb(68, 68, 68);			// background-color: #dddddd;
			background-color: #f7f5f6;			border: 1px solid #F6F6F6;			box-sizing: border-box;		}		.numberBox{			width: 80rpx;		}	}	.contentBox{		.keyBox{			display: inline-flex;			align-items: center;			justify-content: center;			font-size: 30rpx;			font-weight: 900;			border: 1px solid #F6F6F6;			box-sizing: border-box;		}	}	// .contentBox:nth-child(2n){
	// 	background-color: #F1F1F1;
	// }
	.titel{		text-align: center;		margin-top: 80rpx;		color: #007AFF;	}}
/* .headerBox{	height: 60rpx;	position: sticky;	top: 0;} */
// .headerBoxII{
// 	height: 60rpx;
// 	line-height: 60rpx;
// 	display: inline-block;
// 	text-align: center;
// 	font-size: 30rpx;
// 	font-weight: 900;
// 	color: rgb(68, 68, 68);
// }
// .headerBoxIII{
// 	background-color: #dddddd;
// 	border: 1px solid rgb(235, 238, 245);
// }
// .contentBox{
// 	height: 60rpx;
// 	line-height: 60rpx;
// 	float: left;
// 	text-align: center;
// }
// .contentBoxII{
// 	height: 60rpx;
// 	line-height: 60rpx;
// 	border: 1px solid rgb(235, 238, 245);
// }
// .contentBoxII:nth-child(2n){
// 	background-color: #E6E6E6;
// }
// .tipsBox{
// 	margin-top: 30rpx;
// 	font-size: 40rpx;
// 	text-align: center;
// 	color: #999;
// }
</style>
  |