|
@@ -1,18 +1,18 @@
|
|
|
<template>
|
|
|
<zj-page-layout :hasFooter="true" bgColor="#ffffff">
|
|
|
<view class="swiper-container" v-if="bannerList.length > 0">
|
|
|
- <swiper class="banner-swiper" @change="changeBanner" :autoplay="true">
|
|
|
- <block v-for="(item, index) in bannerList" :key='index'>
|
|
|
- <swiper-item>
|
|
|
- <image :src="item" mode="aspectFill"></image>
|
|
|
- </swiper-item>
|
|
|
- </block>
|
|
|
- </swiper>
|
|
|
- <view class="dots-conatiner">
|
|
|
- <view class="con" :style="'width:'+(bannerList.length * 20)+'rpx;'" >
|
|
|
- <view class="dot" :style=" 'transform:translateX('+ (bannerCurrent * 100) +'%)' " ></view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
+ <swiper class="banner-swiper" @change="changeBanner" :autoplay="true">
|
|
|
+ <block v-for="(item, index) in bannerList" :key="index">
|
|
|
+ <swiper-item>
|
|
|
+ <image :src="item" mode="aspectFill"></image>
|
|
|
+ </swiper-item>
|
|
|
+ </block>
|
|
|
+ </swiper>
|
|
|
+ <view class="dots-conatiner">
|
|
|
+ <view class="con" :style="'width:' + bannerList.length * 20 + 'rpx;'">
|
|
|
+ <view class="dot" :style="'transform:translateX(' + bannerCurrent * 100 + '%)'"></view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
<view class="explain" @tap="toExplain">活动说明</view>
|
|
|
</view>
|
|
|
|
|
@@ -20,45 +20,41 @@
|
|
|
<view class="form-container">
|
|
|
<view class="row" v-if="applyDetail.customWebsitName">
|
|
|
<view class="label">所属网点</view>
|
|
|
- <view class="value">{{applyDetail.customWebsitName}}</view>
|
|
|
+ <view class="value">{{ applyDetail.customWebsitName }}</view>
|
|
|
</view>
|
|
|
<view class="row">
|
|
|
<view class="label"><text>*</text>您的姓名</view>
|
|
|
- <view class="value">{{applyDetail.userName}}</view>
|
|
|
+ <view class="value">{{ applyDetail.userName }}</view>
|
|
|
</view>
|
|
|
<view class="row">
|
|
|
<view class="label"><text>*</text>您的电话</view>
|
|
|
- <view class="value">{{applyDetail.userMobile}}</view>
|
|
|
+ <view class="value">{{ applyDetail.userMobile }}</view>
|
|
|
</view>
|
|
|
<view class="row">
|
|
|
<view class="label"><text>*</text>您的地址</view>
|
|
|
- <view class="value">{{applyDetail.userAddress}}</view>
|
|
|
+ <view class="value">{{ applyDetail.userAddress }}</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
<block v-for="(item, index) in applyDetail.items" :key="index">
|
|
|
<view class="picker-container" v-if="item.type == 1 || item.type == 2">
|
|
|
- <view class="label"><text v-if="item.isRequire">*</text>{{item.question}}({{{1: '单选', 2: '多选'}[item.type]}})</view>
|
|
|
+ <view class="label"
|
|
|
+ ><text v-if="item.isRequire">*</text>{{ item.question }}({{ { 1: '单选', 2: '多选' }[item.type] }})</view
|
|
|
+ >
|
|
|
<view class="img-list" v-if="item.answerType == 1 || item.answerType == 3">
|
|
|
- <view
|
|
|
- class="item active"
|
|
|
- v-for="(it, idx) in item.answer.filter(o => o.active)"
|
|
|
- :key="idx">
|
|
|
+ <view class="item active" v-for="(it, idx) in item.answer.filter(o => o.active)" :key="idx">
|
|
|
<image :src="it.option_files[0].url" mode="aspectFill"></image>
|
|
|
- <view class="text" v-if="item.answerType == 1">{{it.option_value}}</view>
|
|
|
+ <view class="text" v-if="item.answerType == 1">{{ it.option_value }}</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="text-list" v-else>
|
|
|
- <view
|
|
|
- class="item active"
|
|
|
- v-for="(it, idx) in item.answer.filter(o => o.active)"
|
|
|
- :key="idx">
|
|
|
- {{it.option_value}}
|
|
|
+ <view class="item active" v-for="(it, idx) in item.answer.filter(o => o.active)" :key="idx">
|
|
|
+ {{ it.option_value }}
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="input-container" v-else-if="item.type == 3">
|
|
|
- <view class="label"><text v-if="item.isRequire">*</text>{{item.question}}</view>
|
|
|
+ <view class="label"><text v-if="item.isRequire">*</text>{{ item.question }}</view>
|
|
|
<u--textarea
|
|
|
disabled
|
|
|
autoHeight
|
|
@@ -68,7 +64,7 @@
|
|
|
></u--textarea>
|
|
|
</view>
|
|
|
<view class="input-container" v-else-if="item.type == 4">
|
|
|
- <view class="label"><text v-if="item.isRequire">*</text>{{item.question}}</view>
|
|
|
+ <view class="label"><text v-if="item.isRequire">*</text>{{ item.question }}</view>
|
|
|
<view class="images" v-if="item.answer[0].option_value.length">
|
|
|
<view class="img" v-for="(it, idx) in item.answer[0].option_value" :key="idx">
|
|
|
<image :src="it" mode="aspectFill" @tap="prevImg(it, item.answer[0].option_value)"></image>
|
|
@@ -76,10 +72,10 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="input-container" v-else-if="item.type == 5">
|
|
|
- <view class="label"><text v-if="item.isRequire">*</text>{{item.question}}</view>
|
|
|
+ <view class="label"><text v-if="item.isRequire">*</text>{{ item.question }}</view>
|
|
|
<view class="images" v-if="item.answer[0].option_value.length">
|
|
|
- <view v-for="(it, idx) in item.answer[0].option_value" :key="idx" class="img" style="width:100%;">
|
|
|
- <video :src="it" style="width:100%;height: 240px;"></video>
|
|
|
+ <view v-for="(it, idx) in item.answer[0].option_value" :key="idx" class="img" style="width: 100%">
|
|
|
+ <video :src="it" style="width: 100%; height: 240px"></video>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
@@ -95,78 +91,86 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- export default {
|
|
|
- data() {
|
|
|
- return {
|
|
|
- id: '',
|
|
|
- aid: '',
|
|
|
- bannerList: [], // 轮播图列表
|
|
|
- bannerCurrent: 0, // 轮播图当前值
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ id: '',
|
|
|
+ aid: '',
|
|
|
+ bannerList: [], // 轮播图列表
|
|
|
+ bannerCurrent: 0, // 轮播图当前值
|
|
|
|
|
|
- detailData: {},
|
|
|
- applyDetail: {},
|
|
|
+ detailData: {},
|
|
|
+ applyDetail: {},
|
|
|
|
|
|
- name: '',
|
|
|
- phone: '',
|
|
|
- address: '',
|
|
|
- }
|
|
|
- },
|
|
|
+ name: '',
|
|
|
+ phone: '',
|
|
|
+ address: ''
|
|
|
+ }
|
|
|
+ },
|
|
|
|
|
|
- onLoad({id, aid}) {
|
|
|
- this.id = id;
|
|
|
- this.aid = aid;
|
|
|
- this.getDetail();
|
|
|
- this.getApplyDetail();
|
|
|
- },
|
|
|
+ onLoad({ id, aid }) {
|
|
|
+ this.id = id
|
|
|
+ this.aid = aid
|
|
|
+ this.getDetail()
|
|
|
+ this.getApplyDetail()
|
|
|
+ },
|
|
|
|
|
|
- methods: {
|
|
|
- //预览图片
|
|
|
- prevImg(url, urls) {
|
|
|
- uni.previewImage({
|
|
|
- current: url,
|
|
|
- urls: urls
|
|
|
- })
|
|
|
- },
|
|
|
+ methods: {
|
|
|
+ //预览图片
|
|
|
+ prevImg(url, urls) {
|
|
|
+ uni.previewImage({
|
|
|
+ current: url,
|
|
|
+ urls: urls
|
|
|
+ })
|
|
|
+ },
|
|
|
|
|
|
- backPage() {
|
|
|
- this.$navToPage({
|
|
|
- delta: 1
|
|
|
- }, 'navigateBack')
|
|
|
- },
|
|
|
+ backPage() {
|
|
|
+ this.$navToPage(
|
|
|
+ {
|
|
|
+ delta: 1
|
|
|
+ },
|
|
|
+ 'navigateBack'
|
|
|
+ )
|
|
|
+ },
|
|
|
|
|
|
- getDetail() {
|
|
|
- this.$api.post('/promotion/questionnaire/detail', {
|
|
|
+ getDetail() {
|
|
|
+ this.$api
|
|
|
+ .post('/promotion/questionnaire/detail', {
|
|
|
id: this.id
|
|
|
- }).then(res => {
|
|
|
- this.detailData = res.data;
|
|
|
- this.bannerList = res.data.detailImgs.split(',');
|
|
|
})
|
|
|
- },
|
|
|
+ .then(res => {
|
|
|
+ this.detailData = res.data
|
|
|
+ this.bannerList = res.data.detailImgs.split(',')
|
|
|
+ })
|
|
|
+ },
|
|
|
|
|
|
- getApplyDetail() {
|
|
|
- this.$api.post('/promotion/activity/detail', {
|
|
|
+ getApplyDetail() {
|
|
|
+ this.$api
|
|
|
+ .post('/promotion/activity/detail', {
|
|
|
promotionActivityId: this.aid
|
|
|
- }).then(res => {
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
res.data.items.forEach(item => {
|
|
|
- item.answer = JSON.parse(item.answer);
|
|
|
+ item.answer = JSON.parse(item.answer)
|
|
|
})
|
|
|
- this.applyDetail = res.data;
|
|
|
+ this.applyDetail = res.data
|
|
|
})
|
|
|
- },
|
|
|
+ },
|
|
|
|
|
|
- // 切换广告图
|
|
|
- changeBanner(e) {
|
|
|
- this.bannerCurrent = e.detail.current;
|
|
|
- },
|
|
|
+ // 切换广告图
|
|
|
+ changeBanner(e) {
|
|
|
+ this.bannerCurrent = e.detail.current
|
|
|
+ },
|
|
|
|
|
|
- toExplain() {
|
|
|
- this.$navToPage({
|
|
|
- url: `/packageHome/pages/codeActivity/activityExplain?id=${this.id}`
|
|
|
- })
|
|
|
- },
|
|
|
+ toExplain() {
|
|
|
+ this.$navToPage({
|
|
|
+ url: `/packageHome/pages/codeActivity/activityExplain?id=${this.id}`
|
|
|
+ })
|
|
|
+ },
|
|
|
|
|
|
- submitData() {
|
|
|
- this.$api.postJson('/material/parts/apply/add', {
|
|
|
+ submitData() {
|
|
|
+ this.$api
|
|
|
+ .postJson('/material/parts/apply/add', {
|
|
|
orderBaseId: this.id,
|
|
|
items: this.partsList.map(item => {
|
|
|
return {
|
|
@@ -174,16 +178,20 @@
|
|
|
qty: item.num
|
|
|
}
|
|
|
}),
|
|
|
- remark: this.remark,
|
|
|
- }).then(res => {
|
|
|
- this.$successToast('提交成功');
|
|
|
- this.$navToPage({
|
|
|
- url: `/packageMaterial/pages/partsApply/list`
|
|
|
- }, 'redirectTo')
|
|
|
+ remark: this.remark
|
|
|
})
|
|
|
- },
|
|
|
- },
|
|
|
+ .then(res => {
|
|
|
+ this.$successToast('提交成功')
|
|
|
+ this.$navToPage(
|
|
|
+ {
|
|
|
+ url: `/packageMaterial/pages/partsApply/list`
|
|
|
+ },
|
|
|
+ 'redirectTo'
|
|
|
+ )
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
@@ -196,7 +204,7 @@
|
|
|
width: 160rpx;
|
|
|
height: 60rpx;
|
|
|
border-radius: 60rpx;
|
|
|
- background: #FFFFFF;
|
|
|
+ background: #ffffff;
|
|
|
font-size: 28rpx;
|
|
|
color: $assist-color;
|
|
|
border: 1px solid $assist-color;
|
|
@@ -206,7 +214,8 @@
|
|
|
}
|
|
|
.banner-swiper {
|
|
|
height: 600rpx;
|
|
|
- image, video {
|
|
|
+ image,
|
|
|
+ video {
|
|
|
height: 600rpx;
|
|
|
width: 750rpx;
|
|
|
display: block;
|
|
@@ -225,13 +234,13 @@
|
|
|
border-radius: 4rpx;
|
|
|
overflow: hidden;
|
|
|
height: 4rpx;
|
|
|
- background-color: rgba($color: #FFFFFF, $alpha: 0.3);
|
|
|
+ background-color: rgba($color: #ffffff, $alpha: 0.3);
|
|
|
}
|
|
|
.dot {
|
|
|
width: 20rpx;
|
|
|
height: 4rpx;
|
|
|
- background-color: #FFFFFF;
|
|
|
- transition: all .3s;
|
|
|
+ background-color: #ffffff;
|
|
|
+ transition: all 0.3s;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -302,9 +311,9 @@
|
|
|
width: 40rpx;
|
|
|
height: 40rpx;
|
|
|
border-radius: 50%;
|
|
|
- background: #FF3F42;
|
|
|
+ background: #ff3f42;
|
|
|
font-size: 24rpx;
|
|
|
- color: #FFFFFF;
|
|
|
+ color: #ffffff;
|
|
|
text-align: center;
|
|
|
line-height: 40rpx;
|
|
|
display: block;
|
|
@@ -375,5 +384,4 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
</style>
|