活动 月子

master
lion 3 years ago
parent 2d5967e93f
commit 98aea6c3c4

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

104
node_modules/uview-ui/package.json generated vendored

@ -1,39 +1,69 @@
{
"name": "uview-ui",
"version": "1.8.6",
"description": "uView UI是uni-app生态优秀的UI框架全面的组件和便捷的工具会让您信手拈来如鱼得水",
"main": "index.js",
"keywords": [
"uview",
"uView",
"uni-app",
"uni-app ui",
"uniapp",
"uviewui",
"uview ui",
"uviewUI",
"uViewui",
"uViewUI",
"uView UI",
"uni ui",
"uni UI",
"uniapp ui",
"ui",
"UI框架",
"uniapp ui框架",
"uniapp UI"
],
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": ""
},
"devDependencies": {
"node-sass": "^4.14.0",
"sass-loader": "^8.0.2"
},
"author": "uView",
"license": "MIT"
"_args": [
[
"uview-ui@1.8.6",
"/Users/mac/Documents/朗业/2022/y-孕育邦/yunyubang-miniprogram"
]
],
"_from": "uview-ui@1.8.6",
"_id": "uview-ui@1.8.6",
"_inBundle": false,
"_integrity": "sha512-R93WU6htCP2Fpw668ABpF7Y8UqIx66pUKGAwBYLDkbnIldyKWkjtfJzqjFm22tF41ty6FVB+82L+gIL775c5LQ==",
"_location": "/uview-ui",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
"raw": "uview-ui@1.8.6",
"name": "uview-ui",
"escapedName": "uview-ui",
"rawSpec": "1.8.6",
"saveSpec": null,
"fetchSpec": "1.8.6"
},
"_requiredBy": [
"/"
],
"_resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-1.8.6.tgz",
"_spec": "1.8.6",
"_where": "/Users/mac/Documents/朗业/2022/y-孕育邦/yunyubang-miniprogram",
"author": {
"name": "uView"
},
"description": "uView UI是uni-app生态优秀的UI框架全面的组件和便捷的工具会让您信手拈来如鱼得水",
"devDependencies": {
"node-sass": "^4.14.0",
"sass-loader": "^8.0.2"
},
"keywords": [
"uview",
"uView",
"uni-app",
"uni-app ui",
"uniapp",
"uviewui",
"uview ui",
"uviewUI",
"uViewui",
"uViewUI",
"uView UI",
"uni ui",
"uni UI",
"uniapp ui",
"ui",
"UI框架",
"uniapp ui框架",
"uniapp UI"
],
"license": "MIT",
"main": "index.js",
"name": "uview-ui",
"repository": {
"type": "git",
"url": ""
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"version": "1.8.6"
}

259
package-lock.json generated

