Browse Source

模式变更修改

master
主管理员 1 year ago
parent
commit
a8f82be3ab
26 changed files with 2161 additions and 430 deletions
  1. +145
    -0
      components/active-card/address-list.vue
  2. +159
    -0
      components/active-card/order-list.vue
  3. +93
    -0
      components/jianghua-card/shop-card.vue
  4. +68
    -0
      components/jianghua-card/xuanchuan-card.vue
  5. +33
    -6
      components/new-card/index.vue
  6. +65
    -0
      components/user-card/index-integer.vue
  7. +65
    -0
      components/user-card/index-price.vue
  8. +54
    -8
      pages.json
  9. +0
    -269
      pages/car/index.vue
  10. +9
    -7
      pages/home/index.vue
  11. +33
    -3
      pages/home/new-detail.vue
  12. +24
    -10
      pages/jianhua/course-detial.vue
  13. +318
    -0
      pages/jianhua/index.vue
  14. +39
    -11
      pages/my/index.vue
  15. +216
    -0
      pages/my/list-integer.vue
  16. +216
    -0
      pages/my/list-price.vue
  17. +2
    -2
      pages/my/login-kehu.vue
  18. +157
    -0
      pages/my/my-addre.vue
  19. +160
    -0
      pages/my/my-address-list.vue
  20. +172
    -0
      pages/my/my-order-list.vue
  21. +101
    -101
      pages/news/index.vue
  22. +32
    -13
      request/shopro.js
  23. BIN
      static/img/tabbar/add.png
  24. BIN
      static/img/tabbar/address.png
  25. BIN
      static/img/tabbar/order.png
  26. BIN
      static/img/tabbar/xinxi.png

+ 145
- 0
components/active-card/address-list.vue View File

