123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- <template>
- <!-- 标题 -->
- <view class="title-box acea-row row-between row-middle" :style="[...boxStyle]" @click="goPage">
- <view class="acea-row row-middle" >
- <view :style="[...titleStyle]">{{ titleTxt }}</view>
- <view class="ml6" :style="[...titleFuStyle]">{{ titleFuTxt }}</view>
- </view>
- <view v-if="!selectShow" :style="[...titleRightStyle]">{{ titleRightTxt }}<text :style="[...titleRightStyle]" class="iconfont icon-xiangyou"></text></view>
- </view>
- </template>
- <script>
- // +----------------------------------------------------------------------
- // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
- // +----------------------------------------------------------------------
- // | Author: CRMEB Team <admin@crmeb.com>
- // +----------------------------------------------------------------------
- export default {
- name: 'titles',
- props: {
- dataConfig: {
- type: Object,
- default: () => {}
- },
- },
- computed: {
- //最外层盒子的样式
- boxStyle() {
- return [{
- 'border-radius': 2*this.dataConfig.bgTopStyle.val +
- 'rpx' +
- ' ' +
- 2*this.dataConfig.bgTopStyle.val +
- 'rpx' +
- ' ' +
- 2*this.dataConfig.bgDownStyle.val +
- 'rpx' +
- ' ' +
- 2*this.dataConfig.bgDownStyle.val +
- 'rpx',
- },
- {
- 'background-image': this.selectStyle ?
- `linear-gradient(to right,${this.dataConfig.bgColor.color[0].item}, ${this.dataConfig.bgColor.color[1].item})` :
- `url(${this.bgImgUrl})`,
- },
- {
- margin: 2*this.dataConfig.mbConfig.val + 'rpx' + ' ' + 2*this.dataConfig.lrConfig.val + 'rpx' + ' ' +
- 0
- },
- {
- padding: 2*this.dataConfig.upConfig.val + 'rpx' + ' ' + '20rpx' + ' ' + 2*this.dataConfig.downConfig
- .val + 'rpx'
- },
- ];
- },
- titleStyle() {
- return [{
- 'font-weight': this.dataConfig.textStyle.list[this.dataConfig.textStyle.tabVal].style,
- },
- {
- 'font-style': this.dataConfig.textStyle.list[this.dataConfig.textStyle.tabVal].style
- },
- {
- fontSize: 2*this.dataConfig.fontSize.val + 'rpx',
- },
- {
- color: this.dataConfig.fontColor.color[0].item
- },
- ];
- },
- titleFuStyle() {
- return [{
- fontSize: 2*this.dataConfig.fontFuSize.val + 'rpx',
- },
- {
- color: this.dataConfig.fontFuColor.color[0].item
- },
- ];
- },
- titleRightStyle() {
- return [{
- fontSize: 2*this.dataConfig.fontRightSize.val + 'rpx',
- },
- {
- color: this.dataConfig.fontRightColor.color[0].item
- },
- ];
- },
- },
- data() {
- return {
- configObj: null,
- titleTxt: '',
- titleFuTxt: '',
- titleRightTxt: '',
- link: '',
- txtPosition: '',
- txtStyle: '',
- fontSize: 0,
- mTOP: 0,
- titleColor: '',
- themeColor: '',
- prConfig: 0,
- bgStyle: 0,
- pageData: {},
- selectShow: '',
- selectStyle: '',
- bgImgUrl: '',
- };
- },
- created() {
- this.setConfig()
- },
- methods: {
- setConfig(data) {
- this.configObj = this.data;
- this.titleTxt = this.dataConfig.titleConfig.val;
- this.titleFuTxt = this.dataConfig.titleFuConfig.val;
- this.titleRightTxt = this.dataConfig.titleRightConfig.val;
- this.link = this.dataConfig.linkConfig.val;
- this.bgImgUrl = this.dataConfig.bgImg.url;
- this.selectShow = this.dataConfig.selectShow.tabVal;
- this.selectStyle = this.dataConfig.selectStyle.tabVal;
- },
- goPage() {
- this.$util.navigateTo(this.dataConfig.linkConfig.val)
- }
- }
- }
- </script>
- <style scoped lang="scss">
- .title-box{
- background-repeat: no-repeat;
- object-fit: contain;
- }
- .title {
- font-size: 32rpx;
- color: #000;
- text-align: center;
- &.left {
- text-align: left;
- }
- &.right {
- text-align: right;
- }
- &.blod {
- font-weight: bold;
- }
- &.italics {
- font-style: italic;
- }
- }
- .ml6 {
- margin-left: 12rpx;
- }
- </style>
|