Browse Source

上传

master
前端-胡立永 4 months ago
parent
commit
ff99761dbf
14 changed files with 1089 additions and 103 deletions
  1. +24
    -0
      api/api.js
  2. +0
    -1
      components/list/dynamic/dynamicItem.vue
  3. +5
    -2
      components/user/sharePopup.vue
  4. +1
    -1
      config.js
  5. +3
    -0
      pages.json
  6. +61
    -10
      pages/index/center.vue
  7. +12
    -0
      pages/index/index.vue
  8. +2
    -1
      pages_order/auth/wxUserInfo.vue
  9. +325
    -0
      pages_order/components/screen/screenRen.vue
  10. +17
    -9
      pages_order/mine/fans.vue
  11. +279
    -0
      pages_order/mine/promotion.vue
  12. +332
    -77
      pages_order/post/postDetail.vue
  13. +20
    -0
      pages_order/renting/rentingList.vue
  14. +8
    -2
      store/store.js

+ 24
- 0
api/api.js View File

@ -131,6 +131,11 @@ const config = {
url: '/city/getScenicPage',
method: 'GET',
},
//获取评论列表type-0帖子-1租房-2工作-3景点-4美食-5活动
getCommentPage: {
url: '/city/getCommentPage',
method: 'GET',
},
@ -170,6 +175,25 @@ const config = {
limit : 1000,
auth : true,
},
//获取分享二维码
getQrCode: {
url: '/token/getQrCode',
method: 'GET',
auth : true,
},
//发布评论
addComment: {
url: '/token/addComment',
method: 'POST',
limit : 1000,
auth : true,
},
//获取粉丝列表接口
getFansList: {
url: '/token/getFansList',
method: 'GET',
auth : true,
},
}


+ 0
- 1
components/list/dynamic/dynamicItem.vue View File

@ -104,7 +104,6 @@
.headPortraitimg {
width: 100rpx;
height: 100rpx;
background-color: greenyellow;
border-radius: 15rpx;
overflow: hidden;
image{


+ 5
- 2
components/user/sharePopup.vue View File

@ -12,7 +12,10 @@
瑶都万能墙
</view>
<view class="invite">
<button><uv-icon name="attach"></uv-icon></button>
<button open-type="share">
<uv-icon name="attach"></uv-icon>
邀请好友
</button>
</view>
</view>
</view>
@ -56,7 +59,7 @@
.invite {
margin-top: 45rpx;
margin-left: auto;
margin-right: 10rpx;
button{
background-color: white;
font-size: 30rpx;


+ 1
- 1
config.js View File

@ -7,7 +7,7 @@ import uvUI from '@/uni_modules/uv-ui-tools'
Vue.use(uvUI);
// 当前环境
const type = 'dev'
const type = 'prod'
// 环境配置


+ 3
- 0
pages.json View File

@ -139,6 +139,9 @@
"style": {
"enablePullDownRefresh" : true
}
},
{
"path": "mine/promotion"
}
]
}],


+ 61
- 10
pages/index/center.vue View File

