suta/pagesFengXiang/pages/addfengxiang/index.vue

192 lines
4.3 KiB
Vue
Raw Normal View History

2024-05-11 10:06:09 +08:00
<template>
2024-06-05 09:24:17 +08:00
<view class="page">
<view class="page-box">
<!-- 扫描二维码 -->
<view>
<view class="text-box">扫描二维码</view>
<view class="scan-boxview">
<u--input class="input-b" shape="circle" placeholder="请扫描蜂箱上的二维码" border="surround"
v-model="form.qrcode">
</u--input>
<image @click="gotomap" class="scan-img" src="/static/16994973961877418353.png" />
2024-05-11 10:06:09 +08:00
</view>
2024-06-05 09:24:17 +08:00
</view>
<!-- 自定义蜂箱 -->
<view>
<view class="text-box">自定义蜂箱</view>
<view>
<u--input class="input-b" shape="circle" placeholder="请输入蜂箱的自定义名称" border="surround"
v-model="form.name"></u--input>
</view>
</view>
<!-- 所属蜂场 -->
<view>
<view class="text-box">所属蜂场</view>
<view @click="showfengzhong = true">
<u--input style="background-color: #f7f7f7;" disabled shape="circle" placeholder="请选择蜂场"
border="surround" v-model="form.apiary_id_text"></u--input>
</view>
</view>
<view class="mag-box">
<u-button @click="xinzeng" size="large" shape="circle" :text="text" :color="computedColor" ></u-button>
</view>
</view>
2024-05-11 10:06:09 +08:00
2024-06-05 09:24:17 +08:00
<u-picker @cancel="showfengzhong=false" @confirm="confirmfengzhong" :show="showfengzhong"
:columns="fengzhongcolumns"></u-picker>
2024-05-11 10:06:09 +08:00
2024-06-05 09:24:17 +08:00
</view>
2024-05-11 10:06:09 +08:00
</template>
<script>
2024-06-05 09:24:17 +08:00
import request from '../../../utils/request';
export default {
name: 'FxIndex',
onLoad() {
this.listData()
},
data() {
return {
page: 1,
form: {
name: '', //蜂箱名称
qrcode: '', // 扫码的内容
apiary_id_text: '', // text
apiary_id: '' // id
},
showfengzhong: false,
fengzhongcolumns: [
2024-05-11 10:06:09 +08:00
// '中华蜂','意大利蜂','东北黑蜂'
2024-06-05 09:24:17 +08:00
[]
2024-05-11 10:06:09 +08:00
],
2024-06-05 09:24:17 +08:00
text:'保 存',
};
},
computed: {
computedColor() {
if (this.text === '保 存') {
return '#23693f';
} else {
return '#ccc';
}
}
},
mounted() {
2024-05-11 10:06:09 +08:00
2024-06-05 09:24:17 +08:00
},
2024-05-11 10:06:09 +08:00
2024-06-05 09:24:17 +08:00
methods: {
async xinzeng() {
if(this.text == '保 存'){
this.text = '保存中'
const res = await request.post('/api/beehive/add', this.form)
if (res.data.code === 0) {
this.text = '保 存'
uni.showToast({
title: res.data.msg,
icon: 'none',
duration: 2000
})
this.form = {
name: '', //蜂箱名称
qrcode: '', // 扫码的内容
apiary_id_text: '', // text
apiary_id: '' // id
}
} else {
uni.showToast({
title: res.data.msg,
icon: 'none',
duration: 2000
})
setTimeout(()=>{
this.text = '保 存'
},1000)
}
}else{
uni.showToast({
title: '保存中',
icon: 'none',
duration: 1000
})
}
},
gotomap() {
wx.scanCode({
onlyFromCamera: false, // 是否仅从相机启动默认false
scanType: ['qrCode', 'barCode'], // 可以指定扫描的类型,比如二维码或者条形码,默认二者都有
success: res => { // 扫描成功后的回调
console.log(res.result, '成功结果') // 打印扫描结果
this.form.qrcode = res.result
},
fail: res => { // 扫描失败后的回调
console.log(res, '失败结果') // 打印错误信息
}
})
},
confirmfengzhong(e) {
2024-05-11 10:06:09 +08:00
console.log(e);
this.form.apiary_id = e.value[0].id
this.form.apiary_id_text = e.value[0].text
2024-06-05 09:24:17 +08:00
this.showfengzhong = false
2024-05-11 10:06:09 +08:00
},
2024-06-05 09:24:17 +08:00
listData() {
request.get('/api/apiary/index', {
page: this.page
}).then(res => {
res.data.data.forEach(item => {
this.fengzhongcolumns[0].push({
text: item.name,
id: item.id
})
})
console.log(res)
console.log(res.data.data[0].id)
console.log(res.data.data[0].name)
console.log(this.fengzhongcolumns, '数组')
})
// console.log(res.data.data)
2024-05-11 10:06:09 +08:00
2024-06-05 09:24:17 +08:00
}
},
};
2024-05-11 10:06:09 +08:00
</script>
<style lang="scss" scoped>
2024-06-05 09:24:17 +08:00
.scan-boxview {
display: flex;
align-items: center;
}
.scan-img {
width: 50rpx;
height: 50rpx;
}
.input-b {
background-color: #f7f7f7;
}
.text-box {
margin: 30rpx 0 20rpx 15rpx;
}
.page-box {
padding: 20rpx 50rpx;
}
.mag-box {
margin: 50rpx 0;
}
2024-05-11 10:06:09 +08:00
.page {
2024-06-05 09:24:17 +08:00
height: 100%;
2024-05-11 10:06:09 +08:00
width: 100%;
position: absolute;
background-color: #ffff;
2024-06-05 09:24:17 +08:00
color: #8888;
}
2024-05-11 10:06:09 +08:00
</style>