396316021
1 year ago
18 changed files with 2043 additions and 2138 deletions
@ -0,0 +1,117 @@
|
||||
<script> |
||||
export default { |
||||
name: "fomItem", |
||||
props: { |
||||
data: { |
||||
type: Object |
||||
}, |
||||
name: { |
||||
type: String |
||||
}, |
||||
type: { |
||||
type: String, |
||||
default: 'media' |
||||
}, |
||||
isShow: { |
||||
type: Boolean, |
||||
default: false |
||||
}, |
||||
optionName: { |
||||
type: String, |
||||
default: 'default' |
||||
} |
||||
}, |
||||
data() { |
||||
return { |
||||
imageUrl: '', |
||||
imageShow: false, |
||||
} |
||||
}, |
||||
methods: { |
||||
showBigImage(imgUrl) { |
||||
this.imageUrl = imgUrl; |
||||
this.imageShow = true; |
||||
}, |
||||
getString(value) { |
||||
let typeStr = typeof value; |
||||
if (typeStr === 'string') { |
||||
return value; |
||||
} else if (typeStr === 'object' || typeStr === 'array') { |
||||
return value.join(','); |
||||
} |
||||
}, |
||||
getShowStatus(){ |
||||
if(!this.isShow){ |
||||
if(this.type === 'media' || this.type === 'text'){ |
||||
return (Object.keys(this.data).length>0); |
||||
}else{ |
||||
return (this.data.value || this.data.option || this.data.remark || (typeof this.data.upload === 'object' && Object.keys(this.data.upload).length > 0)) |
||||
} |
||||
}else{ |
||||
return true; |
||||
} |
||||
|
||||
}, |
||||
}, |
||||
} |
||||
</script> |
||||
|
||||
<template> |
||||
<view class="content-item service-end" v-if="getShowStatus()"> |
||||
<view class="item-title"> |
||||
<view class="title row" |
||||
style="position:relative;justify-content: flex-start;width:100%;top:0;left:0;margin-bottom:30rpx;"> |
||||
<view class="value col" style="position: relative;text-align: left;"> |
||||
|
||||
<!-- <u-text text="协议内容" size="38" color="#191919"></u-text>--> |
||||
<view class="" style="position: relative;display:inline-block;"> |
||||
<view style="color:#191919;font-size:32rpx;display:inline-block;position: relative;z-index: 2;"> |
||||
{{ name }}: |
||||
</view> |
||||
<view class="background" |
||||
style="width:100%;height:50%;position: absolute;bottom:0;left:0;background-color:rgba(227, 191, 119, 0.6);display:inline-block;z-index:1;"></view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="item-content" v-if="type !== 'text'"> |
||||
<slot name="option"> |
||||
<view v-if="type !== 'media'"> |
||||
{{ getString(optionName !== 'value' ? data.option:(data.value?data.value +'次':'')) }} |
||||
</view> |
||||
</slot> |
||||
<slot name="remark"> |
||||
<view v-if="type !== 'media'"> |
||||
{{ data.remark }} |
||||
</view> |
||||
</slot> |
||||
<slot name="media"> |
||||
<view class="row"> |
||||
<view class="col-4" v-for="(item,index) in (this.type === 'media')?data:data.upload"> |
||||
<view class="item-image" v-if="item.type === 'image'"> |
||||
<u-image @click="showBigImage(item.url)" :src="item.url" mode="widthFix" width="100%"></u-image> |
||||
</view> |
||||
<view class="item-video" v-else> |
||||
<video mode="aspectFill" :src="item.url" |
||||
style="width:100%;height:200rpx;border-radius: 16rpx;border:2rpx solid #262626;"></video> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</slot> |
||||
</view> |
||||
<view class="item-content" v-else> |
||||
<view class=""> |
||||
{{data}} |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<u-overlay :show="imageShow" @click="imageShow = false"> |
||||
<view class="" style="display:flex;align-items: center;justify-content:center;width:100%;height:100vh;"> |
||||
<u-image mode="widthFix" :src="imageUrl" height="auto" width="100vw"></u-image> |
||||
</view> |
||||
</u-overlay> |
||||
</template> |
||||
|
||||
<style scoped lang="scss"> |
||||
|
||||
</style> |
@ -0,0 +1,27 @@
|
||||
<template> |
||||
<view class="" style="padding:26rpx;border-radius: 20rpx;background-color:#fff;box-shadow:0rpx 0rpx 30rpx #dfdfdf"> |
||||
<slot></slot> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
/** |
||||
* 卡片 |
||||
* @description |
||||
* |
||||
* @property {String} title 显示的文字 |
||||
*/ |
||||
export default { |
||||
name: 'mz-card', |
||||
methods: { |
||||
|
||||
}, |
||||
mounted() { |
||||
|
||||
}, |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
|
||||
</style> |
@ -0,0 +1,83 @@
|
||||
{ |
||||
"id": "mz-card", |
||||
"displayName": "mz-card 卡片", |
||||
"version": "1.0.1", |
||||
"description": "mz-card", |
||||
"keywords": [ |
||||
"卡片" |
||||
], |
||||
"repository": "", |
||||
"engines": { |
||||
"HBuilderX": "^3.1.0" |
||||
}, |
||||
"dcloudext": { |
||||
"type": "component-vue", |
||||
"sale": { |
||||
"regular": { |
||||
"price": "0.00" |
||||
}, |
||||
"sourcecode": { |
||||
"price": "0.00" |
||||
} |
||||
}, |
||||
"contact": { |
||||
"qq": "" |
||||
}, |
||||
"declaration": { |
||||
"ads": "无", |
||||
"data": "插件不采集任何数据", |
||||
"permissions": "无" |
||||
}, |
||||
"npmurl": "" |
||||
}, |
||||
"uni_modules": { |
||||
"dependencies": [ |
||||
|
||||
], |
||||
"encrypt": [], |
||||
"platforms": { |
||||
"cloud": { |
||||
"tcb": "y", |
||||
"aliyun": "y" |
||||
}, |
||||
"client": { |
||||
"Vue": { |
||||
"vue2": "y", |
||||
"vue3": "y" |
||||
}, |
||||
"App": { |
||||
"app-vue": "y", |
||||
"app-nvue": "y" |
||||
}, |
||||
"H5-mobile": { |
||||
"Safari": "y", |
||||
"Android Browser": "y", |
||||
"微信浏览器(Android)": "y", |
||||
"QQ浏览器(Android)": "y" |
||||
}, |
||||
"H5-pc": { |
||||
"Chrome": "y", |
||||
"IE": "y", |
||||
"Edge": "y", |
||||
"Firefox": "y", |
||||
"Safari": "y" |
||||
}, |
||||
"小程序": { |
||||
"微信": "y", |
||||
"阿里": "y", |
||||
"百度": "y", |
||||
"字节跳动": "y", |
||||
"QQ": "y", |
||||
"钉钉": "u", |
||||
"快手": "u", |
||||
"飞书": "u", |
||||
"京东": "u" |
||||
}, |
||||
"快应用": { |
||||
"华为": "u", |
||||
"联盟": "u" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue