5 changed files with 345 additions and 116 deletions
-
235components/lf-table.vue
-
95packages/ratingQueryDetail/ratingQueryDetail.vue
-
10pages/fastRating/fastRating.vue
-
106pages/order/order.vue
-
15pages/ratingCriteria/ratingCriteria.vue
@ -0,0 +1,235 @@ |
|||
<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 in Header" |
|||
:style="{height: formRowHeight,width: itemH.width+'rpx'}"> |
|||
{{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" @click="clickList(itemC,index)"> |
|||
<block v-for="(itemH,index2) in Header"> |
|||
<view class="keyBox" :style="{height: formRowHeight,width: itemH.width+'rpx'}"> |
|||
{{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 |
|||
} |
|||
}, |
|||
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> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue