产品 活动自定义上传字段

master
lion 1 year ago
parent 859ecfe583
commit f2c29fb27a

@ -3,11 +3,11 @@ export const appConfig = {
//appId:"wx3dc65ce9b588727a",//孕育咨询 //appId:"wx3dc65ce9b588727a",//孕育咨询
// baseUrl: 'http://yunyubang.localhost.com', // baseUrl: 'http://yunyubang.localhost.com',
baseUrl:'https://yunyubang.ali251.langye.net',// 'https://yunyubang2021.langye.net', //孕育邦 // baseUrl:'https://yunyubang.ali251.langye.net',// 'https://yunyubang2021.langye.net', //孕育邦
// baseUrl: 'https://yybtest.ali251.langye.net', baseUrl: 'https://yybtest.ali251.langye.net',
newBaseUrl: 'https://yunyubang.ali251.langye.net', // newBaseUrl: 'https://yunyubang.ali251.langye.net',
// newBaseUrl: 'http://yybtest.ali251.langye.net', newBaseUrl: 'http://yybtest.ali251.langye.net',
//baseUrl:'https://yybtest2021.langye.net',//孕育咨询 //baseUrl:'https://yybtest2021.langye.net',//孕育咨询
openidInfoKey: 'openid_info_yunyubang' openidInfoKey: 'openid_info_yunyubang'

@ -128,6 +128,7 @@
<view class="buyBox"> <view class="buyBox">
<view class="title">请输入您的联系方式</view> <view class="title">请输入您的联系方式</view>
<scroll-view scroll-y="true" style="height: 700rpx;padding-bottom: 40rpx;"> <scroll-view scroll-y="true" style="height: 700rpx;padding-bottom: 40rpx;">
<view class="formCol"> <view class="formCol">
<view>宝妈姓名<text style="color:red">*</text></view> <view>宝妈姓名<text style="color:red">*</text></view>
<view class="formRight"><input type="text" v-model="form.member_name" placeholder="宝妈姓名"></view> <view class="formRight"><input type="text" v-model="form.member_name" placeholder="宝妈姓名"></view>
@ -144,6 +145,14 @@
</picker> </picker>
</view> </view>
</view> </view>
<view class="formCol" v-if="modelList.length>1">
<view>产品型号<text style="color:red">*</text></view>
<view class="formRight">
<picker :value="mindex" @change="bindModelChange" :range="modelList">
<view class="uni-input">{{modelList[mindex]}}</view>
</picker>
</view>
</view>
<view class="formCol"> <view class="formCol">
<view>所属区域<text style="color:red">*</text></view> <view>所属区域<text style="color:red">*</text></view>
<view class="formRight"> <view class="formRight">
@ -151,7 +160,7 @@
<view class="uni-input">{{arrRegion[rindex]}}</view> <view class="uni-input">{{arrRegion[rindex]}}</view>
</picker> </picker>
<view style="display: flex;align-items: center;"> <view style="display: flex;align-items: center;">
<text v-if="info.product_type.name==='实物'" style="color:red">*</text> <text v-if="info.product_type.name==='实物' && rindex!=0" style="color:red">*</text>
<input type="text" :required="info.product_type.name==='实物'?true:false" v-if="rindex!=0" v-model="form.address" style="margin-top: 10rpx;" <input type="text" :required="info.product_type.name==='实物'?true:false" v-if="rindex!=0" v-model="form.address" style="margin-top: 10rpx;"
placeholder="请输入具体街道/地址"> placeholder="请输入具体街道/地址">
</view> </view>
@ -252,6 +261,8 @@
viewCounts:'', viewCounts:'',
dataList: [], dataList: [],
buyName:'', buyName:'',
mindex:0,
modelList:['请选择产品型号'],
form: { form: {
product_type: "product", product_type: "product",
product_id: "", product_id: "",
@ -260,6 +271,7 @@
member_name: "", member_name: "",
member_comment: "", member_comment: "",
promotion: "", promotion: "",
model_name:'',
region: '', region: '',
address: '', address: '',
hospital: '' hospital: ''
@ -499,6 +511,10 @@
}) })
} }
}, },
bindModelChange:function(e) {
this.mindex = e.target.value;
this.form.model_name = this.modelList[e.target.value];
},
bindRegionChange: function(e) { bindRegionChange: function(e) {
this.rindex = e.target.value; this.rindex = e.target.value;
this.form.region = this.arrRegion[e.target.value]; this.form.region = this.arrRegion[e.target.value];
@ -796,13 +812,16 @@
return false; return false;
} }
if (this.modelList.length>1 && (this.form.model_name == "请选择产品型号" || weixin.isNull(this.form.model_name))) {
this.alert('请选择产品型号')
return
}
if (this.form.region == "请选择区域" || weixin.isNull(this.form.region)) { if (this.form.region == "请选择区域" || weixin.isNull(this.form.region)) {
this.alert('请选择区域') this.alert('请选择区域')
return return
} }
if(this.info.product_type.name==='实物' && weixin.isNull(this.form.address)){ if(this.info.product_type.name==='实物' && weixin.isNull(this.form.address)){
this.alert('实物商品请填写具体地址') this.alert('请填写具体地址')
return return
} }
if (this.form.hospital == "请选择建卡医院") { if (this.form.hospital == "请选择建卡医院") {
@ -914,6 +933,14 @@
that.info.poster = (weixin.isNull(that.info.poster) ? "../../static/750x500.jpg" : that.info.poster = (weixin.isNull(that.info.poster) ? "../../static/750x500.jpg" :
that.info.poster_url) that.info.poster_url)
that.buyName = that.info.state=='active'?'立即购买':'已下架' that.buyName = that.info.state=='active'?'立即购买':'已下架'
let _marr = r.data.model?JSON.parse(r.data.model):[]
if(_marr.length>0){
_marr.map(item=>{
that.modelList.push(item.name)
})
}
}, },
utilFail: r => { utilFail: r => {
console.log(r); console.log(r);

@ -291,11 +291,31 @@
</view> </view>
<view :class="isOrder?'buyBtn':'noBtn buyBtn'" @click="toBuy">{{isOrderText}}</view> <view :class="isOrder?'buyBtn':'noBtn buyBtn'" @click="toBuy">{{isOrderText}}</view>
</view> </view>
<!-- 报名 -->
<u-popup v-model="showPop" mode="bottom" closeable="true"> <u-popup v-model="showPop" mode="bottom" closeable="true">
<view class="buyBox"> <view class="buyBox">
<view class="title">请输入您的联系方式</view> <view class="title">请输入您的联系方式</view>
<scroll-view scroll-y="true" style="height: 700rpx;padding-bottom: 40rpx;"> <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 class="formCol">
<view>姓名<text style="color:red">*</text></view> <view>姓名<text style="color:red">*</text></view>
<view class="formRight"><input type="text" v-model="form.name" placeholder="会员姓名"></view> <view class="formRight"><input type="text" v-model="form.name" placeholder="会员姓名"></view>
@ -353,6 +373,8 @@
</view> </view>
</view> </view>
</block>
<view class="formCol"> <view class="formCol">
<view>备注信息</view> <view>备注信息</view>
<view class="formRight"> <view class="formRight">
@ -437,6 +459,8 @@
info: {}, info: {},
viewCounts: '', viewCounts: '',
dataList: [], dataList: [],
fields:[],
fields_value:[],
form: { form: {
merchant_id: "", merchant_id: "",
member_id: "", member_id: "",
@ -447,7 +471,8 @@
phone: "", phone: "",
budget_date: '', budget_date: '',
address: '', address: '',
spread_member_id: '' spread_member_id: '',
field_value:[]
}, },
arrHospital: ["请选择建卡医院", "市立医院", "苏大附一院", "苏大附二院", "附二浒关院区", "中医院", "第五人民医院", "苏州市第七人民医院", "明基医院", "九龙医院", arrHospital: ["请选择建卡医院", "市立医院", "苏大附一院", "苏大附二院", "附二浒关院区", "中医院", "第五人民医院", "苏州市第七人民医院", "明基医院", "九龙医院",
@ -1016,7 +1041,26 @@
if (!this.isOrder) { if (!this.isOrder) {
return 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(); let user_info = weixin.getUserInfoCache();
if (weixin.isNull(user_info.user_info.phone)) { if (weixin.isNull(user_info.user_info.phone)) {
@ -1028,7 +1072,7 @@
if (weixin.isNull(this.form.name) || weixin.isNull(this.form.budget_date) || 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.phone) || weixin.isNull(this.form.sex) ||
weixin.isNull(this.form.area) || weixin.isNull(this.form.hospital)) { weixin.isNull(this.form.area) || weixin.isNull(this.form.hospital)) {
this.showPop = true;
if (weixin.isNull(this.form.name) || this.form.name == '微信用户') { if (weixin.isNull(this.form.name) || this.form.name == '微信用户') {
this.alert('请输入真实会员姓名') this.alert('请输入真实会员姓名')
return return
@ -1062,6 +1106,8 @@
return false; return false;
} }
}
console.log("this.form",this.form)
// jsuni.$u.throttle() // jsuni.$u.throttle()
uni.$u.throttle(this.joinActive, 1000); uni.$u.throttle(this.joinActive, 1000);
@ -1111,6 +1157,36 @@
url: "../shopDetail/shopDetail?id=" + id 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() { loadInfo: function() {
let that = this let that = this
that.loadView() that.loadView()
@ -1126,10 +1202,44 @@
r.companyList = JSON.parse(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_end = r.apply_end
let apply_start = r.apply_start let apply_start = r.apply_start
let enddate = r.end_date + " " + r.end_time let enddate = r.end_date + " " + r.end_time
let nowtime = that.getNowTime() let nowtime = that.getNowTime()
if (r.audit_status == 2) { if (r.audit_status == 2) {
that.isOrder = false that.isOrder = false
that.isOrderText = "不可报名" that.isOrderText = "不可报名"

Loading…
Cancel
Save