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/infoCard.vue

125 lines
3.3 KiB
Vue

6 months ago
<template>
<view>
<view class="m-info g_flex_row_between g_p_16 g_bg_f g_m_10 g_radius_8" hover-class="g_bg_e" style="margin-top: 0" @click="handleClick">
<view class="g_flex_1 g_flex_row_start">
<view class="g_flex_none g_flex_column_center">
<g-panel-image :radius="radius" :size="info.imgSize ? info.imgSize : 112" :url="info.avatar" />
</view>
<view class="g_flex_1 g_ml_11 g_flex_column_between">
<view class="">
<view class="g_flex_row_start">
<view
class="g_flex_none g_ell_1 g_fs_20 g_fw_bold g_c_3"
:style="{
'font-size': info.titleFS ? info.titleFS : 20,
'font-weight': info.titleFW ? info.titleFW : 'bold',
'max-width': info.recordStatus ? '260rpx' : '500rpx',
}"
>
{{ info.title ? info.title : "-" }}
</view>
<view v-if="info.isHaveOrder" class="g_flex_1 g_flex_column_center g_ml_4">
<i class="t-icon t-icon-fadanhao_circle"></i>
</view>
</view>
</view>
<view
class="g_fs_16 g_c_9 g_ell_1"
v-if="info.num != 'slot'"
:style="{
'font-size': info.numFS ? info.numFS : '16px',
}"
>{{ info.num == "slot" ? "" : info.num }}</view
>
<view v-if="info.num == 'slot'" class="g_flex_row_start">
<view v-for="(item, index) in info.slot" :key="index" class="g_flex_row_start g_mr_10">
<view class="g_fs_12 g_c_6 g_flex_column_end">{{ item.name }}</view>
<view class="g_fs_15 g_c_3 g_fw_600 g_ml_4">{{ item.num }}</view>
</view>
</view>
</view>
</view>
<view class="g_flex_none g_flex_column_center g_pl_20" v-if="isShowMore == 1 && rightType == 'more'">
<i class="iconfont icon-gengduo11 g_c_c"></i>
</view>
<view class="g_flex_none g_flex_column_center" v-if="isShowMore == 1 && rightType == 'image' && rightImage">
<g-panel-image :radius="radius" size="56" :url="rightImage" />
</view>
<view class="g_flex_none g_flex_column_center" v-if="isShowMore == 1 && rightType == 'button'">
<view class="g_flex_c g_radius_14 g_pt_4 g_pb_4 g_pr_8 g_pl_10" style="border: 1px solid #00b666" @click="goForm">
<view class="g_flex_row_center">
<view class="g_c_main g_fs_14 g_flex_column_center g_mb_1"> + </view>
<view class="g_c_main g_fs_12 g_flex_column_center g_ml_4">关注</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
/*
* @params info 展示信息
* @param isShowMore 是否显示右侧图标
* @function clickCard 卡片点击事件
* @function clickMore 右侧按钮点击事件
*/
export default {
data() {
return {
cdnBaseImg: this.G.store().cdnBaseImg,
};
},
props: {
info: {
type: Object,
default: () => {
return {
avatar: "",
title: "-",
num: "-",
};
},
},
isShowMore: {
default: () => {
return 1;
},
},
radius: {
default: () => {
return 50;
},
},
rightType: {
type: String,
default: () => {
return "more";
},
},
rightImage: {
type: String,
default: () => {
return "";
},
},
},
methods: {
handleClick() {
this.$emit("clickCard");
},
goMore() {
this.$emit("clickMore");
},
goForm() {
uni.navigateTo({
url: "/root/bind/applyForm?code=" + this.info.agencyCode + "&form=1",
});
},
},
};
</script>
<style></style>