You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

374 lines
15 KiB

<template>
<view>
<block v-if="isload">
<view style="color:red;padding:10rpx 30rpx;margin-top:20rpx" v-if="info.id && info.status==2">审核不通过:{{info.reason}},请修改后再提交</view>
<view style="color:red;padding:10rpx 30rpx;margin-top:20rpx" v-if="info.id && info.status==0">您已提交申请,请等待审核</view>
<form @submit="subform">
<view class="apply_box">
<view class="apply_item">
<view>联系人姓名<text style="color:red"> *</text></view>
<view class="flex-y-center"><input type="text" name="linkman" :value="info.linkman" placeholder="请填写姓名"></input></view>
</view>
<view class="apply_item">
<view>联系人电话<text style="color:red"> *</text></view>
<view class="flex-y-center"><input type="text" name="linktel" :value="info.linktel" placeholder="请填写手机号码"></input></view>
</view>
</view>
<view class="apply_box">
<view class="apply_item">
<view>商家名称<text style="color:red"> *</text></view>
<view class="flex-y-center"><input type="text" name="name" :value="info.name" placeholder="请输入商家名称"></input></view>
</view>
<view class="apply_item">
<view>商家描述<text style="color:red"> *</text></view>
<view class="flex-y-center"><input type="text" name="desc" :value="info.desc" placeholder="请输入商家描述"></input></view>
</view>
<view class="apply_item">
<view>主营类目<text style="color:red"> *</text></view>
<view>
<picker @change="cateChange" :value="cindex" :range="cateArr">
<view class="picker">{{cateArr[cindex]}}</view>
</picker>
</view>
</view>
<view class="apply_item">
<view>店铺坐标<text style="color:red"> *</text></view>
<view class="flex-y-center"><input type="text" disabled placeholder="请选择坐标" name="zuobiao" :value="latitude ? latitude+','+longitude:''" @tap="locationSelect"></input></view>
</view>
<view class="apply_item">
<view>店铺地址<text style="color:red"> *</text></view>
<view class="flex-y-center"><input type="text" name="address" :value="address" placeholder="请输入商家详细地址"></input></view>
</view>
<input type="text" hidden="true" name="latitude" :value="latitude"></input>
<input type="text" hidden="true" name="longitude" :value="longitude"></input>
<view class="apply_item">
<view>客服电话<text style="color:red"> *</text></view>
<view class="flex-y-center"><input type="text" name="tel" :value="info.tel" placeholder="请填写客服电话"></input></view>
</view>
<view class="apply_item" style="line-height:50rpx"><textarea name="content" placeholder="请输入商家简介" :value="info.content"></textarea></view>
</view>
<view class="apply_box">
<view class="apply_item" style="border-bottom:0"><text>商家主图<text style="color:red"> *</text></text></view>
<view class="flex" style="flex-wrap:wrap;padding-bottom:20rpx;">
<view v-for="(item, index) in pic" :key="index" class="layui-imgbox">
<view class="layui-imgbox-close" @tap="removeimg" :data-index="index" data-field="pic"><image :src="event_rul + '/static/img/static/img/ico-del.png'"></image></view>
<view class="layui-imgbox-img"><image :src="item" @tap="previewImage" :data-url="item" mode="widthFix"></image></view>
</view>
<view class="uploadbtn" :style="'background:url('+pre_url+'/static/img/shaitu_icon.png) no-repeat 60rpx;background-size:80rpx 80rpx;background-color:#F3F3F3;'" @tap="uploadimg" data-field="pic" v-if="pic.length==0"></view>
</view>
<input type="text" hidden="true" name="pic" :value="pic.join(',')" maxlength="-1"></input>
</view>
<view class="apply_box">
<view class="apply_item" style="border-bottom:0"><text>商家照片(3-5张)<text style="color:red"> *</text></text></view>
<view class="flex" style="flex-wrap:wrap;padding-bottom:20rpx;">
<view v-for="(item, index) in pics" :key="index" class="layui-imgbox">
<view class="layui-imgbox-close" @tap="removeimg" :data-index="index" data-field="pics"><image :src="event_rul + '/static/img/static/img/ico-del.png'"></image></view>
<view class="layui-imgbox-img"><image :src="item" @tap="previewImage" :data-url="item" mode="widthFix"></image></view>
</view>
<view class="uploadbtn" :style="'background:url('+pre_url+'/static/img/shaitu_icon.png) no-repeat 60rpx;background-size:80rpx 80rpx;background-color:#F3F3F3;'" @tap="uploadimg" data-field="pics" v-if="pics.length<5"></view>
</view>
<input type="text" hidden="true" name="pics" :value="pics.join(',')" maxlength="-1"></input>
</view>
<view class="apply_box">
<view class="apply_item" style="border-bottom:0"><text>证明材料<text style="color:red"> </text></text></view>
<view class="flex" style="flex-wrap:wrap;padding-bottom:20rpx;">
<view v-for="(item, index) in zhengming" :key="index" class="layui-imgbox">
<view class="layui-imgbox-close" @tap="removeimg" :data-index="index" data-field="zhengming"><image :src="event_rul + '/static/img/static/img/ico-del.png'"></image></view>
<view class="layui-imgbox-img"><image :src="item" @tap="previewImage" :data-url="item" mode="widthFix"></image></view>
</view>
<view class="uploadbtn" :style="'background:url('+pre_url+'/static/img/shaitu_icon.png) no-repeat 60rpx;background-size:80rpx 80rpx;background-color:#F3F3F3;'" @tap="uploadimg" data-field="zhengming"></view>
</view>
<input type="text" hidden="true" name="zhengming" :value="zhengming.join(',')" maxlength="-1"></input>
</view>
<view class="apply_box">
<view class="apply_item">
<text>登录账号<text style="color:red"> *</text></text>
<view class="flex-y-center"><input type="text" name="un" :value="info.un" placeholder="请填写登录账号" autocomplete="off"></input></view>
</view>
<view class="apply_item">
<text>登录密码<text style="color:red"> *</text></text>
<view class="flex-y-center"><input type="password" name="pwd" :value="info.pwd" placeholder="请填写登录密码" autocomplete="off"></input></view>
</view>
<view class="apply_item">
<text>确认密码<text style="color:red"> *</text></text>
<view class="flex-y-center"><input type="password" name="repwd" :value="info.repwd" placeholder="请再次填写密码"></input></view>
</view>
</view>
<block v-if="bset.xieyi_show==1">
<view class="flex-y-center" style="margin-left:20rpx;color:#999" v-if="!info.id || info.status==2">
<checkbox-group @change="isagreeChange"><label class="flex-y-center"><checkbox value="1" :checked="isagree"></checkbox>阅读并同意</label></checkbox-group>
<text style="color:#666" @tap="showxieyiFun">《商户入驻协议》</text>
</view>
</block>
<view style="padding:30rpx 0"><button v-if="!info.id || info.status==2" form-type="submit" class="set-btn" :style="'background:linear-gradient(90deg,'+t('color1')+' 0%,rgba('+t('color1rgb')+',0.8) 100%)'">提交申请</button>
</view>
</form>
<view id="xieyi" :hidden="!showxieyi" style="width:100%;height:100%;position:fixed;top:0;left:0;z-index:99;background:rgba(0,0,0,0.7)">
<view style="width:90%;margin:0 auto;height:85%;margin-top:10%;background:#fff;color:#333;padding:5px 10px 50px 10px;position:relative;border-radius:2px">
<view style="overflow:scroll;height:100%;">
<parse :content="bset.xieyi"/>
</view>
<view style="position:absolute;z-index:9999;bottom:10px;left:0;right:0;margin:0 auto;text-align:center" @tap="hidexieyi">已阅读并同意</view>
</view>
</view>
</block>
<loading v-if="loading"></loading>
<dp-tabbar :opt="opt"></dp-tabbar>
<popmsg ref="popmsg"></popmsg>
</view>
</template>
<script>
var app = getApp();
export default {
data() {
return {
opt:{},
loading:false,
isload: false,
menuindex:-1,
pre_url:app.globalData.pre_url,
datalist: [],
pagenum: 1,
cateArr: [],
cindex: 0,
isagree: false,
showxieyi: false,
pic:[],
pics:[],
zhengming:[],
info: {},
bset:{},
latitude: '',
longitude: '',
address:'',
event_rul: app.globalData.event_url,
};
},
onLoad: function (opt) {
this.opt = app.getopts(opt);
this.getdata();
},
onPullDownRefresh: function () {
this.getdata();
},
methods: {
getdata: function () {
var that = this;
that.loading = true;
app.get('ApiBusiness/apply', {}, function (res) {
that.loading = false;
if (res.status == 2) {
app.alert(res.msg, function () {
app.goto('/admin/index/index', 'redirect');
})
return;
}
uni.setNavigationBarTitle({
title: res.title
});
var clist = res.clist;
var cateArr = [];
for (var i in clist) {
cateArr.push(clist[i].name);
}
var pics = res.info ? res.info.pics : '';
if (pics) {
pics = pics.split(',');
} else {
pics = [];
}
var zhengming = res.info ? res.info.zhengming : '';
if (zhengming) {
zhengming = zhengming.split(',');
} else {
zhengming = [];
}
that.clist = res.clist
that.bset = res.bset
that.info = res.info
that.address = res.info.address;
that.latitude = res.info.latitude;
that.longitude = res.info.longitude;
that.cateArr = cateArr;
that.pic = res.info.pic ? [res.info.pic] : [];
that.pics = pics;
that.zhengming = zhengming;
that.loaded();
});
},
cateChange: function (e) {
this.cindex = e.detail.value;
},
locationSelect: function () {
var that = this;
uni.chooseLocation({
success: function (res) {
that.info.address = res.name;
that.info.latitude = res.latitude;
that.info.longitude = res.longitude;
that.address = res.name;
that.latitude = res.latitude;
that.longitude = res.longitude;
}
});
},
subform: function (e) {
var that = this;
var info = e.detail.value;
if (info.linkman == '') {
app.error('请填写联系人姓名');
return false;
}
if (info.linktel == '') {
app.error('请填写联系人电话');
return false;
}
if (info.tel == '') {
app.error('请填写客服电话');
return false;
}
if (info.name == '') {
app.error('请填写商家名称');
return false;
}
if (info.zuobiao == '') {
//app.error('请选择店铺坐标');
//return false;
}
if (info.address == '') {
app.error('请填写店铺地址');
return false;
}
if (info.pic == '') {
app.error('请上传商家主图');
return false;
}
if (info.pics == '') {
app.error('请上传商家照片');
return false;
}
if (info.zhengming == '') {//$.error('请上传证明材料');return false;
}
if (info.un == '') {
app.error('请填写登录账号');
return false;
}
if (info.pwd == '') {
app.error('请填写登录密码');
return false;
}
var pwd = info.pwd;
if (pwd.length < 6) {
app.error('密码不能小于6位');
return false;
}
if (info.repwd != info.pwd) {
app.error('两次输入密码不一致');
return false;
} //if(!/(^0?1[3|4|5|6|7|8|9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$)/.test(tel)){
// dialog('手机号格式错误');return false;
//}
info.address = that.address;
info.latitude = that.latitude;
info.longitude = that.longitude;
if (that.bset.xieyi_show == 1 && !that.isagree) {
app.error('请先阅读并同意商户入驻协议');
return false;
}
info.cid = that.clist[that.cindex].id;
if (that.info && that.info.id) {
info.id = that.info.id;
}
app.showLoading('提交中');
app.post("ApiBusiness/apply", {info: info}, function (res) {
app.showLoading(false);
app.error(res.msg);
if(res.status == 1){
setTimeout(function () {
app.goto(app.globalData.indexurl);
}, 1000);
}
});
},
isagreeChange: function (e) {
console.log(e.detail.value);
var val = e.detail.value;
if (val.length > 0) {
this.isagree = true;
} else {
this.isagree = false;
}
},
showxieyiFun: function () {
this.showxieyi = true;
},
hidexieyi: function () {
this.showxieyi = false;
this.isagree = true;
},
uploadimg:function(e){
var that = this;
var field= e.currentTarget.dataset.field
var pics = that[field]
if(!pics) pics = [];
app.chooseImage(function(urls){
for(var i=0;i<urls.length;i++){
pics.push(urls[i]);
}
if(field == 'pic') that.pic = pics;
if(field == 'pics') that.pics = pics;
if(field == 'zhengming') that.zhengming = pics;
},1)
},
removeimg:function(e){
var that = this;
var index= e.currentTarget.dataset.index
var field= e.currentTarget.dataset.field
if(field == 'pic'){
var pics = that.pic
pics.splice(index,1);
that.pic = pics;
}else if(field == 'pics'){
var pics = that.pics
pics.splice(index,1);
that.pics = pics;
}else if(field == 'zhengming'){
var pics = that.zhengming
pics.splice(index,1);
that.zhengming = pics;
}
},
}
}
</script>
<style>
radio{transform: scale(0.6);}
checkbox{transform: scale(0.6);}
.apply_box{ padding:2rpx 24rpx 0 24rpx; background: #fff;margin: 24rpx;border-radius: 10rpx}
.apply_title { background: #fff}
.apply_title .qr_goback{ width:18rpx;height:32rpx; margin-left:24rpx; margin-top: 34rpx;}
.apply_title .qr_title{ font-size: 36rpx; color: #242424; font-weight:bold;margin: 0 auto; line-height: 100rpx;}
.apply_item{ line-height: 100rpx; display: flex;justify-content: space-between;border-bottom:1px solid #eee }
.apply_box .apply_item:last-child{ border:none}
.apply_item input{ width: 100%; border: none;color:#111;font-size:28rpx; text-align: right}
.apply_item input::placeholder{ color:#999999}
.apply_item textarea{ width:100%;min-height:200rpx;padding:20rpx 0;border: none;}
.apply_item .upload_pic{ margin:50rpx 0;background: #F3F3F3;width:90rpx;height:90rpx; text-align: center }
.apply_item .upload_pic image{ width: 32rpx;height: 32rpx; }
.set-btn{width: 90%;margin:0 5%;height:96rpx;line-height:96rpx;border-radius:48rpx;color:#FFFFFF;font-weight:bold;}
.layui-imgbox{margin-right:16rpx;margin-bottom:10rpx;font-size:24rpx;position: relative;}
.layui-imgbox-close{position: absolute;display: block;width:32rpx;height:32rpx;right:-16rpx;top:-16rpx;z-index:90;color:#999;font-size:32rpx;background:#fff}
.layui-imgbox-close image{width:100%;height:100%}
.layui-imgbox-img{display: block;width:200rpx;height:200rpx;padding:2px;border: #d3d3d3 1px solid;background-color: #f6f6f6;overflow:hidden}
.layui-imgbox-img>image{max-width:100%;}
.layui-imgbox-repeat{position: absolute;display: block;width:32rpx;height:32rpx;line-height:28rpx;right: 2px;bottom:2px;color:#999;font-size:30rpx;background:#fff}
.uploadbtn{position:relative;height:200rpx;width:200rpx}
</style>