@ -0,0 +1,145 @@
<template>
<view class="active-card">
<view class="active-title">{{item.name}}</view>
<view class="active-time flex align-center">
<text>电话{{item.phone}}</text>
</view>
<view class="active-time flex align-center">
<text>地址{{item.region}}</text>
</view>
<view class="active-time flex align-center">
<text>详细地址{{item.detailAddress}}</text>
</view>
</view>
</template>
<script>
export default{
props:{
text:{
type:String,
default:'查看详情'
},
item:{
type:Object,
},
i:{
type:Number,
}
},
data(){
return{
}
},
methods:{
seeDetail(){
this.$emit('seeDetail',this.item)
}
}
}
</script>
<style lang="scss" scoped>
.active-card {
background: #ffffff;
border-radius: 12rpx;
box-shadow: 3rpx 3rpx 6rpx 5rpx rgba(0,0,0,0.16);
overflow: hidden;
padding-bottom: 10rpx;
margin-bottom: 20rpx;
.active-title {
word-wrap:break-word;
word-break:break-all;
font-size: 32rpx;
color: #000;
font-weight: 700;
margin-top: 20rpx;
line-height: 60rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.active-time {
word-wrap:break-word;
word-break:break-all;
color: #707070;
font-size: 28rpx;
margin: 20rpx 0;
image {
width: 33rpx;
height: 33rpx;
margin-right: 27rpx;
}
/* 文本不会换行显示 */
white-space: nowrap;
/* 超出盒子部分隐藏 */
overflow: hidden;
/* 文本超出的部分打点显示 */
text-overflow: ellipsis;
}
.active-add {
color: #707070;
font-size: 28rpx;
word-wrap:break-word;
word-break:break-all;
/* 文本不会换行显示 */
white-space: nowrap;
/* 超出盒子部分隐藏 */
overflow: hidden;
/* 文本超出的部分打点显示 */
text-overflow: ellipsis;
// overflow: hidden;/**/
image {
width: 30rpx;
height: 35rpx;
margin-right: 27rpx;
}
}
.active-time2 {
color: #707070;
font-size: 28rpx;
margin: 20rpx 0;
image {
width: 33rpx;
height: 33rpx;
margin-right: 27rpx;
}
}
.active-menu {
margin-top: 21rpx;
padding: 0 10rpx;
.menu-price {
font-size: 32rpx;
.price {
color: #D33D3E;
font-size: 34rpx;
font-weight: 500;
}
}
.menu-btn {
width: 213rpx;
height: 79rpx;
display: flex;
align-items: center;
justify-content: center;
color: #00CCCC;
font-size: 30rpx;
font-weight: 500;
}
.menu-btn::after {
content: " ";
width: 15rpx;
height: 15rpx;
border-bottom: 3rpx solid #00CCCC;
border-right: 3rpx solid #00CCCC;
transform: rotate(-45deg);
margin-left: 8rpx;
}
}
}
</style>

+ 159
- 0
components/active-card/order-list.vue View File

@ -0,0 +1,159 @@
<template>
<view class="active-card">
<view class="active-title">{{item.title}}</view>
<view class="active-time flex align-center">
<text>商品{{item.shopName}}</text>
</view>
<view class="active-add flex align-center">
<text>地址{{item.addressText}}</text>
</view>
<view class="active-add flex align-center">
<text>价格{{item.price}}</text>
</view>
<view class="active-add flex align-center">
<text>数量{{item.num}}</text>
</view>
<view class="active-add flex align-center" v-if="item.type == 1">
<text>类型微信订单</text>
</view>
<view class="active-add flex align-center" v-else>
<text>类型积分订单</text>
</view>
<view class="active-time2 flex align-center">
<text>下单时间{{item.createTime}}</text>
</view>
</view>
</template>
<script>
export default{
props:{
text:{
type:String,
default:'查看详情'
},
item:{
type:Object,
},
i:{
type:Number,
}
},
data(){
return{
}
},
methods:{
seeDetail(){
this.$emit('seeDetail',this.item)
}
}
}
</script>
<style lang="scss" scoped>
.active-card {
background: #ffffff;
border-radius: 12rpx;
box-shadow: 3rpx 3rpx 6rpx 5rpx rgba(0,0,0,0.16);
overflow: hidden;
padding-bottom: 10rpx;
margin-bottom: 20rpx;
.active-title {
word-wrap:break-word;
word-break:break-all;
font-size: 32rpx;
color: #000;
font-weight: 700;
margin-top: 20rpx;
line-height: 60rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.active-time {
word-wrap:break-word;
word-break:break-all;
color: #707070;
font-size: 28rpx;
margin: 20rpx 0;
image {
width: 33rpx;
height: 33rpx;
margin-right: 27rpx;
}
/* 文本不会换行显示 */
white-space: nowrap;
/* 超出盒子部分隐藏 */
overflow: hidden;
/* 文本超出的部分打点显示 */
text-overflow: ellipsis;
}
.active-add {
color: #707070;
font-size: 28rpx;
word-wrap:break-word;
word-break:break-all;
/* 文本不会换行显示 */
white-space: nowrap;
/* 超出盒子部分隐藏 */
overflow: hidden;
/* 文本超出的部分打点显示 */
text-overflow: ellipsis;
// overflow: hidden;/**/
image {
width: 30rpx;
height: 35rpx;
margin-right: 27rpx;
}
}
.active-time2 {
color: #707070;
font-size: 28rpx;
margin: 20rpx 0;
image {
width: 33rpx;
height: 33rpx;
margin-right: 27rpx;
}
}
.active-menu {
margin-top: 21rpx;
padding: 0 10rpx;
.menu-price {
font-size: 32rpx;
.price {
color: #D33D3E;
font-size: 34rpx;
font-weight: 500;
}
}
.menu-btn {
width: 213rpx;
height: 79rpx;
display: flex;
align-items: center;
justify-content: center;
color: #00CCCC;
font-size: 30rpx;
font-weight: 500;
}
.menu-btn::after {
content: " ";
width: 15rpx;
height: 15rpx;
border-bottom: 3rpx solid #00CCCC;
border-right: 3rpx solid #00CCCC;
transform: rotate(-45deg);
margin-left: 8rpx;
}
}
}
</style>

+ 93
- 0
components/jianghua-card/shop-card.vue View File

@ -0,0 +1,93 @@
<template>
<view class="new-card flex justify-between" @click="seeDetail">
<view class="new-card-l flex flex-column justify-between">
<view class="title">{{item.title}}</view>
<view>原价:{{item.oldPrice}}</view>
<view>{{item.price}}</view>
<view class="price">{{item.intgerPrice}}/积分可兑换</view>
</view>
<view class="new-card-r">
<u--image :showLoading="true" :src="item.image" width="216rpx" height="216rpx"></u--image>
</view>
</view>
</template>
<script>
export default{
props:{
item:{
type:Object,
}
},
data(){
return{
}
},
methods:{
seeDetail(){
this.$emit('seeDetail',this.item)
}
}
}
</script>
<style lang="scss" scoped>
.new-card {
background: #ffffff;
border-radius: 12rpx;
box-shadow: 3rpx 3rpx 6rpx 5rpx rgba(0,0,0,0.16);
overflow: hidden;
padding-bottom: 10rpx;
margin-bottom: 20rpx;
.new-card-l {
font-size: 28rpx;
color: #C8C8C8;
padding: 16rpx 16rpx;
.title {
font-size: 32rpx;
color: #000000;
line-height: 40rpx;
font-weight: 600;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
font-family: SimSun;
}
.titleText{
font-size: 22rpx;
color: #000000;
line-height: 40rpx;
font-weight: 600;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
font-family: SimSun;
}
.price{
font-size: 32rpx;
color: #FF0000;
line-height: 40rpx;
font-weight: 600;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
font-family: SimSun;
}
}
.new-card-r{
uni-image>img {
border-radius: 50%;
margin: 4rpx 4rpx 4rpx 4rpx;
border-top-right-radius: 4rpx;
border-bottom-right-radius: 4rpx;
}
}
}
</style>

+ 68
- 0
components/jianghua-card/xuanchuan-card.vue View File

@ -0,0 +1,68 @@
<template>
<view class="new-card flex justify-between" @click="seeDetail">
<view class="new-card-r">
<u--image :showLoading="true" :src="item.photo" width="256rpx" height="256rpx"></u--image>
</view>
<view class="new-card-l flex flex-column justify-between">
<view class="title">{{item.title}}</view>
<view>{{item.createTime}}</view>
</view>
</view>
</template>
<script>
export default{
props:{
item:{
type:Object,
}
},
data(){
return{
}
},
methods:{
seeDetail(){
this.$emit('seeDetail',this.item)
}
}
}
</script>
<style lang="scss" scoped>
.new-card {
background: #ffffff;
border-radius: 12rpx;
box-shadow: 3rpx 3rpx 6rpx 5rpx rgba(0,0,0,0.16);
overflow: hidden;
padding-bottom: 40rpx;
margin-bottom: 20rpx;
.new-card-l {
font-size: 28rpx;
color: #C8C8C8;
padding: 16rpx 16rpx;
.title {
font-size: 32rpx;
color: #000000;
line-height: 40rpx;
font-weight: 600;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
font-family: SimSun;
}
}
.new-card-r{
uni-image>img {
border-top-right-radius: 2rpx;
border-bottom-right-radius: 2rpx;
}
}
}
</style>

+ 33
- 6
components/new-card/index.vue View File

@ -1,11 +1,13 @@
<template>
<view class="new-card flex justify-between" @click="seeDetail">
<view class="new-card-l flex flex-column justify-between">
<view class="title">{{item.title}}</view>
<view>{{item.createTime}}</view>
<view class="title">{{item.title}}/{{item.payType}}</view>
<view class="titleText">{{item.titleText}}</view>
<view>{{item.address}}</view>
<view class="price">{{item.price}}/</view>
</view>
<view class="new-card-r">
<u--image :showLoading="true" :src="item.photo" width="216rpx" height="216rpx"></u--image>
<u--image :showLoading="true" :src="item.image" width="216rpx" height="216rpx"></u--image>
</view>
</view>
</template>
@ -32,9 +34,12 @@
<style lang="scss" scoped>
.new-card {
//border-bottom: 1px solid #C8C8C8;
margin-bottom: 24rpx;
background-color: #FFFFFF;
background: #ffffff;
border-radius: 12rpx;
box-shadow: 3rpx 3rpx 6rpx 5rpx rgba(0,0,0,0.16);
overflow: hidden;
padding-bottom: 10rpx;
margin-bottom: 20rpx;
.new-card-l {
font-size: 28rpx;
@ -52,6 +57,28 @@
-webkit-line-clamp: 2;
font-family: SimSun;
}
.titleText{
font-size: 22rpx;
color: #000000;
line-height: 40rpx;
font-weight: 600;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
font-family: SimSun;
}
.price{
font-size: 32rpx;
color: #FF0000;
line-height: 40rpx;
font-weight: 600;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
font-family: SimSun;
}
}
.new-card-r{


+ 65
- 0
components/user-card/index-integer.vue View File

@ -0,0 +1,65 @@
<template>
<view class="new-card flex justify-between">
<view style="margin: 10rpx 24rpx; display: flex;">
<image :showLoading="true" :src="item.headImage" style="width: 100rpx;height: 100rpx;border-radius: 50%;"></image>
<view style="padding: 28rpx;">
<view style="font-size: 28rpx;font-weight: 500;color: crimson;" v-if="item.type === '0'">{{item.name}} - {{item.integerVal}}</view>
<view style="font-size: 28rpx;font-weight: 500;color: crimson;" v-if="item.type === '1'">{{item.name}} + {{item.integerVal}}</view>
<view style="font-size: 24rpx;margin-top: 20rpx;">{{item.createTime}}</view>
</view>
</view>
</view>
</template>
<script>
export default{
props:{
item:{
type:Object,
}
},
data(){
return{
}
},
methods:{
getName(str){
if(str.length > 10) {
return str.substr(0,10) + "..."
}
return str
}
}
}
</script>
<style lang="scss" scoped>
.new-card {
margin-bottom: 12rpx;
background-color: #FFFFFF;
.new-card-l {
font-size: 28rpx;
color: #C8C8C8;
padding: 16rpx 16rpx;
.title {
font-size: 32rpx;
color: #000000;
line-height: 40rpx;
font-weight: 600;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
}
.new-card-r{
uni-image>img {
border-radius: 50%;
}
}
}
</style>

+ 65
- 0
components/user-card/index-price.vue View File

@ -0,0 +1,65 @@
<template>
<view class="new-card flex justify-between">
<view style="margin: 10rpx 24rpx; display: flex;">
<image :showLoading="true" :src="item.headImage" style="width: 100rpx;height: 100rpx;border-radius: 50%;"></image>
<view style="padding: 28rpx;">
<view style="font-size: 28rpx;font-weight: 500;color: crimson;" v-if="item.type === '0'">{{item.name}} - {{item.price}}</view>
<view style="font-size: 28rpx;font-weight: 500;color: crimson;" v-if="item.type === '1'">{{item.name}} + {{item.price}}</view>
<view style="font-size: 24rpx;margin-top: 20rpx;">{{item.createTime}}</view>
</view>
</view>
</view>
</template>
<script>
export default{
props:{
item:{
type:Object,
}
},
data(){
return{
}
},
methods:{
getName(str){
if(str.length > 10) {
return str.substr(0,10) + "..."
}
return str
}
}
}
</script>
<style lang="scss" scoped>
.new-card {
margin-bottom: 12rpx;
background-color: #FFFFFF;
.new-card-l {
font-size: 28rpx;
color: #C8C8C8;
padding: 16rpx 16rpx;
.title {
font-size: 32rpx;
color: #000000;
line-height: 40rpx;
font-weight: 600;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
}
.new-card-r{
uni-image>img {
border-radius: 50%;
}
}
}
</style>

+ 54
- 8
pages.json View File

@ -8,19 +8,21 @@
"path": "pages/home/index",
"name": "home",
"style": {
"navigationBarTitleText": "兼兼街"
"navigationBarTitleText": "兼兼街",
"enablePullDownRefresh": true
}
},
{
"path": "pages/car/index",
"path": "pages/jianhua/index",
"style": {
"navigationBarTitleText": "江华信息"
"navigationBarTitleText": "便民江华",
"enablePullDownRefresh": true
}
},
{
"path": "pages/news/index",
"style": {
"navigationBarTitleText": "大学家教",
"navigationBarTitleText": "长沙租房",
"enablePullDownRefresh": true
}
},
@ -42,12 +44,47 @@
"navigationBarTitleText": "详情"
}
},
{
"path": "pages/my/my-order-list",
"style": {
"navigationBarTitleText": "订单列表"
}
},
{
"path": "pages/my/my-address-list",
"style": {
"navigationBarTitleText": "地址信息"
}
},
{
"path": "pages/my/my-addre",
"style": {
"navigationBarTitleText": "增加地址"
}
},
{
"path": "pages/my/list-fensi",
"style": {
"navigationBarTitleText": "我的粉丝"
}
},
{
"path": "pages/my/list-price",
"style": {
"navigationBarTitleText": "我的余额"
}
},
{
"path": "pages/my/list-integer",
"style": {
"navigationBarTitleText": "我的积分"
}
},
{
"path": "pages/my/list-renzhen",
"style": {
@ -129,11 +166,20 @@
},
{
"path": "pages/car/course-detial",
"path": "pages/jianhua/course-detial",
"style": {
"navigationBarTitleText": "信息详情"
}
}
,{
"path" : "components/jianghua-card/xuanchuan-card",
"style" :
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
@ -163,15 +209,15 @@
"text": "最新兼职"
},
{
"pagePath": "pages/car/index",
"pagePath": "pages/jianhua/index",
"iconPath": "static/img/tabbar/icon-new.png",
"selectedIconPath": "static/img/tabbar/icon-new-active.png",
"text": "江华信息"
"text": "便民江华"
}, {
"pagePath": "pages/news/index",
"iconPath": "static/img/tabbar/zxq.png",
"selectedIconPath": "static/img/tabbar/zx.png",
"text": "大学家教"
"text": "长沙租房"
}, {
"pagePath": "pages/my/index",
"iconPath": "static/img/tabbar/icon-my.png",


+ 0
- 269
pages/car/index.vue View File

@ -1,269 +0,0 @@
<template>
<view class="home-pages">
<u-swiper
:list="swpList"
keyName="image"
indicator
height="180"
indicatorActiveColor="#FFFFFF"
indicatorMode="dot"
circular
@click="swpClick"
></u-swiper>
<view style="color: #707070;
font-size: 28rpx;">
</view>
<view class="home-content">
<u-tabs
:list="tabList"
lineWidth="70"
lineHeight="3"
lineColor= "#00CCCC"
:activeStyle="{
color: '#000000',
fontWeight: 'bold',
transform: 'scale(1.35)'
}"
:inactiveStyle="{
color: '#000000',
transform: 'scale(1)'
}"
itemStyle="padding-left: 15px; padding-right: 15px; height: 34px;"
@click="tabClick"
>
</u-tabs>
<scroll-view scroll-y="true" class="scroll-y"
<template v-if="params.labelClass == '-1'">
<card v-for="(item,i) in studyList" :item="item" :key="i" :i="i" @seeDetail="seeDetail"></card>
</template>
<template v-if="params.labelClass == '0'">
<active-card v-for="(item,i) in studyList" :item="item" :key="i" :i="i" @seeDetail="seeDetail"></active-card>
</template>
<template v-if="params.labelClass == '1'">
<activeCardMan v-for="(item,i) in studyList" :item="item" :key="i" :i="i" @seeDetail="seeDetail"></activeCardMan>
</template>
</scroll-view>
</view>
</view>
</template>
<script>
import card from '@/components/active-card/index.vue'
import activeCard from '@/components/active-card/index-car.vue'
import activeCardMan from '@/components/active-card/index-car-man.vue'
export default{
components:{
card,
activeCard,
activeCardMan
},
data(){
return{
list:[
'寒雨连江夜入吴',
'平明送客楚山孤',
'洛阳亲友如相问',
'一片冰心在玉壶'
],
params:{
pageNo:1,
labelClass:'0',
pageSize:10,
total: null,
isLock: true
},
current:0,
studyList:[],
swpList: [
],
tabList: [
{
id:'-1',
name:'招聘信息'
},
{
id:'0',
name:'兑换商城'
},
]
}
},
onLoad() {
this.studyList = [];
this.params.labelClass = "-1";
this.params.pageNo = 1;
this.params.total = null;
this.params.isLock = true;
this.getstudy();
// this.getknowledge();
this.getbannerList()
this.getJobAddressList();
},
// h5
onReady() {
this.$com.displayNav()
},
onPullDownRefresh() {
this.studyList = [];
this.params.pageNo = 1;
this.params.total = null;
this.params.isLock = true;
this.getstudy()
},
onReachBottom() {
if(this.params.isLock){
this.params.isLock = false;
if(this.params.total !== null && this.params.pageNo * this.params.pageSize >= this.params.total){
this.$Toast('没有更多数据了哦!');
setTimeout(()=>{
this.params.isLock = true;
},3000)
return
}
this.params.pageNo+=1;
this.$Toast('数据加载成功!');
this.getstudy();
}
},
methods:{
lower(){
},
getbannerList(){
this.$api('bannerListJiangHua')
.then(res=>{
if(res.code == 200){
this.swpList = res.result
}
})
},
//
getJobAddressList(){
},
getstudy(){//
uni.showLoading()
if(this.params.labelClass == "-1"){
this.$api('JobList',this.params)
.then(res=>{
uni.hideLoading();
if(res.code == 200){
if(this.params.total== null) {
this.params.total = res.result.total
}
if(this.params.pageNo>1){
uni.hideLoading();
}
this.studyList = this.studyList.concat(res.result.records);
this.params.isLock = true;
}else {
if(this.params.pageNo>1){
uni.hideLoading();
}
this.params.isLock = true;
}
})
}else{
this.$api('getJobShopList',this.params)
.then(res=>{
uni.hideLoading();
if(res.code == 200){
if(this.params.total== null) {
this.params.total = res.result.total
}
if(this.params.pageNo>1){
uni.hideLoading();
}
this.studyList = this.studyList.concat(res.result.records);
this.params.isLock = true;
}else {
if(this.params.pageNo>1){
uni.hideLoading();
}
this.params.isLock = true;
}
})
}
},
swpClick(){
},
tabClick(e){
this.params.labelClass = e.id;
this.params.pageNo =1;
this.studyList = [];
this.getstudy();
},
seeDetail(item){//
this.$api('myInfo')
.then(res=>{
if(res.code == 200){
this.role = res.result.role;
this.userInfo = res.result;
this.$store.commit('set_userInfo',res.result)
if(this.params.labelClass=='-1'){
uni.navigateTo({
url:`/pages/home/course-detial?id=${item.id}`
})
}else{
uni.navigateTo({
url:`/pages/car/course-detial?id=${item.id}`
})
}
}else{
this.$Toast('请先登录!')
setTimeout(()=>{
uni.navigateTo({
url:'/pages/my/login-kehu'
})
},1000)
return
this.userInfo = null
}
})
},
}
}
</script>
<style lang="scss" scoped>
.home-pages {
padding: 28rpx 29rpx 0;
background-color: #F7F7F7;
.swiper{
position: relative;
height: calc(100% -7vh);
width: 100%;
height: 1800px;
}
.scroll-Y {
height: calc(300vh - 660rpx);
padding-top: 20rpx;
}
.home-content {
.active-card{
margin-top: 20rpx;;
border-radius: 0;
border: none;
border-style: none;
box-shadow: none;
}
}
}
</style>

+ 9
- 7
pages/home/index.vue View File

@ -4,7 +4,7 @@
:list="swpList"
keyName="image"
indicator
height="220"
height="250"
indicatorActiveColor="#FFFFFF"
indicatorMode="dot"
circular
@ -50,7 +50,7 @@
return{
params:{
pageNo:1,
labelClass:'1616491855729131521',
labelClass:'1636755993901731841',
pageSize:10,
total: null,
isLock: true
@ -80,7 +80,8 @@
this.params.pageNo = 1;
this.params.total = null;
this.params.isLock = true;
this.getstudy()
this.getstudy();
uni.stopPullDownRefresh();
},
onReachBottom() {
if(this.params.isLock){
@ -102,7 +103,7 @@
},
getbannerList(){
this.$api('bannerList')
this.$api('bannerList',{state:'0'})
.then(res=>{
if(res.code == 200){
this.swpList = res.result
@ -118,11 +119,12 @@
})
},
getstudy(){//
if(this.pageNo>1){
uni.showLoading({})
}
uni.showLoading()
this.$api('JobList',this.params)
.then(res=>{
uni.hideLoading();
if(res.code == 200){
if(this.params.total== null) {
this.params.total = res.result.total


+ 33
- 3
pages/home/new-detail.vue View File

@ -1,8 +1,12 @@
<template>
<view class="new-detail">
<view class="title">{{informData.title}}</view>
<view class="title">{{informData.title}}/{{informData.payType}}</view>
<view class="price">{{informData.price}}/</view>
<view class="titleText">{{informData.titleText}}</view>
<view class="time">{{informData.createTime}}</view>
<u-parse :content="informData.context"></u-parse>
<view class="address"> 出租地址: {{informData.address}}</view>
<view class="homeName"> 联系人: {{informData.homeName}} / {{informData.homePhone}}</view>
<u-parse :content="informData.details"></u-parse>
</view>
</template>
@ -23,7 +27,7 @@
methods:{
getinformFindById(id){
uni.showLoading()
this.$api('informFindById',{id})
this.$api('getHouseById',{id})
.then(res=>{
uni.hideLoading()
if(res.code == 200){
@ -44,6 +48,32 @@
color: #000000;
font-weight: 700;
}
.price{
font-size: 34rpx;
color: #FF0000;
margin: 40rpx 0;
}
.titleText{
font-size: 24rpx;
color: #000000;
margin: 40rpx 0;
}
.homePhone{
font-size: 28rpx;
color: #000000;
margin: 40rpx 0;
}
.homeName{
font-size: 28rpx;
color: #000000;
margin: 40rpx 0;
}
.address{
font-size: 22rpx;
color: #000000;
margin: 20rpx 0;
}
.time {
font-size: 22rpx;
color: #C8C8C8;


pages/car/course-detial.vue → pages/jianhua/course-detial.vue View File

@ -45,7 +45,7 @@
@click="getCreteClick">立即购买({{dataInfo.price}})</view>
<view
style="width: 266rpx; height: 72rpx; border: 1rpx solid #00BBFF; background-color: #00BBFF; color: #FFFFFF; line-height: 72rpx;text-align: center;margin: 20rpx 60rpx; margin-left: auto;"
@click="wechatMoments">积分兑换({{dataInfo.intgerPrice}})</view>
@click="getCreteClickJf">积分兑换({{dataInfo.intgerPrice}})</view>
</view>
</view>
<view class="share-box" v-show="shareShow" @click="shareShow=false">
@ -164,22 +164,24 @@
getCreteClick() {
let that = this;
this.$api('carClick', {
newId: this.dataInfo.id
this.$api('createShopOrder', {
id: this.dataInfo.id
})
.then(res => {
// if (res.code == 200) {
// that.erop = true;
// }
if (res.code == 200) {
that.erop = true;
}
if (res.code == 500) {
that.$api('create', {
id: that.dataInfo.id
id: res.result.id
})
.then(res => {
console.log(res)
that.$jweixin.config({
debug: false, // ,apialertpclogpc
appId: 'wxdabccf5a0110cfab', //
appId: 'wx6fb4a17b28186d58', //
timestamp: res.result.timestamp, //
nonceStr: res.result.noncestr, //
signature: res.result.sgture, //
@ -190,7 +192,7 @@
});
that.$jweixin.chooseWXPay({
appId: 'wxdabccf5a0110cfab',
appId: 'wx6fb4a17b28186d58',
timestamp: res.result
.timeStamp, // jssdk 使 timestamp 使 timeStamp S
nonceStr: res.result.nonceStr, // 32
@ -211,7 +213,19 @@
})
},
getCreteClickJf(){
this.$api('createIntegerOrder', {
id: this.dataInfo.id
})
.then(res => {
this.$Toast('购买成功')
setTimeout(() => {
uni.navigateTo({
url: '/pages/my/my-order-list'
})
}, 1000)
})
},

+ 318
- 0
pages/jianhua/index.vue View File

@ -0,0 +1,318 @@
<template>
<view class="home-pages">
<u-swiper
:list="swpList"
keyName="image"
indicator
height="150"
indicatorActiveColor="#FFFFFF"
indicatorMode="dot"
circular
></u-swiper>
<view style="color: #707070;
font-size: 28rpx;">
</view>
<view class="home-content">
<u-tabs
:list="tabList"
lineWidth="70"
lineHeight="3"
lineColor= "#00CCCC"
:activeStyle="{
color: '#000000',
fontWeight: 'bold',
transform: 'scale(1.35)'
}"
:inactiveStyle="{
color: '#000000',
transform: 'scale(1)'
}"
itemStyle="padding-left: 15px; padding-right: 15px; height: 34px;"
@click="tabClick"
>
</u-tabs>
<scroll-view scroll-y="true" class="scroll-Y" @scrolltolower="lower">
<template v-if="current == 0">
<active-card v-for="(item,i) in jobList" :item="item" :key="i" :i="i" @seeDetail="seeDetail"></active-card>
</template>
<template v-if="current == 1">
<new-card v-for="(item,i) in houseList" :key="i" :item="item" @seeDetail="newDetail"></new-card>
</template>
<template v-if="current == 2">
<shopCard v-for="(item,i) in shopList" :key="i" :item="item" @seeDetail="jianHuaNewDetail"></shopCard>
</template>
</scroll-view>
</view>
</view>
</template>
<script>
import newCard from '@/components/new-card/index.vue'
import activeCard from '@/components/active-card/index.vue'
import shopCard from '@/components/jianghua-card/shop-card.vue'
export default{
components:{
activeCard,
newCard,
shopCard
},
data(){
return{
current:0,
swpList:[],
tabList: [
{
id:'1623505640888492033',
name:'江华招聘',
},
{
id:'1685924287505633281',
name:'江华房源',
},
{
id:'1685924287505633281',
name:'积分商城',
}
],
houseList:[],
jobList:[],
shopList:[],
params:{
classId:'1623505640888492033',
pageNo:1,
pageSize:10,
total: null,
isLock: true
},
}
},
onLoad() {
this.getbannerList();
this.getJobList();
},
// h5
onReady() {
this.$com.displayNav()
},
methods:{
seeDetail(item){//
this.$api('myInfo')
.then(res=>{
if(res.code == 200){
this.role = res.result.role;
this.userInfo = res.result;
this.$store.commit('set_userInfo',res.result)
uni.navigateTo({
url:`/pages/home/course-detial?id=${item.id}`
})
}else{
this.$Toast('请先登录!')
setTimeout(()=>{
uni.navigateTo({
url:'/pages/my/login-kehu'
})
},1000)
return
this.userInfo = null
}
})
},
onPullDownRefresh() {
this.houseList=[];
this.jobList=[];
this.shopList=[];
this.params.pageNo = 1;
this.params.total = null;
this.params.isLock = true;
if(this.current == 0){
this.getJobList();
}else if(this.current == 1){
this.getHouseList()
}else{
this.getShopList();
}
uni.stopPullDownRefresh();
},
//
getbannerList(){
this.$api('bannerList',{state:'1'})
.then(res=>{
if(res.code == 200){
this.swpList = res.result
}
})
},
//
getShopList(){
uni.showLoading()
this.$api('getJobShopList',this.params)
.then(res=>{
uni.hideLoading();
if(res.code == 200){
if(this.params.total== null) {
this.params.total = res.result.total
}
if(this.params.pageNo>1){
uni.hideLoading();
}
this.shopList = this.shopList.concat(res.result.records);
this.params.isLock = true;
}else {
if(this.params.pageNo>1){
uni.hideLoading();
}
this.params.isLock = true;
}
})
},
//
getJobList(){
uni.showLoading()
this.$api('JobList',this.params)
.then(res=>{
uni.hideLoading();
if(res.code == 200){
if(this.params.total== null) {
this.params.total = res.result.total
}
if(this.params.pageNo>1){
uni.hideLoading();
}
this.jobList = this.jobList.concat(res.result.records);
this.params.isLock = true;
}else {
if(this.params.pageNo>1){
uni.hideLoading();
}
this.params.isLock = true;
}
})
},
//
getHouseList(){
uni.showLoading()
this.$api('getHouseList',this.params)
.then(res=>{
uni.hideLoading()
if(res.code == 200){
if(this.params.total== null) {
this.params.total = res.result.total
}
if(this.params.pageNo>1){
uni.hideLoading();
}
this.houseList = this.houseList.concat(res.result.records);
this.params.isLock = true;
}else {
if(this.params.pageNo>1){
uni.hideLoading();
}
this.params.isLock = true;
}
})
},
//
tabClick(e){
this.params.classId=e.id;
this.houseList=[];
this.jobList=[];
this.shopList=[];
this.current = e.index;
this.params.pageNo = 1;
if(this.current == 0){
this.getJobList();
}else if(this.current == 1){
this.getHouseList()
}else{
this.getShopList();
}
},
jianHuaNewDetail(item){
this.$api('myInfo')
.then(res=>{
if(res.code == 200){
this.role = res.result.role;
this.userInfo = res.result;
this.$store.commit('set_userInfo',res.result)
//
uni.navigateTo({
url:`/pages/jianhua/course-detial?id=${item.id}`
})
}else{
this.$Toast('请先登录!')
setTimeout(()=>{
uni.navigateTo({
url:'/pages/my/login-kehu'
})
},1000)
return
this.userInfo = null
}
})
},
//
newDetail(item){
this.$api('myInfo')
.then(res=>{
if(res.code == 200){
this.role = res.result.role;
this.userInfo = res.result;
this.$store.commit('set_userInfo',res.result)
//
if(this.userInfo.isPay == 1){
uni.navigateTo({
url:`/pages/home/new-detail?id=${item.id}`
})
}else{
this.$Toast("开通会员即可查看")
//
setTimeout(()=>{ //
uni.navigateTo({
url:'/pages/my/list-renzhen'
})
},2000);
}
}else{
this.$Toast('请先登录!')
setTimeout(()=>{
uni.navigateTo({
url:'/pages/my/login-kehu'
})
},1000)
return
this.userInfo = null
}
})
},
lower(){
if(this.params.pageNo >= this.pages) return;
this.params.pageNo ++;
this.getHouseList();
},
}
}
</script>
<style lang="scss" scoped>
.home-pages {
padding: 18rpx 29rpx 0;
background-color: #F7F7F7;
.scroll-Y {
height: calc(100vh - 210rpx);
padding-top: 20rpx;
}
}
</style>

+ 39
- 11
pages/my/index.vue View File

@ -1,11 +1,11 @@
<template>
<view class="my-pages">
<view class="temps-box">
<view class="head-mode" @click="toLogin">
<u--image shape="circle" :src="userInfo?userInfo.headImage : morenSrc" width="149rpx" height="149rpx" ></u--image>
<view class="head-name">{{userInfo?userInfo.nickName : '未登录'}}</view>
<view> {{userInfo?'余额:'+userInfo.price : ''}}</view>
<view>{{userInfo?'积分:'+userInfo.integerPrice : ''}}</view>
<view class="head-mode" >
<u--image shape="circle" :src="userInfo?userInfo.headImage : morenSrc" width="149rpx" height="149rpx" @click="toLogin"></u--image>
<view class="head-name" @click="toLogin">{{userInfo?userInfo.nickName : '未登录'}}</view>
<!-- <view @click="toPrice"> {{userInfo?'余额:'+userInfo.price : ''}}</view> -->
<view class="head-name" @click="toInteger">{{userInfo?'积分:'+userInfo.integerPrice : ''}}</view>
</view>
<view class="btns">
<view class="btns-context" v-for="(item,i) in cellList" :key="i" @click="toUrl(item.pages,item.name)">
@ -50,17 +50,34 @@
},
{
name:'我要发布',
src:require('@/static/img/tabbar/fabu-xuan.png'),
src:require('@/static/img/tabbar/add.png'),
role:'0',
pages:'/pages/my/my-fabujianzhi'
},
{
name:'发布信息',
src:require('@/static/img/tabbar/fabu-xuan.png'),
src:require('@/static/img/tabbar/xinxi.png'),
role:'0',
pages:'/pages/my/my-fabujianzhi-list'
},
{
name:'订单列表',
src:require('@/static/img/tabbar/order.png'),
role:'0',
pages:'/pages/my/my-order-list'
},
{
name:'地址列表',
src:require('@/static/img/tabbar/address.png'),
role:'0',
pages:'/pages/my/my-address-list'
},
{
name:'增加地址',
src:require('@/static/img/tabbar/fabu-xuan.png'),
role:'0',
pages:'/pages/my/my-addre'
}
]
}
@ -112,6 +129,17 @@
}
})
},
toPrice(){
uni.navigateTo({
url:'/pages/my/list-price'
})
},
toInteger(){
uni.navigateTo({
url:'/pages/my/list-integer'
})
},
toUrl(url,name){
this.$api('myInfo')
@ -194,7 +222,7 @@
.kefu-box {
position: absolute;
bottom: 50rpx;
bottom: 1px;
.kefu{
width: 100vw;
@ -217,8 +245,8 @@
color: #5E5E5E;
}
.image-img {
width: 147rpx;
height: 147rpx;
width: 130rpx;
height: 130rpx;
}
}


+ 216
- 0
pages/my/list-integer.vue View File

@ -0,0 +1,216 @@
<template>
<view>
<view class="home-pages">
<view style="position: absolute;top: 0; left: 0; height: 188rpx; width: 100%; z-index: 100; background-color: #FFFFFF; box-shadow: 0px 15px 10px -15px #E8E8E8;">
<view style="margin: 28rpx 24rpx; display: flex;">
<image :showLoading="true" :src="userInfo?userInfo.headImage : ''" style="width: 148rpx;height: 148rpx;border-radius: 50%;"></image>
<view style="padding: 28rpx;">
<view style="font-size: 32rpx;font-weight: 600">{{userInfo?userInfo.nickName : '点击登录'}}</view>
<view style="font-size: 30rpx;margin-top: 20rpx;">积分余额{{userInfo.integerPrice}}</view>
</view>
</view>
</view>
<view class="home-content">
<user-card v-for="(item,i) in informationList" :key="i" :item="item"></user-card>
</view>
</view>
</view>
</template>
<script>
import userCard from '@/components/user-card/index-integer.vue'
export default{
components:{
userCard
},
data(){
return{
userInfo:{
integerPrice:0.00
},
current:1,
activiteList:[],
informationList:[],
params:{
pageNo:1,
pageSize:10,
total: null,
isLock: true
},
}
},
onShow() {
this.getmyInfo()
},
onLoad() {
this.getinformation()
// if(this.current == 0){
// this.getActivity();
// }else{
// this.getinformation()
// }
},
onPullDownRefresh() {
this.activiteList = [];
this.params.pageNo = 1;
this.params.total = null;
this.params.isLock = true;
this.getinformation()
},
onReachBottom() {
if(this.params.isLock){
this.params.isLock = false;
if(this.params.total !== null && this.params.pageNo * this.params.pageSize >= this.params.total){
this.$Toast('没有更多数据!');
setTimeout(()=>{
this.params.isLock = true;
},3000)
return
}
this.params.pageNo+=1;
this.$Toast('数据加载成功!');
this.getinformation()
}
},
onPullDownRefresh() {
this.params.pageNo = 1;
this.getinformation()
// if(this.current == 0){
// this.getActivity();
// }else{
// this.getinformation()
// }
},
// h5
onReady() {
this.$com.displayNav()
},
methods:{
getmyInfo(){
this.$api('myInfo')
.then(res=>{
if(res.code == 200){
this.role = res.result.role;
this.userInfo = res.result;
this.$store.commit('set_userInfo',res.result)
}else{
this.userInfo = null
}
})
},
// tabClick(e){
// this.current = e.index;
// this.params.pageNo = 1;
// if(this.current == 0){
// this.getActivity(2);
// }else{
// this.getinformation(2)
// }
// },
// getActivity(type){
// uni.showLoading()
// this.$api('activity',this.params)
// .then(res=>{
// uni.hideLoading()
// if(res.code == 200){
// if(this.params.total== null) {
// this.params.total = res.result.total
// }
// if(this.params.pageNo>1){
// uni.hideLoading();
// }
// this.pages = this.pages.concat(res.result.pages);
// this.params.isLock = true;
// }else {
// if(this.params.pageNo>1){
// uni.hideLoading();
// }
// this.params.isLock = true;
// }
// })
// },
getinformation(type){
uni.showLoading()
this.$api('getIntegerList',this.params)
.then(res=>{
uni.hideLoading()
if(res.code == 200){
if(this.params.total== null) {
this.params.total = res.result.total
}
if(this.params.pageNo>1){
uni.hideLoading();
}
this.informationList = this.informationList.concat(res.result.records);
this.params.isLock = true;
}else {
if(this.params.pageNo>1){
uni.hideLoading();
}
this.params.isLock = true;
}
})
// uni.showLoading()
// this.$api('getFans',this.params)
// .then(res=>{
// uni.hideLoading()
// if(res.code == 200){
// this.pages = res.result.pages;
// if(type == 2){
// this.informationList = [...this.informationList,...res.result.records];
// }else{
// this.informationList = res.result.records;
// uni.stopPullDownRefresh();
// }
// }
// })
},
seeDetail(item){//
uni.navigateTo({
url:`/pages/home/course-detial?id=${item.id}`
})
},
newDetail(item){//
uni.navigateTo({
url:`/pages/home/new-detail?id=${item.id}`
})
},
lower(){
if(this.params.pageNo >= this.pages) return;
this.params.pageNo ++;
if(this.current == 0){
this.getActivity(2);
}else{
this.getinformation(2)
}
},
}
}
</script>
<style lang="scss" scoped>
.home-content {
margin-top: 20rpx;
}
.home-pages {
padding: 188rpx 29rpx 0;
background-color: #F7F7F7;
.scroll-Y {
height: calc(100vh - 200rpx);
padding-top: 20rpx;
}
}
</style>

+ 216
- 0
pages/my/list-price.vue View File

@ -0,0 +1,216 @@
<template>
<view>
<view class="home-pages">
<view style="position: absolute;top: 0; left: 0; height: 188rpx; width: 100%; z-index: 100; background-color: #FFFFFF; box-shadow: 0px 15px 10px -15px #E8E8E8;">
<view style="margin: 28rpx 24rpx; display: flex;">
<image :showLoading="true" :src="userInfo?userInfo.headImage : ''" style="width: 148rpx;height: 148rpx;border-radius: 50%;"></image>
<view style="padding: 28rpx;">
<view style="font-size: 32rpx;font-weight: 600">{{userInfo?userInfo.nickName : '点击登录'}}</view>
<view style="font-size: 30rpx;margin-top: 20rpx;">我的余额{{userInfo.price}}</view>
</view>
</view>
</view>
<view class="home-content">
<user-card v-for="(item,i) in informationList" :key="i" :item="item"></user-card>
</view>
</view>
</view>
</template>
<script>
import userCard from '@/components/user-card/index-price.vue'
export default{
components:{
userCard
},
data(){
return{
userInfo:{
price:0.00
},
current:1,
activiteList:[],
informationList:[],
params:{
pageNo:1,
pageSize:10,
total: null,
isLock: true
},
}
},
onShow() {
this.getmyInfo()
},
onLoad() {
this.getinformation()
// if(this.current == 0){
// this.getActivity();
// }else{
// this.getinformation()
// }
},
onPullDownRefresh() {
this.activiteList = [];
this.params.pageNo = 1;
this.params.total = null;
this.params.isLock = true;
this.getinformation()
},
onReachBottom() {
if(this.params.isLock){
this.params.isLock = false;
if(this.params.total !== null && this.params.pageNo * this.params.pageSize >= this.params.total){
this.$Toast('没有更多数据!');
setTimeout(()=>{
this.params.isLock = true;
},3000)
return
}
this.params.pageNo+=1;
this.$Toast('数据加载成功!');
this.getinformation()
}
},
onPullDownRefresh() {
this.params.pageNo = 1;
this.getinformation()
// if(this.current == 0){
// this.getActivity();
// }else{
// this.getinformation()
// }
},
// h5
onReady() {
this.$com.displayNav()
},
methods:{
getmyInfo(){
this.$api('myInfo')
.then(res=>{
if(res.code == 200){
this.role = res.result.role;
this.userInfo = res.result;
this.$store.commit('set_userInfo',res.result)
}else{
this.userInfo = null
}
})
},
// tabClick(e){
// this.current = e.index;
// this.params.pageNo = 1;
// if(this.current == 0){
// this.getActivity(2);
// }else{
// this.getinformation(2)
// }
// },
// getActivity(type){
// uni.showLoading()
// this.$api('activity',this.params)
// .then(res=>{
// uni.hideLoading()
// if(res.code == 200){
// if(this.params.total== null) {
// this.params.total = res.result.total
// }
// if(this.params.pageNo>1){
// uni.hideLoading();
// }
// this.pages = this.pages.concat(res.result.pages);
// this.params.isLock = true;
// }else {
// if(this.params.pageNo>1){
// uni.hideLoading();
// }
// this.params.isLock = true;
// }
// })
// },
getinformation(type){
uni.showLoading()
this.$api('getPriceList',this.params)
.then(res=>{
uni.hideLoading();
if(res.code == 200){
if(this.params.total== null) {
this.params.total = res.result.total
}
if(this.params.pageNo>1){
uni.hideLoading();
}
this.informationList = this.informationList.concat(res.result.records);
this.params.isLock = true;
}else {
if(this.params.pageNo>1){
uni.hideLoading();
}
this.params.isLock = true;
}
})
// uni.showLoading()
// this.$api('getFans',this.params)
// .then(res=>{
// uni.hideLoading()
// if(res.code == 200){
// this.pages = res.result.pages;
// if(type == 2){
// this.informationList = [...this.informationList,...res.result.records];
// }else{
// this.informationList = res.result.records;
// uni.stopPullDownRefresh();
// }
// }
// })
},
seeDetail(item){//
uni.navigateTo({
url:`/pages/home/course-detial?id=${item.id}`
})
},
newDetail(item){//
uni.navigateTo({
url:`/pages/home/new-detail?id=${item.id}`
})
},
lower(){
if(this.params.pageNo >= this.pages) return;
this.params.pageNo ++;
if(this.current == 0){
this.getActivity(2);
}else{
this.getinformation(2)
}
},
}
}
</script>
<style lang="scss" scoped>
.home-content {
margin-top: 20rpx;
}
.home-pages {
padding: 188rpx 29rpx 0;
background-color: #F7F7F7;
.scroll-Y {
height: calc(100vh - 200rpx);
padding-top: 20rpx;
}
}
</style>

+ 2
- 2
pages/my/login-kehu.vue View File

@ -72,8 +72,8 @@
})
},
logionClick(){
let actoken ="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2OTAxNzI3NjAsInVzZXJuYW1lIjoib2ROdHc2dEJVNmMxenlnU1lmb2d4ZWdTX2xxbyJ9.btUCZf5Jhx6XZIDLqI8TVTa00edZ989sxzNXe0V0eiw";
this.$store.commit('set_userToken', actoken);
let actoken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2OTA4NjAxNjgsInVzZXJuYW1lIjoib2ROdHc2dEJVNmMxenlnU1lmb2d4ZWdTX2xxbyJ9.OfGbI5WQJYA_wMUUz-BlGHunkLTO0aNoTyOgEdyt8UQ";
this.$store.commit('set_userToken',actoken);
uni.switchTab({
url:'/pages/my/index'
})


+ 157
- 0
pages/my/my-addre.vue View File

@ -0,0 +1,157 @@
<template>
<view>
<view class="from">
<view class="from-line">
<span class="label-class">姓名:</span>
<view><input v-model="release.name" placeholder="请输入姓名"/></view>
</view>
<view class="from-line">
<span class="label-class">电话:</span>
<view><input v-model="release.phone" placeholder="请输入电话"/></view>
</view>
<view class="from-line">
<span class="label-class">地址:</span>
<view><input v-model="release.region" placeholder="请输入地址信息"/></view>
</view>
<view class="from-line">
<span class="label-class">详细地址:</span>
<view><input v-model="release.detailAddress" placeholder="请输入地址详情"/></view>
</view>
</view>
<view class="pay-btn" @click="fabujianzhi()">
提交地址信息
</view>
</view>
</template>
<script>
import userCard from '@/components/user-card/index.vue'
export default{
components:{
userCard
},
data(){
return{
release:{
name:"",
phone:"",
region:"",
detailAddress:"",
}
}
},
onShow() {
this.getmyInfo()
},
onLoad() {
},
onReady() {
this.$com.displayNav()
},
methods:{
getmyInfo(){
this.$api('myInfo')
.then(res=>{
if(res.code == 200){
this.role = res.result.role;
this.userInfo = res.result;
this.$store.commit('set_userInfo',res.result)
}else{
this.userInfo = null
}
})
},
fabujianzhi(){
let that = this;
if(that.release.name == ''){
this.$Toast("姓名不能为空");
return
}
if(that.release.phone == null){
this.$Toast("电话不能为空")
return
}
if(that.release.region == ''){
this.$Toast("地址不能为空")
return
}
if(that.release.detailAddress == null){
this.$Toast("地址详情不能为空")
return
}
let params = {
name:that.release.name,
phone:that.release.phone,
region:that.release.region,
detailAddress:that.release.detailAddress,
}
that.$api('saveOrUpdateAddress',params).then(res=>{
this.$Toast(res.message);
setTimeout(()=>{
uni.navigateTo({
url:'/pages/my/my-address-list'
})
},1500)
});
},
}
}
</script>
<style lang="scss" scoped>
.from {
margin-top: 20rpx;
}
.from-line {
height: 138rpx;
display: flex;
.label-class{
text-align: justify;
text-align-last: justify;
line-height: 128rpx;
width: 128rpx;
padding: 0 24rpx;
}
input{
padding-left: 10rpx;
height: 128rpx;
line-height: 128rpx;
}
}
.from-line-box {
height: 328rpx;
margin-right: 50rpx;
display: flex;
.label-class{
text-align: justify;
text-align-last: justify;
line-height: 128rpx;
width: 128rpx;
padding: 0 24rpx;
}
input{
padding-left: 20rpx;
height: 228rpx;
line-height: 128rpx;
}
}
.pay-btn{
margin:190rpx auto;
width: 387rpx;
text-align: center;
border-radius: 12rpx;
height: 78rpx;
line-height: 78rpx;
background-color: #00CCCC;
color: #FFFFFF;
}
</style>

+ 160
- 0
pages/my/my-address-list.vue View File

@ -0,0 +1,160 @@
<template>
<view class="home-pages">
<view style="color: #707070;
font-size: 28rpx;">
</view>
<view class="home-content">
<u-tabs
:list="tabList"
lineWidth="70"
lineHeight="3"
lineColor= "#00CCCC"
:activeStyle="{
color: '#000000',
fontWeight: 'bold',
transform: 'scale(1.35)'
}"
:inactiveStyle="{
color: '#000000',
transform: 'scale(1)'
}"
itemStyle="padding-left: 15px; padding-right: 15px; height: 34px;"
@click="tabClick"
>
</u-tabs>
<scroll-view scroll-y="true" class="scroll-y"
<card v-for="(item,i) in studyList" :item="item" :key="i" :i="i" @seeDetail="seeDetail"></card>
</scroll-view>
</view>
</view>
</template>
<script>
import card from '@/components/active-card/address-list.vue'
export default{
components:{
card,
},
data(){
return{
params:{
pageNo:1,
labelClass:'0',
pageSize:10,
total: null,
isLock: true
},
current:0,
studyList:[],
tabList: [
{
id:'0',
name:'地址信息'
},
]
}
},
onLoad() {
this.studyList = [];
this.params.labelClass = "0";
this.params.pageNo = 1;
this.params.total = null;
this.params.isLock = true;
this.queryPageListJobRelease();
},
// h5
onReady() {
this.$com.displayNav()
},
onPullDownRefresh() {
this.studyList = [];
this.params.pageNo = 1;
this.params.total = null;
this.params.isLock = true;
this.queryPageListJobRelease()
},
onReachBottom() {
if(this.params.isLock){
this.params.isLock = false;
if(this.params.total !== null && this.params.pageNo * this.params.pageSize >= this.params.total){
this.$Toast('没有更多数据了哦!');
setTimeout(()=>{
this.params.isLock = true;
},3000)
return
}
this.params.pageNo+=1;
this.$Toast('数据加载成功!');
this.queryPageListJobRelease();
}
},
methods:{
queryPageListJobRelease(){//
if(this.pageNo>1){
uni.showLoading({})
}
this.$api('getAddressList',this.params)
.then(res=>{
if(res.code == 200){
if(this.params.total== null) {
this.params.total = res.result.total
}
if(this.params.pageNo>1){
uni.hideLoading();
}
this.studyList = this.studyList.concat(res.result.records);
this.params.isLock = true;
}else {
if(this.params.pageNo>1){
uni.hideLoading();
}
this.params.isLock = true;
}
})
},
tabClick(e){
this.params.labelClass = e.id;
this.params.pageNo =1;
this.studyList = [];
this.queryPageListJobRelease();
},
}
}
</script>
<style lang="scss" scoped>
.home-pages {
padding: 28rpx 29rpx 0;
background-color: #F7F7F7;
.swiper{
position: relative;
height: calc(100% -7vh);
width: 100%;
height: 1800px;
}
.scroll-Y {
height: calc(300vh - 660rpx);
padding-top: 20rpx;
}
.home-content {
.active-card{
margin-top: 20rpx;;
border-radius: 0;
border: none;
border-style: none;
box-shadow: none;
}
}
}
</style>

+ 172
- 0
pages/my/my-order-list.vue View File

@ -0,0 +1,172 @@
<template>
<view class="home-pages">
<view style="color: #707070;
font-size: 28rpx;">
</view>
<view class="home-content">
<u-tabs
:list="tabList"
lineWidth="70"
lineHeight="3"
lineColor= "#00CCCC"
:activeStyle="{
color: '#000000',
fontWeight: 'bold',
transform: 'scale(1.35)'
}"
:inactiveStyle="{
color: '#000000',
transform: 'scale(1)'
}"
itemStyle="padding-left: 15px; padding-right: 15px; height: 34px;"
@click="tabClick"
>
</u-tabs>
<scroll-view scroll-y="true" class="scroll-y"
<card v-for="(item,i) in studyList" :item="item" :key="i" :i="i" @seeDetail="seeDetail"></card>
</scroll-view>
</view>
</view>
</template>
<script>
import card from '@/components/active-card/order-list.vue'
export default{
components:{
card,
},
data(){
return{
params:{
pageNo:1,
state:'0',
pageSize:10,
total: null,
isLock: true
},
current:0,
studyList:[],
tabList: [
{
id:'0',
name:'未支付'
},
{
id:'1',
name:'已支付'
},
{
id:'2',
name:'已发货'
},
{
id:'3',
name:'已收货'
}
]
}
},
onLoad() {
this.studyList = [];
this.params.state = "0";
this.params.pageNo = 1;
this.params.total = null;
this.params.isLock = true;
this.queryPageListJobRelease();
},
// h5
onReady() {
this.$com.displayNav()
},
onPullDownRefresh() {
this.studyList = [];
this.params.pageNo = 1;
this.params.total = null;
this.params.isLock = true;
this.queryPageListJobRelease()
},
onReachBottom() {
if(this.params.isLock){
this.params.isLock = false;
if(this.params.total !== null && this.params.pageNo * this.params.pageSize >= this.params.total){
this.$Toast('没有更多数据了哦!');
setTimeout(()=>{
this.params.isLock = true;
},3000)
return
}
this.params.pageNo+=1;
this.$Toast('数据加载成功!');
this.queryPageListJobRelease();
}
},
methods:{
queryPageListJobRelease(){//
if(this.pageNo>1){
uni.showLoading({})
}
this.$api('getOrderList',this.params)
.then(res=>{
if(res.code == 200){
if(this.params.total== null) {
this.params.total = res.result.total
}
if(this.params.pageNo>1){
uni.hideLoading();
}
this.studyList = this.studyList.concat(res.result.records);
this.params.isLock = true;
}else {
if(this.params.pageNo>1){
uni.hideLoading();
}
this.params.isLock = true;
}
})
},
tabClick(e){
this.params.state = e.id;
this.params.pageNo =1;
this.studyList = [];
this.queryPageListJobRelease();
},
}
}
</script>
<style lang="scss" scoped>
.home-pages {
padding: 28rpx 29rpx 0;
background-color: #F7F7F7;
.swiper{
position: relative;
height: calc(100% -7vh);
width: 100%;
height: 1800px;
}
.scroll-Y {
height: calc(300vh - 660rpx);
padding-top: 20rpx;
}
.home-content {
.active-card{
margin-top: 20rpx;;
border-radius: 0;
border: none;
border-style: none;
box-shadow: none;
}
}
}
</style>

+ 101
- 101
pages/news/index.vue View File

@ -1,6 +1,17 @@
<template>
<view class="home-pages">
<u-swiper
:list="swpList"
keyName="image"
indicator
height="150"
indicatorActiveColor="#FFFFFF"
indicatorMode="dot"
circular
></u-swiper>
<view style="color: #707070;
font-size: 28rpx;">
</view>
<view class="home-content">
<u-tabs
:list="tabList"
@ -21,11 +32,8 @@
>
</u-tabs>
<scroll-view scroll-y="true" class="scroll-Y" @scrolltolower="lower">
<template v-if="current == 0">
<active-card v-for="(item,i) in studyList" :item="item" :key="i" :i="i" @seeDetail="seeDetail"></active-card>
</template>
<template v-if="current == 1">
<new-card v-for="(item,i) in informationList" :key="i" :item="item" @seeDetail="newDetail"></new-card>
<template >
<new-card v-for="(item,i) in houseList" :key="i" :item="item" @seeDetail="newDetail"></new-card>
</template>
</scroll-view>
</view>
@ -33,28 +41,19 @@
</template>
<script>
import activeCard from '@/components/active-card/index.vue'
import newCard from '@/components/new-card/index.vue'
export default{
components:{
activeCard,
newCard
},
data(){
return{
current:0,
studyList:[],
activiteList:[],
informationList:[],
tabList: [
{
name: '家教街'
},
{
name: '校园墙'
}
],
swpList:[],
tabList: [],
houseList:[],
params:{
classId:'1616491855729131521',//
pageNo:1,
pageSize:10,
total: null,
@ -63,112 +62,113 @@
}
},
onLoad() {
if(this.current == 0){
this.getActivity();
}else{
this.getinformation()
}
},
onPullDownRefresh() {
this.activiteList = [];
this.params.pageNo = 1;
this.params.total = null;
this.params.isLock = true;
this.getActivity();
},
onReachBottom() {
if(this.params.isLock){
this.params.isLock = false;
if(this.params.total !== null && this.params.pageNo * this.params.pageSize >= this.params.total){
this.$Toast('没有更多数据!');
setTimeout(()=>{
this.params.isLock = true;
},3000)
return
}
this.params.pageNo+=1;
this.$Toast('数据加载成功!');
this.getActivity();
}
},
onPullDownRefresh() {
this.params.pageNo = 1;
if(this.current == 0){
this.getActivity();
}else{
this.getinformation()
}
this.getbannerList();
this.getHouseClassList();
this.getHouseList();
},
// h5
onReady() {
this.$com.displayNav()
},
methods:{
tabClick(e){
this.current = e.index;
this.params.pageNo = 1;
if(this.current == 0){
this.getActivity(2);
}else{
this.getinformation(2)
}
onPullDownRefresh() {
// TODO:
this.houseList=[];
this.getHouseList();
uni.stopPullDownRefresh();
},
getActivity(type){
uni.showLoading()
this.$api('JobList',this.params)
//
getbannerList(){
this.$api('bannerList',{state:'2'})
.then(res=>{
uni.hideLoading()
if(res.code == 200){
if(this.params.total== null) {
this.params.total = res.result.total
}
if(this.params.pageNo>1){
uni.hideLoading();
}
this.studyList = this.studyList.concat(res.result.records);
this.params.isLock = true;
}else {
if(this.params.pageNo>1){
uni.hideLoading();
}
this.params.isLock = true;
}
this.swpList = res.result
}
})
},
getinformation(type){
//
getHouseClassList(){
this.$api('getHouseClassList',{state:"0"})
.then(res=>{
if(res.code == 200){
this.tabList = res.result
}
})
},
//
getHouseList(){
uni.showLoading()
this.$api('information',this.params)
this.$api('getHouseList',this.params)
.then(res=>{
uni.hideLoading()
if(res.code == 200){
this.pages = res.result.pages;
if(type == 2){
this.informationList = [...this.informationList,...res.result.records];
}else{
this.informationList = res.result.records;
uni.stopPullDownRefresh();
if(this.params.total== null) {
this.params.total = res.result.total
}
}
if(this.params.pageNo>1){
uni.hideLoading();
}
this.houseList = this.houseList.concat(res.result.records);
this.params.isLock = true;
}else {
if(this.params.pageNo>1){
uni.hideLoading();
}
this.params.isLock = true;
}
})
},
seeDetail(item){//
uni.navigateTo({
url:`/pages/home/course-detial?id=${item.id}`
})
//
tabClick(e){
this.params.classId=e.id;
this.houseList=[];
this.current = e.index;
this.params.pageNo = 1;
this.getHouseList()
},
newDetail(item){//
uni.navigateTo({
url:`/pages/home/new-detail?id=${item.id}`
//
newDetail(item){
this.$api('myInfo')
.then(res=>{
if(res.code == 200){
this.role = res.result.role;
this.userInfo = res.result;
this.$store.commit('set_userInfo',res.result)
//
if(this.userInfo.isPay == 1){
uni.navigateTo({
url:`/pages/home/new-detail?id=${item.id}`
})
}else{
this.$Toast("开通会员即可查看")
//
setTimeout(()=>{ //
uni.navigateTo({
url:'/pages/my/list-renzhen'
})
},2000);
}
}else{
this.$Toast('请先登录!')
setTimeout(()=>{
uni.navigateTo({
url:'/pages/my/login-kehu'
})
},1000)
return
this.userInfo = null
}
})
},
lower(){
if(this.params.pageNo >= this.pages) return;
this.params.pageNo ++;
if(this.current == 0){
this.getActivity(2);
}else{
this.getinformation(2)
}
this.getHouseList()
},
}
}


+ 32
- 13
request/shopro.js View File

@ -42,8 +42,8 @@ export default {
information: {url:'/job-dev/binYuan/index/information',auth:false,method:'GET'},
//banner
bannerList: {url:'/job-dev/binYuan/index/bannerList',auth:false,method:'GET'},
//获取江华banner
bannerListJiangHua: {url:'/job-dev/binYuan/index/bannerListJiangHua',auth:false,method:'GET'},
//添加报名信息
saveEnroll: {url:'/job-dev/binYuan/index/saveEnroll',auth:false,method:'POST'},
//协议
@ -58,34 +58,53 @@ export default {
contactAdd: {url:'/job-dev/binYuan/my/contactAdd',auth:false,method:'GET'},
//用户-微信公众号授权登录
wxLogin: {url:'/job-dev/binYuan/login/wxLogin',auth:false,method:'POST'},
//微信支付
create: {url:'/job-dev/job/pay/create',auth:false,method:'GET'},
//creteFenxian
//创建分享
creteFenxian: {url:'/job-dev/binYuan/pay/creteFenXian',auth:false,method:'POST'},
//
//查询粉丝列表
getFans: {url:'/job-dev/job/index/fans',auth:false,method:'GET'},
//创建点击记录兼职点击记录
creteClick: {url:'/job-dev/job/index/click',auth:false,method:'GET'},
//创建汽车点击记录
carClick: {url:'/job-dev/job/index/carClick',auth:false,method:'GET'},
//得到车找人列表
getCarList: {url:'/job-dev/job/index/carList',auth:false,method:'GET'},
//得到车找人信息详情
getCarById: {url:'/job-dev/job/index/carById',auth:false,method:'GET'},
//获取发布信息列表
queryPageListJobRelease: {url:'/job-dev/binYuan/index/jobReleaseList',auth:false,method:'GET'},
//增加发布信息
saveJobRelease: {url:'/job-dev/binYuan/index/saveJobRelease',auth:false,method:'POST'},
//修改发布信息
editJobRelease: {url:'/job-dev/binYuan/index/editJobRelease',auth:false,method:'POST'},
//获取商城商品信息
getJobShopList: {url:'/job-dev/job/shop/getShopList',auth:false,method:'GET'},
//获取商品详情信息
getShopDetailsById: {url:'/job-dev/job/shop/getShopDetailsById',auth:false,method:'GET'},
//创建订单
createShopOrder: {url:'/job-dev/job/shop/createShopOrder',auth:false,method:'GET'},
//创建积分订单
createIntegerOrder: {url:'/job-dev/job/shop/createIntegerOrder',auth:false,method:'GET'},
//获取订单信息
getOrderList: {url:'/job-dev/job/shop/getOrderList',auth:true,method:'GET'},
//获取地址列表信息
getAddressList: {url:'/job-dev/job/shop/getAddressList',auth:true,method:'GET'},
//新增或者修改地址
saveOrUpdateAddress: {url:'/job-dev/job/shop/saveOrUpdateAddress',auth:true,method:'POST'},
//获取积分信息列表
getIntegerList: {url:'/job-dev/job/shop/getIntegerList',auth:true,method:'GET'},
//获取余额信息列表
getPriceList: {url:'/job-dev/job/shop/getPriceList',auth:true,method:'GET'},
//获取租房分类列表
getHouseClassList: {url:'/job-dev/job/shop/getHouseClassList',auth:true,method:'GET'},
//获取租房信息列表
getHouseList: {url:'/job-dev/job/shop/getHouseList',auth:true,method:'GET'},
//获取租房详情信息
getHouseById: {url:'/job-dev/job/shop/getHouseById',auth:true,method:'GET'},
//获取家乡风景
getJiangHuaList: {url:'/job-dev/job/shop/getJiangHuaList',auth:true,method:'GET'},
//获取家乡风景详情
getJiangHuaById: {url:'/job-dev/job/shop/getJiangHuaById',auth:true,method:'GET'},
};

BIN
static/img/tabbar/add.png View File

Before After
Width: 200  |  Height: 200  |  Size: 4.0 KiB

BIN
static/img/tabbar/address.png View File

Before After
Width: 200  |  Height: 200  |  Size: 9.1 KiB

BIN
static/img/tabbar/order.png View File

Before After
Width: 200  |  Height: 200  |  Size: 8.6 KiB

BIN
static/img/tabbar/xinxi.png View File

Before After
Width: 200  |  Height: 200  |  Size: 3.4 KiB

Loading…
Cancel
Save