339 lines
19 KiB
Plaintext
339 lines
19 KiB
Plaintext
<cu-custom isBack="{{true}}">
|
|
<view slot="content">{{title}}</view>
|
|
</cu-custom>
|
|
<view wx:if="{{fieldList.length>0}}" class="flex flex-direction radius align-center"
|
|
style="padding-bottom:100rpx;width:100%;">
|
|
<view class="flex flex-direction self-center" style="padding:15rpx;width: 100%;">
|
|
<!-- 内容 1:文字,2:照片,3:音频,4:视频,5:链接,6:定位,7:文章 -->
|
|
<view wx:for="{{fieldList}}" wx:key="index" class="item-bottom-margin">
|
|
<!-- 文本 -->
|
|
<view wx:if="{{item.dataType == '1'}}" style="width: 100%;">
|
|
<view class="cu-form-group item-padding">
|
|
<view class="title">{{item.comment}}</view>
|
|
<input placeholder="请输入内容" maxlength="{{item.maxLength}}" data-key="{{item.name}}"
|
|
data-value="{{item.value}}" bindinput="inputText" data-index="{{index}}"></input>
|
|
</view>
|
|
</view>
|
|
<!-- 文本域 -->
|
|
<view wx:if="{{item.dataType == '7'}}">
|
|
<view class="cu-bar bg-white">
|
|
<view class="action">
|
|
<text>{{item.comment}}</text>
|
|
</view>
|
|
</view>
|
|
<view class="bg-white">
|
|
<view class="cu-form-group item-padding">
|
|
<textarea class="border-line" maxlength="{{item.maxLength}}" data-key="{{item.name}}"
|
|
data-value="{{item.value}}" bindinput="inputText" data-index="{{index}}"
|
|
placeholder="请输入内容"></textarea>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<!-- 图片 -->
|
|
<view wx:elif="{{item.dataType == '2'}}">
|
|
<view class="cu-bar bg-white">
|
|
<view class="action">
|
|
<text>{{item.comment}}{{item.valueList.length}}/{{item.maxCount}}</text>
|
|
</view>
|
|
</view>
|
|
<view class="cu-bar bg-white">
|
|
<block wx:for="{{displayType}}" wx:key="idx" wx:for-index="idx" wx:for-item="it">
|
|
<view class="cu-capsule radius" style="margin-left: 15rpx;" catchtap="chooseDisplayType"
|
|
data-id="{{it.id}}">
|
|
<view class="cu-tag {{selDisplayType == it.id ? 'bg-yellowlight':'bg-grey'}}">
|
|
<text class="{{selDisplayType == it.id ? 'cuIcon-radiobox':'cuIcon-round'}}"></text>
|
|
</view>
|
|
<view class="cu-tag {{selDisplayType == it.id ? 'line-yellowlight2':'line-black'}}">
|
|
{{it.name}}
|
|
</view>
|
|
</view>
|
|
</block>
|
|
<!-- <view style="font-size: 32rpx;color:#000; padding:0rpx 15rpx;">
|
|
{{displayTypeStr}}
|
|
</view>
|
|
<view class="action">
|
|
<text class="cuIcon-right"></text>
|
|
</view> -->
|
|
</view>
|
|
<view class="cu-form-group item-padding">
|
|
<view class="grid col-3 grid-square flex-sub">
|
|
<view class="bg-img" wx:for="{{item.valueList}}" wx:for-index="idx" wx:key="idx"
|
|
bindtap="viewImg" wx:for-item="photo" data-url="{{photo.path}}">
|
|
<image src='{{photo.path}}' mode='aspectFill'></image>
|
|
<view class="cu-tag bg-red" catchtap="delImg" data-index="{{idx}}"
|
|
data-itemIndex="{{index}}">
|
|
<text class="cuIcon-close"></text>
|
|
</view>
|
|
</view>
|
|
<view class="solids" bindtap="choosePhoto" data-item="{{item}}" data-index="{{index}}"
|
|
wx:if="{{item.valueList.length<item.maxCount}}">
|
|
<text class="cuIcon-cameraadd"></text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<!-- 音频 -->
|
|
<view wx:elif="{{item.dataType == '3'}}">
|
|
<view class="cu-bar bg-white">
|
|
<view class="action">
|
|
<text>{{item.comment}}</text>
|
|
</view>
|
|
<view class="action">
|
|
{{item.valueList.length}}/{{item.maxCount}}
|
|
</view>
|
|
</view>
|
|
<view class="flex flex-direction align-center bg-white radius">
|
|
<view wx:if="{{item.valueList.length > 0}}" style="width:100%;">
|
|
<view class="flex align-center shadow-box margin-top-xs item-padding" style="width:100%;"
|
|
wx:for="{{item.valueList}}" wx:for-index="idx" wx:key="idx" wx:for-item="audio">
|
|
<image src="/images/ic_user_default.png" mode="scaleToFill"
|
|
style="width:80rpx;height:80rpx;">
|
|
</image>
|
|
<view class="play-box">
|
|
<view class="flex justify-between align-center" style="width:80%;">
|
|
<text>{{audio.curDurationStr}}</text>
|
|
<slider class="flex-sub" bindchange="slider4change" min="{{0}}"
|
|
max="{{audio.duration}}" value="{{audio.curDuration}}" backgroundColor="#cacaca"
|
|
activeColor="#1296db" data-index="{{index}}" data-idx="{{idx}}"
|
|
data-item="{{audio}}" block-size="14" block-color="#1296db" />
|
|
<text>{{audio.totalDurationStr}}</text>
|
|
</view>
|
|
<view class="flex justify-between" style="width:80%;">
|
|
<image src="/images/ic_audio_rewind.png" mode="scaleToFill" data-index="{{index}}"
|
|
data-idx="{{idx}}" data-item="{{audio}}" bindtap="rewind"></image>
|
|
<image
|
|
src="{{audio.isPlay ? '/images/ic_audio_playing.png':'/images/ic_audio_play.png'}}"
|
|
mode="scaleToFill" bindtap="play" data-index="{{index}}" data-idx="{{idx}}"
|
|
data-item="{{audio}}">
|
|
</image>
|
|
<image src="/images/ic_audio_speed.png" mode="scaleToFill" bindtap="speed"
|
|
data-index="{{index}}" data-idx="{{idx}}" data-item="{{audio}}"></image>
|
|
</view>
|
|
</view>
|
|
<view class="cu-tag bg-gray margin-left-xs" style="border-radius:50%;" catchtap="delAudio"
|
|
data-index="{{index}}" data-idx="{{idx}}">
|
|
<text class="cuIcon-close"></text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="flex align-center flex-direction" wx:else>
|
|
<image src="/images/ic_empty_voice.png" mode="scaleToFill" style="width:200rpx;height:200rpx;">
|
|
</image>
|
|
<text class="text-gray">
|
|
语音,可以给名片访客留下更深的印象
|
|
</text>
|
|
</view>
|
|
<view wx:if="{{item.valueList.length<item.maxCount}}" class="cu-btn bg-blue radius margin-top-sm"
|
|
style="width:60%;margin-bottom: 15rpx;" data-index="{{index}}" data-item="{{item}}"
|
|
bindtap="showDialog">点击添加
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<!-- 视频 -->
|
|
<view wx:elif="{{item.dataType == '4'}}">
|
|
<view class="cu-bar bg-white">
|
|
<view class="action">
|
|
{{item.comment}}
|
|
</view>
|
|
<view class="action">
|
|
{{item.valueList.length}}/{{item.maxCount}}
|
|
</view>
|
|
</view>
|
|
<view class="cu-form-group item-padding">
|
|
<view class="grid col-3 grid-square flex-sub">
|
|
<view class="bg-img" wx:for="{{item.valueList}}" wx:for-index="idx" wx:key="idx"
|
|
wx:for-item="video" bindtap="viewVideo" data-url="{{video.path}}">
|
|
<image src='{{video.imgPath}}' mode='aspectFill'></image>
|
|
<view class="cu-tag bg-red" catchtap="delVideo" data-index="{{index}}" data-idx="{{idx}}">
|
|
<text class="cuIcon-close"></text>
|
|
</view>
|
|
</view>
|
|
<view class="solids" bindtap="chooseVideo" wx:if="{{item.valueList.length<item.maxCount}}"
|
|
data-item="{{item}}" data-index="{{index}}">
|
|
<text class="cuIcon-cameraadd"></text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<!-- 链接 -->
|
|
<view wx:if="{{item.dataType == '5'}}">
|
|
<view class="cu-form-group item-padding">
|
|
<view class="title margin-left-sm">{{item.comment}}</view>
|
|
<input placeholder="请输入内容" maxlength="{{item.maxLength}}" data-key="{{item.name}}"
|
|
data-value="{{item.value}}" bindinput="inputText" data-index="{{index}}"></input>
|
|
</view>
|
|
</view>
|
|
<!-- 定位 -->
|
|
<view wx:elif="{{item.dataType=='6'}}">
|
|
<view class="cu-bar bg-white">
|
|
<view class="action">
|
|
<text>{{item.comment}}</text>
|
|
</view>
|
|
<view class="action">
|
|
</view>
|
|
</view>
|
|
<view class="flex flex-direction align-center bg-white radius item-padding">
|
|
<view wx:if="{{item.valueList.length>0}}" style="width: 100%;">
|
|
<view wx:for="{{item.valueList}}" wx:for-index="idx" wx:key="idx" wx:for-item="m"
|
|
style="width:100%;display: flex;flex-direction: column;" class="margin-top-xs">
|
|
<view class="flex justify-between">
|
|
<view>
|
|
{{m.name}}-{{m.address}}
|
|
</view>
|
|
<view class="cu-tag bg-gray margin-left-xs" catchtap="delMap" data-index="{{index}}"
|
|
data-idx="{{idx}}">
|
|
<text class="cuIcon-close"></text>
|
|
</view>
|
|
</view>
|
|
<view style="border-radius:10rpx;overflow:hidden;margin-top:10rpx;width: 100%;">
|
|
<map style="width:100%;height:300rpx;" longitude="{{m.longitude}}"
|
|
latitude="{{m.latitude}}" scale="12"
|
|
markers="{{[{latitude:m.latitude,longitude:m.longitude}]}}"></map>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="flex align-center bg-white flex-direction" wx:else>
|
|
<image src="/images/ic_empty_map.png" mode="scaleToFill" style="width:200rpx;height:200rpx;">
|
|
</image>
|
|
<text class="text-gray">
|
|
在地图上选取一个地点
|
|
</text>
|
|
</view>
|
|
<view wx:if="{{item.valueList.length < item.maxCount}}" class="cu-btn bg-blue radius margin-top-sm"
|
|
data-index="{{index}}" style="width:60%;" bindtap="chooseLocation">点击添加</view>
|
|
</view>
|
|
</view>
|
|
<!-- 单选 -->
|
|
<view wx:elif="{{item.dataType=='8'}}">
|
|
<view class="cu-form-group item-padding">
|
|
<view class="title margin-left-sm">{{item.comment}}</view>
|
|
<picker bindchange="pickerChange" data-index="{{index}}" value="{{item.index}}"
|
|
range="{{item.dictionariesList}}" range-key="dataName">
|
|
<view class="picker">
|
|
{{item.dictionariesList[item.index].dataName}}
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
</view>
|
|
<!-- 多选 -->
|
|
<view wx:elif="{{item.dataType=='9'}}">
|
|
<view class="cu-form-group item-padding" data-index="{{index}}" data-item="{{item}}"
|
|
catchtap="showMutliSel">
|
|
<view class="title margin-left-sm">{{item.comment}}</view>
|
|
<view class="flex align-center" style="flex-direction:row;">
|
|
<view class="margin-right-sm">
|
|
{{item.selValue}}
|
|
</view>
|
|
<text class="cuIcon-right"></text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<!-- <view class="cu-form-group item-padding">
|
|
<view class="title">排序</view>
|
|
<input placeholder="请输入展示顺序" data-key="{{item.name}}" data-type="1" data-value="{{item.order}}"
|
|
value="{{item.order}}" bindinput="inputText" data-index="{{index}}"></input>
|
|
</view> -->
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view wx:else style="margin-top:200rpx;width:100%;">
|
|
<van-empty description="暂无数据" />
|
|
</view>
|
|
|
|
<view class="foot bg-white" style="padding: 15rpx;" wx:if="{{fieldList.length > 0}}">
|
|
<button class="cu-btn bg-blue" style="width:100%" bindtap="doPublish">保存</button>
|
|
</view>
|
|
|
|
<!-- 语音弹框 -->
|
|
<van-action-sheet show="{{ isShowAudio }}" title="语音介绍添加" bind:close="onHide" data-type="1"
|
|
style="padding-bottom:180rpx;">
|
|
<view class="flex flex-direction align-center" style="margin-top:10rpx;padding-bottom:80rpx;"
|
|
wx:if="{{audioFile==null}}">
|
|
<image wx:if="{{isStartRecord}}" src="/images/ic_voice_record.gif" mode="heightFix"
|
|
style="width:300rpx;height:300rpx;"></image>
|
|
<image src="/images/ic_record_start.png" wx:else mode="heightFix" style="width:300rpx;height:300rpx;"></image>
|
|
<text>00:{{speck_time>9 ? speck_time : '0'+ speck_time}}</text>
|
|
<view class="cu-btn bg-blue radius margin-top-sm" style="width:70%;" bindlongpress="startRecord"
|
|
bindtouchend="doEndRecord">长按录音</view>
|
|
</view>
|
|
<!-- 存在录音文件 -->
|
|
<view class="flex flex-direction align-center" style="margin-top:10rpx;padding-bottom:80rpx;" wx:else>
|
|
<image src="{{audioFile.isPlay? '/images/ic_voice_record.gif':'/images/ic_record_start.png'}}" mode="heightFix"
|
|
style="width:300rpx;height:300rpx;"></image>
|
|
<text>{{audioFile.isPlay ? '播放中:'+speck_time+'秒' : '时长:'+audioFile.duration+'秒'}}</text>
|
|
<view class="flex" style="width:80%;">
|
|
<view class="cu-btn bg-blue radius margin-top-sm flex-sub" bindtap="playAudio">点击播放</view>
|
|
<view class="cu-btn bg-red radius margin-top-sm flex-sub margin-left" bindtap="delAudio">删除</view>
|
|
</view>
|
|
</view>
|
|
</van-action-sheet>
|
|
<!-- 文本域弹框 -->
|
|
<van-action-sheet show="{{ isShowDesc }}" title="{{'文本内容'+'('+textareaList.length+'/'+ currentItem.count+')'}}"
|
|
bind:close="onHide" data-type="2" style="padding-bottom:20rpx;">
|
|
<view class="flex flex-direction align-center" style="margin-top:10rpx;padding-bottom:30rpx;">
|
|
<textarea id="tempDesc" placeholder="请输入文本内容" style="width:90%;" value="{{tempDesc}}"
|
|
bindinput="textInput"></textarea>
|
|
<view class="cu-btn bg-blue radius margin-top-sm" bindtap="addDesc">点击添加</view>
|
|
</view>
|
|
</van-action-sheet>
|
|
<!-- 文本内容弹框 -->
|
|
<van-action-sheet show="{{ isShowText }}" title="{{'文本内容'+'('+textList.length+'/'+ currentItem.count+')'}}"
|
|
bind:close="onHide" data-type="3" style="padding-bottom:180rpx;">
|
|
<view class="flex flex-direction align-center" style="margin-top:10rpx;padding-bottom:30rpx;">
|
|
<input id="tempText" placeholder="请输入文本内容" style="width:90%;" value="{{tempText}}" bindinput="textInput" />
|
|
<view class="cu-btn bg-blue radius margin-top-sm" bindtap="addStr">点击添加</view>
|
|
</view>
|
|
</van-action-sheet>
|
|
<!-- 图片弹框 -->
|
|
<van-action-sheet show="{{ isShowPhoto }}" title="图片选取" bind:close="onHide" data-type="4" style="padding-bottom:20rpx;">
|
|
<view class="flex flex-direction align-center" style="margin-top:10rpx;padding-bottom:30rpx;">
|
|
<view class="text-lg line" catchtap="choosePhoto" data-type="album">
|
|
相册
|
|
</view>
|
|
<view class="text-lg noline" catchtap="choosePhoto" data-type="camera">
|
|
相机
|
|
</view>
|
|
</view>
|
|
</van-action-sheet>
|
|
<!-- 视频弹框 -->
|
|
<van-action-sheet show="{{ isShowVideo }}" title="视频选取" bind:close="onHide" data-type="6" style="padding-bottom:20rpx;">
|
|
<view class="flex flex-direction align-center" style="margin-top:10rpx;padding-bottom:30rpx;">
|
|
<view class="text-lg line" catchtap="chooseVideo" data-type="album">
|
|
相册
|
|
</view>
|
|
<view class="text-lg noline" catchtap="chooseVideo" data-type="camera">
|
|
相机
|
|
</view>
|
|
</view>
|
|
</van-action-sheet>
|
|
|
|
<!-- 文本内容弹框 -->
|
|
<van-action-sheet show="{{ isShowLink }}" title="{{'链接内容'+'('+linkList.length+'/'+ currentItem.count+')'}}"
|
|
bind:close="onHide" data-type="5" style="padding-bottom:180rpx;">
|
|
<view class="flex flex-direction align-center" style="margin-top:10rpx;padding-bottom:30rpx;">
|
|
<input id="linkStr" placeholder="请输入链接地址(https://www.baidu.com)" style="width:90%;" value="{{linkStr}}"
|
|
bindinput="textInput" />
|
|
<view class="cu-btn bg-blue radius margin-top-sm" bindtap="addLink">点击添加</view>
|
|
</view>
|
|
</van-action-sheet>
|
|
|
|
<!-- 多选 -->
|
|
<van-action-sheet show="{{ isShowTags }}" title="请选择" bind:close="onHide" data-type="8" style="padding-bottom:180rpx;">
|
|
<view class="flex flex-direction align-center" style="margin-top:10rpx;padding-bottom:30rpx;">
|
|
<scroll-view style="height:320rpx;max-height:320rpx;padding:0rpx 20rpx;" scroll-y>
|
|
<view class="cu-capsule radius" wx:for="{{fieldList[currentIndex].dictionariesList}}" wx:key="index">
|
|
<view class="cu-tag {{item.isSel ? 'bg-blue' : 'bg-gray' }}" catchtap="chooseTags" data-idx="{{index}}">
|
|
{{item.dataName}}
|
|
</view>
|
|
</view>
|
|
</scroll-view>
|
|
</view>
|
|
</van-action-sheet>
|
|
|
|
<!-- 图片展示方式 -->
|
|
<van-action-sheet show="{{ isShowType }}" bind:close="onHide" style="padding-bottom:180rpx;">
|
|
<van-picker show-toolbar title="展示方式" columns="{{displayType}}" bind:cancel="cancelSel" bind:confirm="confirmSel"
|
|
value-key="name">
|
|
</van-picker>
|
|
</van-action-sheet> |