@ -38,26 +38,58 @@
</view>
<view class="box">
<view class="followWithnterest">
<view class="fenst"
@click="$utils.navigateTo('/pages_order/mine/promotion')">
<view class="digit">
0
<uv-icon
size="40rpx"
color="#fff"
name="grid"></uv-icon>
</view>
<view class="close">
关注
<view class="fans">
二维码
</view>
</view>
<view class="shut">
|
</view>
<view class="fenst"
@click="$utils.navigateTo('/pages_order/mine/fans')">
<view class="digit">
0
{{ userInfo.intentionNum }}
</view>
<view class="fans">
粉丝
</view>
</view>
<view class="shut">
|
</view>
<view class="fenst">
<view class="digit">
{{ userInfo.price }}
</view>
<view class="fans">
余额
</view>
</view>
<view class="shut">
|
</view>
<view class="fenst">
<view class="digit">
{{ userInfo.integerPrice }}
</view>
<view class="fans">
积分
</view>
</view>
</view>
@ -72,7 +104,7 @@
lineWidth="50rpx"></uv-tabs>
</view>
<view class="">
<view v-if="type == 0">
<dynamicItem
:key="index"
@click="$utils.navigateTo('/pages_order/post/addPost?id=' + item.id)"
@ -82,6 +114,10 @@
@del="delDynamic(item.id)"
/>
</view>
<view class="no-data">
暂未开放
</view>
<tabber select="3" />
</view>
@ -106,22 +142,29 @@
return {
tabs: [
{
name: '我发布的帖子',
name: '帖子',
},
{
name: '评论',
name: '租房',
},
{
name: '招聘',
},
{
name: '店铺',
},
],
mixinsListApi : 'getMyPostPage',
auth : ['审核中', '个人认证', '店铺认证'],
type : 0,
}
},
onShow() {
this.$store.commit('getUserInfo')
},
methods: {
click(item) {
console.log('item', item);
click({index}) {
this.type = index
},
getDataThen(list){
list.forEach(n => {
@ -239,5 +282,13 @@
}
.Content {}
.no-data{
display: flex;
justify-content: center;
align-content: center;
padding: 100rpx 0;
color: #777;
}
}
</style>

+ 12
- 0
pages/index/index.vue View File

@ -106,6 +106,7 @@
:key="index"
v-for="(item, index) in list"
:item="item"
@click="$utils.navigateTo('/pages_order/post/postDetail?id=' + item.id)"
/>
</view>
@ -154,6 +155,17 @@
bannerList : [],
}
},
onLoad(query) {
if(query.shareId){
uni.setStorageSync('shareId', query.shareId)
}
},
onShareAppMessage(res) {
return {
title: this.headinfo.name,
path: '/pages/index/index'
}
},
onShow() {
this.getIndexHeaderInfo()
this.getClassifyList()


+ 2
- 1
pages_order/auth/wxUserInfo.vue View File

@ -111,7 +111,7 @@
data() {
return {
form: {
headImage: '/static/image/logo.jpg',
headImage: '',
nickName: '',
sex : '男',
yearDate : this.$dayjs().add(-18, 'y').valueOf(),//18
@ -225,6 +225,7 @@
background-color: #fff;
overflow: hidden;
.bg1{
width: 700rpx;
height: 700rpx;


+ 325
- 0
pages_order/components/screen/screenRen.vue View File

@ -0,0 +1,325 @@
<template>
<view class="page">
<uv-drop-down ref="dropDown"
sign="dropDown_1"
text-active-color="#3796F8"
:extra-icon="{name:'arrow-down-fill',color:'#666',size:'26rpx'}"
:extra-active-icon="{name:'arrow-up-fill',color:'#3796F8',size:'26rpx'}"
:defaultValue="defaultValue"
:custom-style="{padding: '0 30rpx'}"
@click="selectMenu">
<uv-drop-down-item name="area" type="2"
:label="dropItem('area').label"
:value="dropItem('area').value">
</uv-drop-down-item>
<uv-drop-down-item
name="price" type="2"
:label="dropItem('price').label"
:value="dropItem('price').value">
</uv-drop-down-item>
<!-- <uv-drop-down-item
name="vip_type"
type="1"
label='智能推荐'
:value="0">
</uv-drop-down-item> -->
</uv-drop-down>
<uv-drop-down-popup
sign="dropDown_1"
:click-overlay-on-close="true"
:currentDropItem="currentDropItem"
@clickItem="clickItem"
@popupChange="change"></uv-drop-down-popup>
<uv-popup ref="popup" :round="30"
:safeAreaInsetBottom="false">
<view class="popup">
<view class="list">
<view class="item"
v-for="(item, index) in list"
:key="index">
<view class="title">
{{ item.title }}
</view>
<view class="tagList">
<view
:class="{act : i == item.index}"
@click="clickTag(item, i)"
v-for="(t, i) in item.tag"
:key="t">
{{ t.label }}
</view>
</view>
</view>
</view>
<view class="btn" @click="submit">
<button class="a">提交</button>
</view>
</view>
</uv-popup>
</view>
</template>
<script>
import {
mapState,
} from 'vuex'
export default {
data() {
return {
// value
defaultValue: [0, 'all', 'all'],
//
result: [],
activeName: 'area',
area: {
label: '地区',
value: 0,
activeIndex: 0,
color: '#333',
activeColor: '#3796F8',
child: [
{
label: '全部',
value: 0,
},
]
},
price: {
label: '价格',
value: 'all',
activeIndex: 0,
color: '#333',
activeColor: '#3796F8',
child: [
{
label: '全部',
value: 'all'
},
{
label: '500以下',
value: 500
},
{
label: '1000以下',
value: 1000
},
{
label: '1500以下',
value: 1500
},
{
label: '2000以下',
value: 2000
},
{
label: '2500以下',
value: 2500
},
{
label: '3000以下',
value: 3000
},
{
label: '5000以下',
value: 5000
},
{
label: '8000以下',
value: 8000
},
]
},
list : [
// {
// title : '',
// tag : ['1835', '3545', '4550', '50'],
// index : 0,
// },
{
title : '您希望从事的工种',
tag : ['电工', '焊工', '叉车', '其他'],
index : 0,
},
{
title : '您希望从事的工作性质',
tag : ['全职', '临时工',],
index : 0,
},
]
}
},
computed : {
dropItem(name) {
return (name) => {
const result = {};
const find = this.result.find(item => item.name === name);
if (find) {
result.label = find.label;
result.value = find.value;
} else {
result.label = this[name].label;
result.value = this[name].value;
}
return result;
}
},
//
currentDropItem() {
return this[this.activeName];
},
...mapState(['cityList']),
},
mounted() {
//
// this.jobTypeList.forEach(n => {
// this.price.child.push({
// label: n.name,
// value: n.id,
// })
// })
//
this.cityList.forEach(n => {
this.area.child.push({
label: n.name,
value: n.id,
})
})
},
methods: {
clickTag(item, i){
console.log(i);
item.index = i
},
change(e) {},
/**
* 点击每个筛选项回调
* @param {Object} e { name, active, type } = e
*/
selectMenu(e) {
const {
name,
active,
type
} = e;
this.activeName = name;
if(type == 1){
this.$refs.popup.open()
return
}
const find = this.result.find(item => item.name == this.activeName);
if (find) {
const findIndex = this[this.activeName]
.child.findIndex(item => item.label == find.label && item
.value == find.value);
this[this.activeName].activeIndex = findIndex;
} else {
this[this.activeName].activeIndex = 0;
}
},
/**
* 点击菜单回调处理
* @param {Object} item 选中项 { label,value } = e
*/
clickItem(e) {
// let
let {
label,
value
} = e;
const findIndex = this.result.findIndex(item => item.name == this.activeName);
if (this.defaultValue.indexOf(value) > -1 && this[this.activeName].label) {
label = this[this.activeName].label;
}
//
if (findIndex > -1) {
this.$set(this.result, findIndex, {
name: this.activeName,
label,
value
})
} else {
this.result.push({
name: this.activeName,
label,
value
});
}
this.result = this.result.filter(item => this.defaultValue.indexOf(item.value) == -1);
this.$emit('clickItem', this.result)
},
submit(){
},
}
}
</script>
<style scoped lang="scss">
.page{
.popup{
width: 80vw;
padding: 40rpx;
.list{
.item{
margin-top: 20rpx;
.title{
font-weight: 900;
font-size: 30rpx;
}
.tagList{
display: flex;
flex-wrap: wrap;
padding: 10rpx 0;
view{
background: rgba($uni-color, 0.1);
padding: 10rpx 20rpx;
margin: 10rpx;
border-radius: 10rpx;
font-size: 26rpx;
}
.act{
color: #fff;
background: $uni-color;
}
}
}
}
.btn {
display: flex;
justify-content: center;
width: 100%;
margin-top: 20rpx;
.a {
display: flex;
justify-content: center;
align-items: center;
width: 90%;
color: #FFF;
background-color: $uni-color;
border: 1px solid rgba($uni-color, 0.2);
border-radius: 100rpx;
font-size: 30rpx;
}
}
}
}
</style>

+ 17
- 9
pages_order/mine/fans.vue View File

@ -8,16 +8,17 @@
</view>
<view class="fansList">
<view class="fanst" v-for="(item,index) in 20">
<view class="fanst" v-for="(item,index) in list">
<view class=" profilepicture">
<image :src="item.headImage" mode="aspectFill"></image>
</view>
<view class="name">
<view class="namea">
王德发
{{ item.nickName }}
</view>
<view class="nameb">
感悟哲理积极面对人生传递正能量
<!-- 感悟哲理积极面对人生传递正能量 -->
{{ item.createTime }}
</view>
</view>
<view class="Dot">
@ -34,7 +35,7 @@
mixins: [mixinsList],
data() {
return {
mixinsListApi : 'getFansList',
}
},
methods: {
@ -50,20 +51,23 @@
.fanst{
margin: 20rpx 0rpx;
display: flex;
justify-content: center;
align-items: center;
justify-content: space-around;
padding: 20rpx;
.profilepicture {
width: 100rpx;
height: 100rpx;
background-color: greenyellow;
border-radius: 50%;
image{
width: 100rpx;
height: 100rpx;
border-radius: 50%;
}
}
.name {
letter-spacing: 2rpx;
font-size: 25rpx;
margin-left: 20rpx;
.namea {
font-weight: bold;
}
@ -73,6 +77,10 @@
}
}
.Dot{
margin-left: auto;
}
}


+ 279
- 0
pages_order/mine/promotion.vue View File

@ -0,0 +1,279 @@
<template>
<view class="promotion">
<navbar title="二维码" leftClick @leftClick="$utils.navigateBack" />
<view class="promotion-card">
<!-- <view class="user-info"> -->
<!-- <image class="image" :src="userInfo.headImage" mode="widthFix"></image> -->
<!-- <image class="image" src="../../static/logo.png" mode="widthFix"></image> -->
<!-- <view class="user-name">{{ userInfo.nickName }}</view> -->
<!-- <view class="user-name">湖南第一深情</view> -->
<!-- </view> -->
<!-- <view class="invitation-code-img">
<image
style="width: 400rpx;"
:src="imagePath" mode="widthFix"></image>
</view> -->
<image style="width: 100%;" :src="imagePath" mode="widthFix"></image>
<!-- <view class="invitation-code">加油站: {{ title }}</view> -->
<canvas id="myCanvas" type="2d" canvas-id="firstCanvas1"></canvas>
</view>
<view class="btns">
<view class="btn"
@click="preservationImg(imagePath)">保存</view>
<!-- <view class="btn">立即邀请</view> -->
</view>
</view>
</template>
<script>
import {
mapState
} from 'vuex'
export default {
name: 'Promotion',
computed: {
...mapState(['userInfo']),
},
data() {
return {
url: '',
title: '123123',
baseUrl: 'https://dianpin-img.xzaiyp.top/',
canvas: {},
imagePath: '',
}
},
onShow() {
this.getQrCode()
this.$store.commit('getUserInfo')
},
methods: {
getQrCode() {
this.$api('getQrCode', res => {
if (res.code == 200) {
this.url = res.result.url
this.title = res.result.name
this.draw()
}
})
},
draw() {
uni.showLoading({
title: "拼命绘画中..."
})
wx.createSelectorQuery()
.select('#myCanvas') // canvasid
.fields({
node: true,
size: true
})
.exec((res) => {
const canvas = res[0].node
//
const ctx = canvas.getContext('2d')
// Canvas
const width = res[0].width
const height = res[0].height
//
const dpr = wx.getWindowInfo().pixelRatio
//dpr
// dpr 2 4
// 3 6
let Ratio = dpr * 2
console.log("bug", dpr)
canvas.width = width * dpr
canvas.height = height * dpr
this.canvas = canvas
ctx.scale(dpr, dpr)
ctx.clearRect(0, 0, width, height)
ctx.fillStyle = '#fff'
ctx.fillRect(0, 0, canvas.width, canvas.height)
//
// const image = canvas.createImage()
// image.onload = () => {
// ctx.drawImage(image, 30, 18, 40, 40)
// }
// image.src = '/public/img/wechar_1.png'
// image.src = this.userInfo.headImage
ctx.fillStyle = 'black'
ctx.font = '22px PingFangSC-regular';
let s = this.title || '加油站'
ctx.fillText(s, canvas.width / Ratio - s.length * 11, 50);
//
const coderImage = canvas.createImage()
coderImage.src = this.baseUrl + this.url
coderImage.onload = () => {
ctx.drawImage(coderImage,
canvas.width / Ratio - 240 / 2, 100, 240, 240)
}
//
setTimeout(() => {
wx.canvasToTempFilePath({
x: 0,
y: 0,
width: this.canvas.width,
height: this.canvas.height,
canvas,
success: (res) => {
var tempFilePath = res.tempFilePath;
this.imagePath = tempFilePath
uni.hideLoading()
}
});
}, 600);
})
},
back() {
uni.navigateBack(-1)
},
preservationImg(img) {
let that = this
uni.authorize({
/* scope.writePhotosAlbum 类型是保存到相册 */
scope: 'scope.writePhotosAlbum',
success() {
/* 已授权进入 */
/* 保存图片到相册方法方法 */
that.imgApi(img);
},
complete(res) {
/* 判断如果没有授权就打开设置选项让用户重新授权 */
uni.getSetting({
success(res) {
if (!res.authSetting['scope.writePhotosAlbum']) {
/* 打开设置的方法 */
that.openInstall();
}
}
});
}
});
},
imgApi(image) {
/* 获取图片的信息 */
uni.getImageInfo({
src: image,
success: function(image) {
/* 保存图片到手机相册 */
uni.saveImageToPhotosAlbum({
filePath: image.path,
success: function() {
uni.showModal({
title: '保存成功',
content: '图片已成功保存到相册',
showCancel: false
});
},
complete(res) {
console.log(res);
}
});
}
});
},
}
}
</script>
<style lang="scss" scoped>
.promotion {
.promotion-card {
width: 90%;
margin: 100rpx auto 0rpx auto;
box-shadow: 0rpx 0rpx 15rpx rgba(0, 0, 0, .2);
border-radius: 15rpx;
padding: 40rpx 30rpx;
box-sizing: border-box;
.user-info {
display: flex;
align-items: center;
.image {
width: 80rpx;
height: 80rpx;
border-radius: 50%;
margin-right: 10rpx;
}
.user-name {
font-size: 30rpx;
}
}
.invitation-code-img {
display: flex;
align-items: center;
justify-content: center;
margin: 100rpx 0rpx;
.image {
width: 30%;
border-radius: 50%;
}
}
.invitation-code {
text-align: center;
color: #818181;
font-size: 28rpx;
}
}
.btns {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
height: 120rpx;
display: flex;
background: #00aaff;
color: white;
font-size: 28rpx;
.btn {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
&:nth-child(2) {
background: orange;
}
}
}
}
#myCanvas {
position: fixed;
left: 100%;
/* visibility: hidden */
/* visibility: hidden; */
/* margin-top: 100rpx; */
margin: 68rpx auto;
width: 750rpx;
height: 750rpx;
/* line-height: 20px; */
background-color: rgba(255, 255, 255, 1);
text-align: center;
}
</style>

+ 332
- 77
pages_order/post/postDetail.vue View File

@ -1,94 +1,183 @@
<template>
<view class="postDetail">
<navbar leftClick @leftClick="$utils.navigateBack" title="动态详情" />
<navbar leftClick @leftClick="$utils.navigateBack" title="详情" />
<view class="swipe">
<uv-swiper :list="item.image &&
item.image.split(',')" indicator height="420rpx"></uv-swiper>
</view>
<view class="box">
<view class="works" @click="$emit('click')">
<view class="box" :style="{'--sexcolor' : sex[detail.sex].color}">
<view class="headPortraitimg">
<image :src="detail.userImage" mode="aspectFill"></image>
</view>
<view class="YaoduUniversalWall">
<view class="heide">
<view class="username text-ellipsis">
{{ detail.userName }}
</view>
<view class="inde" v-if="detail.sex">
<!-- 性别 -->
{{ detail.sex }}
</view>
<view class="inde" v-if="detail.yearDate">
<!-- 年份 -->
{{ detail.yearDate }}
</view>
<view class="inde" v-if="detail.address">
<!-- 地址 -->
{{ detail.address }}
</view>
<view class="authentication" v-if="detail.isContent">
<!-- 个人认证 -->
{{ detail.isContent }}
</view>
</view>
<view class="title">
{{ item.title }}
<view class="Times">
<view class="TimeMonth">
<!-- 10-08 -->
{{ detail.createTime }}发布
</view>
<!-- <view class="Month">
12:34
</view> -->
</view>
</view>
</view>
<view class="createBy">
<view class="">
发布人{{ item.userId }}
<view class="dynamics" v-html="$utils.stringFormatHtml(detail.title)">
</view>
<view class="Artworkimages">
<view class="wrokimg" @click.stop="previewImage(detail.image, i)" :key="i"
v-for="(img, i) in detail.image">
<image :src="img" mode="aspectFill"></image>
</view>
<view class="">
发布时间{{ $dayjs(item.createTime).format('YYYY-MM-DD') }}
</view>
<view class="bottom">
<view class="browse">
{{ detail.isBrowse }}浏览
</view>
<view class="browse">
{{ detail.isComment }}条评论
</view>
<view class="Leavingamessage">
<uv-icon size="40rpx" name="chat"></uv-icon>
</view>
<view class="Leavingamessage" v-if="del" @click.stop="$emit('del')">
<uv-icon size="40rpx" name="trash"></uv-icon>
</view>
</view>
</view>
<view class="comment-list">
<view class="comment"
v-for="(item, index) in list">
<view class="box">
<view class="headPortraitimg">
<image :src="item.userHead" mode="aspectFill"></image>
</view>
<view class="YaoduUniversalWall">
<view class="heide">
<view class="username text-ellipsis">
{{ item.userName }}
</view>
</view>
<view class="content">
<uv-parse :content="item.content"></uv-parse>
<view class="Times">
<view class="TimeMonth">
{{ item.createTime }}发布
</view>
</view>
</view>
</view>
<view class="dynamics" v-html="$utils.stringFormatHtml(item.userValue)">
</view>
</view>
<!-- <view class="controls">
<contentControls
:type="2"
:up="isThumbs_up"
:down="isThumbs_down"
@loadData="getData"
:detail="item"/>
</view> -->
</view>
<view class="submit-box">
<view class="top">
<uv-icon
color="#00cf05"
size="50rpx"
name="weixin-fill"></uv-icon>
<input type="text"
:placeholder="'评论给' + detail.userName"
v-model="form.userValue"/>
<view class="submit"
@click="submit">
发布
</view>
</view>
</view>
</view>
</template>
<script>
// import contentControls from '@/components/content/contentControls.vue'
import mixinsSex from '@/mixins/sex.js'
import mixinsList from '@/mixins/list.js'
export default {
components: {
// contentControls
},
mixins: [mixinsSex, mixinsList],
components: {},
data() {
return {
list: [
],
item: {},
isThumbs_up: undefined,//
isThumbs_down: undefined,//
id : 0,
detail: {},
form : {},
mixinsListApi : 'getCommentPage',
}
},
onLoad(options) {
// this.$route.query
console.log(options)
this.id = options.id
this.queryParams.orderId = options.id
this.queryParams.type = 0
},
onPullDownRefresh(){
this.getData()
onPullDownRefresh() {
this.getDetail()
},
onShow() {
this.getData()
this.getDetail()
},
onShareAppMessage(res) {
// if (res.from === 'button') {//
// console.log(res.target)
// }
return {
title: this.item.title,
desc: this.item.content && this.item.content.slice(0, 30),
path: '/pages/publish/postDetail?id=' + this.id
}
// return {
// title: this.item.title,
// desc: this.item.content && this.item.content.slice(0, 30),
// path: '/pages/publish/postDetail?id=' + this.id
// }
},
methods: {
getData() {
this.$api('indexGetTrendsDetail', {
id : this.id
getDetail() {
this.$api('getPostDetail', {
id: this.id
}, res => {
uni.stopPullDownRefresh()
if (res.code == 200) {
this.item = res.result.details
this.isThumbs_up = res.result.isThumbs_up//
this.isThumbs_down = res.result.isThumbs_down//
res.result.image =
res.result.image ?
res.result.image.split(',') : [],
this.detail = res.result
}
})
},
submit(){
if (this.$utils.verificationAll(this.form, {
userValue: '说点什么吧',
})) {
return
}
// this.form.image = this.fileList.map((item) => item.url).join(",")
this.form.orderId = this.id
this.$api('addComment', this.form, res => {
this.form.userValue = ''
if(res.code == 200){
uni.showToast({
title: '发布成功!',
icon: 'none'
})
this.getData()
}
})
},
@ -98,39 +187,205 @@
<style lang="scss" scoped>
.postDetail {
.box {
padding: 20rpx;
width: 100vw;
.title {
font-size: 34rpx;
font-weight: 600;
color: #000;
padding-bottom: env(safe-area-inset-bottom);
.works {
background-color: #fff;
padding: 40rpx;
border-radius: 20rpx;
.box {
display: flex;
align-items: center;
.headPortraitimg {
width: 100rpx;
height: 100rpx;
border-radius: 15rpx;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.YaoduUniversalWall {
padding: 0rpx 10rpx;
.username {
max-width: 200rpx;
}
.heide {
display: flex;
justify-content: center;
align-items: center;
}
.inde {
display: flex;
justify-content: center;
align-items: center;
padding: 0rpx 10rpx;
margin: 0rpx 5rpx;
font-size: 20rpx;
height: 30rpx;
color: white;
// background-color: rgb(124, 136, 242);
background-color: var(--sexcolor);
border-radius: 7rpx;
flex-shrink: 0;
}
.authentication {
display: flex;
justify-content: center;
align-items: center;
padding: 0rpx 10rpx;
margin: 0rpx 5rpx;
font-size: 20rpx;
height: 34rpx;
padding: 0rpx 10rpx;
color: white;
background-color: #ffd036;
border-radius: 7rpx;
flex-shrink: 0;
}
.Times {
display: flex;
padding: 5rpx 0rpx;
font-size: 20rpx;
margin-top: 10rpx;
.Month {
margin: 0rpx 15rpx;
}
}
}
}
.createBy {
.personalInformation {
display: flex;
margin-top: auto;
margin-bottom: 10rpx;
font-size: 24rpx;
.inde {
font-size: 25rpx;
padding: 0rpx 8rpx;
}
.authentication {
font-size: 25rpx;
}
}
.dynamics {
margin-top: 20rpx;
color: #555;
font-size: 28rpx;
// font-weight: bold;
// line-height: 35rpx;
letter-spacing: 3rpx;
}
&>view {
display: flex;
align-items: center;
justify-content: center;
padding-right: 20rpx;
.Artworkimages {
display: flex;
flex-wrap: wrap;
.wrokimg {
margin: 10rpx;
image {
height: 190rpx;
width: 190rpx;
border-radius: 20rpx;
}
}
}
.controls {
margin-top: 30rpx;
.bottom {
display: flex;
margin-top: 20rpx;
font-size: 24rpx;
.browse {
margin: 0rpx 30rpx;
color: rgb(132, 132, 132);
}
.Leavingamessage {
height: 20rpx;
width: 20rpx;
margin-left: auto;
}
}
}
.content {
margin-top: 30rpx;
font-size: 28rpx;
.comment-list {
margin-top: 20rpx;
padding-bottom: 150rpx;
.comment {
background-color: #fff;
padding: 30rpx 40rpx;
margin-top: 10rpx;
.box {
display: flex;
align-items: center;
.headPortraitimg {
width: 80rpx;
height: 80rpx;
border-radius: 15rpx;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.YaoduUniversalWall {
padding: 0rpx 10rpx;
font-size: 26rpx;
line-height: 40rpx;
.Times{
font-size: 22rpx;
}
}
}
.dynamics {
margin-top: 20rpx;
margin-left: 100rpx;
font-size: 28rpx;
letter-spacing: 3rpx;
}
}
}
.submit-box{
position: fixed;
bottom: 0;
left: 0;
background-color: #fff;
width: 100%;
box-shadow: 0 0 6rpx 6rpx #00000011;
padding-bottom: env(safe-area-inset-bottom);
.top{
align-items: center;
display: flex;
justify-content: center;
input{
background-color: #f3f3f3;
width: 460rpx;
height: 40rpx;
border-radius: 40rpx;
margin: 20rpx;
padding: 20rpx 30rpx;
font-size: 28rpx;
}
.submit{
}
}
}
}

+ 20
- 0
pages_order/renting/rentingList.vue View File

@ -12,6 +12,11 @@
placeholder="请输入搜索关键字..."
v-model="queryParams.title"></uv-search>
</view>
<view class="">
<screenRen
@clickItem="clickItem"/>
</view>
<!-- <view class="flex-wrap rx">
<view class="sb-w3">
@ -57,8 +62,12 @@
<script>
import mixinsList from '@/mixins/list.js'
import screenRen from '../components/screen/screenRen.vue'
export default {
mixins: [mixinsList],
components : {
screenRen,
},
data() {
return {
mixinsListApi : 'getRentPage',
@ -70,6 +79,17 @@
url: '/pages_order/renting/rentingDetail?id=' + item.id
})
},
clickItem(result){
console.log(result);
this.queryParams = {
pageNo: 1,
pageSize: 10,
}
result.forEach(n => {
this.queryParams[n.name] = n.value
})
this.getData()
},
}
}
</script>


+ 8
- 2
store/store.js View File

@ -49,9 +49,15 @@ const store = new Vuex.Store({
return
}
api('wxLogin', {
let data = {
code : res.code
}, res => {
}
if(uni.getStorageSync('shareId')){
data.shareId = uni.getStorageSync('shareId')
}
api('wxLogin', data, res => {
uni.hideLoading()


Loading…
Cancel
Save