@ -1,270 +1,13 @@
{
"name": "下拉多选、单选",
"version": "1.0.5",
"lockfileVersion": 2,
"lockfileVersion": 1,
"requires": true,
"packages": {
"": {
"name": "下拉多选、单选",
"version": "1.0.5",
"dependencies": {
"uview": "^0.1.0",
"uview-ui": "^1.8.4"
}
},
"node_modules/@babel/parser": {
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.10.tgz",
"integrity": "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==",
"peer": true,
"bin": {
"parser": "bin/babel-parser.js"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@vue/compiler-sfc": {
"version": "2.7.8",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.8.tgz",
"integrity": "sha512-2DK4YWKfgLnW9VDR9gnju1gcYRk3flKj8UNsms7fsRmFcg35slVTZEkqwBtX+wJBXaamFfn6NxSsZh3h12Ix/Q==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.18.4",
"postcss": "^8.4.14",
"source-map": "^0.6.1"
}
},
"node_modules/async-validator": {
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.12.2.tgz",
"integrity": "sha512-57EETfCPFiB7M4QscvQzWSGNsmtkjjzZv318SK1CBlstk+hycV72ocjriMOOM48HjvmoAoJGpJNjC7Z76RlnZA=="
},
"node_modules/core-js": {
"version": "2.6.12",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
"deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
"hasInstallScript": true
},
"node_modules/csstype": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz",
"integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==",
"peer": true
},
"node_modules/deepmerge": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz",
"integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/nanoid": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
"peer": true,
"bin": {
"nanoid": "bin/nanoid.cjs"
},
"engines": {
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"peer": true
},
"node_modules/popper.js": {
"version": "0.6.4",
"resolved": "https://registry.npmjs.org/popper.js/-/popper.js-0.6.4.tgz",
"integrity": "sha512-KGPaJaw9822VnignV8HuPdVv0C66d3iC5YbdPaty/57LPmBqmbZX39n2gqN/bDeOtGHzsOA2AA9f9DH2Y0z6AQ==",
"deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1"
},
"node_modules/postcss": {
"version": "8.4.14",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
"integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
}
],
"peer": true,
"dependencies": {
"nanoid": "^3.3.4",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/uview": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/uview/-/uview-0.1.0.tgz",
"integrity": "sha512-zvumg1++gN+GpeHVlQAIfMzfFUigKJXma7tgHOcfYgkBp89t6U1j3pgqp9xG9PLz+AmIth9PYk4w36PQ3XVBnA==",
"dependencies": {
"async-validator": "^1.7.1",
"core-js": "^2.4.1",
"deepmerge": "^1.5.0",
"popper.js": "^0.6.4"
},
"engines": {
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
},
"peerDependencies": {
"vue": "^2.4.1"
}
},
"node_modules/uview-ui": {
"version": "1.8.6",
"resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-1.8.6.tgz",
"integrity": "sha512-R93WU6htCP2Fpw668ABpF7Y8UqIx66pUKGAwBYLDkbnIldyKWkjtfJzqjFm22tF41ty6FVB+82L+gIL775c5LQ=="
},
"node_modules/vue": {
"version": "2.7.8",
"resolved": "https://registry.npmjs.org/vue/-/vue-2.7.8.tgz",
"integrity": "sha512-ncwlZx5qOcn754bCu5/tS/IWPhXHopfit79cx+uIlLMyt3vCMGcXai5yCG5y+I6cDmEj4ukRYyZail9FTQh7lQ==",
"peer": true,
"dependencies": {
"@vue/compiler-sfc": "2.7.8",
"csstype": "^3.1.0"
}
}
},
"dependencies": {
"@babel/parser": {
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.10.tgz",
"integrity": "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==",
"peer": true
},
"@vue/compiler-sfc": {
"version": "2.7.8",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.8.tgz",
"integrity": "sha512-2DK4YWKfgLnW9VDR9gnju1gcYRk3flKj8UNsms7fsRmFcg35slVTZEkqwBtX+wJBXaamFfn6NxSsZh3h12Ix/Q==",
"peer": true,
"requires": {
"@babel/parser": "^7.18.4",
"postcss": "^8.4.14",
"source-map": "^0.6.1"
}
},
"async-validator": {
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.12.2.tgz",
"integrity": "sha512-57EETfCPFiB7M4QscvQzWSGNsmtkjjzZv318SK1CBlstk+hycV72ocjriMOOM48HjvmoAoJGpJNjC7Z76RlnZA=="
},
"core-js": {
"version": "2.6.12",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
},
"csstype": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz",
"integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==",
"peer": true
},
"deepmerge": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz",
"integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ=="
},
"nanoid": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
"peer": true
},
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"peer": true
},
"popper.js": {
"version": "0.6.4",
"resolved": "https://registry.npmjs.org/popper.js/-/popper.js-0.6.4.tgz",
"integrity": "sha512-KGPaJaw9822VnignV8HuPdVv0C66d3iC5YbdPaty/57LPmBqmbZX39n2gqN/bDeOtGHzsOA2AA9f9DH2Y0z6AQ=="
},
"postcss": {
"version": "8.4.14",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
"integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
"peer": true,
"requires": {
"nanoid": "^3.3.4",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"peer": true
},
"source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"peer": true
},
"uview": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/uview/-/uview-0.1.0.tgz",
"integrity": "sha512-zvumg1++gN+GpeHVlQAIfMzfFUigKJXma7tgHOcfYgkBp89t6U1j3pgqp9xG9PLz+AmIth9PYk4w36PQ3XVBnA==",
"requires": {
"async-validator": "^1.7.1",
"core-js": "^2.4.1",
"deepmerge": "^1.5.0",
"popper.js": "^0.6.4"
}
},
"uview-ui": {
"version": "1.8.6",
"resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-1.8.6.tgz",
"integrity": "sha512-R93WU6htCP2Fpw668ABpF7Y8UqIx66pUKGAwBYLDkbnIldyKWkjtfJzqjFm22tF41ty6FVB+82L+gIL775c5LQ=="
},
"vue": {
"version": "2.7.8",
"resolved": "https://registry.npmjs.org/vue/-/vue-2.7.8.tgz",
"integrity": "sha512-ncwlZx5qOcn754bCu5/tS/IWPhXHopfit79cx+uIlLMyt3vCMGcXai5yCG5y+I6cDmEj4ukRYyZail9FTQh7lQ==",
"peer": true,
"requires": {
"@vue/compiler-sfc": "2.7.8",
"csstype": "^3.1.0"
}
}
}
}

