You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
apply-assistant-v3/components/panel/formItem.vue

141 lines
3.3 KiB
Vue

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view class="g-components-item">
<view class="m-set g_bg_f g_radius_8">
<view
class="item g_flex_row_start"
v-for="(item, index) in list"
:key="index"
:hover-class="item.type == 'slot' ? 'none' : 'g_bg_e'"
@click="handleClickItem(item, index)"
:style="{
'padding-top': (item.pColumn ? item.pColumn : 19) + 'px',
'padding-bottom': (item.pColumn ? item.pColumn : 19) + 'px',
'padding-left': (item.pRow ? item.pRow : 10) + 'px',
'padding-right': (item.pRow ? item.pRow : 10) + 'px',
}"
>
<view class=" g_pl_10 g_pr_10 g_flex_column_center">
<view class="g_flex_1 g_flex_row_start flex_center" :class="item.require ? 'labelRequire' : ''">
<view class="t-icon g_h_22 g_w_22 g_pl_7 g_mr_5"
style="width: 22px; height: 22px;background-repeat:no-repeat"
:style="{
'width':item.icon == 'icon-wodetuandui' ? '24px' : '22px',
'height':item.icon == 'icon-wodetuandui' ? '24px' : '22px',
}"
v-if="item.icon"
:class="'t-' + item.icon"
></view>
<view class="g_flex_column_center g_c_3 g_fs_16">{{ item.label }}</view>
</view>
</view>
<view class="g_flex_1 g_flex_column_center">
<view class="g_flex_row_end">
<view class="g_flex_row_end">
<!-- 通用类型 -->
<view class="g_fs_16 g_ell_1 g_lh_1_2" style="max-width:45vw" :class="item.fontColor" v-if="item.result">{{ item.result }}</view>
<!-- 迷你二维码 -->
<view class="g_flex_rowRight_columnCenter" v-if="item.tip == 'code'">
<i class="iconfont icon-a-erweimabeifen2 g_fs_21 g_c_c" style="font-size: 21px"></i>
</view>
<!-- 头像类 -->
<view class="g_flex_rowRight_columnCenter" v-if="item.tip == 'avatar'">
<img :src="item.value" alt="" class="g_w_48 g_h_48 g_radius_50" />
</view>
<!-- 右箭头 -->
<view class="g_flex_column_center" v-if="item.type != 'slot'">
<i class="iconfont icon-gengduo11 g_c_c"></i>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
/* item单行卡片
* 示例我的页面中的设置展示UI
*/
export default {
data() {
return {
localBaseImg: "",
};
},
props: {
list: {
type: Array,
default: () => {
return [];
},
},
},
created() {
this.localBaseImg = this.G.store().localBaseImg;
},
methods: {
// 当前行
handleClickItem($item, $index) {
this.$emit("clickItem", {
item: $item,
index: $index,
});
},
},
};
</script>
<style lang="scss">
.g-components-item {
.m-set {
width: calc(100% - 40rpx);
margin: 0 auto;
.item {
position:relative;
// border-bottom: 1rpx solid #eee;
&:after{
content:'';
position: absolute;
bottom:0;
left:16px;
border-bottom: 1rpx solid #eee;
height: 1rpx solid #eee;
width: calc(100vw - 52px);
}
&:last-child {
border-bottom: none;
&:after{
content:none;
}
}
}
.labelRequire {
&::afrer {
content: "*";
color: #ff4400;
margin-top: 8px;
margin-right: 2px;
}
}
}
.btn-text {
.btn-con {
border-left: 1rpx solid #eee;
padding: 0 0 0 16px;
background-color: transparent;
border-radius: 0;
height: 40rpx;
line-height: 40rpx;
}
}
}
</style>