2024-12-20 09:02:40 +08:00
|
|
|
|
<template>
|
|
|
|
|
<view class="page">
|
|
|
|
|
<u-navbar title="新建门店" :border-bottom="false" :background="bgc" back-icon-color="#262B37" title-color='#262B37'
|
|
|
|
|
title-size='36' height='40' id="navbar">
|
|
|
|
|
</u-navbar>
|
|
|
|
|
<view class="top">
|
|
|
|
|
<view class="one">
|
|
|
|
|
<view class="wz">门店名称</view> <view class=""><input type="text" v-model="name" placeholder="请输入门店名称"/> </view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="one">
|
|
|
|
|
<view class="wz">门店类型</view> <view class="" @click="showlx = true">{{lxname}} <u-icon style="margin-left: 10rpx;" name="arrow-down" color="#808080" size="28"></u-icon> </view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="one">
|
|
|
|
|
<view class="wz">营业时间</view>
|
|
|
|
|
<view class="but" style="display: flex;justify-content: space-between;">
|
|
|
|
|
<view class="" style="font-size: 28rpx;color: #666;" @click="btnyinye(1)">{{ksyy}}</view>
|
|
|
|
|
--
|
|
|
|
|
<view class="" style="font-size: 28rpx;color: #666;" @click="btnyinye(2)">{{jsyy}}</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="one">
|
|
|
|
|
<view class="wz">联系人</view> <view class=""><input type="text" v-model="lianxi" placeholder="请输入联系人名称"/> </view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="one">
|
|
|
|
|
<view class="wz">联系电话</view> <view class=""><input type="text" v-model="tel" placeholder="请输入联系电话"/> </view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="one" style="margin-bottom: 0;">
|
|
|
|
|
<view class="wz">选择位置</view> <view class="" @click="btnweizhi">{{xqdz}} <u-icon style="margin-left: 10rpx;" name="arrow-down" color="#808080" size="28"></u-icon> </view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<u-picker mode="time" v-model="show" default-time="00:00" :params="params" @confirm="btnyy"></u-picker>
|
|
|
|
|
|
|
|
|
|
<view class="biaoqian">
|
|
|
|
|
<view class="name">
|
|
|
|
|
标签设置
|
|
|
|
|
</view>
|
|
|
|
|
<view class="bqliat">
|
|
|
|
|
<view
|
|
|
|
|
class="bqitem"
|
|
|
|
|
v-for="(item, index) in biaoqianlist"
|
|
|
|
|
:key="index"
|
|
|
|
|
@click="btnbq(item.dictValue,index)"
|
|
|
|
|
:class="{ 'active': isSelected(index) }">
|
|
|
|
|
{{ item.dictLabel }}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view class="mdpic">
|
|
|
|
|
<view class="tops">
|
|
|
|
|
门店照片
|
|
|
|
|
</view>
|
|
|
|
|
<view class="tishi">
|
|
|
|
|
门店环境、设备场景等,请选择横屏照片或拍照上传
|
|
|
|
|
</view>
|
|
|
|
|
<view class="pic" @click="getImage">
|
|
|
|
|
<image src="https://api.ccttiot.com/smartmeter/img/static/udXUCs8GULJZE9EZBLf1" class="img" mode=""></image>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="pic" @click="getImage" v-for="(item,index) in imglist" :key="index">
|
|
|
|
|
<image :src="item" mode="aspectFill"></image>
|
|
|
|
|
</view>
|
|
|
|
|
<ksp-cropper mode="free" :width="352" :height="190" :maxWidth="1024" :maxHeight="1024" :url="url"
|
|
|
|
|
@cancel="oncancel" @ok="onok"></ksp-cropper>
|
|
|
|
|
</view>
|
|
|
|
|
<u-select v-model="showlx" :list="lxlist" @confirm="btnlx"></u-select>
|
|
|
|
|
|
|
|
|
|
<view class="anniu">
|
|
|
|
|
<view class="xinjian" @click="btnquxiao">
|
|
|
|
|
取消
|
|
|
|
|
</view>
|
|
|
|
|
<view class="queren" @click="btnadd">
|
|
|
|
|
确定
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
export default {
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
bgc: {
|
|
|
|
|
backgroundColor: "#fff",
|
|
|
|
|
},
|
|
|
|
|
params: {
|
|
|
|
|
hour: true,
|
|
|
|
|
minute: true,
|
|
|
|
|
},
|
|
|
|
|
show: false,
|
|
|
|
|
ksyy: '开始营业时间',
|
|
|
|
|
jsyy: '结束营业时间',
|
|
|
|
|
imglist: [],
|
|
|
|
|
token: '',
|
|
|
|
|
userImgs: '',
|
|
|
|
|
url:'',
|
|
|
|
|
latitude:'',
|
|
|
|
|
longitude:'',
|
|
|
|
|
xqdz:'选择位置',
|
|
|
|
|
biaoqianlist:[],
|
|
|
|
|
bqindex:-1,
|
|
|
|
|
selectedIndices: [],
|
|
|
|
|
idlist:[],
|
|
|
|
|
name:'',
|
|
|
|
|
lianxi:'',
|
|
|
|
|
tel:'',
|
|
|
|
|
showlx:false,
|
|
|
|
|
lxlist:[
|
|
|
|
|
{
|
|
|
|
|
value: '2',
|
|
|
|
|
label: '棋牌'
|
|
|
|
|
},{
|
|
|
|
|
value: '1',
|
|
|
|
|
label: '茶室'
|
|
|
|
|
},{
|
|
|
|
|
value: '3',
|
|
|
|
|
label: '台球'
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
lxname:'请选择类型',
|
|
|
|
|
lxid:''
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
onLoad() {
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
onShow() {
|
|
|
|
|
this.getQiniuToken()
|
|
|
|
|
this.getbiaoqian()
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
// 点击取消
|
|
|
|
|
btnquxiao(){
|
|
|
|
|
uni.navigateBack()
|
|
|
|
|
},
|
|
|
|
|
// 确认添加门店
|
|
|
|
|
btnadd(){
|
|
|
|
|
let picture = this.imglist.join(",") //转成字符串
|
|
|
|
|
let arr = this.selectedIndices.map(item => {
|
|
|
|
|
return item + 1
|
|
|
|
|
})
|
|
|
|
|
let ss_store_tags = arr.join(',')
|
|
|
|
|
let data = {
|
|
|
|
|
name:this.name,
|
|
|
|
|
contactName:this.lianxi,
|
|
|
|
|
contactMobile:this.tel,
|
|
|
|
|
address:this.xqdz,
|
|
|
|
|
lng:this.longitude,
|
|
|
|
|
lat:this.latitude,
|
|
|
|
|
businessTimeStart:this.ksyy,
|
|
|
|
|
businessTimeEnd:this.jsyy,
|
|
|
|
|
picture:picture,
|
|
|
|
|
type:this.lxid,
|
|
|
|
|
ss_store_tags:ss_store_tags
|
|
|
|
|
}
|
|
|
|
|
this.$u.post("/app/store",data).then((res) => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: '新建成功',
|
|
|
|
|
icon: 'success',
|
|
|
|
|
duration:2000
|
|
|
|
|
})
|
|
|
|
|
setTimeout(()=>{
|
|
|
|
|
uni.navigateBack()
|
|
|
|
|
},1000)
|
|
|
|
|
}else{
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: res.msg,
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration:2000
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 点击确认类型
|
|
|
|
|
btnlx(e){
|
|
|
|
|
this.lxid = e[0].value
|
|
|
|
|
this.lxname= e[0].label
|
|
|
|
|
},
|
|
|
|
|
// 点击选择标签
|
|
|
|
|
btnbq(dictValue,index) {
|
|
|
|
|
const indexExists = this.selectedIndices.includes(index);
|
|
|
|
|
if (indexExists) {
|
|
|
|
|
this.selectedIndices = this.selectedIndices.filter(i => i !== index);
|
|
|
|
|
} else {
|
|
|
|
|
this.selectedIndices.push(index);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
isSelected(index) {
|
|
|
|
|
return this.selectedIndices.includes(index);
|
|
|
|
|
},
|
|
|
|
|
// 点击上传图片
|
|
|
|
|
getImage() {
|
|
|
|
|
if(this.imglist.length >= 5){
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: '最多上传五张图片',
|
|
|
|
|
icon: 'none'
|
|
|
|
|
})
|
|
|
|
|
}else{
|
|
|
|
|
uni.chooseImage({
|
|
|
|
|
count: 1,
|
|
|
|
|
success: (rst) => {
|
|
|
|
|
this.url = rst.tempFilePaths[0]
|
|
|
|
|
console.log(this.url);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
onok(ev) {
|
|
|
|
|
this.url = ""
|
|
|
|
|
this.path = ev.path
|
|
|
|
|
let _this = this
|
|
|
|
|
let math = 'static/' + _this.$u.guid(20)
|
|
|
|
|
wx.uploadFile({
|
|
|
|
|
url: 'https://up-z2.qiniup.com',
|
|
|
|
|
name: 'file',
|
|
|
|
|
filePath: _this.path,
|
|
|
|
|
formData: {
|
|
|
|
|
token: _this.token, //后端返回的token
|
|
|
|
|
key: 'smartmeter/img/' + math
|
|
|
|
|
},
|
|
|
|
|
success: function(res) {
|
|
|
|
|
let str = JSON.parse(res.data)
|
|
|
|
|
_this.userImgs = 'https://lxnapi.ccttiot.com/' + str.key
|
|
|
|
|
_this.imglist.push(_this.userImgs)
|
|
|
|
|
console.log(_this.imglist);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
oncancel() {
|
|
|
|
|
// url设置为空,隐藏控件
|
|
|
|
|
this.url = "";
|
|
|
|
|
},
|
|
|
|
|
// 点击选择位置
|
|
|
|
|
btnweizhi(){
|
|
|
|
|
uni.chooseLocation({
|
|
|
|
|
success: (res) => {
|
|
|
|
|
console.log(res);
|
|
|
|
|
this.latitude = res.latitude
|
|
|
|
|
this.longitude = res.longitude
|
|
|
|
|
this.xqdz = res.name
|
|
|
|
|
},
|
|
|
|
|
fail: function(err) {
|
|
|
|
|
if (err.errMsg && err.errMsg.indexOf('chooseLocation:cancel') === 0) {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: '您取消了位置选择',
|
|
|
|
|
icon: 'none'
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
console.log('选择位置失败', err)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 获取上传七牛云token
|
|
|
|
|
getQiniuToken() {
|
|
|
|
|
this.$u.get("/common/qiniu/uploadInfo").then((res) => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
this.token = res.token
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 获取标签
|
|
|
|
|
getbiaoqian(){
|
|
|
|
|
this.$u.get(`/appVerify/getDictData?dictType=ss_store_tags`).then((res) => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
this.biaoqianlist = res.data
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 选择营业时间
|
|
|
|
|
btnyinye(num) {
|
|
|
|
|
this.show = true
|
|
|
|
|
this.yynum = num
|
|
|
|
|
},
|
|
|
|
|
// 确定营业时间
|
|
|
|
|
btnyy(e) {
|
|
|
|
|
if (this.yynum == 1) {
|
|
|
|
|
this.ksyy = e.hour + ':' + e.minute
|
|
|
|
|
} else {
|
|
|
|
|
this.jsyy = e.hour + ':' + e.minute
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
|
.active{
|
|
|
|
|
background-color: #48893B !important;
|
|
|
|
|
color: #fff !important;
|
|
|
|
|
}
|
|
|
|
|
page {
|
|
|
|
|
background: #F6F6F6;
|
|
|
|
|
padding-bottom: 200rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
}
|
|
|
|
|
/deep/ .panel{
|
|
|
|
|
position: fixed;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
top: 0;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
z-index: 99 !important;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}
|
|
|
|
|
.biaoqian{
|
|
|
|
|
width: 680rpx;
|
|
|
|
|
max-height: 624rpx;
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
padding: 44rpx 34rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
margin: auto;
|
|
|
|
|
margin-top: 22rpx;
|
|
|
|
|
border-radius: 20rpx;
|
|
|
|
|
.name{
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 36rpx;
|
|
|
|
|
color: #3D3D3D;
|
|
|
|
|
}
|
|
|
|
|
.bqliat{
|
|
|
|
|
margin-top: 30rpx;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
.bqitem{
|
|
|
|
|
margin-right: 10rpx;
|
|
|
|
|
border: 1px solid #48893B;
|
|
|
|
|
color: #48893B;
|
|
|
|
|
padding: 10rpx;
|
2024-12-20 18:09:41 +08:00
|
|
|
|
margin-top: 10rpx;
|
2024-12-20 09:02:40 +08:00
|
|
|
|
}
|
|
|
|
|
image{
|
|
|
|
|
width: 226rpx;
|
|
|
|
|
height: 58rpx;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.anniu{
|
|
|
|
|
width: 750rpx;
|
|
|
|
|
height: 152rpx;
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0,0,0,0.3);
|
|
|
|
|
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
|
|
|
|
position: fixed;
|
|
|
|
|
left: 0;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
padding: 0 36rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
padding-top: 24rpx;
|
|
|
|
|
.queren{
|
|
|
|
|
width: 330rpx;
|
|
|
|
|
height: 104rpx;
|
|
|
|
|
background: #48893B;
|
|
|
|
|
text-align: center;
|
|
|
|
|
line-height: 104rpx;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 36rpx;
|
|
|
|
|
color: #FFFFFF;
|
|
|
|
|
border-radius: 20rpx;
|
|
|
|
|
}
|
|
|
|
|
.xinjian{
|
|
|
|
|
width: 330rpx;
|
|
|
|
|
height: 104rpx;
|
|
|
|
|
border: 2rpx solid #48893B;
|
|
|
|
|
border-radius: 20rpx;
|
|
|
|
|
text-align: center;
|
|
|
|
|
line-height: 104rpx;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 36rpx;
|
|
|
|
|
color: #48893B;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.mdpic{
|
|
|
|
|
width: 680rpx;
|
|
|
|
|
max-height: 1500rpx;
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
|
|
|
|
margin: auto;
|
|
|
|
|
margin-top: 22rpx;
|
|
|
|
|
padding: 38rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
.tops{
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
color: #3D3D3D;
|
|
|
|
|
}
|
|
|
|
|
.tishi{
|
|
|
|
|
font-size: 24rpx;
|
|
|
|
|
color: #3D3D3D;
|
|
|
|
|
margin-top: 20rpx;
|
|
|
|
|
}
|
|
|
|
|
.pic{
|
|
|
|
|
margin-top: 36rpx;
|
|
|
|
|
.img{
|
|
|
|
|
width: 144rpx;
|
|
|
|
|
height: 144rpx;
|
|
|
|
|
}
|
|
|
|
|
image{
|
|
|
|
|
width: 610rpx;
|
|
|
|
|
height: 280rpx;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.top{
|
|
|
|
|
width: 680rpx;
|
|
|
|
|
max-height: 986rpx;
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
|
|
|
|
margin: auto;
|
|
|
|
|
margin-top: 22rpx;
|
|
|
|
|
padding: 50rpx 38rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
.one{
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
margin-bottom: 34rpx;
|
|
|
|
|
align-items: center;
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
color: #808080;
|
|
|
|
|
.wz{
|
|
|
|
|
color: #3D3D3D;
|
|
|
|
|
}
|
|
|
|
|
input{
|
|
|
|
|
text-align: right;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</style>
|