@ -1,6 +1,11 @@
<template>
<view class="content">
<!-- <image class="careBanner" src="../../static/banner.png"></image> -->
<view class="content">
<!-- <carehome></carehome> -->
<!-- <view>
<image class="careBanner" src="../../static/carecenter.png"></image>
<image class="careBanner" src="../../static/commoncenter.png"></image>
</view> -->
<view class="strategyBox">
<view class="strate">
<view class="strTit flex_between">
@ -126,8 +131,12 @@
} from '@/utils/weixin.js'
import {
data
} from 'uview-ui/libs/mixin/mixin';
export default {
} from 'uview-ui/libs/mixin/mixin';
// import carehome from '../home/home.vue'
export default {
// components:{
// carehome
// },
data() {
return {
parameter: {
@ -409,9 +418,9 @@
}
.careBanner {
display: block;
width: 690rpx;
height: 220rpx;
display: inline-block;
width: 357rpx;
height: 182rpx;
margin: 20rpx auto;
}

@ -1,5 +1,6 @@
<template>
<view class="content">
<view class="content">
<!-- <carehome></carehome> -->
<!-- <image class="careBanner" src="../../static/banner.png"></image> -->
<view class="strategyBox">
<view class="strate">
@ -126,8 +127,12 @@
} from '@/utils/weixin.js'
import {
data
} from 'uview-ui/libs/mixin/mixin';
export default {
} from 'uview-ui/libs/mixin/mixin';
// import carehome from '../home/home.vue'
export default {
// components:{
// carehome
// },
data() {
return {
paraType: {

@ -1,28 +1,202 @@
<template>
<view>
<view @click="goto(1)"></view>
<view @click="goto(2)"></view>
<view class="content">
<!-- <view @click="goto(1)"></view>
<view @click="goto(2)"></view> -->
<view>
<image @click="goto(1)" class="careBanner" src="../../static/carecenter.png"></image>
<image @click="goto(2)" class="careBanner" src="../../static/commoncenter.png"></image>
</view>
<view class="strategyBox">
<view class="strate">
<view class="strTit flex_between">
<view class="strL flex_start">
<image src="../../static/icon_gonglve.png"></image><text>月子攻略</text>
</view>
<!-- <view class="more" @click="toStrategyCenter"></view> -->
</view>
<view class="strCol flex_start" v-for="(item,index) in strategies" :key="item.id"
@click="toStrategyDetail(item.id)">
<view class="strPic">
<image mode="aspectFill" :src="item.cover_picture || '../../static/banner.png'"></image>
</view>
<view class="strInfo">
<view class="h3">{{item.title}}</view>
<view class="p" v-if="item.subheading">
{{item.subheading}}
</view>
</view>
</view>
</view>
</view>
<view class="bottom-btn">
<view class="bottom-btn-boder">
<u-image src="/packages/packageCarecenter/static/msg.png" width="39" height="39"></u-image>
<u-button :custom-style="btnStyle" :hair-line="false" hover-class="none" open-type="contact">询问客服
</u-button>
</view>
</view>
</view>
</template>
<script>
import {
weixin
} from '@/utils/weixin.js'
export default {
data() {
return {
btnStyle: {
border: 'none',
background: 'transparent',
color: '#fff',
width: '136rpx',
height: '48rpx',
fontSize: '34rpx',
fontWeight: 400,
marginLeft: '20rpx'
},
strategies: [], //
}
},
mounted(){
this.getStrategy();
},
methods: {
goto(type){
let url = type==1?"/packages/packageCarecenter/pages/careCenter/careCenter":"/packages/packageCarecenter/pages/commonService/commonCenter?type=maternity";
uni.redirectTo({
url:url
})
}
},
getStrategy() {
weixin.request({
newUrl: true,
api: '/api/member/get-strategy',
data: {
page: 1,
page_size: 5,
call_logo: "confinement"
},
utilSuccess: res => {
this.strategies = res.rows
console.log(this.strategies);
}
})
},
}
}
</script>
<style>
<style scoped lang="scss">
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.careBanner {
display: inline-block;
width: 357rpx;
height: 182rpx;
margin: 20rpx auto;
}
.strategyBox {
width: 710rpx;
padding-bottom: 16rpx;
background-image: linear-gradient(180deg, #FFE4EC 0%, #FFFFFF 24%);
border: 4rpx solid #FFFFFF;
box-shadow: 0 0 20rpx 0 rgba(0, 0, 0, 0.03);
border-radius: 16rpx;
.strTit {
padding: 30rpx 25rpx 15rpx 25rpx;
.strL {
font-size: 34rpx;
color: #333333;
letter-spacing: 1rpx;
font-weight: 500;
image {
display: block;
width: 30rpx;
height: 34rpx;
margin-right: 10rpx;
}
}
.more {
font-size: 28rpx;
color: #333333;
font-weight: 400;
}
}
.strCol {
padding: 16rpx 25rpx;
.strPic {
width: 140rpx;
height: 140rpx;
border-radius: 10rpx;
image {
display: block;
width: 140rpx;
height: 140rpx;
border-radius: 10rpx;
}
}
.strInfo {
flex: 1;
padding-left: 30rpx;
.h3 {
font-size: 30rpx;
color: #333333;
font-weight: 500;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
width: 460rpx;
}
.p {
margin-top: 10rpx;
font-size: 24rpx;
color: #999999;
font-weight: 400;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
width: 460rpx;
}
}
}
}
.bottom-btn {
height: 136rpx;
background: #fff;
border-top: 1rpx solid rgba(180, 180, 180, 0.6);
display: flex;
align-items: center;
justify-content: center;
position: fixed;
bottom: 0;
left: 0;
right: 0;
&-boder {
width: 480rpx;
height: 89rpx;
border-radius: 45rpx;
background: #FF578A;
display: flex;
align-items: center;
justify-content: center;
}
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@ -33,11 +33,11 @@
<image mode="aspectFill" :src="item.active_playbill"></image>
<view class="date">{{item.end_at}}</view>
</view>
<view class="title">{{item.name}}</view>
<view class="title">{{item.active_name}}</view>
<view class="subTit">{{item.address}}</view>
<view class="price">
<text class="font_red">{{ Number(item.money) > 0 ? `${item.money}` : '免费' }}</text>
{{item.member_sum}}人参与
{{`${item.total+item.start_member_sum}人参与`}}
</view>
</view>
</view>
@ -56,11 +56,11 @@
<view class="intro_column" v-for="item in activityList" :key="item.id" @tap="gotoDetail(item.id)">
<view class="imgOuter"><image mode="aspectFill" :src="item.active_playbill"></image><view class="i_intro">推荐</view></view>
<view class="columnInfo">
<view class="title">{{item.name}}</view>
<view class="title">{{item.active_name}}</view>
<view class="tags">
<text v-for="(sub, subIdx) in item.label" :key="subIdx">{{sub}}</text>
<text v-for="(sub, subIdx) in item.active_tag" :key="subIdx">{{sub}}</text>
</view>
<view class="subInfo">{{item.end_at}}</view>
<view class="subInfo">{{item.start_date}}{{item.end_date}}</view>
<view class="subInfo">{{item.address}}</view>
<view class="price">
<text class="font_red" v-if="Number(item.money) > 0">{{item.money}}</text>

@ -49,6 +49,30 @@
</view>
</view>
</view>
<view class="activeinfo">
<view class="active">
<u-row gutter="16">
<u-col span="3">
<view>活动时间</view>
</u-col>
<u-col span="12" v-if="info.start_date">
<view>{{info.start_date}} {{info.start_time}} ~ {{info.end_date}} {{info.end_time}}</view>
</u-col>
<u-col span="3">
活动地点:
</u-col>
<u-col span="9" v-if="info.address">
{{info.address}}
</u-col>
<u-col span="3">
参与人数:
</u-col>
<u-col span="9" v-if="info.member_sum">
{{info.member_sum}}
</u-col>
</u-row>
</view>
</view>
<view class="details">
<view class="detail">
<view class="tit" v-if="false"></view>
@ -84,7 +108,7 @@
</view>
</view>
<view class="subInfo">{{item.start_date}} ~ {{item.end_date}}</view>
<view class="menu"><text class="hui"></text>{{item.great_services}}</view>
<view class="menu"><text class="hui"></text>{{item.great_services?item.great_services:""}}</view>
</view>
</view>
</block>
@ -1337,7 +1361,17 @@
border-bottom: 0;
}
}
.activeinfo{
margin-top: 10rpx;
padding: 30rpx 30rpx 30rpx 30rpx;
background: #fff;
width: 100%;
box-sizing: border-box;
ul-col:nth-of-type(2n){
color:red
}
}
.details {
margin-top: 10rpx;
padding: 0 30rpx 30rpx 30rpx;

@ -1,291 +1,467 @@
<template>
<view class="introBox hasMenu">
<view v-if="activityList.length > 0">
<view class="intro_column" v-for="item in activityList" :key="item.id" @tap="gotoDetail(item.id)">
<view class="imgOuter">
<image mode="aspectFill" :src="item.active_playbill"></image>
<view class="i_intro">推荐</view>
</view>
<view class="columnInfo">
<view class="title">{{item.name}}</view>
<view class="tags">
<text v-for="(sub, subIdx) in item.label" :key="subIdx">{{sub}}</text>
</view>
<view class="subInfo">{{item.end_at}}</view>
<view class="subInfo">{{item.address}}</view>
<view class="price">
<text class="font_red" v-if="Number(item.money) > 0">{{item.money}}</text>
<text class="free" v-else></text>
<view class="shareMoney" v-if="Number(item.money) > 0">
<text>分享金</text>{{ Number(item.money) }}
</view>
</view>
</view>
</view>
</view>
<view v-else style="padding: 20rpx 0;text-align: center;font-weight: 600;">
暂无数据
</view>
</view>
</template>
<script>
import {
weixin
} from '@/utils/weixin.js'
export default {
data() {
return {
activitySelect: {
page: 1,
page_size: 10,
myself: 1
},
activityList: []
}
},
onReachBottom() {
this.getActivityList()
},
<template>
<view class="content">
<view class="end-title" style="display:none;">
<view v-for="(item,index) in items" :key="index" :class="{btna:count == index}" @tap="change(index)">
{{item}}
<view class="line"></view>
</view>
</view>
<view class="end-cont" :class="{dis:btnnum == 0}">
<view class="statusBox">
<text v-for="(item,index) in statusLabels" :key="index" @click="changeStatus(item.state)"
:class="{cur: item.state == status}">{{item.txt}}</text>
</view>
<view style="height:120rpx;"></view>
<view v-if="list.length>0">
  <view class="orderCol" v-for="(item, index) in list" :key="item.id" @click="goDetail(item.id)">
<view class="orderNo">
<text>订单编号</text><text>{{item.serial}}</text>
</view>
<view class="title">
<view>{{item.order_name || '暂无'}}<!-- <text class="free">免费</text> -->
</view>
<view class="status">{{item.statusName}}</view>
</view>
<view class="infoList">
<view class="infoCol">
<view class="date">
<image mode="heightFix" src="../../static/icon_shijian@2x.png"></image>
{{timeFormat(item.created_at, 'yyyy年mm月dd日')}}
</view>
<view class="price"><text>¥</text>{{item.total}}</view>
</view>
<!--<view class="infoCol"><view class="address"><image mode="heightFix" src="../../static/icon_dizhi.png"></image>苏州·园区星海街188号苏州万怡大酒店南栋大酒店南栋</view></view>-->
</view>
<view class="btn">
<text @click.stop="goDetail(item.id)"> 查看 </text>
<text v-if="item.state=='unpaid'" class="pay" @click.stop="goPay(item.id)"> </text>
</view>
</view>
</view>
<view v-else>
<view class="info-none"> {{list.length>0?"":"暂无数据"}} </view>
</view>
</view>
<view class="end-cont" :class="{dis:btnnum == 1}">
<view class="statusBox">
<text>待付款</text>
<text class="cur">待服务</text>
<text>已服务</text>
<text>待评价</text>
</view>
  <view class="orderCol">
<view class="title">
<view>33孕期保健Q&A<text class="free">免费</text></view>
<view class="status">待参加</view>
</view>
<view class="infoList">
<view class="infoCol">
<view class="date">
<image mode="heightFix" src="../../static/icon_shijian@2x.png"></image>2021-02-10 14:00
</view>
<view class="price"><text>¥</text>100</view>
</view>
<view class="infoCol">
<view class="address">
<image mode="heightFix" src="../../static/icon_dianpu@2x.png"></image>苏州·园区星海街188号苏州万怡大酒店
</view>
</view>
</view>
<view class="btn"><text>投诉</text></view>
</view>
</view>
</view>
</template>
<script>
import {
weixin
} from '../../utils/weixin.js';
//{"0":"","10":"","20":"","100":""}
export default {
data() {
return {
info: {
token: ''
},
btnnum: 0,
items: ["活动订单", "商品订单"],
count: "",
token: '',
page: 1,
list: [],
status: "",
statusLabels: [{
state: "",
txt: "全部"
}, {
state: "unpaid",
txt: "待支付"
}, {
state: "ongoing",
txt: "进行中"
}, {
state: "finished",
txt: "已完成"
}],
user_info: {},
openid: ""
}
},
onLoad(options) {
const userInfo = uni.getStorageSync('userInfo')
this.info.phone = userInfo.user_info.phone
this.token = userInfo.access_token;
var that = this;
if (!weixin.isNull(options.status))
this.status = options.status
weixin.getOpenidInfo(info => {
that.user_info = info.user_info
}, false)
this.openid = that.user_info.openid;
},
onShow() {
this.list = []
this.getOrderList(1)
},
onReachBottom() {
this.getOrderList(this.page + 1)
},
methods: {
gotoDetail(id) {
uni.navigateTo({
url: `/pages/active/detail?id=${id}`
})
},
getActivityList() {
weixin.request({
api: "/api/member/active-list",
data: this.activitySelect,
utilSuccess: res => {
if (res.data.length > 0) {
this.activitySelect.page++
} else {
uni.showToast({
icon: 'none',
title: "没有更多了"
})
}
if (this.activitySelect.page === 1) {
this.activityList = res.data
} else {
this.activityList.push(...res.data)
}
console.log(res);
},
utilFail: err => {
console.log(err);
}
})
},
},
onShow() {
this.getActivityList()
}
}
</script>
<style lang="scss" scoped>
.introBox {
width: 710rpx;
margin: 20rpx auto 0 auto;
border-radius: 16rpx;
background: #fff;
padding: 0 35rpx;
box-sizing: border-box;
}
.intro_row {
display: flex;
justify-content: space-between;
width: 100%;
}
.row_col {
width: 310rpx;
border-radius: 8rpx;
padding-bottom: 20rpx;
.imgOuter {
width: 310rpx;
height: 230rpx;
position: relative;
image {
width: 310rpx;
height: 230rpx;
border-radius: 8rpx 8rpx 0 0;
}
.date {
background-color: rgba(0, 0, 0, 0.3);
font-size: 20rpx;
color: #fff;
line-height: 32rrpx;
padding: 0 8rpx;
border-radius: 5rpx;
position: absolute;
left: 20rpx;
bottom: 20rpx;
font-weight: 500;
}
}
.title {
width: 100%;
font-size: 28rpx;
color: #333;
font-weight: 500;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
padding-top: 20rpx;
}
.subTit {
width: 100%;
font-size: 22rpx;
color: #333;
font-weight: 400;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
padding-top: 10rpx;
}
.price {
margin-top: 20rpx;
font-size: 22rpx;
color: #999;
text {
font-size: 32rpx;
font-weight: 400;
padding-right: 15rpx;
}
}
}
.introBox .intro_column:last-child {
border-bottom: none;
}
.intro_column {
display: flex;
justify-content: flex-start;
padding: 20rpx 0;
border-bottom: 2rpx solid #EAEAEA;
.imgOuter {
width: 260rpx;
height: 210rpx;
position: relative;
image {
width: 260rpx;
height: 210rpx;
border-radius: 5rpx;
}
.i_intro {
position: absolute;
top: 0;
left: 0;
width: 68rpx;
height: 32rpx;
background: #FF578A;
border-radius: 5rpx 0px 18rpx 5rpx;
font-size: 22rpx;
font-weight: 400;
color: #FFFFFF;
line-height: 32rpx;
text-align: center;
}
}
.columnInfo {
width: 360rpx;
margin-left: 22rpx;
.title {
width: 100%;
font-size: 30rpx;
font-weight: bold;
color: #333;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.tags text {
height: 28rpx;
background: rgba(255, 177, 62, 0.1);
border-radius: 4rpx;
line-height: 28rpx;
font-size: 20rpx;
padding: 0 10rpx;
margin-right: 10rpx;
color: #FF753E;
}
.subInfo {
width: 100%;
font-size: 24rpx;
color: #999;
font-weight: 400;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
padding-top: 5rpx;
.font_red {
margin-left: 10rpx;
}
}
.price {
display: flex;
justify-content: flex-start;
align-items: center;
align-content: center;
margin-top: 8rpx;
text {
margin-right: 10rpx;
}
.shareMoney {
height: 28rpx;
border: 2rpx solid #FF578A;
border-radius: 4rpx;
line-height: 28rpx;
font-size: 20rpx;
margin-right: 10rpx;
padding-right: 10rpx;
color: #FF578A;
display: flex;
flex-direction: flex-start;
text {
background: #FF578A;
color: #fff;
padding: 0 10rpx;
}
}
.free {
height: 28rpx;
background: #FF753E;
border-radius: 4rpx;
line-height: 28rpx;
font-size: 20rpx;
padding: 0 10rpx;
margin-right: 10rpx;
color: #fff;
}
}
}
}
timeFormat(time,format){
//this.util.
},
changeStatus(status) {
this.status = status
this.list = []
this.getOrderList(1)
},
change(e) {
this.count = e
this.btnnum = e
console.log(this.count)
},
goDetail(id) {
uni.navigateTo({
url: "../orderPackageDetail/orderPackageDetail?id=" + id
})
},
goPay(id) {
var that = this;
weixin.request({
api: '/api/member/order-payment',
method: 'GET',
data: {
order_id: id,
openid: this.openid
},
utilSuccess: res => {
weixin.getOpenidInfo(() => {}, true);
setTimeout(function() {
uni.hideLoading();
that.showPop = false;
}, 100);
try {
let payParams = JSON.parse(res.jsApiParameters)
payParams.provider = 'wxpay'
payParams.success = result => {
that.status = "ongoing";
that.loadData(that.currentPage);
}
payParams.fail = result => {
console.log(result);
}
wx.requestPayment(payParams);
} catch (err) {
console.log(err)
} finally {
// finallyCode - try / catch
}
},
utilFail: res => {
uni.showToast({
title: res
})
console.log(res);
}
})
},
getOrderList(page) {
const userInfo = uni.getStorageSync('userInfo')
uni.showLoading({
title: '加载中',
mask: true
});
var data = {
page: page,
page_size: 6,
token: userInfo.access_token
}
if (this.status != "") {
data = {
...data,
state: this.status
};
}
var that = this;
uni.request({
url: this.baseUrl + '/api/member/get-orders',
method: 'GET',
data: data,
success: r => {
setTimeout(function() {
uni.hideLoading();
}, 100);
var hasNoMore = that.list.length < 5 && page > 1;
if (hasNoMore || r.data.data.length == 0 && page > 1) {
//
uni.showToast({
title: '已加载到最后一页',
icon: 'none'
});
return;
}
for (var m of r.data.data) {
var mod = this.statusLabels.filter((p) => {
return p.state == m.state;
})[0];
if (mod)
m.statusName = mod.txt;
}
this.list = this.list.concat(r.data.data);
this.page = page;
}
})
}
}
}
</script>
<style lang="scss" scoped>
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.info-none {
padding: 40rpx;
color: #6E6E6E;
}
.end-title {
display: flex;
width: 100%;
height: 88rpx;
background: #FFFFFF;
box-shadow: 0px 2px 12px 0px #DEE4E7;
line-height: 88rpx;
font-size: 32rpx;
font-weight: 400;
color: #333;
position: fixed;
top: 0;
left: 0;
z-index: 999;
}
.end-title view {
flex-grow: 1;
text-align: center;
position: relative;
.line {
position: absolute;
width: 128rpx;
height: 8rpx;
background: #FF578A;
border-radius: 4rpx;
bottom: 0;
left: 50%;
margin-left: -64rpx;
display: none;
}
}
.end-cont {
display: none;
// padding-top:88rpx;
}
.orderNo {
padding: 20rpx 0rpx;
}
.btna {
color: #FF578A;
}
.btna .line {
display: block !important;
}
.dis {
display: block;
}
.orderCol {
background: #fff;
border-radius: 16rpx;
width: 710rpx;
margin: 20rpx auto 0 auto;
padding: 0 30rpx;
box-sizing: border-box;
.title {
padding: 20rpx 0;
display: flex;
justify-content: space-between;
align-content: center;
align-items: center;
font-size: 32rpx;
font-weight: 500;
color: #333;
.free {
display: inline-block;
width: 58rpx;
height: 32rpx;
background: #FF753E;
border-radius: 6rpx;
font-size: 20rpx;
font-weight: 400;
color: #FFFFFF;
text-align: center;
line-height: 32rpx;
margin-left: 10rpx;
}
.status {
font-size: 28rpx;
font-weight: 400;
color: #666666;
}
}
.btn {
display: flex;
justify-content: flex-end;
padding: 30rpx 0;
text {
display: block;
width: 160rpx;
height: 64rpx;
border-radius: 8rpx;
border: 2rpx solid #DEDEDE;
font-size: 28rpx;
font-weight: 400;
color: #333333;
text-align: center;
line-height: 64rpx;
margin-left: 20rpx;
}
text.pay {
border: 2rpx solid #FF578A;
color: #FF578A;
}
}
.infoList {
.infoCol {
display: flex;
justify-content: space-between;
color: #666;
font-size: 28rpx;
line-height: 1.8;
align-items: center;
align-content: center;
.date image {
width: 26rpx;
height: 26rpx;
display: inline-block;
margin-right: 12rpx;
}
.bulid {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.bulid image {
width: 25rpx;
height: 26rpx;
display: inline-block;
margin-right: 12rpx;
}
.address {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.address image {
width: 24rpx;
height: 26rpx;
display: inline-block;
margin-right: 12rpx;
}
.price {
font-size: 36rpx;
font-weight: 500;
color: #FF578A;
text {
font-size: 28rpx;
margin-right: 5rpx;
}
}
}
}
}
.statusBox {
width: 750rpx;
margin: 2rpx auto;
box-sizing: border-box;
height: 120rpx;
background: #fff;
display: flex;
padding: 0 30rpx;
justify-content: space-around;
align-items: center;
align-content: center;
color: #666;
font-size: 28rpx;
position: fixed;
left: 0;
top: -1rpx;
text {
display: block;
width: 156rpx;
height: 64rpx;
background: #F0F0F0;
border-radius: 32rpx;
text-align: center;
line-height: 64rpx;
}
.cur {
background: #FF578A;
color: #fff;
}
}
</style>

@ -300,10 +300,17 @@
url: "../../packages/packageOrder/pages/myOrder/myOrder?status=" + v
})
},
goMyActive(flag){
uni.navigateTo({
url:'/pages/active/my'
})
goMyActive(v){
if(v){
uni.navigateTo({
url: "/pages/active/my?status=" + v
})
}else{
uni.navigateTo({
url:'/pages/active/my'
})
}
},
nodata() {
uni.showToast({

Loading…
Cancel
Save