SmartBeehive/page_Beehive/Beehive_log.vue
2024-06-21 18:04:01 +08:00

587 lines
12 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="page">
<u-navbar :title="title" :border-bottom="false" :background="bgc" title-color='#000' title-size='36'
:title-bold='true' height='45' id="navbar">
</u-navbar>
<view class="top">
<view class="top_left">
福鼎蜂场
</view>
<view class="top_right">
其他蜂场 <view class="iconfont icon-xiangyou1" style="font-size: 40rpx;">
</view>
</view>
</view>
<view class="set_log_box" v-if="false">
<view class="tit">
选择操作类型
</view>
<view class="set_type_box">
<view class="type_li" v-for="item in 7" :key="item" :class='item==1?"act1":""'>
换脾
</view>
</view>
<view class="tit" style="margin-top: 48rpx;">
上传操作图片
</view>
<view class="icon">
<view class="imgbox" v-for="(item,index) in imglist " :key="index">
<image :src="item" mode=""></image>
</view>
<view class="imgbox" @click="btn">
<image src="https://api.ccttiot.com/smartmeter/img/static/ulkCEWjWYqwijg7yhdY9" mode=""></image>
</view>
</view>
<view class="tit" style="margin-top: 48rpx;">
操作说明描述
</view>
<view class="input-container">
<view class="placeholder" v-if="!textValue">在此输入文字描述(选填)</view>
<textarea class="custom-textarea" v-model="textValue" @focus="hidePlaceholder" style="border: none;"
@input="updateWordCount" @blur="showPlaceholder"></textarea>
<text class="word-count">{{ currentCount }}/500</text>
</view>
<view class="xy" @click="showxy=!showxy">
<view class="yuans">
<image src="https://lxnapi.ccttiot.com/bike/img/static/u7F851ikY9rkASzNSNkO" v-if='showxy' mode=""></image>
</view>
<view class="txt">
该蜂场的所有蜂箱进行此日志,并记录蜂场日志
</view>
</view>
<view class="btn">
确认添加
</view>
<!-- <view class="img_cont">
<image src="https://api.ccttiot.com/smartmeter/img/static/ulkCEWjWYqwijg7yhdY9" mode=""></image>
</view> -->
</view>
<view class="cont_box" v-if="true">
<view class="left">
<view class="left_cont_box" v-for="(item, index) in tabs" :key="index" @click="changeTag(index)"
:class="currentIndex === index ? 'act4' : ''">
<view class="left_cont" :class="[
index=== currentIndex? 'act1' : '',
index + 1 === currentIndex? 'act2' : '',
index- 1 === currentIndex? 'act3' : ''
]">
{{item.title}}
</view>
</view>
</view>
<view class="right">
<view class="right_cont">
<view class="right_cont_top">
<view class="cont_left">
2024-05-21 09:52:01
</view>
<view class="cont_right">
换脾
</view>
</view>
<view class="cont">
分享车胎愚人节一年电影截图宽银 幕国会女63去爱为用户如上图还有 途客与他
</view>
<view class="imgcont">
<view class="img_box" v-for="item in 8" :key="item">
<image src="" mode=""></image>
</view>
</view>
<view class="log_info">
<view class="txt">
福鼎蜂场-001
</view>
<view class="txt">
21111154689
</view>
</view>
<view class="log_work">
<view class="work_cont">
<image src="https://api.ccttiot.com/smartmeter/img/static/uqvAxjb2kVb4s6Zrx5s8" mode="">
</image>
<view class="cont_xtx">
编辑
</view>
</view>
<view class="work_cont" style="margin-left: 34rpx ;">
<image src="https://api.ccttiot.com/smartmeter/img/static/uWikdpHsjtd8ggSA49gS" mode=""
style="width: 27rpx;height: 30rpx;"> </image>
<view class="cont_xtx">
删除
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
bgc: {
backgroundColor: " #F4FAF8",
},
title: "操作日志",
currentIndex: 0,
tabs: [{
title: '京东超市',
},
{
title: '男装',
},
{
title: '奢侈品',
},
{
title: '女装',
},
{
title: '鞋靴',
},
{
title: '内衣饰品',
imageSrc: ''
},
{
title: '箱包',
imageSrc: ''
},
{
title: '美妆护肤',
imageSrc: ''
},
],
textValue: '',
currentCount: 0,
showxy:false
}
},
onLoad() {
},
onShow() {
},
methods: {
hidePlaceholder() {
this.placeholderVisible = false;
},
showPlaceholder() {
if (!this.textValue) {
this.placeholderVisible = true;
}
},
updateWordCount() {
this.currentCount = this.textValue.trim().replace(/\s+/g, '').length;
// if (this.currentCount > 500) {
// this.textValue = this.textValue.slice(0, this.textValue.lastIndexOf(' ', 500)).trim();
// uni.showToast({
// title: '字数已超过500字限制',
// icon: 'none'
// });
// }
},
btn() {
let _this = this
let math = 'static/' + _this.$u.guid(20)
uni.chooseImage({
count: 9,
type: 'all',
success(res) {
// tempFilePath可以作为img标签的src属性显示图片
const tempFilePaths = res.tempFiles
// let tempFilePaths = chooseImageRes.tempFilePaths;
// console.log(tempFilePaths)
// tempFilePaths.forEach(item=>{
// // 上传图片到七牛云
// })
wx.uploadFile({
url: 'https://up-z2.qiniup.com',
name: 'file',
filePath: tempFilePaths[0].path,
formData: {
token: _this.token, //后端返回的token
key: 'smartmeter/img/' + math
},
success: function(res) {
console.log(res,'resres');
let str = JSON.parse(res.data)
console.log(str.key)
_this.userImgs = _this.upurl +'/'+ str.key
console.log(_this.userImgs)
_this.imglist.push(_this.userImgs)
}
});
}
})
},
changeTag(idx) {
this.currentIndex = idx
},
ClickImage(PhotoAddress) {
uni.previewImage({
urls: [PhotoAddress], //需要预览的图片http链接列表多张的时候url直接写在后面就行了
current: '', // 当前显示图片的http链接默认是第一个
success: function(res) {},
fail: function(res) {},
complete: function(res) {},
})
},
}
}
</script>
<style lang="scss">
page {
background-color: #F4FAF8;
}
.page {
// position: relative;
width: 750rpx;
.set_log_box {
padding: 50rpx 56rpx;
.btn{
display: flex;
align-items: center;
justify-content: center;
position: fixed;
left: 58rpx;
bottom: 68rpx;
width: 638rpx;
height: 88rpx;
background: #FFCC25;
border-radius: 20rpx 20rpx 20rpx 20rpx;
font-weight: 500;
font-size: 32rpx;
color: #FFFFFF;
}
.xy{
margin-top: 46rpx;
width: 100%;
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: center;
.yuans{
margin-top: 2rpx;
display: flex;
align-items: center;
justify-content: center;
width: 34rpx;
height: 34rpx;
border-radius: 50%;
border: #808080 solid 2rpx;
image{
width: 100%;
height: 100%;
border-radius: 50%;
}
}
.txt{
margin-left: 10rpx;
font-weight: 400;
font-size: 28rpx;
color: #808080;
span{
color: #3D3D3D;
}
}
}
.input-container {
position: relative;
width: 612rpx;
height: 172rpx;
background: #FFFFFF;
box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42, 130, 228, 0.1);
border-radius: 20rpx;
margin-top: 40rpx;
overflow: hidden;
padding-right: 38rpx;
box-sizing: border-box;
border: 2rpx solid #C7C7C7;
}
.placeholder {
position: absolute;
top: 18rpx;
left: 38rpx;
color: #999;
/* placeholder颜色 */
pointer-events: none;
/* 确保点击事件可以穿透到textarea上 */
}
.custom-textarea {
width: 100%;
height: 100%;
/* 设置一个合适高度 */
padding-top: 18rpx;
/* 为placeholder留出空间 */
padding-left: 38rpx;
box-sizing: border-box;
border: 1px solid #ccc;
}
.word-count {
position: absolute;
right: 10px;
bottom: 10px;
font-size: 12px;
color: #999;
}
.icon {
display: flex;
flex-wrap: wrap;
align-items: center;
margin-top: 40rpx;
.imgbox {
width: 33%;
image {
width: 222rpx;
height: 222rpx;
}
}
}
.tit {
font-weight: 600;
font-size: 36rpx;
color: #3D3D3D;
}
.set_type_box {
display: flex;
flex-wrap: wrap;
// margin-top: 26rpx;
.type_li {
margin-top: 26rpx;
margin-right: 18rpx;
padding: 12rpx 50rpx;
background: #FFF5D6;
border-radius: 12rpx 12rpx 12rpx 12rpx;
border: 2rpx solid #FFC107;
font-weight: 500;
font-size: 32rpx;
color: #3D3D3D;
}
.act1 {
background: #FFC107;
border-radius: 12rpx 12rpx 12rpx 12rpx;
border: 2rpx solid #FFC107;
color: #FFFFFF;
}
}
}
.top {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 22rpx;
margin: 0 auto;
width: 658rpx;
height: 106rpx;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0, 0, 0, 0.15);
border-radius: 20rpx 20rpx 20rpx 20rpx;
.top_left {
font-weight: 600;
font-size: 36rpx;
color: #3D3D3D;
}
.top_right {
display: flex;
align-items: center;
flex-wrap: nowrap;
font-weight: 500;
font-size: 36rpx;
color: #808080;
}
}
.cont_box {
margin-top: 26rpx;
display: flex;
flex-wrap: nowrap;
.left {
margin-left: 48rpx;
width: 216rpx;
.left_cont_box {
width: 216rpx;
height: 100rpx;
background: #fff;
.left_cont {
display: flex;
align-items: center;
justify-content: center;
width: 216rpx;
height: 100rpx;
font-weight: 600;
font-size: 36rpx;
color: #3D3D3D;
background-color: #F4FAF8;
// border-radius: 0rpx 40rpx 40rpx 0rpx;
// border: 1rpx solid #fff;
}
.act1 {
background: #fff;
border-radius: 40rpx 0 0 40rpx;
// box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0, 0, 0, 0.15);
}
.act2 {
border-radius: 0rpx 0rpx 40rpx 0rpx;
}
.act3 {
border-radius: 0rpx 40rpx 0rpx 0rpx;
}
}
.act4 {
background-color: #F4FAF8;
border-radius: 40rpx 0 0 40rpx;
}
}
.right {
padding: 16rpx;
margin-left: -10rpx;
width: 100%;
height: 100vn;
background: #fff;
.right_cont {
padding: 20rpx 26rpx;
border: 2rpx solid #D8D8D8;
border-radius: 20rpx;
.log_work {
margin-top: 16rpx;
display: flex;
flex-wrap: nowrap;
align-items: center;
.work_cont {
display: flex;
flex-wrap: nowrap;
align-items: center;
image {
width: 29rpx;
height: 29rpx;
}
.cont_xtx {
margin-left: 6rpx;
font-weight: 400;
font-size: 28rpx;
color: #3D3D3D;
}
}
}
.log_info {
margin-top: 16rpx;
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: space-between;
.txt {
font-weight: 400;
font-size: 28rpx;
color: #3D3D3D;
}
}
.imgcont {
display: flex;
flex-wrap: wrap;
margin-top: 16rpx;
.img_box {
margin-top: 16rpx;
margin-right: 14rpx;
height: 124rpx;
width: 124rpx;
image {
background: #D8D8D8;
border-radius: 12rpx 12rpx 12rpx 12rpx;
height: 124rpx;
width: 124rpx;
}
}
}
// border-radius: 20rpx 20rpx 20rpx 20rpx;
.cont {
margin-top: 16rpx;
font-weight: 400;
font-size: 28rpx;
color: #3D3D3D;
}
.right_cont_top {
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: space-between;
.cont_left {
font-weight: 400;
font-size: 28rpx;
color: #808080;
}
.cont_right {
font-weight: 500;
font-size: 28rpx;
color: #FFC107;
}
}
}
// border-radius: 40rpx 0 0 40rpx;
// box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0, 0, 0, 0.15);
}
}
}
</style>