Browse Source

分销海报

feature/feature-compatible
fengchengzhi 7 years ago
parent
commit
1cf71f1229
6 changed files with 94 additions and 11 deletions
  1. 13
      src/api/poster.js
  2. 4
      src/models/evaluation-model.js
  3. 21
      src/models/poster-model.js
  4. 6
      src/view/home.vue
  5. 1
      src/view/month-card.vue
  6. 60
      src/view/poster.vue

13
src/api/poster.js

@ -0,0 +1,13 @@
export default {
//获取海报信息
getPoster: {
method: 'GET',
url: '/mall/web/consumer_add/:merchantNo',
},
//生成海报
createPoster:{
method: 'GET',
url: '/mall/web/recommend/poster'
}
}

4
src/models/evaluation-model.js

@ -4,7 +4,9 @@ import evaluation from "../api/evaluation.js";
export default {
// 提交评价
add: (data, token) =>
utilsModel.config(evaluation.add).request({
utilsModel
.config(evaluation.add)
.request({
data: data,
headers: {
"encodeToken": token

21
src/models/poster-model.js

@ -0,0 +1,21 @@
import utilsModel from './utils-model'
import posterApi from '../api/poster.js'
export default {
getPoster : (merchantNo, token) =>
utilsModel
.config(posterApi.getPoster, {merchantNo: merchantNo})
.request({
}),
createPoster : (params) =>
utilsModel
.config(posterApi.createPoster)
.request({
params:params
}),
}

6
src/view/home.vue

@ -75,7 +75,6 @@
promotionImgList: {}, //
goodsList:[],
imghost: "http://medou.oss-cn-shenzhen.aliyuncs.com/",
};
},
components: {
@ -93,6 +92,7 @@
this.getGoodsList()
this.defaultCity = arr[1]
this.show = false
localStorage.setItem('cityName',this.addressValue)
},
change (name) {
this.addressValue = name
@ -160,6 +160,10 @@
this.show = true
} else {
this.defaultCity = res.data.districtName
this.addressValue = []
this.addressValue.push(res.data.provinceId)
this.addressValue.push(res.data.cityId)
this.addressValue.push(res.data.districtId)
}
} else {
this.$vux.toast.text(res.msg,"middle");

1
src/view/month-card.vue

@ -13,7 +13,6 @@
</p>
</div>
<div class="month-card-area">
<div class="month-card f-flex" style="margin-bottom: -35px;">
<div class="month-card-left" style="width: 76%;">

60
src/view/poster.vue

@ -5,18 +5,18 @@
<div class="page-top">
<a @click="goBack()"><img src="../assets/images/my-money/left.png" /></a>
<i class="name">分销海报</i>
<i class="text" @click="show = true">天河区</i>
<i class="text" @click="show = true">{{defaultCity}}</i>
</div>
<div class="page-content">
<img class="poster-img" src="../assets/images/girl.jpg">
<button class="create-poster">重新生成海报</button>
<img class="poster-img" :src="imghost + imgSrc">
<button class="create-poster" @click="createPoster(1)">重新生成海报</button>
</div>
<popup v-model="show">
<div class="picke-address">
<div class="status-btn">
<a class="cel-btn" @click="show = false">取消</a>
<a class="complete-btn">完成</a>
<a class="complete-btn" @click="getName()">完成</a>
</div>
<picker :data='addressData' :columns=3 v-model='addressValue' @on-change='change' ref="picker1"></picker>
</div>
@ -33,8 +33,11 @@
data() {
return {
show: false,
imgSrc: "",
defaultCity: '天河区',
addressData: [],
addressValue: [],
imghost: "http://medou.oss-cn-shenzhen.aliyuncs.com/",
};
},
components: {
@ -46,20 +49,61 @@
},
methods: {
getCityName (){
let name = localStorage.getItem("cityName")
let arr = name.split(',')
this.addressValue = arr
let cityNameArr = arr[2].split('&')
let cityName = cityNameArr[1]
this.defaultCity = cityName
},
getPoster (){
var merchantNo = $("#merchantNo").val()
console.log(merchantNo)
posterApi.getPoster(merchantNo).then(res => {
console.log("海报",res)
if ( res.code == 0 ){
if ( res.data.hasOAuth == 0 ){
location.href = res.data.oauthUrl
return
}
if ( res.data.imageUrl ){
this.imgSrc = res.data.imageUrl
} else {
createPoster()
}
} else {
this.$vux.toast.text(res.msg,"middle");
if ( res.code == 667 ){
location.href = '/mall/web/user/login'
}
}
})
},
createPoster (status){
var merchantNo = $("#merchantNo").val()
posterApi.createPoster({"merchantNo":merchantNo}).then(res => {
if ( res.code == 0 ){
if ( status ){
this.$vux.toast.text(res.msg,"middle");
}
this.imgSrc = res.response
} else {
this.$vux.toast.text(res.msg,"middle");
if ( res.code == 666 ){
location.href = '/mall/web/user/login'
}
}
})
},
getName (){
let arr = this.addressValue[2].split('&')
this.defaultCity = arr[1]
this.show = false
},
change (name) {
console.log('new Value', name)
this.addressValue = name
},
getAddress (){
homeApi.getAddress().then(res => {
@ -76,8 +120,8 @@
}
},
mounted() {
this.getAddress()
this.getPoster()
this.getAddress()
this.getCityName()
}
};
</script>

Loading…
Cancel
Save