|
|
|
|
@ -290,69 +290,91 @@
|
|
|
|
|
</button>
|
|
|
|
|
</view>
|
|
|
|
|
<view :class="isOrder?'buyBtn':'noBtn buyBtn'" @click="toBuy">{{isOrderText}}</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<!-- 报名 -->
|
|
|
|
|
<u-popup v-model="showPop" mode="bottom" closeable="true">
|
|
|
|
|
|
|
|
|
|
<view class="buyBox">
|
|
|
|
|
<view class="title">请输入您的联系方式</view>
|
|
|
|
|
<scroll-view scroll-y="true" style="height: 700rpx;padding-bottom: 40rpx;">
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>姓名<text style="color:red">*</text></view>
|
|
|
|
|
<view class="formRight"><input type="text" v-model="form.name" placeholder="会员姓名"></view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>手机号码<text style="color:red">*</text></view>
|
|
|
|
|
<view class="formRight"><input type="text" v-model="form.phone" placeholder="请输入手机号码"></view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>性别<text style="color:red">*</text></view>
|
|
|
|
|
<view class="formRight">
|
|
|
|
|
<radio-group @change="changeSex" style="display: flex;align-items: center;">
|
|
|
|
|
<label v-for="(item, index) in ['男','女']" :key="index"
|
|
|
|
|
style="display: flex;align-items: center;margin-right: 30rpx;">
|
|
|
|
|
<view>
|
|
|
|
|
<radio :value="item" :checked="item === form.sex" />
|
|
|
|
|
</view>
|
|
|
|
|
<view>{{item}}</view>
|
|
|
|
|
</label>
|
|
|
|
|
</radio-group>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>宝宝生日/预产期<text style="color:red">*</text></view>
|
|
|
|
|
<view class="formRight">
|
|
|
|
|
<picker mode="date" :value="form.budget_date" @change="bindDateChange">
|
|
|
|
|
<view class="uni-input">{{form.budget_date}}</view>
|
|
|
|
|
</picker>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>所属区域<text style="color:red">*</text></view>
|
|
|
|
|
<view class="formRight">
|
|
|
|
|
<picker :value="rindex" @change="bindRegionChange" :range="arrRegion">
|
|
|
|
|
<view class="uni-input">{{arrRegion[rindex]}}</view>
|
|
|
|
|
</picker>
|
|
|
|
|
<!-- <input type="text" v-if="rindex!=0" v-model="form.address" style="margin-top: 10rpx;"
|
|
|
|
|
placeholder="请输入具体街道/地址"> -->
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>地址<text style="color:red"></text></view>
|
|
|
|
|
<view class="formRight"><input type="text" v-model="form.address" placeholder="地址"></view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>建卡医院<text style="color:red">*</text></view>
|
|
|
|
|
<view class="formRight">
|
|
|
|
|
<picker :value="hindex" @change="bindHospitalChange" :range="arrHospital">
|
|
|
|
|
<view class="uni-input">{{arrHospital[hindex]}}</view>
|
|
|
|
|
</picker>
|
|
|
|
|
|
|
|
|
|
<input type="text" v-if="arrHospital[hindex]=='其他'" v-model="form.hospital"
|
|
|
|
|
style="margin-top: 10rpx;" placeholder="请输入具体建卡医院">
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view class="buyBox">
|
|
|
|
|
|
|
|
|
|
<view class="title">请输入您的联系方式</view>
|
|
|
|
|
|
|
|
|
|
<scroll-view scroll-y="true" style="height: 700rpx;padding-bottom: 40rpx;">
|
|
|
|
|
<block v-if="fields.length>0">
|
|
|
|
|
<view class="formCol" v-for="(item,index) in fields">
|
|
|
|
|
<view>{{item.name}}<text v-if="item.is_reqired==='是'" style="color:red">*</text></view>
|
|
|
|
|
<view class="formRight" v-if="item.data_id">
|
|
|
|
|
<view class="formRight">
|
|
|
|
|
<picker :id="fields_value[index].field" @change="changeList" :value="fields_value[index].index" range-key="value" :range="item.list">
|
|
|
|
|
<view class="uni-input">{{item.list[fields_value[index].index].value}}</view>
|
|
|
|
|
</picker>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="formRight" v-else>
|
|
|
|
|
<input type="text" v-model="fields_value[index].value" :placeholder="item.name">
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</block>
|
|
|
|
|
|
|
|
|
|
<block v-else>
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>姓名<text style="color:red">*</text></view>
|
|
|
|
|
<view class="formRight"><input type="text" v-model="form.name" placeholder="会员姓名"></view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>手机号码<text style="color:red">*</text></view>
|
|
|
|
|
<view class="formRight"><input type="text" v-model="form.phone" placeholder="请输入手机号码"></view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>性别<text style="color:red">*</text></view>
|
|
|
|
|
<view class="formRight">
|
|
|
|
|
<radio-group @change="changeSex" style="display: flex;align-items: center;">
|
|
|
|
|
<label v-for="(item, index) in ['男','女']" :key="index"
|
|
|
|
|
style="display: flex;align-items: center;margin-right: 30rpx;">
|
|
|
|
|
<view>
|
|
|
|
|
<radio :value="item" :checked="item === form.sex" />
|
|
|
|
|
</view>
|
|
|
|
|
<view>{{item}}</view>
|
|
|
|
|
</label>
|
|
|
|
|
</radio-group>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>宝宝生日/预产期<text style="color:red">*</text></view>
|
|
|
|
|
<view class="formRight">
|
|
|
|
|
<picker mode="date" :value="form.budget_date" @change="bindDateChange">
|
|
|
|
|
<view class="uni-input">{{form.budget_date}}</view>
|
|
|
|
|
</picker>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>所属区域<text style="color:red">*</text></view>
|
|
|
|
|
<view class="formRight">
|
|
|
|
|
<picker :value="rindex" @change="bindRegionChange" :range="arrRegion">
|
|
|
|
|
<view class="uni-input">{{arrRegion[rindex]}}</view>
|
|
|
|
|
</picker>
|
|
|
|
|
<!-- <input type="text" v-if="rindex!=0" v-model="form.address" style="margin-top: 10rpx;"
|
|
|
|
|
placeholder="请输入具体街道/地址"> -->
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>地址<text style="color:red"></text></view>
|
|
|
|
|
<view class="formRight"><input type="text" v-model="form.address" placeholder="地址"></view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>建卡医院<text style="color:red">*</text></view>
|
|
|
|
|
<view class="formRight">
|
|
|
|
|
<picker :value="hindex" @change="bindHospitalChange" :range="arrHospital">
|
|
|
|
|
<view class="uni-input">{{arrHospital[hindex]}}</view>
|
|
|
|
|
</picker>
|
|
|
|
|
|
|
|
|
|
<input type="text" v-if="arrHospital[hindex]=='其他'" v-model="form.hospital"
|
|
|
|
|
style="margin-top: 10rpx;" placeholder="请输入具体建卡医院">
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
</block>
|
|
|
|
|
|
|
|
|
|
<view class="formCol">
|
|
|
|
|
<view>备注信息</view>
|
|
|
|
|
<view class="formRight">
|
|
|
|
|
@ -436,7 +458,9 @@
|
|
|
|
|
showPass: false,
|
|
|
|
|
info: {},
|
|
|
|
|
viewCounts: '',
|
|
|
|
|
dataList: [],
|
|
|
|
|
dataList: [],
|
|
|
|
|
fields:[],
|
|
|
|
|
fields_value:[],
|
|
|
|
|
form: {
|
|
|
|
|
merchant_id: "",
|
|
|
|
|
member_id: "",
|
|
|
|
|
@ -447,7 +471,8 @@
|
|
|
|
|
phone: "",
|
|
|
|
|
budget_date: '',
|
|
|
|
|
address: '',
|
|
|
|
|
spread_member_id: ''
|
|
|
|
|
spread_member_id: '',
|
|
|
|
|
field_value:[]
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
arrHospital: ["请选择建卡医院", "市立医院", "苏大附一院", "苏大附二院", "附二浒关院区", "中医院", "第五人民医院", "苏州市第七人民医院", "明基医院", "九龙医院",
|
|
|
|
|
@ -1015,53 +1040,74 @@
|
|
|
|
|
|
|
|
|
|
if (!this.isOrder) {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
this.showPop = true;
|
|
|
|
|
// 自定义提交字段
|
|
|
|
|
if(this.fields && this.fields.length>0){
|
|
|
|
|
let count = 0
|
|
|
|
|
this.fields_value.map(item=>{
|
|
|
|
|
if(item.is_reqired==='是' && weixin.isNull(item.value)){
|
|
|
|
|
this.alert(`${item.name}必填`)
|
|
|
|
|
count++
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(count>0){
|
|
|
|
|
return
|
|
|
|
|
}else{
|
|
|
|
|
this.form.field_value = this.fields_value
|
|
|
|
|
console.log('this.form',this.form)
|
|
|
|
|
}
|
|
|
|
|
// return
|
|
|
|
|
}else{
|
|
|
|
|
let user_info = weixin.getUserInfoCache();
|
|
|
|
|
|
|
|
|
|
if (weixin.isNull(user_info.user_info.phone)) {
|
|
|
|
|
this.showPhone = true;
|
|
|
|
|
return false;
|
|
|
|
|
//this.getUserProfile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (weixin.isNull(this.form.name) || weixin.isNull(this.form.budget_date) ||
|
|
|
|
|
weixin.isNull(this.form.phone) || weixin.isNull(this.form.sex) ||
|
|
|
|
|
weixin.isNull(this.form.area) || weixin.isNull(this.form.hospital)) {
|
|
|
|
|
|
|
|
|
|
if (weixin.isNull(this.form.name) || this.form.name == '微信用户') {
|
|
|
|
|
this.alert('请输入真实会员姓名')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (weixin.isNull(this.form.sex)) {
|
|
|
|
|
this.alert('请选择性别')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (weixin.isNull(this.form.budget_date)) {
|
|
|
|
|
this.alert('请选择预产日期')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (weixin.isNull(this.form.area) || this.form.area == '请选择区域') {
|
|
|
|
|
this.alert('请选择区域')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (weixin.isNull(this.form.hospital) || this.form.hospital == '请选择建卡医院') {
|
|
|
|
|
this.alert('请选择建卡医院')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (weixin.isNull(this.form.phone)) {
|
|
|
|
|
this.alert('请填写手机号')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
// if (weixin.isNull(this.form.address)) {
|
|
|
|
|
// this.alert('请填写地址')
|
|
|
|
|
// return
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let user_info = weixin.getUserInfoCache();
|
|
|
|
|
|
|
|
|
|
if (weixin.isNull(user_info.user_info.phone)) {
|
|
|
|
|
this.showPhone = true;
|
|
|
|
|
return false;
|
|
|
|
|
//this.getUserProfile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (weixin.isNull(this.form.name) || weixin.isNull(this.form.budget_date) ||
|
|
|
|
|
weixin.isNull(this.form.phone) || weixin.isNull(this.form.sex) ||
|
|
|
|
|
weixin.isNull(this.form.area) || weixin.isNull(this.form.hospital)) {
|
|
|
|
|
this.showPop = true;
|
|
|
|
|
if (weixin.isNull(this.form.name) || this.form.name == '微信用户') {
|
|
|
|
|
this.alert('请输入真实会员姓名')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (weixin.isNull(this.form.sex)) {
|
|
|
|
|
this.alert('请选择性别')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (weixin.isNull(this.form.budget_date)) {
|
|
|
|
|
this.alert('请选择预产日期')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (weixin.isNull(this.form.area) || this.form.area == '请选择区域') {
|
|
|
|
|
this.alert('请选择区域')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (weixin.isNull(this.form.hospital) || this.form.hospital == '请选择建卡医院') {
|
|
|
|
|
this.alert('请选择建卡医院')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (weixin.isNull(this.form.phone)) {
|
|
|
|
|
this.alert('请填写手机号')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
// if (weixin.isNull(this.form.address)) {
|
|
|
|
|
// this.alert('请填写地址')
|
|
|
|
|
// return
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
console.log("this.form",this.form)
|
|
|
|
|
// 此处用法为在js中调用,需要写uni.$u.throttle()
|
|
|
|
|
uni.$u.throttle(this.joinActive, 1000);
|
|
|
|
|
|
|
|
|
|
@ -1110,6 +1156,36 @@
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: "../shopDetail/shopDetail?id=" + id
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
async getParaList(id) {
|
|
|
|
|
let arr = []
|
|
|
|
|
await weixin.request({
|
|
|
|
|
newUrl: true,
|
|
|
|
|
api: '/api/member/parameter/show',
|
|
|
|
|
data: {
|
|
|
|
|
id: id
|
|
|
|
|
},
|
|
|
|
|
utilSuccess: (res) => {
|
|
|
|
|
console.log("res----",res)
|
|
|
|
|
res.detail.map(item => {
|
|
|
|
|
arr.push(item.value)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
return arr
|
|
|
|
|
},
|
|
|
|
|
changeList(e){
|
|
|
|
|
console.log(e)
|
|
|
|
|
console.log("this.fields_value",this.fields_value)
|
|
|
|
|
var id = e.target.id
|
|
|
|
|
var index = e.detail.value
|
|
|
|
|
this.fields.map((item,index1)=>{
|
|
|
|
|
if(item.filed==id){
|
|
|
|
|
this.fields_value[index1].index = index
|
|
|
|
|
this.fields_value[index1].value = item.list[index].value
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
loadInfo: function() {
|
|
|
|
|
let that = this
|
|
|
|
|
@ -1125,11 +1201,45 @@
|
|
|
|
|
if (r.company_ids) {
|
|
|
|
|
r.companyList = JSON.parse(r.company_ids)
|
|
|
|
|
}
|
|
|
|
|
this.info = r;
|
|
|
|
|
this.info = r;
|
|
|
|
|
// 自定义提交字段处理
|
|
|
|
|
this.fields = r.fields? JSON.parse(r.fields):[]
|
|
|
|
|
if(this.fields.length>0){
|
|
|
|
|
this.fields.map(item=>{
|
|
|
|
|
this.fields_value.push({
|
|
|
|
|
name:item.name,
|
|
|
|
|
field:item.filed,
|
|
|
|
|
value:'',
|
|
|
|
|
index:-1,
|
|
|
|
|
is_reqired:item.is_reqired
|
|
|
|
|
})
|
|
|
|
|
if(item.data_id){
|
|
|
|
|
let arr = []
|
|
|
|
|
weixin.request({
|
|
|
|
|
newUrl: true,
|
|
|
|
|
api: '/api/member/parameter/show',
|
|
|
|
|
data: {
|
|
|
|
|
id: item.data_id
|
|
|
|
|
},
|
|
|
|
|
utilSuccess: (res) => {
|
|
|
|
|
console.log("res----",res)
|
|
|
|
|
// res.detail.map(item1 => {
|
|
|
|
|
// arr.push(item1.value)
|
|
|
|
|
// })
|
|
|
|
|
item.list = res.detail
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
console.log("this.fields",this.fields)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let apply_end = r.apply_end
|
|
|
|
|
let apply_start = r.apply_start
|
|
|
|
|
let enddate = r.end_date + " " + r.end_time
|
|
|
|
|
let nowtime = that.getNowTime()
|
|
|
|
|
let nowtime = that.getNowTime()
|
|
|
|
|
|
|
|
|
|
if (r.audit_status == 2) {
|
|
|
|
|
that.isOrder = false
|
|
|
|
|
that.isOrderText = "不可报名"
|
|
|
|
|
|