Commit 902f179f authored by 杨硕's avatar 杨硕
parents daae8cad dddddc8f
......@@ -3,22 +3,25 @@
<!-- z注意事项 -->
<view class="topView">
<view class="needingAttention">
<!-- 小票拍摄示例 -->
<view style="padding-top: 30rpx;">
<view style="display: flex; padding-top: 32rpx;">
<span class="ticketTest">小票拍摄示例</span>
<image :src="img" class="ticketimg"></image>
<span class="records" @click=toRecords>小票记录</span>
</view>
<!-- 小票拍摄示例 -->
<view>
<image :src="simg" class="ticketimg"></image>
</view>
<!-- 拍摄注意事项 -->
<view style="margin-top: 30rpx;">
<span class="ticketTest">拍摄注意事项</span>
<image :src="img" class="ticketimg"></image>
<image :src="simg" class="ticketimg"></image>
</view>
</view>
<!-- 请选择店铺 -->
<view class="list">
<view class="list-trim" @click="goshopList">
<view class="left">
<view class="trim-title">请选择店铺</view>
<view class="trim-title">{{text}}</view>
</view>
<view style="height: 28rpx;">
<image class="rightimage" :src="baseURL+'/static/my/wode_icon_jiantou@2x.png'">
......@@ -46,19 +49,113 @@
export default{
data(){
return{
token: '',
tenantId: '',
shopId: '',
userId: '',
img: '',
name: '',
text: '',
baseURL: 'http://192.144.239.97:20043/file/',
img: 'http://192.144.239.97:20043/file/banner/20230605/6F749760FE1148369C4081EBD3248C6C.jpeg',
example: 'http://192.144.239.97:20065/upload/img/paisheshili.png',
simg: 'http://192.144.239.97:20065/upload/img/zhuyishixiang.png',
}
},
onLoad(option) {
console.log('shop',option)
if(option.id) {
this.shopId = Number(option.id)
console.log('shopId',this.shopId)
}
if(option.name){
console.log('name',option.name)
this.name = option.name
this.text = option.name
} else{
this.text = '请选择商铺'
}
},
onShow(){
this.getInfor()
},
methods: {
// 获取商圈和个人信息id
getInfor(){
const that = this
uni.getStorage({
key: 'business',
success:function(Lres){
console.log('商圈信息',Lres.data)
that.tenantId = Lres.data.id
}
})
uni.getStorage({
key: 'lifeData',
success:function(Lres){
console.log('会员信息',Lres.data)
that.userId =Lres.data.vuex_user.id
that.token = Lres.data.vuex_token
}
})
},
toRecords(){
console.log('111')
uni.navigateTo({
url:'/my/myIntegral/receiptRecord/index'
})
},
handleshoot(){
uni.chooseImage({
count: 1,
sourceType: ['camera'],
success: function(res){
console.log('res',res)
}
const that = this
wx.requestSubscribeMessage({
tmplIds: ['Z1GyWI2Q9m6VZna-AeIGvvKCQzhxHWBbBVe8UY49fbA'],
success (res) {
if(that.name === '') {
uni.showToast({
title: '请选择商铺',
icon: 'error'
})
} else {
let tempFilePaths = ''
uni.chooseImage({
count: 1,
sourceType: ['camera'],
success: function(res){
console.log("aaaa",res)
tempFilePaths = res.tempFilePaths[0]
uni.uploadFile({
url: 'https://qf.91isoft.com/cshop/file/upload',
filePath: tempFilePaths,
name: 'file',
header: {
Authorization: that.token
},
success: (uploadFileRes) => {
let obj = JSON.parse(uploadFileRes.data)
console.log('obj',obj)
that.img = obj.data.realFileName
that.$u.post('/user/receipt/mobile/insert',{
tenantId:that.tenantId,
shopId: that.shopId,
img:that.img,
userId: that.userId
}).then(res => {
console.log('res',res)
})
console.log('tempFilePaths',tempFilePaths)
},
fail: (fail)=> {
console.log('fail',fail);
}
})
}
})
}
}
})
},
goshopList(){
uni.navigateTo({
......@@ -110,12 +207,18 @@
margin-bottom: 30rpx;
line-height: 38rpx;
}
.records{
position: absolute;
right: 5%;
font-size: 32rpx;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 700;
}
.ticketimg{
margin-top: 30rpx;
width: 92%;
margin-left: 30rpx;
height: 30vh;
border: 1px solid;
}
}
.list{
......
......@@ -2,9 +2,11 @@
<view class="shopList">
<!-- 搜索区 -->
<view class="top">
<view class="search">
<u-search placeholder="请输入店铺名关键字" v-model="keyword" :show-action="false" input-align="center"
style="margin-left: 2%; width: 96%;"></u-search>
<view class="u-search-box">
<view class="u-search-inner">
<u-icon name="search" color="#909399" :size="28"></u-icon>
<u-input style="width: 100%;" v-model="name" type="text" height="50" @blur="handleChange" placeholder="请输入商铺名称"/>
</view>
</view>
</view>
<!-- 主体区 -->
......@@ -17,10 +19,10 @@
</view>
</view>
<view class="right">
<view>
<view class="shop">
<view class="shop-item">
<view class="text">马府私家菜</view>
<view v-for="(item,index) in shopList" :key="index">
<view class="shop" >
<view class="shop-item" @click="todo(item)">
<view class="text">{{item.name}}</view>
<view class="icon">
<u-icon name="arrow-right"></u-icon>
</view>
......@@ -37,6 +39,7 @@
export default {
data() {
return {
test: '请输入商铺名称',
keyword: '',
businessMessage: {},
list: [],
......@@ -49,6 +52,16 @@
this.getColumn()
},
methods: {
todo(item) {
console.log('item',item)
uni.navigateTo({
url:'/homePage/filmReceipt/index' + '?name=' + item.name +'&id=' +item.id
})
},
handleChange(){
console.log('name',this.name)
this.getShop()
},
getColumn() {
const that = this
uni.getStorage({
......@@ -60,6 +73,9 @@
that.getShop()
}
})
},
handSearch(){
},
getFloor() {
this.$u.get('/shop/mobile/selectShopFloor?tenantId=' + this.businessMessage.id).then(res => {
......@@ -77,11 +93,19 @@
})
},
getShop() {
this.$u.get('/shop/mobile/selectShopList?tenantId=' + this.businessMessage.id+'&floor'+this.floor+'&name='+this.name).then(res => {
this.$u.get('/shop/mobile/selectShopList?tenantId=' + this.businessMessage.id+'&floor='+this.floor+'&name='+this.name).then(res => {
console.log("商铺", res)
this.shopList = res
})
},
handclick(item) {
console.log('item',item)
if(item.value === '全部') {
this.floor = ''
} else {
this.floor = item.value
}
this.getShop()
item.check = true
this.list.forEach(obj => {
if (obj.value !== item.value) {
......@@ -97,6 +121,21 @@
.shopList {
.top {
background-color: #fff;
.u-search-box {
padding: 10rpx 30rpx;
.u-search-inner {
background-color: rgb(234, 234, 234);
border-radius: 100rpx;
display: flex;
align-items: center;
padding: 10rpx 16rpx;
}
.u-search-text {
font-size: 24rpx;
color: $u-tips-color;
margin-left: 10rpx;
}
}
}
.search {
......@@ -161,12 +200,13 @@
align-items: center;
}
.right {
.icon {
position: absolute;
right: 18rpx;
}
}
}
}
}
......
......@@ -2,22 +2,13 @@
<view class="choose">
<!-- <u-search placeholder="输入停车场名称" bg-color="#eee" :show-action="false" input-align="center"></u-search> -->
<view>
<u-radio-group v-model="value" @change="radioGroupChange" iconPlacement="right">
<u-radio @change="radioChange" v-for="(item, index) in list" :key="index" :name="item.name"
:disabled="item.disabled">
<view style="display: flex;flex-direction: column;">
<view class="onetitle" @click="showaddress">{{item.name}}</view>
<view class="address" v-if="show">
<view class="addresscard">
<view v-for="item in addressList" class="addressmessage" @click="choosecity(item)">
{{item.name}}
</view>
</view>
</view>
<view v-else style="display: flex;flex-direction: column;">
<span class="twotitle">北京世纪城</span>
<span class="threetitle">北京市海淀区</span>
<u-radio-group v-model="value" @change="radioGroupChange" iconPlacement="right" :wrap="true">
<u-radio @change="radioChange(res)" v-for="(res, index) in list" :key="index" :name="res.name">
<view style="display: flex;flex-direction: column;" @click="checkPark(res)" >
<view style="display: flex;flex-direction: column;">
<spam class="onetitle">{{tenantNme}}</spam>
<span class="twotitle">{{res.name}}</span>
<span class="threetitle">{{res.address}}</span>
</view>
</view>
</u-radio>
......@@ -30,17 +21,51 @@
export default {
data(){
return{
list: [{
name: '北京市',
disabled: false
}],
name: '',
tenantId: '',
tenantNme: '',
list: [],
show: false,
addressList: [],
// u-radio-group的v-model绑定的值如果设置为某个radio的name,就会被默认选中
value: '北京市',
}
},
onLoad(option) {
console.log('option',option)
if(option.name) {
this.value = option.name
}
// this.init()
},
onShow() {
this.getList()
},
methods:{
checkPark(item) {
console.log('item',item)
uni.navigateTo({
url:'/homePage/parkingService/index?name=' + item.name + '&id'+item.id
})
},
getList(){
const that = this
uni.getStorage({
key:'business',
success:function(res){
console.log('商圈数据',res.data)
that.tenantId = res.data.id
that.tenantNme = res.data.name
that.init()
}
})
},
init(){
this.$u.get('/parking/mobile/list?tenantId='+this.tenantId).then(res => {
console.log('res',res)
this.list = res
})
},
// 选中某个单选框时,由radio时触发
radioChange(e) {
// console.log(e);
......@@ -89,6 +114,11 @@
.choose{
padding: 34rpx 0;
/deep/ .u-radio__icon-wrap{
position: absolute;
right: 20rpx;
}
/deep/.u-radio__icon-wrap--checked {
order: 2;
position: absolute;
......@@ -96,16 +126,20 @@
}
.onetitle {
margin-top: 32rpx;
margin-left: 30rpx;
font-size: 40rpx;
font-weight: bold;
}
.twotitle {
margin-left: 30rpx;
font-size: 30rpx;
font-weight: 600;
}
.threetitle {
margin-left: 30rpx;
font-size: 24rpx;
font-weight: 400;
}
......
......@@ -60,8 +60,10 @@
export default {
data() {
return {
parkingId: '',
tenantId: '',
img: 'http://192.144.239.97:20043/file/banner/20230605/6F749760FE1148369C4081EBD3248C6C.jpeg',
test: '上海复地活力城停车场',
test: '',
cardImg: 'http://192.144.239.97:20043/file/static/my/zanwushuju.png',
icon: 'http://192.144.239.97:20043/file/static/my/wode_icon_youhuiquan%402x.png',
show: false,
......@@ -82,7 +84,37 @@
],
};
},
onLoad(option){
console.log('option',option)
if(option.name) {
this.test = option.name
}
if(option.id) {
this.parkingId = option.id
}
},
onShow() {
console.log('test',this.test)
if(this.test === '') {
console.log(111)
this.getParking()
}
},
methods: {
getParking(){
const that = this
uni.getStorage({
key:'business',
success:function(res){
console.log('商圈数据',res.data)
that.tenantId = res.data.id
that.$u.get('/parking/mobile/list?tenantId='+that.tenantId).then(res => {
that.test = res[0].name
that.parkingId = res[0].id
})
}
})
},
openInfoModal() {
this.show = true; // 显示信息框
},
......@@ -91,7 +123,7 @@
},
goChoose(){
uni.navigateTo({
url:'/homePage/parkingService/choose/index'
url:'/homePage/parkingService/choose/index?name=' + this.test
})
},
goPlateManagement(){
......
......@@ -13,11 +13,11 @@
<!-- 分割线上方 -->
<view class="shopName">
<!-- 商铺名称 -->
<text>{{shopName}}</text>
<text>{{newList.name}}</text>
</view>
<view class="address">
<!-- 地址 -->
<text>{{address}}</text>
<text>{{location}}</text>
</view>
</view>
<!-- 分割线 -->
......@@ -25,39 +25,48 @@
<!-- 分割线下方 所在楼层 -->
<view class="locations">
<u-icon name="map"></u-icon>
<text>所在楼层:<text class="location">{{location}}</text></text>
<text>所在楼层:<text class="location">{{newList.position}}</text></text>
</view>
</view>
</view>
</view>
<view class="lowNav">
<!-- 底部样式 -->
<view class="minlow">
<text class="textModel">已有{{person}}人点赞</text>
</view>
<view class="dianzan">
<u-rate :count="1" active-icon="heart-fill" inactive-icon="heart" inactive-color="#ff0000" @change="dianzan"></u-rate>
<u-rate :count="1" active-icon="heart-fill" inactive-icon="heart" inactive-color="#ff0000"
@change="dianzan"></u-rate>
</view>
</view>
</view>
</template>
<script>
export default{
data(){
export default {
data() {
return {
img: 'http://192.144.239.97:20043/file/banner/20230605/6F749760FE1148369C4081EBD3248C6C.jpeg',
shopName:'龙江烧烤',
address:'天津复悦里',
location:'A2-107',
person:0,
flag: true
img: '',
shopName: '',
location: '天津复悦里',
position: '',
person: 0,
flag: true,
newList: []
}
},
methods:{
dianzan(){
this.person= this.flag ? this.person + 1 : this.person - 1;
onLoad(options) {
console.log('options',options.location)
this.newList = JSON.parse(decodeURIComponent(options.data))
console.log('newList', this.newList);
this.img = this.newList.img
this.location = options.location
},
methods: {
dianzan() {
this.person = this.flag ? this.person + 1 : this.person - 1;
this.flag = !this.flag;
}
}
......@@ -65,84 +74,84 @@
</script>
<style lang="scss" scoped>
.detail{
.detail {
background-color: #eeeeee;
min-height: 100vh;
//上半样式
.upModel{
padding: 25rpx 25rpx 0 ;
.upModel {
padding: 25rpx 25rpx 0;
//卡片
.card{
.card {
width: 100%;
height: 50vh;
background-color: #fff;
border-radius: 20px;
//View1
.View1{
.View1 {
height: 60%;
background-color: antiquewhite;
border-radius: 20px 20px 0 0;
}
//图片父级样式
.priture{
.priture {
width: 100%;
height: 60%;
// border-radius: 20px 20px 0 0;
}
//图片
.image{
.image {
width: 100%;
height: 100%;
border-radius: 20px 20px 0 0;
}
//图片底部区域
.lowArea{
.lowArea {
padding: 0 30rpx 0 30rpx;
height: 20vh;
//分割线上方
.up-line{
.up-line {
margin: 28rpx 0 28rpx 0;
//商铺名称
.shopName{
.shopName {
font-size: 40rpx;
}
//地址
.address{
.address {
margin-top: 14rpx;
font-size: 26rpx;
color: #787878;
}
}
//分割线下方 所造楼层
.locations{
.locations {
margin-top: 40rpx;
margin-bottom: auto;
display: flex;
font-size: 26rpx;
//楼层数
.location{
.location {
color: #787878;
}
}
}
}
}
//底部样式
.lowNav{
.lowNav {
background-color: #fff;
height: 120rpx;
width: 100%;
......@@ -150,19 +159,20 @@
z-index: 100;
bottom: 0;
position: fixed;
box-shadow: 0 20px 20px 16px rgba(0, 0, 0, 0.4); /* 添加阴影效果 */
box-shadow: 0 20px 20px 16px rgba(0, 0, 0, 0.4);
/* 添加阴影效果 */
//文字部分
.minlow{
.minlow {
font-size: 30rpx;
color: #787878;
margin-left: 30rpx;
margin-top: auto;
margin-bottom: auto;
}
//点赞
.dianzan{
.dianzan {
margin-left: 30rpx;
margin-top: auto;
margin-bottom: auto;
......
<template>
<view class="shop">
<view class="shop">
<!-- 搜索框 -->
<view class="u-search-box">
<view class="u-search-inner">
<u-icon name="search" color="#909399" :size="28"></u-icon>
<u-input class="u-search-text" :disabled="ture" type="text" height="50" @click="toSearch" placeholder="搜商品名称" />
<u-input style="width: 100%;" class="u-search-text" v-model="name" :disabled="ture" type="text" height="50" placeholder="搜商品名称" />
</view>
<view class="button">
<u-button size="mini" shape="circle" hover-class="none" @click="search">
<u-icon name="search"></u-icon>
</u-button>
</view>
</view>
<!-- 选择框 -->
<view class="container" style="border-radius: 12px;">
<u-tabs style="border-radius: 12px;" :list="list" active-color="#fa3534" :current="current" @change="change"></u-tabs>
<u-tabs style="border-radius: 12px;" :list="list" active-color="#fa3534" :current="current"
@change="change"></u-tabs>
</view>
<!-- 列表区 -->
<view class="gl-body">
<view class="list" v-for="(item,index) in newList" :key="index" >
<view class="list" v-for="(item,index) in newList" :key="index">
<!-- 图片 -->
<image :src="item.img" :mode=mode style="height: 50%;width: 80%;" @click="toDetail"></image>
<!-- 类别 -->
<view class="test1">{{item.category}}</view>
<!-- 地点 -->
<view class="test2">{{item.locations}}</view>
<image :src="item.img" :mode=mode style="height: 50%;width: 80%;" @click="toDetail(item)"></image>
<!-- 商铺 -->
<view class="test1">{{item.name}}</view>
<!-- 商圈 -->
<view class="test2">{{location}}</view>
<!-- 位置 -->
<view class="test1">{{item.position}}</view>
</view>
......@@ -28,140 +35,199 @@
</template>
<script>
export default{
data() {
return{
mode: 'aspectFill',
keyword:'',
current: 0,
newList: [
{
img: 'http://192.144.239.97:20043/file/banner/20230605/6F749760FE1148369C4081EBD3248C6C.jpeg',
category: '生活类',
locations: '天津复悦里',
position: 'A1-A区'
}
],
img: 'http://192.144.239.97:20043/file/banner/20230605/6F749760FE1148369C4081EBD3248C6C.jpeg',
list: [{
name: 'A1'
},
{
name: 'A2'
},
{
name: 'A3'
},
{
name: 'A4'
},
{
name: 'A5'
},
{
name: 'A6'
},
{
name: 'A7'
},
{
name: 'A8'
},
{
name: 'A9'
},
{
name: 'B1'
},
{
name: 'B2'
},
{
name: 'B3'
},
{
name: 'B4'
},]
}
},
onShow() {
this.getFloor()
},
methods: {
getFloor(){
this.$u.get('/shop/mobile/selectShopFloor').then(res => {
console.log('res',res)
})
},
toDetail(){
uni.navigateTo({
url:'/homePage/shop/detail/index'
})
},
toSearch(){
console.log('点击搜索框')
export default {
data() {
return {
tenantId: '',
floor: '',
name: '',
mode: 'aspectFill',
keyword: '',
current: 0,
location: '',
newList: [],
list: []
}
},
onShow() {
this.getFloor()
},
methods: {
getFloor() {
this.current = 0
let list = []
const that = this
let tenantId = ''
let floor = ''
// let location = ''
uni.getStorage({
key: 'business',
success: function(res) {
console.log('res', res);
that.$u.get('/shop/mobile/selectShopFloor?tenantId=' + res.data.id).then(lres => {
console.log('lres', lres);
tenantId = res.data.id
that.tenantId = res.data.id
that.location = res.data.name
that.floor = lres[0]
for (const index in lres) {
const item = lres[index]
let obj = {
name: item
}
list.push(obj)
}
console.log('list', list)
that.list = list
const baseApi = that.baseApi;
that.$u.get('/shop/mobile/selectShopList?tenantId=' + tenantId + '&floor=' + lres[0]).then(llres => {
console.log('llres', llres);
that.newList = llres
let list = llres;
for (const index in list) {
const item = list[index];
item.img = baseApi + '/file/getImgStream?idFile=' + item
.img
item.position = item.floor + '-' + item.floorNumber
item.name = item.name
}
that.newList = list
})
})
}
})
},
toDetail(item) {
const data = JSON.stringify(item)
uni.navigateTo({
url: '/homePage/shop/detail/index?location=' + this.location + '&data=' + encodeURIComponent(data)
})
},
// toSearch() {
// console.log('点击搜索框')
// const baseApi = this.baseApi;
// this.$u.get('/shop/mobile/selectShopList?tenantId=' + this.tenantId + '&floor=' + this.floor +"&name=" + this.name)
// .then(res => {
// console.log('res', res);
// let list = res;
// for (const index in list) {
// const item = list[index];
// item.img = baseApi + '/file/getImgStream?idFile=' + item.img
// item.position = item.floor + '-' + item.floorNumber
// item.name = item.name
// }
// this.newList = list
// })
// },
change(index) {
this.current = index;
console.log('tenantId', this.tenantId)
console.log('list', this.list[index])
const baseApi = this.baseApi;
this.$u.get('/shop/mobile/selectShopList?tenantId=' + this.tenantId + '&floor=' + this.list[index].name)
.then(res => {
console.log('res', res);
let list = res;
for (const index in list) {
const item = list[index];
item.img = baseApi + '/file/getImgStream?idFile=' + item.img
item.position = item.floor + '-' + item.floorNumber
item.name = item.name
}
this.newList = list
})
},
search() {
console.log('点击搜索')
const baseApi = this.baseApi;
this.$u.get('/shop/mobile/selectShopList?tenantId=' + this.tenantId + '&floor=' + this.floor +"&name=" + this.name)
.then(res => {
console.log('res', res);
let list = res;
for (const index in list) {
const item = list[index];
item.img = baseApi + '/file/getImgStream?idFile=' + item.img
item.position = item.floor + '-' + item.floorNumber
item.name = item.name
}
this.newList = list
})
}
}
}
}
}
</script>
<style lang="scss" scoped>
.shop{
background-color: #eeeeee;
min-height: 100vh;
.u-search-box {
padding: 10rpx 30rpx;
.u-search-inner {
background-color: rgb(234, 234, 234);
border-radius: 100rpx;
display: flex;
align-items: center;
padding: 10rpx 16rpx;
}
.u-search-text {
font-size: 24rpx;
color: $u-tips-color;
margin-left: 10rpx;
}
}
.container{
margin-left: 4%;
width: 92%;
height: 6vh;
border-radius: 12px 12px 12px 12px;
background-color: #fff;
}
.gl-body {
display: grid;
grid-template-columns: auto auto;
grid-column-gap: 40rpx;
margin: 30rpx;
.list{
margin-bottom: 30rpx;
.shop {
background-color: #eeeeee;
min-height: 100vh;
.u-search-box {
width: 100%;
height: 20vh;
.test1{
margin-top: 10rpx;
font-size: 28rpx;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: chocolate;
padding: 10rpx 30rpx;
display: flex;
.u-search-inner {
width: 100%;
background-color: rgb(234, 234, 234);
border-radius: 100rpx;
display: flex;
align-items: center;
padding: 10rpx 16rpx;
}
.test2{
margin-top: 10rpx;
font-size: 36rpx;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 700;
.button{
background-color: rgb(234, 234, 234);
border-radius: 100rpx;
display: flex;
align-items: center;
padding: 10rpx 16rpx;
margin-left: 20rpx;
}
.u-search-text {
font-size: 24rpx;
color: $u-tips-color;
margin-left: 10rpx;
}
}
.container {
margin-left: 4%;
width: 92%;
height: 6vh;
border-radius: 12px 12px 12px 12px;
background-color: #fff;
}
}
.gl-body {
display: grid;
grid-template-columns: auto auto;
grid-column-gap: 40rpx;
margin: 30rpx;
.list {
margin-bottom: 30rpx;
width: 100%;
height: 20vh;
.test1 {
margin-top: 10rpx;
font-size: 28rpx;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: chocolate;
}
.test2 {
margin-top: 10rpx;
font-size: 36rpx;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 700;
}
}
}
}
</style>
\ No newline at end of file
......@@ -6,35 +6,45 @@
<view class="formArea">
<u-form :model="form" ref="uForm" label-position="top">
<u-form-item label="姓名" >
<u-input v-model="form.nickName" />
<u-input v-model="form.name" />
</u-form-item>
<u-form-item label="性别" >
<u-input v-model="sex" :type="type" :border="border" @click="show = true" />
<u-select v-model="show" :list="list" @confirm="confirmSex"></u-select>
<u-input v-model="form.sex" :type="type" :border="border" @click="show = true" />
<u-select v-model="show" :list="list"></u-select>
</u-form-item>
<u-form-item label="生日" >
<u-input v-model="form.birthday" :type="type" :border="border" @click="birthshow = true" />
<u-picker mode="time" v-model="birthshow" :params="params" @confirm="confirmbirthday"></u-picker>
<u-picker mode="time" v-model="birthshow" :params="params"></u-picker>
</u-form-item>
<u-form-item label="您常驻地址" >
<u-input v-model="form.address" />
<u-form-item label="您的偏好" >
<u-checkbox-group @change="checkboxGroupChange" :wrap="true">
<u-checkbox
@change="checkboxChange"
v-model="form.preference"
v-for="(item, index) in preferenceList" :key="index"
:name="item.name"
>{{item.name}}</u-checkbox>
</u-checkbox-group>
</u-form-item>
<u-form-item label="您常驻地址(选填)" >
<u-input v-model="form.residentAddress" />
</u-form-item>
<u-form-item label="职业" >
<u-checkbox-group @change="checkboxGroupChange" :wrap="true">
<u-checkbox
@change="checkboxChange"
v-model="item.checked"
v-model="form.occupation"
v-for="(item, index) in occupationList" :key="index"
:name="item.name"
>{{item.name}}</u-checkbox>
</u-checkbox-group>
</u-form-item>
<u-form-item label="婚姻" >
<u-input v-model="marriage" :type="type" :border="border" @click="matrimonyshow = true" />
<u-select v-model="matrimonyshow" :list="matrimonyList" @confirm="confirmarriage"></u-select>
<u-form-item label="婚姻(选填)" >
<u-input v-model="form.matrimony" :type="type" :border="border" @click="matrimonyshow = true" />
<u-select v-model="matrimonyshow" :list="matrimonyList"></u-select>
</u-form-item>
<u-form-item label="身份证" >
<u-input v-model="form.idNumber" />
<u-form-item label="身份证(选填)" >
<u-input v-model="form.Identification" />
</u-form-item>
</u-form>
<view class="loginout">
......@@ -49,34 +59,176 @@
export default {
data(){
return{
marriage: '',
sex: '',
marriageVule: '',
matrimonyshow: false,
occupationList: [
{
id:1,
name: '视觉设计',
checked: false,
disabled: false
},
{
id:2,
name: '时尚造型',
checked: false,
disabled: false
},
{
id:3,
name: '影视传媒',
checked: false,
disabled: false
},
{
id:4,
name: '自媒体人',
checked: false,
disabled: false
},
{
name: '音乐工作者',
checked: false,
disabled: false
},
{
name: '文学工作者',
checked: false,
disabled: false
},
{
name: '艺术工作者',
checked: false,
disabled: false
},
{
name: '手作人',
checked: false,
disabled: false
},
{
name: 'Freelancer',
checked: false,
disabled: false
},
{
name: 'IF工作者',
checked: false,
disabled: false
},
{
name: '金融工作者',
checked: false,
disabled: false
},
{
name: '教育工作者',
checked: false,
disabled: false
},
{
name: '医疗健康人员',
checked: false,
disabled: false
},
{
name: '法律从业者',
checked: false,
disabled: false
},
{
name: '地产/建筑从事者',
checked: false,
disabled: false
},
{
name: '体育工作者',
checked: false,
disabled: false
},
{
name: '旅游业',
checked: false,
disabled: false
},
{
name: '高层管理者',
checked: false,
disabled: false
},
{
name: '运营生活服务行业',
checked: false,
disabled: false
},
{
name: '灵性职业',
checked: false,
disabled: false
},
{
name: '其他职业',
checked: false,
disabled: false
}
],
preferenceList:[
{
name: '精致女性',
checked: false,
disabled: false
},
{
name: '精致男性',
checked: false,
disabled: false
},
{
name: '本草纲目女孩',
checked: false,
disabled: false
},
{
name: '女性力量',
checked: false,
disabled: false
},
{
name: '爱宠一族',
checked: false,
disabled: false
},
{
name: '潮流时髦精',
checked: false,
disabled: false
},
{
name: '职业奋斗精',
checked: false,
disabled: false
},
{
name: '隐形富豪',
checked: false,
disabled: false
},
{
name: '当代想青年',
checked: false,
disabled: false
},
{
name: '美食饕客',
checked: false,
disabled: false
},
{
name: '电竞达人',
checked: false,
disabled: false
},
{
name: '亲子教育专家',
checked: false,
disabled: false
}
],
birthshow: false,
......@@ -93,13 +245,13 @@
border: false,
list:[
{
value: 'male',
value: '0',
label: '男'
}
,
{
value: 'female',
value: '1',
label: '女'
}
],
......@@ -127,127 +279,20 @@
}
}
},
onShow(){
this.getOccupationList()
setTimeout(() => {
this.getPeopleInfo()
},1000)
},
methods:{
getOccupationList(){
const dictName = 'occupation'
this.$u.get('/moblie/dict/getDicts/'+ dictName).then(res=>{
let List = res
for(const index in List) {
const item = List[index]
item.checked = false
item.disabled = false
}
console.log('list',List)
this.occupationList = List
})
},
confirmbirthday(e){
console.log('e',e)
this.form.birthday = e.year+'-'+e.month+ '-' + e.day
},
loginout(){
console.log('form',this.form)
let jobList =[]
this.occupationList.forEach(item => {
if(item.checked) {
jobList.push(item.id)
}
})
console.log('jobList',jobList)
let jobs = ''
if(jobList.length>0) {
jobs = jobList.join(',')
} else {
jobs = ''
}
this.$u.post('/user/update',{
id: this.form.id,
nickName: this.form.nickName,
gender:this.form.gender,
birthdayString: this.form.birthday,
address: this.form.address,
marriage: this.marriageVule,
idNumber: this.form.idNumber,
jobs: jobs
}).then(res => {
console.log('res',res)
uni.showToast({
title: '完善个人信息成功',
icon: 'success'
})
uni.navigateTo({
url: '/pages/user/profile'
})
})
},
confirmSex(e){
console.log('ee',e)
this.sex = e[0].label
this.form.gender = e[0].value
},
getPeopleInfo(){
this.$u.get('user/getInfo').then(res => {
console.log('个人信息',res)
if(res.gender === "male") {
this.sex = '男'
} else if(res.gender === "female"){
this.sex = '女'
}
if(res.jobs !== null) {
let JobList = []
JobList = res.jobs.split(",")
this.occupationList.forEach(item => {
JobList.forEach(Litem => {
if(item.id.toString() === Litem) {
item.checked = true
}
})
})
}
if(res.marriage !== null) {
if(res.marriage === '0') {
this.marriage = '未婚'
} else {
this.marriage = '已婚'
}
}
if(res.birthday !== null) {
res.birthday = res.birthday.slice(0,10)
}
this.form = res
})
},
confirm(e){
console.log('eeeee',e)
},
confirmarriage(e){
console.log('e',e)
this.marriage = e[0].label
this.marriageVule = e[0].value
},
// 选中某个复选框时,由checkbox时触发
checkboxChange(e) {
console.log(e);
// this.occupationList.forEach(item => {
// if(item.name === e.name) {
// item.checked = true
// } else {
// item.checked = false
// }
// })
//console.log(e);
},
// 选中任一checkbox时,由checkbox-group触发
checkboxGroupChange(e) {
// console.log(e);
},
loginout(){
}
}
}
......@@ -260,7 +305,7 @@
/deep/ .u-input{
width: 98%;
}
.content{
.content{
margin-left: 3%;
width: 94%;
background-color: #fff;
......
......@@ -22,6 +22,11 @@
"navigationBarTitleText": "活动"
}
}, {
"path": "pages/activity/activitydetail",
"style": {
"navigationBarTitleText": "活动详情"
}
},{
"path": "pages/shop/search",
"style": {
"navigationStyle": "custom", // 隐藏系统导航栏
......@@ -186,6 +191,15 @@
}
}
// ,{
// "path" : "pages/activity/activitydetail/activitydetail",
// "style" :
// {
// "navigationBarTitleText": "",
// "enablePullDownRefresh": false
// }
// }
],
"subPackages": [
{
......
<template>
<view>
<!-- 页面标题 -->
<view>
<view class="page-title" v-if="activitydetail.name">{{activitydetail.name}}</view>
<view class="page-title" v-else>---</view>
<u-line color="#b7b7b7" length="100%" hair-line="true"/>
</view>
<!-- 动态显示时间功能 -->
<view class="time-container">
<view class="timetext" v-if="activitydetail.activityBeginDate">{{activitydetail.activityBeginDate}}</view>
<view class="timetext" v-else>---</view>
</view>
<!-- 页面内容 -->
<view class="content">
<view v-if="activitydetail.activityDetails" v-html="activitydetail.activityDetails"></view>
<!-- 内容区域 -->
</view>
<!-- 底部固定按钮 -->
<view class="fixed-layer">
<view class="button-container">
<u-button class="bottom-button" shape="circle">
报名
</u-button>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
id:'',
activitydetail:'',
nmae:'',
activityBeginDate:'',
activityDetails:''
};
},
onLoad(options) {
console.log('options',options)
// if (options != null) {
// this.id = options.id
// }
// console.log("传参的id", this.id)
this.activitydetail=JSON.parse(decodeURIComponent(options.id))
this.activitydetail.activityDetails = this.activitydetail.activityDetails.replace('dev-api',
'https://qf.91isoft.com/cshop')
console.log("this.activitydetail", this.activitydetail)
this.activitydetail.activityDetails = this.activitydetail.activityDetails.replace(/\<img/gi,
'<img style="max-width:100%;height:auto;border-radius: 12px 12px 12px 12px;" ')
},
methods: {
},
}
</script>
<style lang="scss" scoped>
/deep/ .u-btn--default{
background-color: #fd0000 !important;
}
/deep/ .u-btn--default{
color:white !important;
}
.page-title {
margin: 10rpx 20rpx;
font-size:20px;
}
.time-container {
display: flex;
justify-content: flex-start;
padding: 20rpx;
}
.time {
font-size: 30px;
color: #555;
}
.content {
font-size: 18px;
margin: 10rpx 20rpx;
/* 内容样式 */
}
.fixed-layer {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background-color: white;
}
.button-container {
display: flex;
justify-content: center;
margin-bottom: 30rpx;
}
.bottom-button {
width: 80%;
color: white;
}
</style>
\ No newline at end of file
......@@ -15,26 +15,27 @@
<view :class="[buttonstatus==3? 'clickbutton' : 'onemonth']" @click="queryOnemonth">近一个月</view>
</view>
</view>
<view class="activity-list" v-for="item in 5" @click="gotodetail(item)">
<view class="activity-list" v-for="item in activityList" @click="gotodetail(item)">
<view class="leftlist">
<!-- <image :src="baseURL+item.imgUrl" class="leftlistimage"> -->
<image src="../../static/img/logo.jpg" class="leftlistimage">
<image :src="item.img" class="leftlistimage"></image>
<!-- <image src="../../static/img/logo.jpg" class="leftlistimage"/> -->
</view>
<view class="rightlist">
<view class="rightlist-title">活动名称</view>
<view class="rightlist-title">{{item.name}}</view>
<!-- <view class="rightlist-message">活动内容活动内容活动内容活动内容活动内容活动内容</view> -->
<view class="rightlist-time">
<view class="timeicon">
<u-icon name="clock" color="#666666;" size="28"></u-icon>
</view>
<view class="timetext">2023-06-30</view>
<view class="timetext" v-if="item.createTime">{{item.createTime}}</view>
<view class="timetext" v-else>-</view>
</view>
<view class="rightlist-address">
<view class="addressicon">
<u-icon name="map" color="#D84848;" size="28"></u-icon>
</view>
<view class="addresstext" >天津市</view>
<!-- <view class="addresstext" v-else>-</view> -->
<view class="addresstext" v-if="item.address">{{item.address}}</view>
<view class="addresstext" v-else>-</view>
</view>
</view>
</view>
......@@ -48,7 +49,7 @@
// } from "../api.js"
// import {
// activitylist
// } from "../../api/activity/index.js"
// } from "activity/index.js"
export default {
data() {
return {
......@@ -62,34 +63,51 @@
activityList: [], // 活动列表
queryParams: {
orderBy: 0,
status: 1
status: 1,
name: ''
},
buttonstatus: 1
buttonstatus: 1,
businessMessage: {}
}
},
onLoad() {
this.GetStatusBarHeight()
// this.GetStatusBarHeight()
this.getList()
},
onShow() {
this.getBanner()
this.getList()
// this.getBanner()
},
methods: {
// 获取自定义导航栏的高度
GetStatusBarHeight() {
let that = this;
wx.getSystemInfo({
success: function(res) {
that.StatusBarHeight = res.statusBarHeight + 58; //这就是状态栏的高度
console.log("that.StatusBarHeight", that.StatusBarHeight)
},
});
// GetStatusBarHeight() {
// let that = this;
// wx.getSystemInfo({
// success: function(res) {
// that.StatusBarHeight = res.statusBarHeight + 58; //这就是状态栏的高度
// console.log("that.StatusBarHeight", that.StatusBarHeight)
// },
// });
// },
getActivityList() {
const baseApi = this.baseApi;
this.$u.get('activity/list?tenantId='+this.businessMessage.id + '&orderBy='+this.queryParams.orderBy+'&name='+this.queryParams.name).then(res=>{
console.log("aaa",res)
this.activityList = res.records
let list = res.records;
for (const index in list) {
const item = list[index]
item.img = baseApi + '/file/getImgStream?idFile=' + item.img
}
})
},
// 跳转详情页
gotodetail(val) {
const type = 0
const data = JSON.stringify(val)
uni.navigateTo({
url: '/pages/activity/activitydetail' + '?id=' + val.businessId + '&type=' + type
url: '/pages/activity/activitydetail' + '?id=' + encodeURIComponent(data) + '&type=' + type
})
},
// 获取Banner图数据
......@@ -105,28 +123,37 @@
// },
// 获取活动列表
getList() {
activitylist(this.queryParams).then(response => {
console.log('活动列表', response)
this.activityList = response.rows
const that = this
uni.getStorage({
key:'business',
success:function(res){
that.businessMessage = res.data
console.log("商圈数据",that.businessMessage)
that.getActivityList()
}
})
// activitylist(this.queryParams).then(response => {
// console.log('活动列表', response)
// this.activityList = response.rows
// })
},
// 查询全部活动
queryAll() {
this.buttonstatus = 1
this.queryParams.orderBy = 0
this.getList()
this.getActivityList()
},
// 查询最新活动
queryNew() {
this.buttonstatus = 2
this.queryParams.orderBy = 1
this.getList()
this.getActivityList()
},
// 查询进一个月活动
queryOnemonth() {
this.buttonstatus = 3
this.queryParams.orderBy = 2
this.getList()
this.getActivityList()
}
}
}
......@@ -149,7 +176,7 @@
margin-top: 54rpx;
.select-title {
font-size: 19px;
font-size: 38rpx;
font-family: Source Han Sans CN-Bold, Source Han Sans CN;
font-weight: bold;
color: #4F71CA;
......@@ -160,16 +187,16 @@
// height: 28px;
padding: 16rpx 34rpx;
background: #D84848;
border-radius: 14px 14px 14px 14px;
border-radius: 28rpx 28rpx 28rpx 28rpx;
display: flex;
margin-left: 22rpx;
justify-content: center;
align-items: center;
font-size: 13px;
font-size: 26rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #fff;
line-height: 13px;
line-height: 26rpx;
}
.select-button {
......@@ -186,11 +213,11 @@
display: flex;
justify-content: center;
align-items: center;
font-size: 13px;
font-size: 26rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #222222;
line-height: 13px;
line-height: 26rpx;
}
.nearbutton {
......@@ -201,11 +228,11 @@
display: flex;
justify-content: center;
align-items: center;
font-size: 13px;
font-size: 26rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #222222;
line-height: 13px;
line-height: 26rpx;
}
.onemonth {
......@@ -216,11 +243,11 @@
display: flex;
justify-content: center;
align-items: center;
font-size: 13px;
font-size: 26rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #222222;
line-height: 13px;
line-height: 26rpx;
}
}
}
......@@ -229,7 +256,7 @@
display: flex;
margin: 30rpx 34rpx 0 42rpx;
align-items: center;
border-bottom: 1px solid #F1F1F1;
border-bottom: 2rpx solid #F1F1F1;
.leftlist {
margin-right: 26rpx;
......@@ -243,7 +270,7 @@
.rightlist {
.rightlist-title {
font-size: 16px;
font-size: 32rpx;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: #222222;
......@@ -251,7 +278,7 @@
}
.rightlist-message {
font-size: 14px;
font-size: 28rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #666666;
......@@ -272,7 +299,7 @@
}
.timetext {
font-size: 14px;
font-size: 28rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #666666;
......@@ -290,7 +317,7 @@
}
.addresstext {
font-size: 14px;
font-size: 28rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #DF6969;
......@@ -305,7 +332,7 @@
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
font-size: 26rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #B9B9B9;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment