13 changed files with 1306 additions and 560 deletions
@ -1,203 +1,218 @@ |
|||||
<template> |
<template> |
||||
<u-navbar title="金融帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
<u-navbar title="金融帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
||||
<view class="container"> |
<view class="container"> |
||||
<u-search |
<u-search @search="search" @clickIcon="clickIcon" @clear="clear" shape="square" placeholder="请输入搜索内容" |
||||
@search="search" |
placeholder-color="#A9D4FF" v-model="keyword" search-icon="/static/img/search.png" search-icon-size="14" |
||||
@clickIcon="clickIcon" |
:show-action="false" height="40" margin="40rpx 24rpx 24rpx 24rpx" bg-color="#FFFFFF"></u-search> |
||||
@clear="clear" |
<view class="main"> |
||||
shape="square" |
<scroll-view scroll-y="auto" class="hyonne" @scrolltolower="onloadmore"> |
||||
placeholder="请输入搜索内容" |
<view class="ztone" v-for="(item, index) in ztList" :key="index" @click="godetail(item.id)"> |
||||
placeholder-color="#A9D4FF" |
<image style="width: 150rpx; height: 150rpx; border-radius: 28rpx; flex: 1" |
||||
v-model="keyword" |
:src="baseurl + item.index_pic" mode=""></image> |
||||
search-icon="/static/img/search.png" |
<view class="rightpart"> |
||||
search-icon-size="14" |
<view class="splace"> |
||||
:show-action="false" |
{{ item.bank }} |
||||
height="40" |
</view> |
||||
margin="40rpx 24rpx 24rpx 24rpx" |
<view class="titlepart"> |
||||
bg-color="#FFFFFF" |
<text class="title">{{ item.name }}</text> |
||||
></u-search> |
<image style="width: 32rpx; height: 44rpx" src="@/static/img/Icon.png" mode="aspectFill"> |
||||
<view class="main"> |
</image> |
||||
<scroll-view scroll-y="auto" class="hyonne" @scrolltolower="onloadmore"> |
</view> |
||||
<view class="ztone" v-for="(item, index) in ztList" :key="index" @click="godetail(item.id)"> |
<view class="ms"> |
||||
<image style="width: 150rpx; height: 150rpx; border-radius: 28rpx; flex: 1" :src="baseurl + item.index_pic" mode=""></image> |
{{ item.branch }} |
||||
<view class="rightpart"> |
</view> |
||||
<view class="splace"> |
</view> |
||||
{{ item.bank }} |
</view> |
||||
</view> |
</scroll-view> |
||||
<view class="titlepart"> |
</view> |
||||
<text class="title">{{ item.name }}</text> |
</view> |
||||
<image style="width: 32rpx; height: 44rpx" src="@/static/img/Icon.png" mode="aspectFill"></image> |
<liuDragButton :width-px="'145rpx'"> |
||||
</view> |
<view class="boxhd" @click="gohdzq"> |
||||
<view class="ms"> |
<view class="txtt"> |
||||
{{ item.branch }} |
互动专区 |
||||
</view> |
</view> |
||||
</view> |
<image class="hdzq" src="@/static/img/hdzq.png" mode="aspectFill"></image> |
||||
</view> |
</view> |
||||
</scroll-view> |
</liuDragButton> |
||||
</view> |
|
||||
</view> |
|
||||
<liuDragButton :width-px="'145rpx'"> |
|
||||
<image class="hdzq" src="@/static/img/hdzq.png" mode="" @click="gohdzq"></image> |
|
||||
</liuDragButton> |
|
||||
</template> |
</template> |
||||
|
|
||||
<script setup> |
<script setup> |
||||
import { ref } from 'vue' |
import { |
||||
import { financeList } from '@/api/shop' |
ref |
||||
import liuDragButton from '@/uni_modules/liu-drag-button/components/liu-drag-button/liu-drag-button.vue' |
} from 'vue' |
||||
|
import { |
||||
const baseurl = ref(import.meta.env.VITE_APP_BASE_URL + '/') |
financeList |
||||
|
} from '@/api/shop' |
||||
// 响应式数据 |
import liuDragButton from '@/uni_modules/liu-drag-button/components/liu-drag-button/liu-drag-button.vue' |
||||
const keyword = ref('') |
|
||||
const page = ref(1) |
const baseurl = ref(import.meta.env.VITE_APP_BASE_URL + '/') |
||||
const pagesize = ref(6) |
|
||||
|
// 响应式数据 |
||||
const search = async (val) => { |
const keyword = ref('') |
||||
page.value = 1 |
const page = ref(1) |
||||
pagesize.value = 6 |
const pagesize = ref(6) |
||||
await getfinanceList(keyword.value, page.value, pagesize.value) |
|
||||
} |
const search = async (val) => { |
||||
|
page.value = 1 |
||||
const clickIcon = async () => { |
pagesize.value = 6 |
||||
page.value = 1 |
await getfinanceList(keyword.value, page.value, pagesize.value) |
||||
pagesize.value = 6 |
} |
||||
await getfinanceList(keyword.value, page.value, pagesize.value) |
|
||||
} |
const clickIcon = async () => { |
||||
|
page.value = 1 |
||||
const clear = async () => { |
pagesize.value = 6 |
||||
page.value = 1 |
await getfinanceList(keyword.value, page.value, pagesize.value) |
||||
pagesize.value = 6 |
} |
||||
await getfinanceList(keyword.value, page.value, pagesize.value) |
|
||||
} |
const clear = async () => { |
||||
|
page.value = 1 |
||||
const ztList = ref([]) |
pagesize.value = 6 |
||||
|
await getfinanceList(keyword.value, page.value, pagesize.value) |
||||
const godetail = (id) => { |
} |
||||
uni.navigateTo({ |
|
||||
url: '/pages/index/shoppage/jrbDetail?id=' + id |
const ztList = ref([]) |
||||
}) |
|
||||
} |
const godetail = (id) => { |
||||
|
uni.navigateTo({ |
||||
const gohdzq = () => { |
url: '/pages/index/shoppage/jrbDetail?id=' + id |
||||
uni.navigateTo({ |
}) |
||||
url: '/pages/index/shoppage/interactiveZone' |
} |
||||
}) |
|
||||
} |
const gohdzq = () => { |
||||
|
uni.navigateTo({ |
||||
const getfinanceList = async (name, page, limit) => { |
url: '/pages/index/shoppage/interactiveZone?tabid='+1 |
||||
let params = { |
}) |
||||
keyword: name, |
} |
||||
page: page, |
|
||||
limit: limit |
const getfinanceList = async (name, page, limit) => { |
||||
} |
let params = { |
||||
await financeList(params).then((res) => { |
keyword: name, |
||||
ztList.value = res.data.data |
page: page, |
||||
}) |
limit: limit |
||||
} |
} |
||||
|
await financeList(params).then((res) => { |
||||
const onloadmore = async () => { |
ztList.value = res.data.data |
||||
page.value++ |
}) |
||||
let params = { |
} |
||||
keyword: keyword.value, |
|
||||
page: page.value, |
const onloadmore = async () => { |
||||
limit: pagesize.value |
page.value++ |
||||
} |
let params = { |
||||
await financeList(params).then((res) => { |
keyword: keyword.value, |
||||
ztList.value = [...ztList.value, ...res.data.data] |
page: page.value, |
||||
}) |
limit: pagesize.value |
||||
} |
} |
||||
|
await financeList(params).then((res) => { |
||||
onShow(async () => { |
ztList.value = [...ztList.value, ...res.data.data] |
||||
await getfinanceList('', 1, 6) |
}) |
||||
}) |
} |
||||
|
|
||||
|
onShow(async () => { |
||||
|
await getfinanceList('', 1, 6) |
||||
|
}) |
||||
</script> |
</script> |
||||
|
|
||||
<style scoped lang="scss"> |
<style scoped lang="scss"> |
||||
.container { |
.container { |
||||
background: linear-gradient(0deg, #f1f3f9 72%, rgba(129, 179, 222, 0.5) 88%); |
background: linear-gradient(0deg, #f1f3f9 72%, rgba(129, 179, 222, 0.5) 88%); |
||||
height: calc(100vh - 178rpx); |
height: calc(100vh - 178rpx); |
||||
width: 100%; |
width: 100%; |
||||
overflow-y: hidden; |
overflow-y: hidden; |
||||
.hyonne { |
|
||||
max-height: calc(100vh - 350rpx); |
.hyonne { |
||||
overflow-y: auto; |
max-height: calc(100vh - 350rpx); |
||||
} |
overflow-y: auto; |
||||
.main { |
} |
||||
margin-top: 10rpx; |
|
||||
width: 100%; |
.main { |
||||
height: 100%; |
margin-top: 10rpx; |
||||
padding: 0 24rpx; |
width: 100%; |
||||
box-sizing: border-box; |
height: 100%; |
||||
overflow-y: hidden; |
padding: 0 24rpx; |
||||
|
box-sizing: border-box; |
||||
.ztone { |
overflow-y: hidden; |
||||
display: flex; |
|
||||
align-items: center; |
.ztone { |
||||
width: 100%; |
display: flex; |
||||
height: 210rpx; |
align-items: center; |
||||
margin-top: 30rpx; |
width: 100%; |
||||
padding: 30rpx; |
height: 210rpx; |
||||
border-radius: 20rpx; |
margin-top: 30rpx; |
||||
background: #ffffff; |
padding: 30rpx; |
||||
box-sizing: border-box; |
border-radius: 20rpx; |
||||
border: 2rpx solid rgba(0, 127, 255, 0.12); |
background: #ffffff; |
||||
|
box-sizing: border-box; |
||||
.rightpart { |
border: 2rpx solid rgba(0, 127, 255, 0.12); |
||||
width: 100%; |
|
||||
margin-left: 40rpx; |
.rightpart { |
||||
flex: 3; |
width: 100%; |
||||
display: grid; |
margin-left: 40rpx; |
||||
|
flex: 3; |
||||
.titlepart { |
display: grid; |
||||
width: 100%; |
|
||||
display: flex; |
.titlepart { |
||||
align-items: center; |
width: 100%; |
||||
justify-content: space-between; |
display: flex; |
||||
|
align-items: center; |
||||
.title { |
justify-content: space-between; |
||||
font-family: Poppins; |
|
||||
font-size: 24rpx; |
.title { |
||||
font-weight: 600; |
font-family: Poppins; |
||||
line-height: 34rpx; |
font-size: 24rpx; |
||||
letter-spacing: normal; |
font-weight: 600; |
||||
/* 外部/Colors/Dark/Base 1 */ |
line-height: 34rpx; |
||||
color: #161719; |
letter-spacing: normal; |
||||
margin-top: 13rpx; |
/* 外部/Colors/Dark/Base 1 */ |
||||
} |
color: #161719; |
||||
} |
margin-top: 13rpx; |
||||
|
} |
||||
.splace { |
} |
||||
font-family: Poppins; |
|
||||
font-size: 24rpx; |
.splace { |
||||
font-weight: normal; |
font-family: Poppins; |
||||
line-height: 34rpx; |
font-size: 24rpx; |
||||
letter-spacing: normal; |
font-weight: normal; |
||||
/* 外部/Colors/Dark/Base 1 */ |
line-height: 34rpx; |
||||
color: #161719; |
letter-spacing: normal; |
||||
} |
/* 外部/Colors/Dark/Base 1 */ |
||||
|
color: #161719; |
||||
.ms { |
} |
||||
margin-top: 13rpx; |
|
||||
font-family: Poppins; |
.ms { |
||||
font-size: 20rpx; |
margin-top: 13rpx; |
||||
font-weight: normal; |
font-family: Poppins; |
||||
line-height: 28rpx; |
font-size: 20rpx; |
||||
letter-spacing: normal; |
font-weight: normal; |
||||
/* 外部/Colors/Light/Base 3 */ |
line-height: 28rpx; |
||||
color: #91919f; |
letter-spacing: normal; |
||||
} |
/* 外部/Colors/Light/Base 3 */ |
||||
} |
color: #91919f; |
||||
} |
} |
||||
} |
} |
||||
} |
} |
||||
|
} |
||||
.hdzq { |
} |
||||
width: 212rpx; |
|
||||
height: 86rpx; |
.boxhd { |
||||
position: fixed; |
.txtt { |
||||
right: 0; |
margin-top: 42rpx; |
||||
top: 70%; |
position: absolute; |
||||
margin-right: -14rpx; |
z-index: 1; |
||||
} |
white-space: nowrap; |
||||
|
margin-left: -52rpx; |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 28rpx; |
||||
|
font-weight: 350; |
||||
|
color: #FFFFFF; |
||||
|
} |
||||
|
|
||||
|
.hdzq { |
||||
|
width: 212rpx; |
||||
|
height: 86rpx; |
||||
|
position: fixed; |
||||
|
right: 0; |
||||
|
top: 70%; |
||||
|
margin-right: -14rpx; |
||||
|
} |
||||
|
} |
||||
</style> |
</style> |
||||
@ -1,256 +1,272 @@ |
|||||
<template> |
<template> |
||||
<view class="container"> |
<view class="container"> |
||||
<u-navbar title="媒体帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
<u-navbar title="媒体帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
||||
<u-search |
<u-search @search="search" @clickIcon="clickIcon" @clear="clear" shape="square" placeholder="请输入搜索内容" |
||||
@search="search" |
placeholder-color="#a4c7ff" v-model="keyword" search-icon="/static/img/search.png" search-icon-size="14" |
||||
@clickIcon="clickIcon" |
:show-action="false" height="40" margin="40rpx 24rpx 24rpx 24rpx"></u-search> |
||||
@clear="clear" |
<scroll-view scroll-y="auto" class="mtlist" @scrolltolower="onloadmore"> |
||||
shape="square" |
<view class="mtone" v-for="(item, index) in mtList" :key="index" @click="gomtbdetail(item.id)"> |
||||
placeholder="请输入搜索内容" |
<view class="headpart"> |
||||
placeholder-color="#a4c7ff" |
<u-avatar :src="baseurl + item.head_pic" size="44"></u-avatar> |
||||
v-model="keyword" |
<view class="right"> |
||||
search-icon="/static/img/search.png" |
<text class="name">{{ item.name }}</text> |
||||
search-icon-size="14" |
<view class="tab" v-if="item.tag_name !== ''"> |
||||
:show-action="false" |
{{ item.tag_name }} |
||||
height="40" |
</view> |
||||
margin="40rpx 24rpx 24rpx 24rpx" |
</view> |
||||
></u-search> |
</view> |
||||
<scroll-view scroll-y="auto" class="mtlist" @scrolltolower="onloadmore"> |
<image style="width: 100%; height: 400rpx; margin-top: 30rpx" :src="baseurl + item.publicize_pic" |
||||
<view class="mtone" v-for="(item, index) in mtList" :key="index" @click="gomtbdetail(item.id)"> |
mode=""></image> |
||||
<view class="headpart"> |
<view class="bottompart"> |
||||
<u-avatar :src="baseurl + item.head_pic" size="44"></u-avatar> |
<view class="part"> |
||||
<view class="right"> |
<image style="width: 22rpx; height: 24rpx" src="@/static/img/dh.png" mode=""></image> |
||||
<text class="name">{{ item.name }}</text> |
<text class="text">{{ item.tel }}</text> |
||||
<view class="tab" v-if="item.tag_name !== ''"> |
</view> |
||||
{{ item.tag_name }} |
<view class="part"> |
||||
</view> |
<image style="width: 22rpx; height: 24rpx" src="@/static/img/yx.png" mode=""></image> |
||||
</view> |
<view class="text">{{ item.email }}</view> |
||||
</view> |
</view> |
||||
<image style="width: 100%; height: 400rpx; margin-top: 30rpx" :src="baseurl + item.publicize_pic" mode=""></image> |
</view> |
||||
<view class="bottompart"> |
</view> |
||||
<view class="part"> |
</scroll-view> |
||||
<image style="width: 22rpx; height: 24rpx" src="@/static/img/dh.png" mode=""></image> |
<view class="fbxxbutton"> |
||||
<text class="text">{{ item.tel }}</text> |
<view class="button" @click="gofbxx">发布信息</view> |
||||
</view> |
</view> |
||||
<view class="part"> |
</view> |
||||
<image style="width: 22rpx; height: 24rpx" src="@/static/img/yx.png" mode=""></image> |
<liuDragButton :width-px="'145rpx'"> |
||||
<view class="text">{{ item.email }}</view> |
<view class="boxhd" @click="gohdzq"> |
||||
</view> |
<view class="txtt"> |
||||
</view> |
互动专区 |
||||
</view> |
</view> |
||||
</scroll-view> |
<image class="hdzq" src="@/static/img/hdzq.png" mode="aspectFill"></image> |
||||
<view class="fbxxbutton"> |
</view> |
||||
<view class="button" @click="gofbxx">发布信息</view> |
</liuDragButton> |
||||
</view> |
|
||||
</view> |
|
||||
<liuDragButton :width-px="'145rpx'"> |
|
||||
<image class="hdzq" src="@/static/img/hdzq.png" mode="" @click="gohdzq"></image> |
|
||||
</liuDragButton> |
|
||||
</template> |
</template> |
||||
|
|
||||
<script setup> |
<script setup> |
||||
import { ref } from 'vue' |
import { |
||||
import { mediumList } from '@/api/shop' |
ref |
||||
import liuDragButton from '@/uni_modules/liu-drag-button/components/liu-drag-button/liu-drag-button.vue' |
} from 'vue' |
||||
|
import { |
||||
|
mediumList |
||||
|
} from '@/api/shop' |
||||
|
import liuDragButton from '@/uni_modules/liu-drag-button/components/liu-drag-button/liu-drag-button.vue' |
||||
|
|
||||
const baseurl = ref(import.meta.env.VITE_APP_BASE_URL + '/') |
const baseurl = ref(import.meta.env.VITE_APP_BASE_URL + '/') |
||||
|
|
||||
// 响应式数据 |
// 响应式数据 |
||||
const keyword = ref('') |
const keyword = ref('') |
||||
const page = ref(1) |
const page = ref(1) |
||||
const pagesize = ref(2) |
const pagesize = ref(2) |
||||
|
|
||||
const search = async (val) => { |
const search = async (val) => { |
||||
page.value = 1 |
page.value = 1 |
||||
pagesize.value = 2 |
pagesize.value = 2 |
||||
await getmediumList(keyword.value, page.value, pagesize.value) |
await getmediumList(keyword.value, page.value, pagesize.value) |
||||
} |
} |
||||
|
|
||||
const clickIcon = async () => { |
const clickIcon = async () => { |
||||
page.value = 1 |
page.value = 1 |
||||
pagesize.value = 2 |
pagesize.value = 2 |
||||
await getmediumList(keyword.value, page.value, pagesize.value) |
await getmediumList(keyword.value, page.value, pagesize.value) |
||||
} |
} |
||||
|
|
||||
const clear = async () => { |
const clear = async () => { |
||||
page.value = 1 |
page.value = 1 |
||||
pagesize.value = 2 |
pagesize.value = 2 |
||||
await getmediumList(keyword.value, page.value, pagesize.value) |
await getmediumList(keyword.value, page.value, pagesize.value) |
||||
} |
} |
||||
|
|
||||
const gohdzq = () => { |
const gohdzq = () => { |
||||
uni.navigateTo({ |
uni.navigateTo({ |
||||
url: '/pages/index/shoppage/interactiveZone' |
url: '/pages/index/shoppage/interactiveZone?tabid='+2 |
||||
}) |
}) |
||||
} |
} |
||||
|
|
||||
const mtList = ref([]) |
const mtList = ref([]) |
||||
|
|
||||
const gomtbdetail = (id) => { |
const gomtbdetail = (id) => { |
||||
uni.navigateTo({ |
uni.navigateTo({ |
||||
url: '/pages/index/shoppage/mediaDetail?id=' + id + '&type=' + 'mt' |
url: '/pages/index/shoppage/mediaDetail?id=' + id + '&type=' + 'mt' |
||||
}) |
}) |
||||
} |
} |
||||
|
|
||||
const gofbxx = () => { |
const gofbxx = () => { |
||||
uni.navigateTo({ |
uni.navigateTo({ |
||||
url: '/pages/index/shoppage/mtbmakeMessage' |
url: '/pages/index/shoppage/mtbmakeMessage' |
||||
}) |
}) |
||||
} |
} |
||||
|
|
||||
const getmediumList = async (name, page, limit) => { |
const getmediumList = async (name, page, limit) => { |
||||
let params = { |
let params = { |
||||
name: name, |
name: name, |
||||
page: page, |
page: page, |
||||
limit: limit |
limit: limit |
||||
} |
} |
||||
await mediumList(params).then((res) => { |
await mediumList(params).then((res) => { |
||||
mtList.value = res.data.data |
mtList.value = res.data.data |
||||
}) |
}) |
||||
} |
} |
||||
|
|
||||
const onloadmore = async () => { |
const onloadmore = async () => { |
||||
page.value++ |
page.value++ |
||||
let params = { |
let params = { |
||||
name: keyword.value, |
name: keyword.value, |
||||
page: page.value, |
page: page.value, |
||||
limit: pagesize.value |
limit: pagesize.value |
||||
} |
} |
||||
await mediumList(params).then((res) => { |
await mediumList(params).then((res) => { |
||||
mtList.value = [...mtList.value, ...res.data.data] |
mtList.value = [...mtList.value, ...res.data.data] |
||||
}) |
}) |
||||
} |
} |
||||
|
|
||||
onShow(async () => { |
onShow(async () => { |
||||
await getmediumList('', 1, 2) |
await getmediumList('', 1, 2) |
||||
}) |
}) |
||||
</script> |
</script> |
||||
|
|
||||
<style scoped lang="scss"> |
<style scoped lang="scss"> |
||||
.container { |
.container { |
||||
background: linear-gradient(0deg, #f1f3f9 72%, rgba(62, 146, 249, 0.2) 88%); |
background: linear-gradient(0deg, #f1f3f9 72%, rgba(62, 146, 249, 0.2) 88%); |
||||
width: 100%; |
width: 100%; |
||||
overflow: hidden; |
overflow: hidden; |
||||
.mtlist { |
|
||||
margin-top: 8rpx; |
|
||||
padding: 0 24rpx; |
|
||||
box-sizing: border-box; |
|
||||
overflow-y: auto; |
|
||||
height: 100vh; |
|
||||
max-height: calc(100vh - 336rpx); |
|
||||
padding-bottom: 168rpx; |
|
||||
|
|
||||
.mtone { |
.mtlist { |
||||
margin-top: 30rpx; |
margin-top: 8rpx; |
||||
width: 100%; |
padding: 0 24rpx; |
||||
height: 666rpx; |
box-sizing: border-box; |
||||
border-radius: 24rpx; |
overflow-y: auto; |
||||
background: #ffffff; |
height: 100vh; |
||||
display: grid; |
max-height: calc(100vh - 336rpx); |
||||
padding: 40rpx 24rpx; |
padding-bottom: 168rpx; |
||||
box-sizing: border-box; |
|
||||
|
|
||||
.headpart { |
.mtone { |
||||
display: flex; |
margin-top: 30rpx; |
||||
align-items: center; |
width: 100%; |
||||
|
height: 666rpx; |
||||
|
border-radius: 24rpx; |
||||
|
background: #ffffff; |
||||
|
display: grid; |
||||
|
padding: 40rpx 24rpx; |
||||
|
box-sizing: border-box; |
||||
|
|
||||
.right { |
.headpart { |
||||
margin-left: 16rpx; |
display: flex; |
||||
display: grid; |
align-items: center; |
||||
justify-items: baseline; |
|
||||
.name { |
|
||||
font-family: Source Han Sans; |
|
||||
font-size: 32rpx; |
|
||||
font-weight: 350; |
|
||||
line-height: 43.2rpx; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
text-transform: capitalize; |
|
||||
letter-spacing: normal; |
|
||||
color: #0c092a; |
|
||||
} |
|
||||
.tab { |
|
||||
margin-top: 8rpx; |
|
||||
padding: 6rpx 20rpx; |
|
||||
border-radius: 0rpx 4rpx 20rpx 0rpx; |
|
||||
background: linear-gradient(70deg, #312984 -45%, #867bf5 99%); |
|
||||
font-family: YouSheBiaoTiHei; |
|
||||
font-size: 24rpx; |
|
||||
font-weight: normal; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
justify-content: center; |
|
||||
color: #ffffff; |
|
||||
text-shadow: 0rpx 4rpx 4rpx rgba(0, 0, 0, 0.2); |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.bottompart { |
.right { |
||||
margin-top: 26rpx; |
margin-left: 16rpx; |
||||
display: flex; |
display: grid; |
||||
justify-content: space-between; |
justify-items: baseline; |
||||
|
|
||||
.part { |
.name { |
||||
display: flex; |
font-family: Source Han Sans; |
||||
align-items: center; |
font-size: 32rpx; |
||||
|
font-weight: 350; |
||||
|
line-height: 43.2rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
text-transform: capitalize; |
||||
|
letter-spacing: normal; |
||||
|
color: #0c092a; |
||||
|
} |
||||
|
|
||||
.text { |
.tab { |
||||
margin-left: 8rpx; |
margin-top: 8rpx; |
||||
font-family: Source Han Sans; |
padding: 6rpx 20rpx; |
||||
font-size: 28rpx; |
border-radius: 0rpx 4rpx 20rpx 0rpx; |
||||
font-weight: 300; |
background: linear-gradient(70deg, #312984 -45%, #867bf5 99%); |
||||
line-height: 33.6rpx; |
font-family: YouSheBiaoTiHei; |
||||
display: flex; |
font-size: 24rpx; |
||||
align-items: center; |
font-weight: normal; |
||||
letter-spacing: normal; |
display: flex; |
||||
color: #606266; |
align-items: center; |
||||
} |
justify-content: center; |
||||
} |
color: #ffffff; |
||||
} |
text-shadow: 0rpx 4rpx 4rpx rgba(0, 0, 0, 0.2); |
||||
} |
} |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
.hdzq { |
.bottompart { |
||||
width: 212rpx; |
margin-top: 26rpx; |
||||
height: 86rpx; |
display: flex; |
||||
position: fixed; |
justify-content: space-between; |
||||
right: 0; |
|
||||
top: 70%; |
|
||||
margin-right: -14rpx; |
|
||||
} |
|
||||
|
|
||||
.fbxxbutton { |
.part { |
||||
width: 100%; |
display: flex; |
||||
height: 168rpx; |
align-items: center; |
||||
position: fixed; |
|
||||
bottom: 0; |
|
||||
background: #ffffff; |
|
||||
/* 标签栏投影 */ |
|
||||
box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(0, 0, 0, 0.3); |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
justify-content: center; |
|
||||
|
|
||||
.button { |
.text { |
||||
width: 574rpx; |
margin-left: 8rpx; |
||||
height: 96rpx; |
font-family: Source Han Sans; |
||||
border-radius: 248rpx; |
font-size: 28rpx; |
||||
background: linear-gradient(90deg, #007fff 0%, #99ccff 100%); |
font-weight: 300; |
||||
font-family: Source Han Sans; |
line-height: 33.6rpx; |
||||
font-size: 36rpx; |
display: flex; |
||||
font-weight: 500; |
align-items: center; |
||||
line-height: 32rpx; |
letter-spacing: normal; |
||||
text-align: justify; |
color: #606266; |
||||
/* 浏览器可能不支持 */ |
} |
||||
display: flex; |
} |
||||
align-items: center; |
} |
||||
letter-spacing: normal; |
} |
||||
color: #ffffff; |
} |
||||
display: flex; |
} |
||||
align-items: center; |
|
||||
justify-content: center; |
.boxhd { |
||||
} |
.txtt { |
||||
} |
margin-top: 42rpx; |
||||
|
position: absolute; |
||||
|
z-index: 1; |
||||
|
white-space: nowrap; |
||||
|
margin-left: -52rpx; |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 28rpx; |
||||
|
font-weight: 350; |
||||
|
color: #FFFFFF; |
||||
|
} |
||||
|
|
||||
|
.hdzq { |
||||
|
width: 212rpx; |
||||
|
height: 86rpx; |
||||
|
position: fixed; |
||||
|
right: 0; |
||||
|
top: 70%; |
||||
|
margin-right: -14rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.fbxxbutton { |
||||
|
width: 100%; |
||||
|
height: 168rpx; |
||||
|
position: fixed; |
||||
|
bottom: 0; |
||||
|
background: #ffffff; |
||||
|
/* 标签栏投影 */ |
||||
|
box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(0, 0, 0, 0.3); |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: center; |
||||
|
|
||||
|
.button { |
||||
|
width: 574rpx; |
||||
|
height: 96rpx; |
||||
|
border-radius: 248rpx; |
||||
|
background: linear-gradient(90deg, #007fff 0%, #99ccff 100%); |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 36rpx; |
||||
|
font-weight: 500; |
||||
|
line-height: 32rpx; |
||||
|
text-align: justify; |
||||
|
/* 浏览器可能不支持 */ |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
letter-spacing: normal; |
||||
|
color: #ffffff; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: center; |
||||
|
} |
||||
|
} |
||||
</style> |
</style> |
||||
@ -0,0 +1,168 @@ |
|||||
|
<template> |
||||
|
<u-navbar :title="'企业帮'" placeholder="true" bg-color="#F1F3F9" :auto-back="true" /> |
||||
|
<view class="container"> |
||||
|
<view class="main"> |
||||
|
<view class="head"> |
||||
|
<image class="toux" :src="baseurl + userData.head_pic" mode=""></image> |
||||
|
<view style="margin-left: 40rpx;display: grid;justify-items: flex-start;"> |
||||
|
<text class="name">{{ userData.name }}</text> |
||||
|
<text class="type">{{ userData.enterprise }}</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="content"> |
||||
|
<view class="titlepart"> |
||||
|
<view class="icon"></view> |
||||
|
<text class="title">个人介绍</text> |
||||
|
</view> |
||||
|
<u-parse v-if="userData.introduction" :content="userData.introduction"></u-parse> |
||||
|
<view class="titlepart"> |
||||
|
<view class="icon"></view> |
||||
|
<text class="title">联系电话</text> |
||||
|
</view> |
||||
|
<view class="people"> |
||||
|
<text class="text">{{ userData.mobile }}</text> |
||||
|
</view> |
||||
|
<view class="titlepart"> |
||||
|
<view class="icon"></view> |
||||
|
<text class="title">微信二维码</text> |
||||
|
</view> |
||||
|
<image style="width: 338rpx; height: 338rpx; margin-top: 28rpx; margin-left: 24%" |
||||
|
:src="baseurl + userData.code_pic" mode=""></image> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script setup> |
||||
|
import { |
||||
|
onLoad |
||||
|
} from '@dcloudio/uni-app' |
||||
|
import { |
||||
|
ref |
||||
|
} from 'vue' |
||||
|
import { |
||||
|
enterpriseInfo |
||||
|
} from '@/api/shop' |
||||
|
|
||||
|
const baseurl = ref(import.meta.env.VITE_APP_BASE_URL + '/') |
||||
|
|
||||
|
const userData = ref({}) |
||||
|
|
||||
|
onLoad(async (param) => { |
||||
|
await enterpriseInfo({id:param.id,category_id:param.current}).then((res) => { |
||||
|
if (res.code === 1) { |
||||
|
userData.value = res.data |
||||
|
} |
||||
|
}) |
||||
|
}) |
||||
|
</script> |
||||
|
|
||||
|
<style scoped lang="scss"> |
||||
|
.container { |
||||
|
background-color: #ffffff; |
||||
|
height: calc(100vh - 182rpx); |
||||
|
width: 100%; |
||||
|
|
||||
|
.main { |
||||
|
width: 100%; |
||||
|
|
||||
|
.head { |
||||
|
padding: 40rpx; |
||||
|
box-sizing: border-box; |
||||
|
width: 100%; |
||||
|
display: flex; |
||||
|
|
||||
|
.toux { |
||||
|
width: 180rpx; |
||||
|
height: 180rpx; |
||||
|
box-sizing: border-box; |
||||
|
border-radius: 50%; |
||||
|
box-shadow: 0rpx 8rpx 40rpx 0rpx rgba(101, 101, 101, 0.15); |
||||
|
} |
||||
|
|
||||
|
.name { |
||||
|
margin-top: 32rpx; |
||||
|
font-family: Inter; |
||||
|
font-size: 32rpx; |
||||
|
font-weight: 350; |
||||
|
color: #000000; |
||||
|
} |
||||
|
|
||||
|
.type { |
||||
|
margin-top: 40rpx; |
||||
|
margin-top: 4rpx; |
||||
|
font-family: Inter; |
||||
|
font-size: 32rpx; |
||||
|
font-weight: 350; |
||||
|
color: #858494; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.content { |
||||
|
padding: 0 40rpx; |
||||
|
box-sizing: border-box; |
||||
|
padding-bottom: 100rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.titlepart { |
||||
|
margin-top: 40rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
|
||||
|
.icon { |
||||
|
width: 12rpx; |
||||
|
height: 32rpx; |
||||
|
border-radius: 0rpx 32rpx 32rpx 0rpx; |
||||
|
/* 蓝色渐变 */ |
||||
|
background: linear-gradient(0deg, #007fff 0%, #99ccff 100%); |
||||
|
} |
||||
|
|
||||
|
.title { |
||||
|
margin-left: 18rpx; |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 30rpx; |
||||
|
font-weight: 350; |
||||
|
line-height: 32rpx; |
||||
|
text-align: justify; |
||||
|
/* 浏览器可能不支持 */ |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
letter-spacing: normal; |
||||
|
color: #0072ff; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.message { |
||||
|
margin-top: 36rpx; |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 32rpx; |
||||
|
font-weight: 300; |
||||
|
line-height: 60rpx; |
||||
|
text-align: justify; |
||||
|
/* 浏览器可能不支持 */ |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
letter-spacing: normal; |
||||
|
color: #3d3d3d; |
||||
|
} |
||||
|
|
||||
|
.people { |
||||
|
margin-top: 28rpx; |
||||
|
display: flex; |
||||
|
|
||||
|
.text { |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 32rpx; |
||||
|
font-weight: 300; |
||||
|
line-height: 60rpx; |
||||
|
text-align: justify; |
||||
|
/* 浏览器可能不支持 */ |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
letter-spacing: normal; |
||||
|
color: #3d3d3d; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -1,77 +1,404 @@ |
|||||
<template> |
<template> |
||||
<u-navbar title="企业帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
<u-navbar title="企业帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
||||
<view class="container"> |
<view class="container"> |
||||
<u-search |
<u-search @search="search" @clickIcon="clickIcon" shape="square" placeholder="请输入搜索内容" |
||||
@search="search" |
placeholder-color="#a4c7ff" v-model="keyword" search-icon="/static/img/search.png" search-icon-size="14" |
||||
@clickIcon="clickIcon" |
:show-action="false" height="40" margin="40rpx 24rpx 24rpx 24rpx"></u-search> |
||||
shape="square" |
<zh-scroll ref="zhscrollRel" :scroll-list="goods" :mote="'two'" :search-val="keyword" @tabId="lefttabId"> |
||||
placeholder="请输入搜索内容" |
<scroll-view scroll-y class="reightpp" @scrolltolower="onloadmore" v-if="current === 1"> |
||||
placeholder-color="#a4c7ff" |
<view class="ztone" v-for="(item, index) in rightData" :key="index" @click="godetail(item.id)"> |
||||
v-model="keyword" |
<image style="width: 80rpx; height: 80rpx; flex: 1;border-radius: 16rpx;" |
||||
search-icon="/static/img/search.png" |
:src="baseurl+item.head_pic" mode="widthFix"></image> |
||||
search-icon-size="14" |
<view class="rightpart"> |
||||
:show-action="false" |
<view class="splace"> |
||||
height="40" |
{{ item.name }} |
||||
margin="40rpx 24rpx 24rpx 24rpx" |
</view> |
||||
></u-search> |
<text class="title">{{ item.enterprise }}</text> |
||||
<zh-scroll ref="zhscrollRel" :scroll-list="goods" :search-val="keyword"></zh-scroll> |
</view> |
||||
</view> |
<image style="width: 32rpx; height: 44rpx" src="@/static/img/Icon.png" mode="aspectFill"></image> |
||||
<liuDragButton :width-px="'145rpx'"> |
</view> |
||||
<image class="hdzq" src="@/static/img/hdzq.png" mode="aspectFill" @click="gohdzq"></image> |
</scroll-view> |
||||
</liuDragButton> |
<scroll-view scroll-y class="reightpp" v-else-if="current === 2"> |
||||
|
<view class="wkbox"> |
||||
|
<view class="wkone" v-for="(item, index) in rightData" :key="index"> |
||||
|
<view class="tittt"> |
||||
|
{{item.title}} |
||||
|
</view> |
||||
|
<view class="xzs"> |
||||
|
下载人数 |
||||
|
<view class="num"> |
||||
|
{{item.download_num}} |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="ljxz" @click="downwk(item.id,baseurl+item.filepath)"> |
||||
|
立即下载 |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</scroll-view> |
||||
|
<scroll-view scroll-y class="reightpp" v-else> |
||||
|
<view class="list"> |
||||
|
<!-- category begin --> |
||||
|
<view class="category"> |
||||
|
<view class="items"> |
||||
|
<!-- 商品 begin --> |
||||
|
<view class="good" v-for="(good, key) in rightData" :key="key" @click="goqydetail(good.id)"> |
||||
|
<slot name="custom"> |
||||
|
<!-- <image :src="good.images" class="image"></image> --> |
||||
|
<!-- <view class="title"> --> |
||||
|
<!-- <image :src="baseurl+good.icon_path" class="icon"></image> --> |
||||
|
<text class="name">{{ good.title }}</text> |
||||
|
<!-- </view> --> |
||||
|
<image class="lefticon" src="@/static/img/icon2.png" mode=""></image> |
||||
|
<!-- <view class="right"> --> |
||||
|
<!-- <text class="tips">{{ good.content }}</text> --> |
||||
|
<!-- </view> --> |
||||
|
</slot> |
||||
|
</view> |
||||
|
<!-- 商品 end --> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- category end --> |
||||
|
</view> |
||||
|
</scroll-view> |
||||
|
</zh-scroll> |
||||
|
</view> |
||||
|
<liuDragButton :width-px="'145rpx'"> |
||||
|
<view class="boxhd" @click="gohdzq"> |
||||
|
<view class="txtt"> |
||||
|
互动专区 |
||||
|
</view> |
||||
|
<image class="hdzq" src="@/static/img/hdzq.png" mode="aspectFill"></image> |
||||
|
</view> |
||||
|
</liuDragButton> |
||||
</template> |
</template> |
||||
<script setup> |
<script setup> |
||||
import { ref } from 'vue' |
import { |
||||
|
ref |
||||
|
} from 'vue' |
||||
|
|
||||
import zhScroll from '@/components/zh-scroll/zh-scroll.vue' |
import zhScroll from '@/components/zh-scroll/zh-scroll.vue' |
||||
import { storeList } from '@/api/shop' |
import { |
||||
import liuDragButton from '@/uni_modules/liu-drag-button/components/liu-drag-button/liu-drag-button.vue' |
enterpriseCategory, |
||||
|
enterpriseList, |
||||
|
contractDownload |
||||
|
} from '@/api/shop' |
||||
|
import liuDragButton from '@/uni_modules/liu-drag-button/components/liu-drag-button/liu-drag-button.vue' |
||||
|
const baseurl = ref(import.meta.env.VITE_APP_BASE_URL + '/') |
||||
|
|
||||
const zhscrollRel = ref(null) |
const zhscrollRel = ref(null) |
||||
|
|
||||
// 响应式数据 |
const current = ref(1) |
||||
const keyword = ref('') |
const page = ref(1) |
||||
|
const limit = ref(8) |
||||
|
|
||||
const goods = ref([]) |
// 响应式数据 |
||||
|
const keyword = ref('') |
||||
|
|
||||
const search = (val) => { |
const goods = ref([]) |
||||
zhscrollRel.value.searchleMenuTap(keyword.value) |
const rightData = ref([]) |
||||
} |
|
||||
|
|
||||
const clickIcon = () => { |
const search = (val) => { |
||||
zhscrollRel.value.searchleMenuTap(keyword.value) |
page.value = 1 |
||||
} |
limit.value = 8 |
||||
|
getRightdata() |
||||
|
} |
||||
|
|
||||
const gohdzq = () => { |
const clickIcon = () => { |
||||
uni.navigateTo({ |
page.value = 1 |
||||
url: '/pages/index/shoppage/interactiveZone' |
limit.value = 8 |
||||
}) |
getRightdata() |
||||
} |
} |
||||
|
|
||||
onShow(async () => { |
const onloadmore = async () => { |
||||
await storeList({}).then((res) => { |
page.value++ |
||||
goods.value = res.data |
let params = { |
||||
}) |
category_id: current.value, |
||||
}) |
title: keyword.value, |
||||
|
page: page.value, |
||||
|
limit: limit.value |
||||
|
} |
||||
|
await enterpriseList(params).then((res) => { |
||||
|
rightData.value = [...rightData.value, ...res.data.data] |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
const gohdzq = () => { |
||||
|
uni.navigateTo({ |
||||
|
url: '/pages/index/shoppage/interactiveZone?tabid=' + 3 |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
const lefttabId = (id) => { |
||||
|
page.value = 1 |
||||
|
limit.value = 8 |
||||
|
current.value = id |
||||
|
getRightdata() |
||||
|
} |
||||
|
|
||||
|
const getRightdata = async () => { |
||||
|
let param = { |
||||
|
category_id: current.value, |
||||
|
title: keyword.value, |
||||
|
page: page.value, |
||||
|
limit: limit.value |
||||
|
} |
||||
|
await enterpriseList(param).then((res) => { |
||||
|
rightData.value = res.data.data |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
const godetail = (id) => { |
||||
|
uni.navigateTo({ |
||||
|
url: '/pages/index/shoppage/qyDetail?id=' + id + '¤t=' + current.value |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
const goqydetail = (id) => { |
||||
|
uni.navigateTo({ |
||||
|
url: '/pages/index/shoppage/qyhelpDetail?id=' + id + '¤t=' + current.value |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
const openDocument = (filePath) => { |
||||
|
const allowedTypes = ['pdf', 'doc', 'xls', 'ppt', 'docx', 'xlsx', 'pptx']; |
||||
|
const fileExt = filePath.split('.').pop().toLowerCase(); |
||||
|
|
||||
|
if (!allowedTypes.includes(fileExt)) { |
||||
|
return uni.showToast({ title: '不支持的文件格式', icon: 'none' }); |
||||
|
} |
||||
|
|
||||
|
uni.openDocument({ |
||||
|
filePath, |
||||
|
showMenu: true, // 显示右上角菜单 |
||||
|
success: () => { |
||||
|
// progressVisible.value = false; |
||||
|
} |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
const downwk = (id,url) => { |
||||
|
uni.showLoading({ title: '下载中...' }); |
||||
|
uni.downloadFile({ |
||||
|
url, |
||||
|
success: (res) => { |
||||
|
if (res.statusCode === 200) { |
||||
|
// 保存到本地 |
||||
|
uni.saveFile({ |
||||
|
tempFilePath: res.tempFilePath, |
||||
|
success: (saveRes) => { |
||||
|
uni.hideLoading(); |
||||
|
uni.showToast({ title: '下载成功', icon: 'success' }); |
||||
|
openDocument(saveRes.savedFilePath); |
||||
|
contractDownload(id) |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
}, |
||||
|
fail: (err) => { |
||||
|
uni.hideLoading(); |
||||
|
uni.showToast({ title: '下载失败', icon: 'none' }); |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
onLoad(async () => { |
||||
|
await enterpriseCategory({}).then((res) => { |
||||
|
goods.value = res.data |
||||
|
}) |
||||
|
await getRightdata() |
||||
|
}) |
||||
</script> |
</script> |
||||
|
|
||||
<style scoped lang="scss"> |
<style scoped lang="scss"> |
||||
.container { |
.container { |
||||
background-color: #ffffff; |
background-color: #ffffff; |
||||
height: calc(100vh - 254rpx); |
height: calc(100vh - 254rpx); |
||||
width: 100%; |
width: 100%; |
||||
|
|
||||
.cate-tab { |
.cate-tab { |
||||
height: calc(100vh - 254rpx); |
height: calc(100vh - 254rpx); |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
.hdzq { |
.boxhd { |
||||
width: 212rpx; |
.txtt { |
||||
height: 86rpx; |
margin-top: 42rpx; |
||||
position: fixed; |
position: absolute; |
||||
right: 0; |
z-index: 1; |
||||
top: 70%; |
white-space: nowrap; |
||||
margin-right: -14rpx; |
margin-left: -52rpx; |
||||
} |
font-family: Source Han Sans; |
||||
|
font-size: 28rpx; |
||||
|
font-weight: 350; |
||||
|
color: #FFFFFF; |
||||
|
} |
||||
|
|
||||
|
.hdzq { |
||||
|
width: 212rpx; |
||||
|
height: 86rpx; |
||||
|
position: fixed; |
||||
|
right: 0; |
||||
|
top: 70%; |
||||
|
margin-right: -14rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.reightpp { |
||||
|
width: 100%; |
||||
|
padding: 30rpx; |
||||
|
box-sizing: border-box; |
||||
|
gap: 20rpx; |
||||
|
|
||||
|
.ztone { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
width: 100%; |
||||
|
padding: 20rpx; |
||||
|
border-radius: 8rpx; |
||||
|
background: #ffffff; |
||||
|
box-sizing: border-box; |
||||
|
border: 2rpx solid #F1F3F9; |
||||
|
|
||||
|
.rightpart { |
||||
|
width: 100%; |
||||
|
margin-left: 20rpx; |
||||
|
flex: 3; |
||||
|
display: grid; |
||||
|
align-content: space-between; |
||||
|
|
||||
|
.splace { |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 20rpx; |
||||
|
font-weight: 600; |
||||
|
color: #0C092A; |
||||
|
} |
||||
|
|
||||
|
.title { |
||||
|
margin-top: 20rpx; |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 20rpx; |
||||
|
color: #666666; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.wkbox { |
||||
|
display: grid; |
||||
|
grid-template-columns: repeat(2, 1fr); |
||||
|
gap: 20rpx; |
||||
|
width: 100%; |
||||
|
|
||||
|
.wkone { |
||||
|
background: #F1F3F9; |
||||
|
border-radius: 20rpx; |
||||
|
padding: 32rpx 24rpx 20rpx 24rpx; |
||||
|
box-sizing: border-box; |
||||
|
|
||||
|
.tittt { |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 28rpx; |
||||
|
color: #444444; |
||||
|
display: -webkit-box; |
||||
|
-webkit-box-orient: vertical; |
||||
|
-webkit-line-clamp: 1; |
||||
|
overflow: hidden; |
||||
|
} |
||||
|
|
||||
|
.xzs { |
||||
|
margin-top: 70rpx; |
||||
|
font-size: 19.4rpx; |
||||
|
color: #B0B0B5; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
|
||||
|
.num { |
||||
|
margin-left: 6rpx; |
||||
|
font-size: 19.4rpx; |
||||
|
color: #2563EB |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.ljxz { |
||||
|
margin-top: 24rpx; |
||||
|
padding: 8rpx 40rpx; |
||||
|
box-sizing: border-box; |
||||
|
border-radius: 40rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: center; |
||||
|
background: linear-gradient(90deg, #007FFF 0%, #99CCFF 100%); |
||||
|
font-size: 20rpx; |
||||
|
color: #FFFFFF; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
.list { |
||||
|
width: 100%; |
||||
|
font-size: 28rpx; |
||||
|
padding-bottom: 130rpx; |
||||
|
|
||||
|
.category { |
||||
|
width: 100%; |
||||
|
|
||||
|
.title { |
||||
|
padding: 10rpx 0; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
color: #0c092a; |
||||
|
|
||||
|
.icon { |
||||
|
width: 38rpx; |
||||
|
height: 38rpx; |
||||
|
} |
||||
|
.fristtitle { |
||||
|
margin-left: 20rpx; |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 28rpx; |
||||
|
font-weight: 530; |
||||
|
line-height: 48rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
letter-spacing: normal; |
||||
|
color: #0c092a; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.items { |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
padding-bottom: -30rpx; |
||||
|
|
||||
|
:deep(.good) { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: space-between; |
||||
|
margin-bottom: 30rpx; |
||||
|
padding-left: 40rpx; |
||||
|
.name { |
||||
|
max-width: 100%; |
||||
|
margin-left: 10rpx; |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 28rpx; |
||||
|
font-weight: 300; |
||||
|
color: #606266; |
||||
|
overflow: hidden; /* 隐藏溢出内容 */ |
||||
|
white-space: nowrap; /* 禁止换行 */ |
||||
|
text-overflow: ellipsis; /* 显示省略号 */ |
||||
|
} |
||||
|
.icon { |
||||
|
width: 38rpx; |
||||
|
height: 38rpx; |
||||
|
} |
||||
|
.lefticon { |
||||
|
width: 16rpx; |
||||
|
height: 28rpx; |
||||
|
margin-right: 6rpx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
</style> |
</style> |
||||
@ -0,0 +1,147 @@ |
|||||
|
<template> |
||||
|
<u-navbar :title="'开店帮'" placeholder="true" bg-color="#F1F3F9" :auto-back="true" /> |
||||
|
<view class="container"> |
||||
|
<text class="title">{{ xdbData.title }}</text> |
||||
|
<text class="fbr">发布人:{{ xdbData.publisher }}</text> |
||||
|
<view class="readtime"> |
||||
|
<text class="time">{{ xdbData.create_time }}</text> |
||||
|
<view class="readnum"> |
||||
|
阅读量: |
||||
|
<text class="num">{{ xdbData.count }}</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="nrxq"> |
||||
|
<view class="icon"></view> |
||||
|
<text class="nrtitle">内容详情</text> |
||||
|
</view> |
||||
|
<u-parse :content="xdbData.content"></u-parse> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script setup> |
||||
|
import { onLoad } from '@dcloudio/uni-app' |
||||
|
import { ref } from 'vue' |
||||
|
import { enterpriseInfo } from '@/api/shop' |
||||
|
|
||||
|
const xdbData = ref({}) |
||||
|
|
||||
|
onLoad(async (param) => { |
||||
|
await enterpriseInfo({id:param.id,category_id:param.current}).then((res) => { |
||||
|
if (res.code === 1) { |
||||
|
xdbData.value = res.data |
||||
|
} |
||||
|
}) |
||||
|
}) |
||||
|
</script> |
||||
|
|
||||
|
<style scoped lang="scss"> |
||||
|
.container { |
||||
|
background-color: #ffffff; |
||||
|
height: calc(100vh - 182rpx); |
||||
|
width: 100%; |
||||
|
padding: 60rpx 40rpx 0 40rpx; |
||||
|
box-sizing: border-box; |
||||
|
|
||||
|
.title { |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 36rpx; |
||||
|
font-weight: normal; |
||||
|
line-height: 48rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
letter-spacing: normal; |
||||
|
color: #0c092a; |
||||
|
} |
||||
|
|
||||
|
.fbr { |
||||
|
margin-top: 28rpx; |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 28rpx; |
||||
|
font-weight: 350; |
||||
|
line-height: 48rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
letter-spacing: normal; |
||||
|
color: #858494; |
||||
|
} |
||||
|
|
||||
|
.readtime { |
||||
|
margin-top: 28rpx; |
||||
|
width: 100%; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: space-between; |
||||
|
|
||||
|
.time { |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 28rpx; |
||||
|
font-weight: 350; |
||||
|
line-height: 48rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
letter-spacing: normal; |
||||
|
color: #858494; |
||||
|
} |
||||
|
|
||||
|
.readnum { |
||||
|
display: flex; |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 28rpx; |
||||
|
font-weight: 350; |
||||
|
line-height: 48rpx; |
||||
|
text-align: right; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
letter-spacing: normal; |
||||
|
/* 阅读量: */ |
||||
|
color: #858494; |
||||
|
|
||||
|
.num { |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 28rpx; |
||||
|
font-weight: 350; |
||||
|
line-height: 48rpx; |
||||
|
text-align: right; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
letter-spacing: normal; |
||||
|
/* 2 */ |
||||
|
color: #007fff; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.nrxq { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
margin-top: 60rpx; |
||||
|
margin-bottom: 40rpx; |
||||
|
|
||||
|
.icon { |
||||
|
width: 12rpx; |
||||
|
height: 32rpx; |
||||
|
border-radius: 0rpx 32rpx 32rpx 0rpx; |
||||
|
/* 蓝色渐变 */ |
||||
|
background: linear-gradient(0deg, #007fff 0%, #99ccff 100%); |
||||
|
} |
||||
|
|
||||
|
.nrtitle { |
||||
|
margin-left: 20rpx; |
||||
|
font-family: Source Han Sans; |
||||
|
font-size: 30rpx; |
||||
|
font-weight: 350; |
||||
|
line-height: 32rpx; |
||||
|
text-align: justify; |
||||
|
/* 浏览器可能不支持 */ |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
letter-spacing: normal; |
||||
|
color: #0072ff; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.message { |
||||
|
margin-top: 40rpx; |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -1,77 +1,90 @@ |
|||||
<template> |
<template> |
||||
<u-navbar title="开店帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
<u-navbar title="开店帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
||||
<view class="container"> |
<view class="container"> |
||||
<u-search |
<u-search @search="search" @clickIcon="clickIcon" shape="square" placeholder="请输入搜索内容" |
||||
@search="search" |
placeholder-color="#a4c7ff" v-model="keyword" search-icon="/static/img/search.png" search-icon-size="14" |
||||
@clickIcon="clickIcon" |
:show-action="false" height="40" margin="40rpx 24rpx 24rpx 24rpx"></u-search> |
||||
shape="square" |
<zh-scroll ref="zhscrollRel" :scroll-list="goods" :mote="'one'" :search-val="keyword"></zh-scroll> |
||||
placeholder="请输入搜索内容" |
</view> |
||||
placeholder-color="#a4c7ff" |
<liuDragButton :width-px="'145rpx'"> |
||||
v-model="keyword" |
<view class="boxhd" @click="gohdzq"> |
||||
search-icon="/static/img/search.png" |
<view class="txtt"> |
||||
search-icon-size="14" |
互动专区 |
||||
:show-action="false" |
</view> |
||||
height="40" |
<image class="hdzq" src="@/static/img/hdzq.png" mode="aspectFill"></image> |
||||
margin="40rpx 24rpx 24rpx 24rpx" |
</view> |
||||
></u-search> |
</liuDragButton> |
||||
<zh-scroll ref="zhscrollRel" :scroll-list="goods" :search-val="keyword"></zh-scroll> |
|
||||
</view> |
|
||||
<liuDragButton :width-px="'145rpx'"> |
|
||||
<image class="hdzq" src="@/static/img/hdzq.png" mode="aspectFill" @click="gohdzq"></image> |
|
||||
</liuDragButton> |
|
||||
</template> |
</template> |
||||
<script setup> |
<script setup> |
||||
import { ref } from 'vue' |
import { |
||||
|
ref |
||||
|
} from 'vue' |
||||
|
|
||||
import zhScroll from '@/components/zh-scroll/zh-scroll.vue' |
import zhScroll from '@/components/zh-scroll/zh-scroll.vue' |
||||
import { storeList } from '@/api/shop' |
import { |
||||
import liuDragButton from '@/uni_modules/liu-drag-button/components/liu-drag-button/liu-drag-button.vue' |
storeList |
||||
|
} from '@/api/shop' |
||||
|
import liuDragButton from '@/uni_modules/liu-drag-button/components/liu-drag-button/liu-drag-button.vue' |
||||
|
|
||||
const zhscrollRel = ref(null) |
const zhscrollRel = ref(null) |
||||
|
|
||||
// 响应式数据 |
// 响应式数据 |
||||
const keyword = ref('') |
const keyword = ref('') |
||||
|
|
||||
const goods = ref([]) |
const goods = ref([]) |
||||
|
|
||||
const search = (val) => { |
const search = (val) => { |
||||
zhscrollRel.value.searchleMenuTap(keyword.value) |
zhscrollRel.value.searchleMenuTap(keyword.value) |
||||
} |
} |
||||
|
|
||||
const clickIcon = () => { |
const clickIcon = () => { |
||||
zhscrollRel.value.searchleMenuTap(keyword.value) |
zhscrollRel.value.searchleMenuTap(keyword.value) |
||||
} |
} |
||||
|
|
||||
const gohdzq = () => { |
const gohdzq = () => { |
||||
uni.navigateTo({ |
uni.navigateTo({ |
||||
url: '/pages/index/shoppage/interactiveZone' |
url: '/pages/index/shoppage/interactiveZone?tabid='+0 |
||||
}) |
}) |
||||
} |
} |
||||
|
|
||||
onShow(async () => { |
onShow(async () => { |
||||
await storeList({}).then((res) => { |
await storeList({}).then((res) => { |
||||
goods.value = res.data |
goods.value = res.data |
||||
}) |
}) |
||||
}) |
}) |
||||
</script> |
</script> |
||||
|
|
||||
<style scoped lang="scss"> |
<style scoped lang="scss"> |
||||
.container { |
.container { |
||||
background-color: #ffffff; |
background-color: #ffffff; |
||||
height: calc(100vh - 254rpx); |
height: calc(100vh - 254rpx); |
||||
width: 100%; |
width: 100%; |
||||
|
|
||||
.cate-tab { |
.cate-tab { |
||||
height: calc(100vh - 254rpx); |
height: calc(100vh - 254rpx); |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
.hdzq { |
.boxhd { |
||||
width: 212rpx; |
.txtt { |
||||
height: 86rpx; |
margin-top: 42rpx; |
||||
position: fixed; |
position: absolute; |
||||
right: 0; |
z-index: 1; |
||||
top: 70%; |
white-space: nowrap; |
||||
margin-right: -14rpx; |
margin-left: -52rpx; |
||||
} |
font-family: Source Han Sans; |
||||
|
font-size: 28rpx; |
||||
|
font-weight: 350; |
||||
|
color: #FFFFFF; |
||||
|
} |
||||
|
|
||||
|
.hdzq { |
||||
|
width: 212rpx; |
||||
|
height: 86rpx; |
||||
|
position: fixed; |
||||
|
right: 0; |
||||
|
top: 70%; |
||||
|
margin-right: -14rpx; |
||||
|
} |
||||
|
} |
||||
</style> |
</style> |
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.3 KiB |
Loading…
Reference in new issue