Commit 7d02e77f by honghong

Merge branch 'feature_plb'

parents 3f063d06 8c2cb0e5
node_modules/ node_modules/
dist/**
.project .project
unpackage/ unpackage/
.DS_Store .DS_Store
wxcomponents/**/*.vue
wxcomponents/**/*.css
.hbuilderx/
...@@ -72,3 +72,7 @@ export default { ...@@ -72,3 +72,7 @@ export default {
@import '@/uni_modules/uview-ui/index.scss'; @import '@/uni_modules/uview-ui/index.scss';
@import url("@/utils/common.css"); @import url("@/utils/common.css");
</style> </style>
<style>
/*每个页面公共css */
@import '@/utils/both.css';
</style>
<template>
<view class="index">
<u-overlay :show="show" >
<view class="warp">
<view class="rect" @tap.stop>
<view class="rect-indent">
{{title}}
</view>
<image src="@/static/icon/qs.png" mode=""></image>
<view class="rect-look">
<view class="" @click="jump(1)">
再看看
</view>
<view v-if="titbut == '1'" class="" @click="jump(2)">
取消订单
</view>
<view v-else class="" @click="jump(3)">
立即退款
</view>
</view>
</view>
</view>
</u-overlay>
</view>
</template>
<script>
import apiBaseConfig from '@/config/index.js';
export default {
props: {
show: {
type: Boolean,
},
title: {
type: String,
},
titbut: {
type: String
}
},
data() {
return {
imgBgUrl: apiBaseConfig.imgBgUrl,
globalData: getApp().globalData,
};
},
onLoad() {},
methods: {
// 再看看1 取消订单 立即退款 2
jump(val){
if(val == 1){
this.$emit('aindex')
}else{
this.$emit('aindexst',val)
}
}
}
};
</script>
<style lang="scss" scoped>
.index {}
.warp {
display: flex;
margin-top: 322rpx;
justify-content: center;
}
.rect {
width: calc(100% - 75rpx * 2);
background-color: #ffffff;
border-radius: 18rpx;
text-align: center;
&-indent {
margin-top: 30rpx;
text-align: center;
font-size: 30rpx;
font-weight: 400;
color: #333333;
}
&-look {
border-top: 1rpx solid #E7E7E7;
display: flex;
>view:nth-child(1) {
width: 50%;
height: 93rpx;
line-height: 93rpx;
text-align: center;
font-size: 28rpx;
font-weight: 400;
color: #333333;
border-right: 1rpx solid #E7E7E7;
}
>view:nth-child(2) {
width: 50%;
height: 93rpx;
line-height: 93rpx;
text-align: center;
font-size: 28rpx;
font-weight: 400;
color: #FD0000;
}
}
>image {
margin-top: 54rpx;
width: 305rpx;
height: 188rpx;
margin-bottom: 56rpx;
}
}
</style>
<template> <template>
<view class=""> <view class="">
<view class="tabBar" :style="platform == 'android'?'height: 102rpx;' : 'height: 132rpx;'"> <view class="tabBar" :style="platform == 'android' ? 'height: 102rpx;' : 'height: 132rpx;'">
<image class="tabBar-imag" src="@/static/tabbar/db.png" mode=""></image> <image class="tabBar-imag" src="@/static/tabbar/db.png" mode=""></image>
<view class="tabBar-cont"> <view class="tabBar-cont">
<view v-for="(item, index) in tabBarList" :key="index" class="tabBar-cont-item" <view v-for="(item, index) in tabBarList" :key="index" class="tabBar-cont-item" @click="tabBarChange(item)">
@click="tabBarChange(item)">
<template> <template>
<image v-if="item.type == 'type'" :src="item.icon"></image> <image v-if="item.type == 'type'" :src="item.icon"></image>
<image v-else :src="item.selectIcon" mode="aspectFill"></image> <image v-else :src="item.selectIcon" mode="aspectFill"></image>
<view v-if="item.type != 'type'" <view v-if="item.type != 'type'" :class="item.type != 'type' ? 'tabBar-cont-item-title tabBar-cont-item-titleAct' : 'tabBar-cont-item-title'">
:class="item.type != 'type' ? 'tabBar-cont-item-title tabBar-cont-item-titleAct' : 'tabBar-cont-item-title'">
{{ item.name }}
</view>
<view v-else
:class="item.type != 'type' ? 'tabBar-cont-item-title tabBar-cont-item-titleAct' : 'tabBar-cont-item-title'">
{{ item.name }} {{ item.name }}
</view> </view>
<view v-else :class="item.type != 'type' ? 'tabBar-cont-item-title tabBar-cont-item-titleAct' : 'tabBar-cont-item-title'">{{ item.name }}</view>
</template> </template>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
export default { export default {
props: { props: {
list: { list: {
type: Array, type: Array
} }
}, },
data() { data() {
return { return {
tabBarList: this.list ? this.list : [{ tabBarList: this.list
name: "首页", // name ? this.list
icon: "/static/tabbar/tb1.png", // 图标 : [
selectIcon: "/static/tabbar/td1.png", // 选中图标 {
url: "/pages/home/index", // 页面路径 name: '首页', // name
icon: '/static/tabbar/tb1.png', // 图标
selectIcon: '/static/tabbar/td1.png', // 选中图标
url: '/pages/home/index', // 页面路径
type: 'home' type: 'home'
}, { },
name: "我的需求", // name {
icon: "/static/tabbar/tb2.png", // 图标 name: '我的需求', // name
selectIcon: "/static/tabbar/td2.png", // 选中图标 icon: '/static/tabbar/tb2.png', // 图标
url: "/pages/demand/index", // 页面路径 selectIcon: '/static/tabbar/td2.png', // 选中图标
url: '/pages/demand/index', // 页面路径
type: 'type' type: 'type'
}, { },
name: "发布", // name {
icon: "/static/tabbar/fb.png", // 图标 name: '发布', // name
selectIcon: "/static/tabbar/fb.png", // 选中图标 icon: '/static/tabbar/fb.png', // 图标
url: "/pages/release/index", // 页面路径 selectIcon: '/static/tabbar/fb.png', // 选中图标
url: '/pages/release/index', // 页面路径
type: 'type' type: 'type'
}, { },
name: "动态", {
icon: "/static/tabbar/tb3.png", // 图标 name: '动态',
selectIcon: "/static/tabbar/td3.png", // 选中图标 icon: '/static/tabbar/tb3.png', // 图标
url: "/pages/order/index", selectIcon: '/static/tabbar/td3.png', // 选中图标
url: '/pages/order/index',
type: 'type' type: 'type'
}, { },
name: "我的", {
icon: "/static/tabbar/tb4.png", // 图标 name: '我的',
selectIcon: "/static/tabbar/td4.png", // 选中图标 icon: '/static/tabbar/tb4.png', // 图标
url: "/pages/my/index", selectIcon: '/static/tabbar/td4.png', // 选中图标
url: '/pages/my/index',
type: 'type' type: 'type'
}], }
]
}; };
}, },
...@@ -72,14 +73,19 @@ ...@@ -72,14 +73,19 @@
onLoad() {}, onLoad() {},
methods: { methods: {
tabBarChange(path) { tabBarChange(path) {
this.$emit('tabBarChange', path.url,path.type); if (path.url) {
this.$uniGo.reLaunch({
url: path.url
});
} }
// this.$emit('tabBarChange', path.url, path.type);
} }
}; }
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.tabBar { .tabBar {
width: 100%; width: 100%;
height: 102rpx; height: 102rpx;
position: fixed; position: fixed;
...@@ -140,5 +146,5 @@ ...@@ -140,5 +146,5 @@
} }
} }
} }
} }
</style> </style>
<template>
<view class="content">
<view class="content-swiper">
灯泡灯芯坏了
</view>
<view class="content-price">
<text></text>255.00
</view>
<view class="content-company">
<text>收款方</text>
<text>XXXXXXXXXX有限公司</text>
</view>
<button @click="jump">立即支付</button>
</view>
</template>
<script>
import apiBaseConfig from '@/config/index.js';
export default {
data() {
return {
imgBgUrl: apiBaseConfig.imgBgUrl,
globalData: getApp().globalData,
scrollTopHeader: 0
};
},
onLoad() {},
methods: {
jump(){
this.$uniGo.navigateTo({
url: `/demand/prosperity/index`
});
}
}
}
</script>
<style lang="scss" scoped>
.content {
&-swiper {
margin-top: 60rpx;
width: 100%;
text-align: center;
font-size: 26rpx;
font-weight: 400;
color: #333333;
}
&-price {
width: 100%;
text-align: center;
margin-top: 10rpx;
font-size: 80rpx;
font-weight: 700;
color: #F55726;
>text{
font-size: 50rpx;
}
}
&-company{
margin: 109rpx 20rpx 0rpx;
padding: 20rpx;
border-top: 1rpx solid #D4D4D4;
border-bottom: 1rpx solid #D4D4D4;
>text:nth-child(1){
font-size: 28rpx;
font-weight: 400;
color: #999999;
margin-right: 20rpx;
}
>text:nth-child(2){
font-size: 30rpx;
font-weight: 400;
color: #333333;
}
}
>button{
position: absolute;
bottom: 98rpx;
height: 80rpx;
line-height: 80rpx;
background: #2C66FF;
border-radius: 10rpx;
width: calc(100% - 20rpx * 2);
margin-left: 20rpx;
font-size: 26rpx;
text-align: center;
font-weight: 500;
color: #FFFFFF;
}
}
</style>
<template>
<view class="content">
<view class="content-textarea">
<view class="">标题</view>
<view class="">270</view>
</view>
<view class="content-textarea">
<view class="">联系人</view>
<view class="">270</view>
</view>
<view class="content-textarea">
<view class="">联系电话</view>
<view class="">270</view>
</view>
<view class="content-textarea">
<view class="">维修时间</view>
<view class="">270</view>
</view>
<view class="content-textarea">
<view class="">维修地址</view>
<view class="">270</view>
</view>
<view class="content-textarea">
<view class="">预算金额</view>
<view class="">270</view>
</view>
<view class="content-photograph">
<view class="">上传图片
</view>
<view class="">
<image src="../../static/logo.png" mode="" v-for="(v ,index) in 5" :key="index"></image>
</view>
</view>
<view class="content-frequency">
<view class="">
上传视频
</view>
<view v-for="(v ,index) in 2" :key="index">
<video id="myVideo"
src="https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20200317.mp4"
@error="videoErrorCallback" :danmu-list="danmuList" enable-danmu controls
:show-fullscreen-btn='false'></video>
</view>
</view>
<view class="content-voice">
<view class="">
语音描述
</view>
<view class="content-voice-audio" @click="doPlay()">
</view>
</view>
<view class="content-remarks">
<view class="">
备注
</view>
<u--textarea v-model="value1" placeholder="请输入内容" disabled></u--textarea>
</view>
<view class="content-reject">
<view class="">
<text></text>订单已驳回
</view>
<u--textarea v-model="value1" placeholder="请输入内容" disabled></u--textarea>
</view>
</view>
</view>
</template>
<script>
import apiBaseConfig from '@/config/index.js';
export default {
data() {
return {
imgBgUrl: apiBaseConfig.imgBgUrl,
globalData: getApp().globalData,
scrollTopHeader: 0
};
},
onLoad() {
this.timer = null;
this.innerAudioContext = uni.createInnerAudioContext();
// 监听音频进入可以播放状态的事件
this.innerAudioContext.onCanplay(() => {
this.innerAudioContext.duration;
// 延迟大约300ms以上才能获取音频总时长
setTimeout(() => {
// 获取音频总时长
this.duration = this.formatSeconds(this.innerAudioContext.duration);
}, 300)
});
// 监听音频播放
this.innerAudioContext.onPlay(() => {
// 获取当前音频的播放时间
this.timer = setInterval(() => {
this.currentTime = this.formatSeconds(this.innerAudioContext.currentTime);
}, 1000)
})
},
methods: {
// 播放
doPlay() {
if (!this.innerAudioContext.src) {
// 音频地址
this.innerAudioContext.src =
"https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-hello-uniapp/2cc220e0-c27a-11ea-9dfb-6da8e309e0d8.mp3";
}
this.innerAudioContext.play();
},
// 暂停
doPause() {
this.innerAudioContext.pause();
// 清除定时器
clearInterval(this.timer);
},
// 将秒转换成03:30格式
formatSeconds(value) {
let minute = parseInt(value / 60);
let second = parseInt(value % 60);
if (minute < 10) {
minute = "0" + minute
}
if (second < 10) {
second = "0" + second
}
return minute + ":" + second;
}
}
}
</script>
<style lang="scss" scoped>
.content {
padding: 0rpx 40rpx 160rpx;
&-textarea {
display: flex;
justify-content: space-between;
padding: 30rpx 10rpx;
border-bottom: 1rpx solid #E7E7E7;
>view {
font-size: 26rpx;
font-family: AlibabaPuHuiTi-Regular, AlibabaPuHuiTi;
font-weight: 400;
color: #333333;
}
}
&-photograph {
padding: 30rpx 0rpx;
>view:nth-child(2) {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
>image {
margin-top: 20rpx;
margin-right: 15rpx;
width: 210rpx;
height: 210rpx;
}
}
}
&-frequency {
padding: 30rpx 0rpx;
>view {
display: flex;
>video {
margin-top: 20rpx;
width: 373rpx;
height: 210rpx;
}
}
}
&-voice {
padding: 30rpx 0rpx;
&-audio {
margin-top: 20rpx;
background: #F5F5F5;
border-radius: 6rpx;
height: 68rpx;
}
}
&-remarks {
>view {
margin-bottom: 20rpx;
}
}
&-reject{
margin-top: 30rpx;
>view {
display:flex;
margin-bottom: 20rpx;
font-size: 28rpx;
font-weight: 700;
color: #333333;
>text{
width: 6rpx;
height: 36rpx;
background: #FD0000;
border-radius: 3rpx;
margin-right: 10rpx;
}
}
}
}
</style>
<template>
<view class="content">
<view class="content-bgcolor">
<view class="content-bgcolor-table">
<view class="">
<text></text>灯泡灯芯坏了
</view>
<view class="">
维修时间:2023-02-23
</view>
</view>
<view class="content-bgcolor-matter">
说明:有一个字不是特别亮,希望换一盏灯希望换一盏灯希望换一盏灯,
有一个字不是特别亮,有一个字不是特别亮,希望换一盏灯希望换一盏灯有一个字不是特别亮,
希望换一盏灯,有一个字不是特别亮,希望换一盏灯有一个字不是特别亮,
希望换一盏灯希望换一盏灯
</view>
<view class="content-bgcolor-photo">
<image class="content-bgcolor-photo-graph" src="@/static/logo.png" mode="" v-for="(v ,index) in 5"
:key="index"></image>
</view>
<view class="content-bgcolor-payment">
<view class="">
已沟通审核通过,待支付
</view>
<view class="">
300元
</view>
</view>
</view>
<view class="content-discounts" @click="jump(1)">
<view class="">
选择优惠券
</view>
<view class="">
{{times}}
<image src="@/static/icon/jt.png" mode=""></image>
</view>
</view>
<view class="content-accomplish">
<view class="">
截止1小时内支付完成 <text>00:59:42</text>
</view>
<button @click="jump(2)">立即支付 300.00元</button>
</view>
</view>
</template>
<script>
import apiBaseConfig from '@/config/index.js';
export default {
data() {
return {
imgBgUrl: apiBaseConfig.imgBgUrl,
globalData: getApp().globalData,
scrollTopHeader: 0,
times:'0'
};
},
onLoad() {},
methods: {
jump(val) {
if(val == 1){
this.$uniGo.navigateTo({
url: `/my/coupon/index?type=pay`
});
}else{
this.$uniGo.navigateTo({
url: `/demand/confirm/index`
});
}
}
}
}
</script>
<style>
page {
background: #F7F8F9;
}
</style>
<style lang="scss" scoped>
.content {
padding: 20rpx;
&-bgcolor {
background: #ffffff;
padding: 20rpx;
border-radius: 8rpx;
&-table {
display: flex;
justify-content: space-between;
>view:nth-child(1) {
display: flex;
font-size: 28rpx;
font-weight: 500;
color: #333333;
>text {
width: 6rpx;
height: 36rpx;
background: #2C66FF;
border-radius: 3rpx;
margin-right: 10rpx;
}
}
>view:nth-child(2) {
font-size: 20rpx;
font-weight: 400;
color: #333333;
}
}
&-matter {
margin-top: 24rpx;
font-size: 24rpx;
font-weight: 400;
color: #444444;
}
&-photo {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
&-graph {
margin-top: 20rpx;
margin-right: 20rpx;
width: 210rpx;
height: 210rpx;
}
&-graph:nth-child(3n) {
margin-right: 0rpx;
}
}
&-payment {
margin-top: 20rpx;
display: flex;
justify-content: space-between;
>view:nth-child(1) {
font-size: 24rpx;
font-weight: 400;
color: #444444;
}
>view:nth-child(2) {
font-size: 26rpx;
font-weight: 600;
color: #F55726;
}
}
}
&-discounts {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 23rpx;
padding: 20rpx 23rpx;
background: #FFFFFF;
border-radius: 10rpx;
>view:nth-child(1) {
font-size: 24rpx;
font-weight: 400;
color: #333333;
}
>view:nth-child(2) {
font-size: 26rpx;
font-weight: 500;
color: #F55726;
display: flex;
align-items: center;
>image {
width: 34rpx;
height: 34rpx;
}
}
}
&-accomplish {
// margin-top: 286rpx;
// width: ca 100%;
width: calc(100% - 20rpx * 2);
text-align: center;
position: absolute;
bottom: 98rpx;
>view:nth-child(1) {
font-size: 18rpx;
font-weight: 400;
color: #333333;
>text {
margin-left: 8rpx;
font-size: 18rpx;
font-weight: 400;
color: #FD0100;
}
}
>button {
margin-top: 20rpx;
height: 80rpx;
line-height: 80rpx;
background: #2C66FF;
border-radius: 10rpx;
width: 100%;
font-size: 26rpx;
font-weight: 500;
color: #FFFFFF;
}
}
}
</style>
<template>
<view class="content">
<image src="@/static/icon/wc.png" mode=""></image>
<view class="" @click="jump">
<text>支付成功,</text>
<text >查看已接单</text>
</view>
</view>
</template>
<script>
import apiBaseConfig from '@/config/index.js';
export default {
data() {
return {
imgBgUrl: apiBaseConfig.imgBgUrl,
globalData: getApp().globalData,
scrollTopHeader: 0
};
},
onLoad() {},
methods: {
jump() {
this.$uniGo.reLaunch({
url: `/pages/demand/index?id=3`
});
}
}
}
</script>
<style lang="scss" scoped>
.content {
width: 100%;
text-align: center;
>image {
width: 184rpx;
height: 184rpx;
margin-top: 170rpx;
}
>view {
margin-top: 82rpx;
font-size: 32rpx;
font-weight: 400;
color: #333333;
>text:nth-child(2) {
color: #2C66FF;
}
}
}
</style>
...@@ -20,8 +20,9 @@ ...@@ -20,8 +20,9 @@
<view class=""> <view class="">
图片说明 图片说明
</view> </view>
<view class=""> <view class="content-photograph-photo">
<image src="../../static/logo.png" mode="" v-for="(v ,index) in 5" :key="index"></image> <image class="content-photograph-photo-graph" src="../../static/logo.png" mode=""
v-for="(v ,index) in 5" :key="index"></image>
</view> </view>
</view> </view>
<view class="content-frequency"> <view class="content-frequency">
...@@ -47,7 +48,7 @@ ...@@ -47,7 +48,7 @@
<view class=""> <view class="">
备注说明 备注说明
</view> </view>
<u--textarea v-model="value1" placeholder="请输入内容" disabled ></u--textarea> <u--textarea v-model="value1" placeholder="请输入内容" disabled></u--textarea>
</view> </view>
</view> </view>
</view> </view>
...@@ -137,17 +138,21 @@ ...@@ -137,17 +138,21 @@
&-photograph { &-photograph {
padding: 30rpx 0rpx; padding: 30rpx 0rpx;
>view:nth-child(2) { &-photo {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: flex-start; justify-content: flex-start;
>image { &-graph {
margin-top: 20rpx; margin-top: 20rpx;
margin-right: 15rpx; margin-right: 20rpx;
width: 210rpx; width: 210rpx;
height: 210rpx; height: 210rpx;
} }
&-graph:nth-child(3n) {
margin-right: 0rpx;
}
} }
} }
...@@ -176,8 +181,9 @@ ...@@ -176,8 +181,9 @@
height: 68rpx; height: 68rpx;
} }
} }
&-remarks{
>view{ &-remarks {
>view {
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }
} }
......
...@@ -7,6 +7,7 @@ Vue.use(uView); ...@@ -7,6 +7,7 @@ Vue.use(uView);
import uniGo from '@/utils/unIGO.js'; import uniGo from '@/utils/unIGO.js';
Vue.prototype.$uniGo = uniGo; Vue.prototype.$uniGo = uniGo;
import utilsMethods from '@/utils/utils.js'; import utilsMethods from '@/utils/utils.js';
Vue.prototype.$utilsMethods = utilsMethods; Vue.prototype.$utilsMethods = utilsMethods;
// 底部导航 // 底部导航
...@@ -47,7 +48,9 @@ app.$mount() ...@@ -47,7 +48,9 @@ app.$mount()
// #endif // #endif
// #ifdef VUE3 // #ifdef VUE3
import { createSSRApp } from 'vue' import {
createSSRApp
} from 'vue'
export function createApp() { export function createApp() {
const app = createSSRApp(App) const app = createSSRApp(App)
return { return {
......
...@@ -50,11 +50,12 @@ ...@@ -50,11 +50,12 @@
"quickapp" : {}, "quickapp" : {},
/* 小程序特有相关 */ /* 小程序特有相关 */
"mp-weixin" : { "mp-weixin" : {
"appid" : "wx312fb4fecd3ee803", "appid" : "wxb323afcbe152514f",
"setting" : { "setting" : {
"urlCheck" : false, "urlCheck" : false,
"minified" : true, "es6" : true,
"postcss" : true "postcss" : true,
"minified" : true
}, },
"usingComponents" : true, "usingComponents" : true,
"optimization" : { "optimization" : {
......
<template> <template>
<view class="content"> <view class="index"></view>
<image class="logo" src="/static/logo.png"></image>
<view class="text-area">
<text class="title">{{title}}</text>
</view>
</view>
</template> </template>
<script> <script>
import apiBaseConfig from '@/config/index.js'; import apiBaseConfig from '@/config/index.js';
export default { export default {
data() { data() {
return { return {
imgBgUrl: apiBaseConfig.imgBgUrl, imgBgUrl: apiBaseConfig.imgBgUrl,
globalData: getApp().globalData, globalData: getApp().globalData,
scrollTopHeader: 0 scrollTopHeader: 0,
}; };
}, },
onLoad() { onLoad() {},
methods: {}
}, };
methods: {
}
}
</script> </script>
<style> <style lang="scss" scoped>
.index {
}
</style> </style>
\ No newline at end of file
<template>
<view class="index">
<com-navbar :title="title" :titleStyle="{ color: '#000000', fontSize: '32rpx' }" />
<view class="index-content">
<view class="index-content-item">
<view class="index-content-item-nav baiyin-flex baiyin-flex-c-b">
<text></text>
<view>可用优惠券(2)</view>
</view>
<view class="index-content-item-qu" @click="optionData.type === 'pay'?jump():null">
<image class="index-content-item-qu-bg" src="@/static/icon/xy01.png" mode=""></image>
<view class="index-content-item-qu-bl">
<text class="index-content-item-qu-bl-tl">满减优惠券</text>
<view class="index-content-item-qu-bl-lk">
<view class="index-content-item-qu-bl-lk-t">
<text></text>
<text>200</text>
优惠券
</view>
<view class="index-content-item-qu-bl-lk-b">有效期:2022.3.1-2022.12.31</view>
</view>
<template v-if="optionData.type === 'pay'">
<view class="index-content-item-qu-bl-rk">
<view class="index-content-item-qu-bl-rk-a">订单金额满</view>
<view class="index-content-item-qu-bl-rk-b">9999元</view>
<view class="index-content-item-qu-bl-rk-c">可使用</view>
<view class="index-content-item-qu-bl-rk-d">当前可使用</view>
</view>
</template>
<template v-if="optionData.type === 'coupon'">
<view class="index-content-item-qu-bl-rk">
<view class="index-content-item-qu-bl-rk-a index-content-item-qu-bl-rk-axl">订单金额满</view>
<view class="index-content-item-qu-bl-rk-b index-content-item-qu-bl-rk-bxl">9999元</view>
<view class="index-content-item-qu-bl-rk-c index-content-item-qu-bl-rk-cxl">可使用</view>
<view class="index-content-item-qu-bl-rk-d index-content-item-qu-bl-rk-dxl">去使用</view>
</view>
</template>
</view>
</view>
</view>
<view class="index-content-item">
<view class="index-content-item-nav index-content-item-navx baiyin-flex baiyin-flex-c-b">
<text></text>
<view>不可用优惠券(2)</view>
</view>
<view class="index-content-item-qu">
<image class="index-content-item-qu-bg" src="@/static/icon/xy02.png" mode=""></image>
<view class="index-content-item-qu-bl">
<text class="index-content-item-qu-bl-tl index-content-item-qu-bl-tlx">满减优惠券</text>
<view class="index-content-item-qu-bl-lk">
<view class="index-content-item-qu-bl-lk-t index-content-item-qu-bl-lk-tx">
<text></text>
<text>200</text>
优惠券
</view>
<view class="index-content-item-qu-bl-lk-b index-content-item-qu-bl-lk-bx">
有效期:2022.3.1-2022.12.31</view>
</view>
<view class="index-content-item-qu-bl-rk">
<view class="index-content-item-qu-bl-rk-a index-content-item-qu-bl-rk-ax">订单金额满</view>
<view class="index-content-item-qu-bl-rk-b index-content-item-qu-bl-rk-bx">200元</view>
<view class="index-content-item-qu-bl-rk-c index-content-item-qu-bl-rk-cx">可使用</view>
<view class="index-content-item-qu-bl-rk-d index-content-item-qu-bl-rk-dx">不可用</view>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import apiBaseConfig from '@/config/index.js';
export default {
data() {
return {
imgBgUrl: apiBaseConfig.imgBgUrl,
globalData: getApp().globalData,
scrollTopHeader: 0,
optionData: {},
title: ''
};
},
onLoad(option) {
let self = this;
self.optionData = option;
console.log(option)
self.initial();
},
methods: {
initial() {
let self = this;
switch (self.optionData.type) {
case 'coupon': //优惠券
self.title = '优惠券';
break;
case 'pay': //支付
self.title = '确认支付';
break;
}
},
jump() {
console.log('22222')
// 获取所有页面栈实例列表
let pages = getCurrentPages();
// 上一页页面实例
let prevPage = pages[pages.length - 2];
// 修改上一页data里面的times参数值为100
prevPage.$vm.times = 100;
//uni.navigateTo跳转的返回,默认1为返回上一级
uni.navigateBack({
delta: 1
});
console.log('1111111')
}
}
};
</script>
<style>
page {
background-color: #f7f8f9;
}
</style>
<style lang="scss" scoped>
.index {
&-content {
margin: 24rpx 20rpx;
width: calc(100% - 20rpx * 2);
&-item {
margin-bottom: 30rpx;
&-nav {
margin-bottom: 20rpx;
>text {
display: inline-block;
width: 6rpx;
height: 36rpx;
background: #2c66ff;
border-radius: 3rpx;
margin-right: 10rpx;
}
>view {
font-size: 28rpx;
font-family: AlibabaPuHuiTi-Medium, AlibabaPuHuiTi;
font-weight: 500;
color: #333333;
>text {
color: #2c66ff;
}
}
}
&-nav:last-child {
margin-bottom: 0rpx;
}
&-navx {
>text {
background: #666666;
}
}
&-qu {
width: 710rpx;
height: 200rpx;
background: #ffffff;
box-shadow: 1rpx 1rpx 6rpx 0rpx rgba(0, 0, 0, 0.05);
border-radius: 16rpx;
overflow: hidden;
margin-bottom: 20rpx;
position: relative;
&-bg,
&-bl {
width: 710rpx;
height: 200rpx;
}
&-bg {
position: absolute;
left: 0rpx;
top: 0rpx;
}
&-bl {
position: relative;
>text,
>view {
position: absolute;
}
&-tl {
font-size: 20rpx;
font-family: AlibabaPuHuiTi-Regular, AlibabaPuHuiTi;
font-weight: 400;
color: #4384ff;
top: 4rpx;
left: 62rpx;
}
&-tlx {
color: #666666;
}
&-lk {
bottom: 20rpx;
left: 20rpx;
&-t {
font-size: 30rpx;
font-family: AlibabaPuHuiTi-Regular, AlibabaPuHuiTi;
font-weight: 400;
color: #333333;
>text:nth-child(1) {
font-size: 40rpx;
font-family: AlibabaPuHuiTi-Medium, AlibabaPuHuiTi;
font-weight: 500;
color: #2c66ff;
}
>text:nth-child(2) {
font-size: 72rpx;
font-family: AlibabaPuHuiTi-Bold, AlibabaPuHuiTi;
font-weight: bold;
color: #2c66ff;
margin-right: 20rpx;
}
}
&-tx {
color: #999999;
>text:nth-child(1) {
color: #999999;
}
>text:nth-child(2) {
color: #999999;
}
}
&-b {
font-size: 20rpx;
font-family: AlibabaPuHuiTi-Regular, AlibabaPuHuiTi;
font-weight: 400;
color: #333333;
}
&-bx {
color: #999999;
}
}
&-rk {
width: 170rpx;
height: 200rpx;
right: 0rpx;
top: 0rpx;
>view {
text-align: center;
}
&-a {
font-size: 20rpx;
font-family: AlibabaPuHuiTi-Regular, AlibabaPuHuiTi;
font-weight: 400;
color: #ffffff;
margin-top: 26rpx;
}
&-ax {
color: #999999;
margin-top: 21rpx;
}
&-axl {
margin-top: 21rpx;
}
&-b {
font-size: 30rpx;
font-family: AlibabaPuHuiTi-Medium, AlibabaPuHuiTi;
font-weight: 500;
color: #ffffff;
margin-top: 10rpx;
}
&-bx {
color: #666666;
margin-top: 5rpx;
}
&-bxl {
margin-top: 5rpx;
}
&-c,
&-d {
font-size: 20rpx;
font-family: AlibabaPuHuiTi-Regular, AlibabaPuHuiTi;
font-weight: 400;
color: #ffffff;
margin-top: 10rpx;
}
&-cx {
color: #999999;
margin-top: 5rpx;
}
&-cxl {
margin-top: 5rpx;
}
&-d {
font-weight: 500;
margin-top: 21rpx;
}
&-dx {
width: 120rpx;
border: 1rpx solid #999999;
margin: 0 calc((100% - 120rpx - 2rpx) / 2);
height: 44rpx;
line-height: 44rpx;
border-radius: 10rpx;
color: #999999;
margin-top: 17rpx;
}
&-dxl {
width: 120rpx;
height: 44rpx;
line-height: 44rpx;
margin: 0 calc((100% - 120rpx) / 2);
background: #ffffff;
border-radius: 10rpx;
color: #4486ff;
background-color: #ffffff;
margin-top: 17rpx;
}
}
}
}
}
}
}
</style>
<template>
<view class="content">
<view class="content-form">
<u--form label-position="top" labelWidth="100" :model="model" :rules="rules" ref="form">
<u-form-item
required
label="标题"
prop="title"
borderBottom
:customStyle="{
'flex-direction': 'row !important'
}"
>
<u--input inputAlign="right" maxlength="-1" border="none" v-model="model.title" placeholder="请填写标题"></u--input>
</u-form-item>
<u-form-item required label="备注" prop="remarks" borderBottom>
<u--textarea
:customStyle="{
marginTop: '20rpx',
background: '#F5F5F5',
border: 'none'
}"
v-model="model.remarks"
placeholder="备注说明"
height="128rpx"
></u--textarea>
</u-form-item>
</u--form>
</view>
<u-button
text="提交反馈"
color="#2C66FF"
:customStyle="{
width: '710rpx',
height: '80rpx',
borderRadius: '10rpx',
padding: '0rpx',
position: 'absolute',
bottom: '142rpx',
left: '20rpx'
}"
></u-button>
</view>
</template>
<script>
import apiBaseConfig from '@/config/index.js';
export default {
data() {
return {
imgBgUrl: apiBaseConfig.imgBgUrl,
globalData: getApp().globalData,
scrollTopHeader: 0,
model: {
title: '',
remarks: ''
},
rules: {
title: {
type: 'string',
required: true,
message: '请填写标题',
trigger: ['blur', 'change']
},
remarks: {
type: 'string',
required: true,
message: '请填写备注说明',
trigger: ['blur', 'change']
}
}
};
},
onLoad() {},
onReady() {
//如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
this.$refs.form.setRules(this.rules);
},
methods: {}
};
</script>
<style lang="scss" scoped>
.content {
&-form {
margin: 30rpx 20rpx;
width: calc(100% - 20rpx * 2);
/deep/ .u-form {
width: calc(100% - 20rpx * 2);
margin: 0rpx 20rpx;
}
}
}
</style>
<template>
<view class="index">
<view class="index-content">
<view class="index-content-item">
<view class="index-content-item-nav baiyin-flex baiyin-flex-c-b">
<text></text>
<view>邀请新用户享受下单折扣</view>
</view>
<view class="index-content-item-li">1.成功邀请3位新用户,可享一单9折优惠</view>
<view class="index-content-item-li">2.成功邀请5位新用户,可享两单9折优惠</view>
<view class="index-content-item-li">3.成功邀请10位新用户,可享三单9折优惠</view>
</view>
<view class="index-content-item">
<view class="index-content-item-nav baiyin-flex baiyin-flex-c-b">
<text></text>
<view>
我已邀请:
<text>3位用户</text>
</view>
</view>
</view>
</view>
<u-button
text="继续邀请新用户"
color="#2C66FF"
:customStyle="{
width: '710rpx',
height: '80rpx',
borderRadius: '10rpx',
padding: '0rpx',
position: 'absolute',
left: '20rpx',
bottom: '142rpx'
}"
></u-button>
</view>
</template>
<script>
import apiBaseConfig from '@/config/index.js';
export default {
data() {
return {
imgBgUrl: apiBaseConfig.imgBgUrl,
globalData: getApp().globalData,
scrollTopHeader: 0
};
},
onLoad() {},
methods: {}
};
</script>
<style lang="scss" scoped>
.index {
&-content {
margin: 24rpx 20rpx;
width: calc(100% - 20rpx * 2);
&-item {
margin-bottom: 30rpx;
&-nav {
margin-bottom: 20rpx;
> text {
display: inline-block;
width: 6rpx;
height: 36rpx;
background: #2c66ff;
border-radius: 3rpx;
margin-right: 10rpx;
}
> view {
font-size: 28rpx;
font-family: AlibabaPuHuiTi-Medium, AlibabaPuHuiTi;
font-weight: 500;
color: #333333;
> text {
color: #2c66ff;
}
}
}
&-nav:last-child {
margin-bottom: 0rpx;
}
&-li {
font-size: 24rpx;
font-family: AlibabaPuHuiTi-Regular, AlibabaPuHuiTi;
font-weight: 400;
color: #333333;
margin-bottom: 10rpx;
padding-left: 14rpx;
}
&-li:last-child {
margin-bottom: 0rpx;
}
}
}
}
</style>
{ {
"id": "chengpeng-audio", "devDependencies": {
"name": "音频播放器", "sass": "^1.58.1",
"version": "2.0.3", "sass-loader": "^13.2.0",
"description": "音频播放器组件,支持跳转进度", "vuex": "^4.1.0"
"keywords": [ },
"音频", "uni-app": {
"音频播放器", "scripts": {
"audio", "custom-dev": {
"音乐", "title": "新人力微信小程序开发版",
"跳转" "env": {
], "UNI_PLATFORM": "mp-weixin",
"dcloudext": { "UNI_BASE_ENV": "development",
"category": [ "UNI_BASE_URL": "http://192.168.0.182:8996",
"前端组件", "UNI_BASE_API": "/custom"
"通用组件" },
] "define": {
"CUSTOM-DEV": true
}
},
"custom-uat": {
"title": "新人力微信小程序测试版",
"env": {
"UNI_PLATFORM": "mp-weixin",
"UNI_BASE_ENV": "uat",
"UNI_BASE_URL": "http://baiyingroup.nyinhong.com",
"UNI_BASE_API": "/api"
},
"define": {
"CUSTOM-UAT": true
}
},
"custom-prod": {
"title": "新人力微信小程序生产版",
"env": {
"UNI_PLATFORM": "mp-weixin",
"UNI_BASE_ENV": "production",
"UNI_BASE_URL": "https://pepsibdp.masterkong.com.cn",
"UNI_BASE_API": "/api"
},
"define": {
"CUSTOM-PROD": true
}
}
}
} }
} }
...@@ -33,10 +33,12 @@ ...@@ -33,10 +33,12 @@
{ {
"path": "pages/my/index", "path": "pages/my/index",
"style": { "style": {
"navigationBarTitleText": "个人" "navigationBarTitleText": "个人",
"mp-weixin": {
"navigationStyle": "custom"
}
} }
} }
], ],
//分包加载配置,此配置为小程序的分包加载机制。 //分包加载配置,此配置为小程序的分包加载机制。
"subPackages": [{ "subPackages": [{
...@@ -52,12 +54,61 @@ ...@@ -52,12 +54,61 @@
{ {
"root": "my", //子包的根目录 "root": "my", //子包的根目录
"pages": [{ //这里的配置路径和pages里的一样 "pages": [{ //这里的配置路径和pages里的一样
"path": "feedback/index", //配置页面路径,这里要注意,因为root已经选中了文件夹,所以我们只要填写文件名就好
"style": {
"navigationBarTitleText": "意见反馈"
}
}, { //这里的配置路径和pages里的一样
"path": "invite/index", //配置页面路径,这里要注意,因为root已经选中了文件夹,所以我们只要填写文件名就好
"style": {
"navigationBarTitleText": "我的邀请"
}
}, { //这里的配置路径和pages里的一样
"path": "agreeOn/index", //配置页面路径,这里要注意,因为root已经选中了文件夹,所以我们只要填写文件名就好
"style": {
"navigationBarTitleText": "用户协议"
}
}, { //这里的配置路径和pages里的一样
"path": "coupon/index", //配置页面路径,这里要注意,因为root已经选中了文件夹,所以我们只要填写文件名就好
"style": {
"navigationBarTitleText": "优惠券",
"mp-weixin": {
"navigationStyle": "custom"
}
}
}]
},
{
"root": "demand", //子包的根目录
"pages": [{ //这里的配置路径和pages里的一样
"path": "index/index", //配置页面路径,这里要注意,因为root已经选中了文件夹,所以我们只要填写文件名就好 "path": "index/index", //配置页面路径,这里要注意,因为root已经选中了文件夹,所以我们只要填写文件名就好
"style": { "style": {
"navigationBarTitleText": "", "navigationBarTitleText": "订单详情",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}] },
{ //这里的配置路径和pages里的一样
"path": "payment/index", //配置页面路径,这里要注意,因为root已经选中了文件夹,所以我们只要填写文件名就好
"style": {
"navigationBarTitleText": "确认支付",
"enablePullDownRefresh": false
}
},
{ //这里的配置路径和pages里的一样
"path": "confirm/index", //配置页面路径,这里要注意,因为root已经选中了文件夹,所以我们只要填写文件名就好
"style": {
"navigationBarTitleText": "确认支付",
"enablePullDownRefresh": false
}
},
{ //这里的配置路径和pages里的一样
"path": "prosperity/index", //配置页面路径,这里要注意,因为root已经选中了文件夹,所以我们只要填写文件名就好
"style": {
"navigationBarTitleText": "支付成功",
"enablePullDownRefresh": false
}
}
]
}, },
{ {
"root": "order", "root": "order",
...@@ -71,7 +122,6 @@ ...@@ -71,7 +122,6 @@
} }
] ]
} }
], ],
"globalStyle": { "globalStyle": {
"navigationBarTextStyle": "black", "navigationBarTextStyle": "black",
......
<template> <template>
<view class="content"> <view class="content">
<view class="content-matter" v-for="(v,index) in 20"> <view class="content-matter" v-for="(v,index) in 20" @click="jump" :key="index">
<view class="content-matter-lampwick"> <view class="content-matter-lampwick">
<view class="content-matter-lampwick-lampw"> <view class="content-matter-lampwick-lampw">
<view class=""> <view class="">
...@@ -19,24 +19,61 @@ ...@@ -19,24 +19,61 @@
<view class=""> <view class="">
说明:有一个字不是特别亮,希望换一盏灯希望换一盏灯希望换一盏灯 说明:有一个字不是特别亮,希望换一盏灯希望换一盏灯希望换一盏灯
</view> </view>
<view class=""> <!-- // 已发布 -->
<view class="buttoncolor" v-if="subscript == '0'">
<button class="buttoncl">修改</button> <button class="buttoncl">修改</button>
<button class="buttonclde">取消订单</button> <button class="buttonclde" @click.stop="abolish(1)">取消订单</button>
</view>
<!-- // 已驳回 -->
<view class="reject" v-if="subscript == '1'">
驳回理由:没有明确问题描述
</view>
<!-- // 待支付 -->
<view class="unpaid" v-if="subscript == '2'">
<view class="unpaid-paid">
<view class="">
已沟通审核通过,待支付<text>300元</text>
</view>
<view class="">
截止1小时内支付完成<text>00:59:42</text>
</view>
</view>
<view class="" @click.stop="payment">
<button class="buttoncl">支付</button>
</view> </view>
</view> </view>
<!-- // 已接单 -->
<view class="buttoncolor" v-if="subscript == '3'">
<button class="buttoncl" @click.stop="abolish(2)">退款</button>
<button class="buttonclde">详情</button>
<button class="buttonclde">已退款</button>
</view> </view>
</view> </view>
</view> </view>
</view>
<compopover :show="show" :title="title" :titbut="titbut" @aindex="aindex" @aindexst="aindexst"></compopover>
</view>
</template> </template>
<script> <script>
import apiBaseConfig from '@/config/index.js'; import apiBaseConfig from '@/config/index.js';
import uniGo from '@/utils/unIGO.js'; import compopover from '@/components/popover/aIndex.vue'
export default { export default {
props: {
subscript: {
type: String,
}
},
components: {
compopover
},
data() { data() {
return { return {
imgBgUrl: apiBaseConfig.imgBgUrl, imgBgUrl: apiBaseConfig.imgBgUrl,
globalData: getApp().globalData, globalData: getApp().globalData,
show: false,
title: '确认取消订单吗',
titbut: '取消订单'
} }
}, },
...@@ -44,7 +81,39 @@ ...@@ -44,7 +81,39 @@
}, },
methods: { methods: {
// 跳转详情页
jump() {
this.$uniGo.navigateTo({
url: `/demand/index/index`
});
},
// 跳转支付界面
payment() {
this.$uniGo.navigateTo({
url: `/demand/payment/index`
});
},
// 取消订单1 立即退款2
abolish(val) {
if (val == 1) {
this.title = '确认取消订单吗'
this.titbut = '1'
this.show = true
} else {
this.title = '确认提交退款申请吗'
this.titbut = '2'
this.show = true
}
},
// 再看看
aindex(){
this.show = false
},
// 取消订单2 立即退款3
aindexst(val){
// console.log(val)
this.show = false
}
} }
} }
</script> </script>
...@@ -112,15 +181,17 @@ ...@@ -112,15 +181,17 @@
color: #444444; color: #444444;
} }
>view:nth-child(2) {
display: flex;
margin-top: 40rpx;
justify-content: flex-end;
} }
} }
} }
} }
.buttoncolor {
display: flex;
margin-top: 40rpx;
justify-content: flex-end;
} }
.buttoncl { .buttoncl {
...@@ -132,7 +203,6 @@ ...@@ -132,7 +203,6 @@
border-radius: 10rpx; border-radius: 10rpx;
line-height: 44rpx; line-height: 44rpx;
font-size: 20rpx; font-size: 20rpx;
font-family: AlibabaPuHuiTi-Regular, AlibabaPuHuiTi;
font-weight: 400; font-weight: 400;
color: #FFFFFF; color: #FFFFFF;
margin-right: 20rpx; margin-right: 20rpx;
...@@ -147,9 +217,52 @@ ...@@ -147,9 +217,52 @@
border-radius: 10rpx; border-radius: 10rpx;
border: 1rpx solid #FD0100; border: 1rpx solid #FD0100;
font-size: 20rpx; font-size: 20rpx;
font-family: AlibabaPuHuiTi-Regular, AlibabaPuHuiTi;
font-weight: 400; font-weight: 400;
color: #FD0100; color: #FD0100;
line-height: 44rpx; line-height: 44rpx;
} }
.reject {
margin-top: 40rpx;
font-size: 24rpx;
font-weight: 400;
color: #FD0000;
}
.unpaid {
display: flex;
align-items: center;
margin-top: 24rpx;
justify-content: space-between;
&-paid {
>view:nth-child(1) {
font-size: 20rpx;
font-weight: 400;
color: #444444;
margin-bottom: 8rpx;
>text {
margin-left: 8rpx;
font-size: 24rpx;
font-weight: 700;
color: #333333;
}
}
>view:nth-child(2) {
font-size: 18rpx;
font-weight: 400;
color: #333333;
>text {
margin-left: 8rpx;
font-size: 18rpx;
font-weight: 400;
color: #FD0100;
}
}
}
}
</style> </style>
<template> <template>
<view class="content"> <view class="content">
<view class="content-tabs"> <view class="content-tabs">
<view class="content-tabs-text" v-for="(v,index) in list" @click="jump(index)"> <view class="content-tabs-text" v-for="(v,index) in list" @click="jump(index)" :key="index">
<view class="" :style="subscript == index?'color: #000000;' : 'color: #444444;'"> <view class="" :style="subscript == index?'color: #000000;' : 'color: #444444;'">
{{v.name}} {{v.name}}
</view> </view>
<view v-show="subscript == index" class="content-tabs-text-area"></view> <view v-show="subscript == index" class="content-tabs-text-area"></view>
</view> </view>
</view> </view>
<comindex class="content-mindex"></comindex> <!-- <template v-if="arr && arr.length"> -->
<com-tabbar @tabBarChange='tabBarChange' :list="tabBarList"></com-tabbar> <comindex class="content-mindex" :subscript='subscript'></comindex>
<!-- </template> -->
<!-- <view v-else class="diagram">
<image src="@/static/icon/qst.png" mode=""></image>
<view class="">
暂无数据
</view>
</view> -->
<com-tabbar :list=" [{
name: '首页',
icon: '/static/tabbar/tb1.png',
selectIcon:'/static/tabbar/td1.png',
url: '/pages/home/index',
type: 'type'
}, {
name: '我的需求',
icon: '/static/tabbar/tb2.png',
selectIcon: '/static/tabbar/td2.png',
url: '/pages/demand/index',
type: 'demand'
}, {
name: '发布',
icon: '/static/tabbar/fb.png',
selectIcon:'/static/tabbar/fb.png',
url: '/pages/release/index',
type: 'type'
}, {
name: '动态',
icon: '/static/tabbar/tb3.png',
selectIcon: '/static/tabbar/td3.png',
url: '/pages/order/index',
type: 'type'
}, {
name:'我的' ,
icon:'/static/tabbar/tb4.png' ,
selectIcon:'/static/tabbar/td4.png',
url: '/pages/my/index',
type: 'type'
}]"></com-tabbar>
</view> </view>
</template> </template>
...@@ -23,45 +61,15 @@ ...@@ -23,45 +61,15 @@
imgBgUrl: apiBaseConfig.imgBgUrl, imgBgUrl: apiBaseConfig.imgBgUrl,
globalData: getApp().globalData, globalData: getApp().globalData,
title: 'Hello', title: 'Hello',
arr:[],
list: [{ list: [{
name: '美食' name: '已发布'
}, { }, {
name: '文化' name: '已驳回'
}, { }, {
name: '财经' name: '待支付'
}, { }, {
name: '手工' name: '已接单'
}],
tabBarList: [{
name: "首页", // name
icon: "/static/tabbar/tb1.png", // 图标
selectIcon: "/static/tabbar/td1.png", // 选中图标
url: "/pages/home/index", // 页面路径
type: 'type'
}, {
name: "我的需求", // name
icon: "/static/tabbar/tb2.png", // 图标
selectIcon: "/static/tabbar/td2.png", // 选中图标
url: "/pages/demand/index", // 页面路径
type: 'demand'
}, {
name: "发布", // name
icon: "/static/tabbar/fb.png", // 图标
selectIcon: "/static/tabbar/fb.png", // 选中图标
url: "/pages/release/index", // 页面路径
type: 'type'
}, {
name: "动态",
icon: "/static/tabbar/tb3.png", // 图标
selectIcon: "/static/tabbar/td3.png", // 选中图标
url: "/pages/order/index",
type: 'type'
}, {
name: "我的",
icon: "/static/tabbar/tb4.png", // 图标
selectIcon: "/static/tabbar/td4.png", // 选中图标
url: "/pages/my/index",
type: 'type'
}], }],
subscript: '0', subscript: '0',
} }
...@@ -69,17 +77,13 @@ ...@@ -69,17 +77,13 @@
components: { components: {
comindex comindex
}, },
onLoad() { onLoad(option) {
// console.log(option, 'pppppp')
}, if(option.id){
methods: { this.subscript = option.id
tabBarChange(url, type) {
if (type == 'type') {
uniGo.reLaunch({
url: url
});
} }
}, },
methods: {
jump(ind) { jump(ind) {
this.subscript = ind this.subscript = ind
} }
...@@ -93,7 +97,6 @@ ...@@ -93,7 +97,6 @@
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
z-index: 999;
&-tabs { &-tabs {
display: flex; display: flex;
...@@ -103,6 +106,7 @@ ...@@ -103,6 +106,7 @@
padding-top: 20rpx; padding-top: 20rpx;
padding-bottom: 20rpx; padding-bottom: 20rpx;
top: -1rpx; top: -1rpx;
z-index: 999;
background-color: #f3f4f6; background-color: #f3f4f6;
&-text { &-text {
...@@ -111,7 +115,7 @@ ...@@ -111,7 +115,7 @@
} }
&-area { &-area {
width: 55rpx; width: 75rpx;
height: 6rpx; height: 6rpx;
background: #2C66FF; background: #2C66FF;
} }
...@@ -124,4 +128,21 @@ ...@@ -124,4 +128,21 @@
margin-bottom: 150rpx; margin-bottom: 150rpx;
} }
} }
.diagram {
text-align: center;
margin-top: 335rpx;
>image {
width: 396rpx;
height: 243rpx;
}
>view {
margin-top: 20rpx;
font-size: 24rpx;
font-weight: 400;
color: #444444;
}
}
</style> </style>
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<view></view> <view></view>
<view>用户需求广场</view> <view>用户需求广场</view>
</view> </view>
<view class="" v-if="arr && arr.length">
<view class="content-matter-marketplace" v-for="(v , index) in 10" @click="clickJump" :key="index"> <view class="content-matter-marketplace" v-for="(v , index) in 10" @click="clickJump" :key="index">
<image src="/static//icon/sytb.png" mode=""></image> <image src="/static//icon/sytb.png" mode=""></image>
<view class="content-matter-marketplace-bazaar"> <view class="content-matter-marketplace-bazaar">
...@@ -32,15 +33,21 @@ ...@@ -32,15 +33,21 @@
</view> </view>
</view> </view>
</view> </view>
<view v-else class="diagram">
<image src="@/static/icon/qst.png" mode=""></image>
<view class="">
暂无数据
</view>
</view>
</view>
<com-navbar :leftIcon="false" :homeShow="false" bgColor="transparent" title="首页" <com-navbar :leftIcon="false" :homeShow="false" bgColor="transparent" title="首页"
:titleStyle="{ color: '#FFFFFF', fontSize: '32rpx',scrollTopHeader: scrollTopHeader }" /> :titleStyle="{ color: '#FFFFFF', fontSize: '32rpx',scrollTopHeader: scrollTopHeader }" />
<com-tabbar @tabBarChange='tabBarChange' :list="tabBarList"></com-tabbar> <com-tabbar :list="tabBarList"></com-tabbar>
</view> </view>
</template> </template>
<script> <script>
import apiBaseConfig from '@/config/index.js'; import apiBaseConfig from '@/config/index.js';
import uniGo from '@/utils/unIGO.js';
export default { export default {
data() { data() {
return { return {
...@@ -48,6 +55,7 @@ ...@@ -48,6 +55,7 @@
imgBgUrl: apiBaseConfig.imgBgUrl, imgBgUrl: apiBaseConfig.imgBgUrl,
globalData: getApp().globalData, globalData: getApp().globalData,
scrollTopHeader: 0, scrollTopHeader: 0,
arr: [],
tabBarList: [{ tabBarList: [{
name: "首页", // name name: "首页", // name
icon: "/static/tabbar/tb1.png", // 图标 icon: "/static/tabbar/tb1.png", // 图标
...@@ -81,26 +89,17 @@ ...@@ -81,26 +89,17 @@
}], }],
} }
}, },
onLoad() { onLoad() {},
},
onPageScroll(res) { onPageScroll(res) {
// console.log('页面滚动了onPageScroll-app', res.scrollTop); // console.log('页面滚动了onPageScroll-app', res.scrollTop);
this.scrollTopHeader = res.scrollTop; this.scrollTopHeader = res.scrollTop;
}, },
methods: { methods: {
clickJump() { clickJump() {
uniGo.navigateTo({ this.$uniGo.navigateTo({
url: `/home/index/index` url: `/home/index/index`
}); });
}, },
tabBarChange(url,type) {
if(type == 'type'){
uniGo.reLaunch({
url: url
});
}
}
} }
} }
</script> </script>
...@@ -113,7 +112,6 @@ ...@@ -113,7 +112,6 @@
.content { .content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
// align-items: center;
justify-content: center; justify-content: center;
&-swiper { &-swiper {
...@@ -143,7 +141,6 @@ ...@@ -143,7 +141,6 @@
>view:nth-child(2) { >view:nth-child(2) {
font-size: 28rpx; font-size: 28rpx;
font-family: AlibabaPuHuiTi-Medium, AlibabaPuHuiTi;
font-weight: 500; font-weight: 500;
color: #333333; color: #333333;
} }
...@@ -167,7 +164,6 @@ ...@@ -167,7 +164,6 @@
>view:nth-child(1) { >view:nth-child(1) {
font-size: 28rpx; font-size: 28rpx;
font-family: AlibabaPuHuiTi-Medium, AlibabaPuHuiTi;
font-weight: 700; font-weight: 700;
color: #333333; color: #333333;
margin-top: 8rpx; margin-top: 8rpx;
...@@ -176,7 +172,6 @@ ...@@ -176,7 +172,6 @@
>view:nth-child(2) { >view:nth-child(2) {
margin-top: 6rpx; margin-top: 6rpx;
font-size: 24rpx; font-size: 24rpx;
font-family: AlibabaPuHuiTi-Regular, AlibabaPuHuiTi;
font-weight: 400; font-weight: 400;
color: #444444; color: #444444;
} }
...@@ -184,7 +179,6 @@ ...@@ -184,7 +179,6 @@
>view:nth-child(3) { >view:nth-child(3) {
margin-top: 9rpx; margin-top: 9rpx;
font-size: 20rpx; font-size: 20rpx;
font-family: AlibabaPuHuiTi-Regular, AlibabaPuHuiTi;
font-weight: 400; font-weight: 400;
color: #5281FF; color: #5281FF;
} }
...@@ -211,4 +205,21 @@ ...@@ -211,4 +205,21 @@
font-size: 36rpx; font-size: 36rpx;
color: #8f8f94; color: #8f8f94;
} }
.diagram {
text-align: center;
margin-top: 335rpx;
>image {
width: 396rpx;
height: 243rpx;
}
>view {
margin-top: 20rpx;
font-size: 24rpx;
font-weight: 400;
color: #444444;
}
}
</style> </style>
<template> <template>
<view class="content"> <view class="content">
<image class="logo" src="/static/logo.png"></image> <image class="content-bg" src="@/static/icon/my01.png" mode=""></image>
<view class="text-area"> <view :style="{ height: `calc(${globalData.statusBarHeight}rpx + 158rpx)` }"></view>
<text class="title">{{title}}</text> <view class="content-in">
<view class="content-in-info baiyin-flex baiyin-flex-c-b">
<button class="content-in-info-l" type="balanced" open-type="chooseAvatar" @chooseavatar="onChooseavatar">
<image src="@/static/icon/my03.png" mode=""></image>
</button>
<view class="content-in-info-r">
<view class="content-in-info-r-t baiyin-flex">
<text v-if="nameDisabled">用户名称</text>
<input v-else confirm-type="确定" @confirm="inputNameConfirm" maxlength="15" type="text" value="用户名称" />
<image src="@/static/icon/my02.png" mode="" @click="nameDisabled = !nameDisabled"></image>
</view> </view>
<view class="content-in-info-r-b">手机号:12385757454</view>
</view>
</view>
<view class="content-in-item baiyin-flex baiyin-flex-c-sb baiyin-flex-c-b" v-for="(item, index) in list" :key="index" @click="index != 0 ? clickJumpNPage(item) : null">
<!-- 联系客服生成 -->
<button class="content-in-item-btn" v-if="index === 0" open-type="contact"></button>
<view class="baiyin-flex baiyin-flex-c-b">
<image :src="item.icon" mode=""></image>
<text>{{ item.title }}</text>
</view>
<image src="@/static/icon/my09.png" mode=""></image>
</view>
<view class="content-in-btn">
<u-button
text="退出登录"
color="#EA654E"
:customStyle="{
width: '560rpx',
height: '80rpx',
borderRadius: '10rpx',
padding: '0rpx',
margin: '178rpx 0rpx 0rpx 65rpx'
}"
></u-button>
</view>
</view>
<com-navbar :leftIcon="false" bgColor="transparent" title="我的" :titleStyle="{ color: '#ffffff', fontSize: '34rpx' }" />
<com-tabbar
:list="[
{
name: '首页',
icon: '/static/tabbar/tb1.png',
selectIcon: '/static/tabbar/td1.png',
url: '/pages/home/index',
type: 'type'
},
{
name: '我的需求',
icon: '/static/tabbar/tb2.png',
selectIcon: '/static/tabbar/td2.png',
url: '/pages/demand/index',
type: 'type'
},
{
name: '发布',
icon: '/static/tabbar/fb.png',
selectIcon: '/static/tabbar/fb.png',
url: '/pages/release/index',
type: 'type'
},
{
name: '动态',
icon: '/static/tabbar/tb3.png',
selectIcon: '/static/tabbar/td3.png',
url: '/pages/order/index',
type: 'type'
},
{
name: '我的',
icon: '/static/tabbar/tb4.png',
selectIcon: '/static/tabbar/td4.png',
url: '',
type: 'myCenter'
}
]"
/>
</view> </view>
</template> </template>
<script> <script>
export default { import apiBaseConfig from '@/config/index.js';
import { mapMutations } from 'vuex';
export default {
data() { data() {
return { return {
title: 'Hello' imgBgUrl: apiBaseConfig.imgBgUrl,
} globalData: getApp().globalData,
scrollTopHeader: 0,
nameDisabled: true,
list: [
{
icon: require('@/static/icon/my04.png'),
title: '联系客服'
}, },
onLoad() { {
icon: require('@/static/icon/my05.png'),
title: '意见反馈',
url: '/my/feedback/index'
},
{
icon: require('@/static/icon/my06.png'),
title: '我的邀请',
url: '/my/invite/index'
},
{
icon: require('@/static/icon/my07.png'),
title: '用户协议',
url: '/my/agreeOn/index'
},
{
icon: require('@/static/icon/my08.png'),
title: '我的优惠券',
url: '/my/coupon/index?type=coupon'
}
]
};
}, },
onLoad() {},
methods: { methods: {
...mapMutations(['upDateUserInfoMount']),
onChooseavatar(e) {
console.log(e);
return;
let self = this;
const { avatarUrl } = e.detail;
this.fdsa = avatarUrl;
console.log(avatarUrl, e, 'fsdafdsa');
wx.getFileSystemManager().readFile({
filePath: avatarUrl, //选择图片返回的相对路径
encoding: 'base64', //编码格式
success: res => {
//成功的回调
console.log(res);
console.log(res.data);
userUpdatePOST({
headImgUrl: res.data
}).then(res => {
console.log(res.code, 'pppppppppppp');
if (res.code === 200) {
uni.showToast({
title: '修改成功',
icon: 'none'
});
console.log(111111111111);
// self.upDateUserInfoMount();
}
});
} }
});
},
inputNameConfirm(e) {
console.log('======inputNameConfirm:', e);
},
clickJumpNPage(row) {
if (row.url) {
this.$uniGo.navigateTo({
url: row.url
});
} }
}
}
};
</script> </script>
<style> <style>
.content { page {
display: flex; background-color: #f7f8f9;
flex-direction: column; }
align-items: center; </style>
justify-content: center; <style lang="scss" scoped>
.content {
&-bg {
width: 100%;
height: 340rpx;
position: absolute;
top: 0%;
left: 0%;
z-index: -1;
} }
&-in {
.logo { width: calc(100% - 30rpx * 2);
height: 200rpx; margin: 0rpx 30rpx 0;
width: 200rpx; &-info {
margin-top: 200rpx; padding: 35rpx 30rpx;
margin-left: auto; background-color: #ffffff;
margin-right: auto; border-radius: 14rpx;
margin-bottom: 50rpx; margin-bottom: 16rpx;
&-l {
width: 120rpx;
height: 120rpx;
margin: 0 30rpx 0 0;
padding: 0rpx;
border: none;
outline: none;
background: transparent;
image {
width: 100%;
height: 100%;
border-radius: 50%;
} }
.text-area {
display: flex;
justify-content: center;
} }
&-l::after {
.title { border: none;
}
&-r {
&-t {
margin-bottom: 17rpx;
input,
text {
font-size: 36rpx; font-size: 36rpx;
color: #8f8f94; font-family: AlibabaPuHuiTi-Medium, AlibabaPuHuiTi;
font-weight: 500;
color: #666666;
margin-right: 34rpx;
}
image {
width: 32rpx;
height: 32rpx;
margin-top: 5rpx;
}
}
&-b {
font-size: 24rpx;
font-family: AlibabaPuHuiTi-Regular, AlibabaPuHuiTi;
font-weight: 400;
color: #666666;
}
}
}
&-item {
padding: 26rpx 22rpx;
background-color: #ffffff;
border-radius: 10rpx;
box-shadow: 0rpx 0rpx 6rpx 0rpx rgba(0, 0, 0, 0.05);
margin-bottom: 16rpx;
position: relative;
&-btn {
position: absolute;
top: 0%;
left: 0%;
padding: 0rpx;
width: 100%;
height: 100%;
outline: none;
border: none;
background: transparent;
border-radius: 10rpx;
}
&-btn::after {
outline: none;
border: none;
}
> image {
width: 34rpx;
height: 34rpx;
}
> view {
font-size: 24rpx;
font-family: AlibabaPuHuiTi-Regular, AlibabaPuHuiTi;
font-weight: 400;
color: #333333;
image {
margin-right: 12rpx;
width: 28rpx;
height: 28rpx;
}
}
}
&-item:last-child {
margin-bottom: 0rpx;
}
} }
}
</style> </style>
...@@ -15,13 +15,6 @@ text { ...@@ -15,13 +15,6 @@ text {
word-break: break-all; word-break: break-all;
} }
@font-face {
font-family: DINBOLD;
font-weight: normal;
font-style: normal;
src: url('~@/static/ttf/DIN-Bold.otf') format('OpenType');
}
ul, ul,
li { li {
list-style: none; list-style: none;
......
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