13 changed files with 1306 additions and 560 deletions
@ -1,203 +1,218 @@ |
|||
<template> |
|||
<u-navbar title="金融帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
|||
<view class="container"> |
|||
<u-search |
|||
@search="search" |
|||
@clickIcon="clickIcon" |
|||
@clear="clear" |
|||
shape="square" |
|||
placeholder="请输入搜索内容" |
|||
placeholder-color="#A9D4FF" |
|||
v-model="keyword" |
|||
search-icon="/static/img/search.png" |
|||
search-icon-size="14" |
|||
:show-action="false" |
|||
height="40" |
|||
margin="40rpx 24rpx 24rpx 24rpx" |
|||
bg-color="#FFFFFF" |
|||
></u-search> |
|||
<view class="main"> |
|||
<scroll-view scroll-y="auto" class="hyonne" @scrolltolower="onloadmore"> |
|||
<view class="ztone" v-for="(item, index) in ztList" :key="index" @click="godetail(item.id)"> |
|||
<image style="width: 150rpx; height: 150rpx; border-radius: 28rpx; flex: 1" :src="baseurl + item.index_pic" mode=""></image> |
|||
<view class="rightpart"> |
|||
<view class="splace"> |
|||
{{ item.bank }} |
|||
</view> |
|||
<view class="titlepart"> |
|||
<text class="title">{{ item.name }}</text> |
|||
<image style="width: 32rpx; height: 44rpx" src="@/static/img/Icon.png" mode="aspectFill"></image> |
|||
</view> |
|||
<view class="ms"> |
|||
{{ item.branch }} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</scroll-view> |
|||
</view> |
|||
</view> |
|||
<liuDragButton :width-px="'145rpx'"> |
|||
<image class="hdzq" src="@/static/img/hdzq.png" mode="" @click="gohdzq"></image> |
|||
</liuDragButton> |
|||
<u-navbar title="金融帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
|||
<view class="container"> |
|||
<u-search @search="search" @clickIcon="clickIcon" @clear="clear" shape="square" placeholder="请输入搜索内容" |
|||
placeholder-color="#A9D4FF" v-model="keyword" search-icon="/static/img/search.png" search-icon-size="14" |
|||
:show-action="false" height="40" margin="40rpx 24rpx 24rpx 24rpx" bg-color="#FFFFFF"></u-search> |
|||
<view class="main"> |
|||
<scroll-view scroll-y="auto" class="hyonne" @scrolltolower="onloadmore"> |
|||
<view class="ztone" v-for="(item, index) in ztList" :key="index" @click="godetail(item.id)"> |
|||
<image style="width: 150rpx; height: 150rpx; border-radius: 28rpx; flex: 1" |
|||
:src="baseurl + item.index_pic" mode=""></image> |
|||
<view class="rightpart"> |
|||
<view class="splace"> |
|||
{{ item.bank }} |
|||
</view> |
|||
<view class="titlepart"> |
|||
<text class="title">{{ item.name }}</text> |
|||
<image style="width: 32rpx; height: 44rpx" src="@/static/img/Icon.png" mode="aspectFill"> |
|||
</image> |
|||
</view> |
|||
<view class="ms"> |
|||
{{ item.branch }} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</scroll-view> |
|||
</view> |
|||
</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> |
|||
|
|||
<script setup> |
|||
import { ref } from 'vue' |
|||
import { financeList } 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 keyword = ref('') |
|||
const page = ref(1) |
|||
const pagesize = ref(6) |
|||
|
|||
const search = async (val) => { |
|||
page.value = 1 |
|||
pagesize.value = 6 |
|||
await getfinanceList(keyword.value, page.value, pagesize.value) |
|||
} |
|||
|
|||
const clickIcon = async () => { |
|||
page.value = 1 |
|||
pagesize.value = 6 |
|||
await getfinanceList(keyword.value, page.value, pagesize.value) |
|||
} |
|||
|
|||
const clear = async () => { |
|||
page.value = 1 |
|||
pagesize.value = 6 |
|||
await getfinanceList(keyword.value, page.value, pagesize.value) |
|||
} |
|||
|
|||
const ztList = ref([]) |
|||
|
|||
const godetail = (id) => { |
|||
uni.navigateTo({ |
|||
url: '/pages/index/shoppage/jrbDetail?id=' + id |
|||
}) |
|||
} |
|||
|
|||
const gohdzq = () => { |
|||
uni.navigateTo({ |
|||
url: '/pages/index/shoppage/interactiveZone' |
|||
}) |
|||
} |
|||
|
|||
const getfinanceList = async (name, page, limit) => { |
|||
let params = { |
|||
keyword: name, |
|||
page: page, |
|||
limit: limit |
|||
} |
|||
await financeList(params).then((res) => { |
|||
ztList.value = res.data.data |
|||
}) |
|||
} |
|||
|
|||
const onloadmore = async () => { |
|||
page.value++ |
|||
let params = { |
|||
keyword: keyword.value, |
|||
page: page.value, |
|||
limit: pagesize.value |
|||
} |
|||
await financeList(params).then((res) => { |
|||
ztList.value = [...ztList.value, ...res.data.data] |
|||
}) |
|||
} |
|||
|
|||
onShow(async () => { |
|||
await getfinanceList('', 1, 6) |
|||
}) |
|||
import { |
|||
ref |
|||
} from 'vue' |
|||
import { |
|||
financeList |
|||
} 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 keyword = ref('') |
|||
const page = ref(1) |
|||
const pagesize = ref(6) |
|||
|
|||
const search = async (val) => { |
|||
page.value = 1 |
|||
pagesize.value = 6 |
|||
await getfinanceList(keyword.value, page.value, pagesize.value) |
|||
} |
|||
|
|||
const clickIcon = async () => { |
|||
page.value = 1 |
|||
pagesize.value = 6 |
|||
await getfinanceList(keyword.value, page.value, pagesize.value) |
|||
} |
|||
|
|||
const clear = async () => { |
|||
page.value = 1 |
|||
pagesize.value = 6 |
|||
await getfinanceList(keyword.value, page.value, pagesize.value) |
|||
} |
|||
|
|||
const ztList = ref([]) |
|||
|
|||
const godetail = (id) => { |
|||
uni.navigateTo({ |
|||
url: '/pages/index/shoppage/jrbDetail?id=' + id |
|||
}) |
|||
} |
|||
|
|||
const gohdzq = () => { |
|||
uni.navigateTo({ |
|||
url: '/pages/index/shoppage/interactiveZone?tabid='+1 |
|||
}) |
|||
} |
|||
|
|||
const getfinanceList = async (name, page, limit) => { |
|||
let params = { |
|||
keyword: name, |
|||
page: page, |
|||
limit: limit |
|||
} |
|||
await financeList(params).then((res) => { |
|||
ztList.value = res.data.data |
|||
}) |
|||
} |
|||
|
|||
const onloadmore = async () => { |
|||
page.value++ |
|||
let params = { |
|||
keyword: keyword.value, |
|||
page: page.value, |
|||
limit: pagesize.value |
|||
} |
|||
await financeList(params).then((res) => { |
|||
ztList.value = [...ztList.value, ...res.data.data] |
|||
}) |
|||
} |
|||
|
|||
onShow(async () => { |
|||
await getfinanceList('', 1, 6) |
|||
}) |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
.container { |
|||
background: linear-gradient(0deg, #f1f3f9 72%, rgba(129, 179, 222, 0.5) 88%); |
|||
height: calc(100vh - 178rpx); |
|||
width: 100%; |
|||
overflow-y: hidden; |
|||
.hyonne { |
|||
max-height: calc(100vh - 350rpx); |
|||
overflow-y: auto; |
|||
} |
|||
.main { |
|||
margin-top: 10rpx; |
|||
width: 100%; |
|||
height: 100%; |
|||
padding: 0 24rpx; |
|||
box-sizing: border-box; |
|||
overflow-y: hidden; |
|||
|
|||
.ztone { |
|||
display: flex; |
|||
align-items: center; |
|||
width: 100%; |
|||
height: 210rpx; |
|||
margin-top: 30rpx; |
|||
padding: 30rpx; |
|||
border-radius: 20rpx; |
|||
background: #ffffff; |
|||
box-sizing: border-box; |
|||
border: 2rpx solid rgba(0, 127, 255, 0.12); |
|||
|
|||
.rightpart { |
|||
width: 100%; |
|||
margin-left: 40rpx; |
|||
flex: 3; |
|||
display: grid; |
|||
|
|||
.titlepart { |
|||
width: 100%; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
|
|||
.title { |
|||
font-family: Poppins; |
|||
font-size: 24rpx; |
|||
font-weight: 600; |
|||
line-height: 34rpx; |
|||
letter-spacing: normal; |
|||
/* 外部/Colors/Dark/Base 1 */ |
|||
color: #161719; |
|||
margin-top: 13rpx; |
|||
} |
|||
} |
|||
|
|||
.splace { |
|||
font-family: Poppins; |
|||
font-size: 24rpx; |
|||
font-weight: normal; |
|||
line-height: 34rpx; |
|||
letter-spacing: normal; |
|||
/* 外部/Colors/Dark/Base 1 */ |
|||
color: #161719; |
|||
} |
|||
|
|||
.ms { |
|||
margin-top: 13rpx; |
|||
font-family: Poppins; |
|||
font-size: 20rpx; |
|||
font-weight: normal; |
|||
line-height: 28rpx; |
|||
letter-spacing: normal; |
|||
/* 外部/Colors/Light/Base 3 */ |
|||
color: #91919f; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.hdzq { |
|||
width: 212rpx; |
|||
height: 86rpx; |
|||
position: fixed; |
|||
right: 0; |
|||
top: 70%; |
|||
margin-right: -14rpx; |
|||
} |
|||
</style> |
|||
.container { |
|||
background: linear-gradient(0deg, #f1f3f9 72%, rgba(129, 179, 222, 0.5) 88%); |
|||
height: calc(100vh - 178rpx); |
|||
width: 100%; |
|||
overflow-y: hidden; |
|||
|
|||
.hyonne { |
|||
max-height: calc(100vh - 350rpx); |
|||
overflow-y: auto; |
|||
} |
|||
|
|||
.main { |
|||
margin-top: 10rpx; |
|||
width: 100%; |
|||
height: 100%; |
|||
padding: 0 24rpx; |
|||
box-sizing: border-box; |
|||
overflow-y: hidden; |
|||
|
|||
.ztone { |
|||
display: flex; |
|||
align-items: center; |
|||
width: 100%; |
|||
height: 210rpx; |
|||
margin-top: 30rpx; |
|||
padding: 30rpx; |
|||
border-radius: 20rpx; |
|||
background: #ffffff; |
|||
box-sizing: border-box; |
|||
border: 2rpx solid rgba(0, 127, 255, 0.12); |
|||
|
|||
.rightpart { |
|||
width: 100%; |
|||
margin-left: 40rpx; |
|||
flex: 3; |
|||
display: grid; |
|||
|
|||
.titlepart { |
|||
width: 100%; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
|
|||
.title { |
|||
font-family: Poppins; |
|||
font-size: 24rpx; |
|||
font-weight: 600; |
|||
line-height: 34rpx; |
|||
letter-spacing: normal; |
|||
/* 外部/Colors/Dark/Base 1 */ |
|||
color: #161719; |
|||
margin-top: 13rpx; |
|||
} |
|||
} |
|||
|
|||
.splace { |
|||
font-family: Poppins; |
|||
font-size: 24rpx; |
|||
font-weight: normal; |
|||
line-height: 34rpx; |
|||
letter-spacing: normal; |
|||
/* 外部/Colors/Dark/Base 1 */ |
|||
color: #161719; |
|||
} |
|||
|
|||
.ms { |
|||
margin-top: 13rpx; |
|||
font-family: Poppins; |
|||
font-size: 20rpx; |
|||
font-weight: normal; |
|||
line-height: 28rpx; |
|||
letter-spacing: normal; |
|||
/* 外部/Colors/Light/Base 3 */ |
|||
color: #91919f; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.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; |
|||
} |
|||
} |
|||
</style> |
|||
@ -1,256 +1,272 @@ |
|||
<template> |
|||
<view class="container"> |
|||
<u-navbar title="媒体帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
|||
<u-search |
|||
@search="search" |
|||
@clickIcon="clickIcon" |
|||
@clear="clear" |
|||
shape="square" |
|||
placeholder="请输入搜索内容" |
|||
placeholder-color="#a4c7ff" |
|||
v-model="keyword" |
|||
search-icon="/static/img/search.png" |
|||
search-icon-size="14" |
|||
:show-action="false" |
|||
height="40" |
|||
margin="40rpx 24rpx 24rpx 24rpx" |
|||
></u-search> |
|||
<scroll-view scroll-y="auto" class="mtlist" @scrolltolower="onloadmore"> |
|||
<view class="mtone" v-for="(item, index) in mtList" :key="index" @click="gomtbdetail(item.id)"> |
|||
<view class="headpart"> |
|||
<u-avatar :src="baseurl + item.head_pic" size="44"></u-avatar> |
|||
<view class="right"> |
|||
<text class="name">{{ item.name }}</text> |
|||
<view class="tab" v-if="item.tag_name !== ''"> |
|||
{{ item.tag_name }} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<image style="width: 100%; height: 400rpx; margin-top: 30rpx" :src="baseurl + item.publicize_pic" mode=""></image> |
|||
<view class="bottompart"> |
|||
<view class="part"> |
|||
<image style="width: 22rpx; height: 24rpx" src="@/static/img/dh.png" mode=""></image> |
|||
<text class="text">{{ item.tel }}</text> |
|||
</view> |
|||
<view class="part"> |
|||
<image style="width: 22rpx; height: 24rpx" src="@/static/img/yx.png" mode=""></image> |
|||
<view class="text">{{ item.email }}</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</scroll-view> |
|||
<view class="fbxxbutton"> |
|||
<view class="button" @click="gofbxx">发布信息</view> |
|||
</view> |
|||
</view> |
|||
<liuDragButton :width-px="'145rpx'"> |
|||
<image class="hdzq" src="@/static/img/hdzq.png" mode="" @click="gohdzq"></image> |
|||
</liuDragButton> |
|||
<view class="container"> |
|||
<u-navbar title="媒体帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
|||
<u-search @search="search" @clickIcon="clickIcon" @clear="clear" shape="square" placeholder="请输入搜索内容" |
|||
placeholder-color="#a4c7ff" v-model="keyword" search-icon="/static/img/search.png" search-icon-size="14" |
|||
:show-action="false" height="40" margin="40rpx 24rpx 24rpx 24rpx"></u-search> |
|||
<scroll-view scroll-y="auto" class="mtlist" @scrolltolower="onloadmore"> |
|||
<view class="mtone" v-for="(item, index) in mtList" :key="index" @click="gomtbdetail(item.id)"> |
|||
<view class="headpart"> |
|||
<u-avatar :src="baseurl + item.head_pic" size="44"></u-avatar> |
|||
<view class="right"> |
|||
<text class="name">{{ item.name }}</text> |
|||
<view class="tab" v-if="item.tag_name !== ''"> |
|||
{{ item.tag_name }} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<image style="width: 100%; height: 400rpx; margin-top: 30rpx" :src="baseurl + item.publicize_pic" |
|||
mode=""></image> |
|||
<view class="bottompart"> |
|||
<view class="part"> |
|||
<image style="width: 22rpx; height: 24rpx" src="@/static/img/dh.png" mode=""></image> |
|||
<text class="text">{{ item.tel }}</text> |
|||
</view> |
|||
<view class="part"> |
|||
<image style="width: 22rpx; height: 24rpx" src="@/static/img/yx.png" mode=""></image> |
|||
<view class="text">{{ item.email }}</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</scroll-view> |
|||
<view class="fbxxbutton"> |
|||
<view class="button" @click="gofbxx">发布信息</view> |
|||
</view> |
|||
</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> |
|||
|
|||
<script setup> |
|||
import { ref } from 'vue' |
|||
import { mediumList } from '@/api/shop' |
|||
import liuDragButton from '@/uni_modules/liu-drag-button/components/liu-drag-button/liu-drag-button.vue' |
|||
import { |
|||
ref |
|||
} 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 page = ref(1) |
|||
const pagesize = ref(2) |
|||
// 响应式数据 |
|||
const keyword = ref('') |
|||
const page = ref(1) |
|||
const pagesize = ref(2) |
|||
|
|||
const search = async (val) => { |
|||
page.value = 1 |
|||
pagesize.value = 2 |
|||
await getmediumList(keyword.value, page.value, pagesize.value) |
|||
} |
|||
const search = async (val) => { |
|||
page.value = 1 |
|||
pagesize.value = 2 |
|||
await getmediumList(keyword.value, page.value, pagesize.value) |
|||
} |
|||
|
|||
const clickIcon = async () => { |
|||
page.value = 1 |
|||
pagesize.value = 2 |
|||
await getmediumList(keyword.value, page.value, pagesize.value) |
|||
} |
|||
const clickIcon = async () => { |
|||
page.value = 1 |
|||
pagesize.value = 2 |
|||
await getmediumList(keyword.value, page.value, pagesize.value) |
|||
} |
|||
|
|||
const clear = async () => { |
|||
page.value = 1 |
|||
pagesize.value = 2 |
|||
await getmediumList(keyword.value, page.value, pagesize.value) |
|||
} |
|||
const clear = async () => { |
|||
page.value = 1 |
|||
pagesize.value = 2 |
|||
await getmediumList(keyword.value, page.value, pagesize.value) |
|||
} |
|||
|
|||
const gohdzq = () => { |
|||
uni.navigateTo({ |
|||
url: '/pages/index/shoppage/interactiveZone' |
|||
}) |
|||
} |
|||
const gohdzq = () => { |
|||
uni.navigateTo({ |
|||
url: '/pages/index/shoppage/interactiveZone?tabid='+2 |
|||
}) |
|||
} |
|||
|
|||
const mtList = ref([]) |
|||
const mtList = ref([]) |
|||
|
|||
const gomtbdetail = (id) => { |
|||
uni.navigateTo({ |
|||
url: '/pages/index/shoppage/mediaDetail?id=' + id + '&type=' + 'mt' |
|||
}) |
|||
} |
|||
const gomtbdetail = (id) => { |
|||
uni.navigateTo({ |
|||
url: '/pages/index/shoppage/mediaDetail?id=' + id + '&type=' + 'mt' |
|||
}) |
|||
} |
|||
|
|||
const gofbxx = () => { |
|||
uni.navigateTo({ |
|||
url: '/pages/index/shoppage/mtbmakeMessage' |
|||
}) |
|||
} |
|||
const gofbxx = () => { |
|||
uni.navigateTo({ |
|||
url: '/pages/index/shoppage/mtbmakeMessage' |
|||
}) |
|||
} |
|||
|
|||
const getmediumList = async (name, page, limit) => { |
|||
let params = { |
|||
name: name, |
|||
page: page, |
|||
limit: limit |
|||
} |
|||
await mediumList(params).then((res) => { |
|||
mtList.value = res.data.data |
|||
}) |
|||
} |
|||
const getmediumList = async (name, page, limit) => { |
|||
let params = { |
|||
name: name, |
|||
page: page, |
|||
limit: limit |
|||
} |
|||
await mediumList(params).then((res) => { |
|||
mtList.value = res.data.data |
|||
}) |
|||
} |
|||
|
|||
const onloadmore = async () => { |
|||
page.value++ |
|||
let params = { |
|||
name: keyword.value, |
|||
page: page.value, |
|||
limit: pagesize.value |
|||
} |
|||
await mediumList(params).then((res) => { |
|||
mtList.value = [...mtList.value, ...res.data.data] |
|||
}) |
|||
} |
|||
const onloadmore = async () => { |
|||
page.value++ |
|||
let params = { |
|||
name: keyword.value, |
|||
page: page.value, |
|||
limit: pagesize.value |
|||
} |
|||
await mediumList(params).then((res) => { |
|||
mtList.value = [...mtList.value, ...res.data.data] |
|||
}) |
|||
} |
|||
|
|||
onShow(async () => { |
|||
await getmediumList('', 1, 2) |
|||
}) |
|||
onShow(async () => { |
|||
await getmediumList('', 1, 2) |
|||
}) |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
.container { |
|||
background: linear-gradient(0deg, #f1f3f9 72%, rgba(62, 146, 249, 0.2) 88%); |
|||
width: 100%; |
|||
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; |
|||
.container { |
|||
background: linear-gradient(0deg, #f1f3f9 72%, rgba(62, 146, 249, 0.2) 88%); |
|||
width: 100%; |
|||
overflow: hidden; |
|||
|
|||
.mtone { |
|||
margin-top: 30rpx; |
|||
width: 100%; |
|||
height: 666rpx; |
|||
border-radius: 24rpx; |
|||
background: #ffffff; |
|||
display: grid; |
|||
padding: 40rpx 24rpx; |
|||
box-sizing: border-box; |
|||
.mtlist { |
|||
margin-top: 8rpx; |
|||
padding: 0 24rpx; |
|||
box-sizing: border-box; |
|||
overflow-y: auto; |
|||
height: 100vh; |
|||
max-height: calc(100vh - 336rpx); |
|||
padding-bottom: 168rpx; |
|||
|
|||
.headpart { |
|||
display: flex; |
|||
align-items: center; |
|||
.mtone { |
|||
margin-top: 30rpx; |
|||
width: 100%; |
|||
height: 666rpx; |
|||
border-radius: 24rpx; |
|||
background: #ffffff; |
|||
display: grid; |
|||
padding: 40rpx 24rpx; |
|||
box-sizing: border-box; |
|||
|
|||
.right { |
|||
margin-left: 16rpx; |
|||
display: grid; |
|||
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); |
|||
} |
|||
} |
|||
} |
|||
.headpart { |
|||
display: flex; |
|||
align-items: center; |
|||
|
|||
.bottompart { |
|||
margin-top: 26rpx; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
.right { |
|||
margin-left: 16rpx; |
|||
display: grid; |
|||
justify-items: baseline; |
|||
|
|||
.part { |
|||
display: flex; |
|||
align-items: center; |
|||
.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; |
|||
} |
|||
|
|||
.text { |
|||
margin-left: 8rpx; |
|||
font-family: Source Han Sans; |
|||
font-size: 28rpx; |
|||
font-weight: 300; |
|||
line-height: 33.6rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
letter-spacing: normal; |
|||
color: #606266; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
.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); |
|||
} |
|||
} |
|||
} |
|||
|
|||
.hdzq { |
|||
width: 212rpx; |
|||
height: 86rpx; |
|||
position: fixed; |
|||
right: 0; |
|||
top: 70%; |
|||
margin-right: -14rpx; |
|||
} |
|||
.bottompart { |
|||
margin-top: 26rpx; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
|
|||
.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; |
|||
.part { |
|||
display: flex; |
|||
align-items: 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> |
|||
.text { |
|||
margin-left: 8rpx; |
|||
font-family: Source Han Sans; |
|||
font-size: 28rpx; |
|||
font-weight: 300; |
|||
line-height: 33.6rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
letter-spacing: normal; |
|||
color: #606266; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.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> |
|||
@ -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> |
|||
<u-navbar title="企业帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
|||
<view class="container"> |
|||
<u-search |
|||
@search="search" |
|||
@clickIcon="clickIcon" |
|||
shape="square" |
|||
placeholder="请输入搜索内容" |
|||
placeholder-color="#a4c7ff" |
|||
v-model="keyword" |
|||
search-icon="/static/img/search.png" |
|||
search-icon-size="14" |
|||
:show-action="false" |
|||
height="40" |
|||
margin="40rpx 24rpx 24rpx 24rpx" |
|||
></u-search> |
|||
<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> |
|||
<u-navbar title="企业帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
|||
<view class="container"> |
|||
<u-search @search="search" @clickIcon="clickIcon" shape="square" placeholder="请输入搜索内容" |
|||
placeholder-color="#a4c7ff" v-model="keyword" search-icon="/static/img/search.png" search-icon-size="14" |
|||
:show-action="false" height="40" margin="40rpx 24rpx 24rpx 24rpx"></u-search> |
|||
<zh-scroll ref="zhscrollRel" :scroll-list="goods" :mote="'two'" :search-val="keyword" @tabId="lefttabId"> |
|||
<scroll-view scroll-y class="reightpp" @scrolltolower="onloadmore" v-if="current === 1"> |
|||
<view class="ztone" v-for="(item, index) in rightData" :key="index" @click="godetail(item.id)"> |
|||
<image style="width: 80rpx; height: 80rpx; flex: 1;border-radius: 16rpx;" |
|||
:src="baseurl+item.head_pic" mode="widthFix"></image> |
|||
<view class="rightpart"> |
|||
<view class="splace"> |
|||
{{ item.name }} |
|||
</view> |
|||
<text class="title">{{ item.enterprise }}</text> |
|||
</view> |
|||
<image style="width: 32rpx; height: 44rpx" src="@/static/img/Icon.png" mode="aspectFill"></image> |
|||
</view> |
|||
</scroll-view> |
|||
<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> |
|||
<script setup> |
|||
import { ref } from 'vue' |
|||
import { |
|||
ref |
|||
} from 'vue' |
|||
|
|||
import zhScroll from '@/components/zh-scroll/zh-scroll.vue' |
|||
import { storeList } from '@/api/shop' |
|||
import liuDragButton from '@/uni_modules/liu-drag-button/components/liu-drag-button/liu-drag-button.vue' |
|||
import zhScroll from '@/components/zh-scroll/zh-scroll.vue' |
|||
import { |
|||
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 keyword = ref('') |
|||
const current = ref(1) |
|||
const page = ref(1) |
|||
const limit = ref(8) |
|||
|
|||
const goods = ref([]) |
|||
// 响应式数据 |
|||
const keyword = ref('') |
|||
|
|||
const search = (val) => { |
|||
zhscrollRel.value.searchleMenuTap(keyword.value) |
|||
} |
|||
const goods = ref([]) |
|||
const rightData = ref([]) |
|||
|
|||
const clickIcon = () => { |
|||
zhscrollRel.value.searchleMenuTap(keyword.value) |
|||
} |
|||
const search = (val) => { |
|||
page.value = 1 |
|||
limit.value = 8 |
|||
getRightdata() |
|||
} |
|||
|
|||
const gohdzq = () => { |
|||
uni.navigateTo({ |
|||
url: '/pages/index/shoppage/interactiveZone' |
|||
}) |
|||
} |
|||
const clickIcon = () => { |
|||
page.value = 1 |
|||
limit.value = 8 |
|||
getRightdata() |
|||
} |
|||
|
|||
onShow(async () => { |
|||
await storeList({}).then((res) => { |
|||
goods.value = res.data |
|||
}) |
|||
}) |
|||
const onloadmore = async () => { |
|||
page.value++ |
|||
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> |
|||
|
|||
<style scoped lang="scss"> |
|||
.container { |
|||
background-color: #ffffff; |
|||
height: calc(100vh - 254rpx); |
|||
width: 100%; |
|||
|
|||
.cate-tab { |
|||
height: calc(100vh - 254rpx); |
|||
} |
|||
} |
|||
|
|||
.hdzq { |
|||
width: 212rpx; |
|||
height: 86rpx; |
|||
position: fixed; |
|||
right: 0; |
|||
top: 70%; |
|||
margin-right: -14rpx; |
|||
} |
|||
</style> |
|||
.container { |
|||
background-color: #ffffff; |
|||
height: calc(100vh - 254rpx); |
|||
width: 100%; |
|||
|
|||
.cate-tab { |
|||
height: calc(100vh - 254rpx); |
|||
} |
|||
} |
|||
|
|||
.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; |
|||
} |
|||
} |
|||
|
|||
.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> |
|||
@ -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> |
|||
<u-navbar title="开店帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
|||
<view class="container"> |
|||
<u-search |
|||
@search="search" |
|||
@clickIcon="clickIcon" |
|||
shape="square" |
|||
placeholder="请输入搜索内容" |
|||
placeholder-color="#a4c7ff" |
|||
v-model="keyword" |
|||
search-icon="/static/img/search.png" |
|||
search-icon-size="14" |
|||
:show-action="false" |
|||
height="40" |
|||
margin="40rpx 24rpx 24rpx 24rpx" |
|||
></u-search> |
|||
<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> |
|||
<u-navbar title="开店帮" placeholder="true" bg-color="#F1F3F9" :auto-back="true"></u-navbar> |
|||
<view class="container"> |
|||
<u-search @search="search" @clickIcon="clickIcon" shape="square" placeholder="请输入搜索内容" |
|||
placeholder-color="#a4c7ff" v-model="keyword" search-icon="/static/img/search.png" search-icon-size="14" |
|||
:show-action="false" height="40" margin="40rpx 24rpx 24rpx 24rpx"></u-search> |
|||
<zh-scroll ref="zhscrollRel" :scroll-list="goods" :mote="'one'" :search-val="keyword"></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> |
|||
<script setup> |
|||
import { ref } from 'vue' |
|||
import { |
|||
ref |
|||
} from 'vue' |
|||
|
|||
import zhScroll from '@/components/zh-scroll/zh-scroll.vue' |
|||
import { storeList } from '@/api/shop' |
|||
import liuDragButton from '@/uni_modules/liu-drag-button/components/liu-drag-button/liu-drag-button.vue' |
|||
import zhScroll from '@/components/zh-scroll/zh-scroll.vue' |
|||
import { |
|||
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) => { |
|||
zhscrollRel.value.searchleMenuTap(keyword.value) |
|||
} |
|||
const search = (val) => { |
|||
zhscrollRel.value.searchleMenuTap(keyword.value) |
|||
} |
|||
|
|||
const clickIcon = () => { |
|||
zhscrollRel.value.searchleMenuTap(keyword.value) |
|||
} |
|||
const clickIcon = () => { |
|||
zhscrollRel.value.searchleMenuTap(keyword.value) |
|||
} |
|||
|
|||
const gohdzq = () => { |
|||
uni.navigateTo({ |
|||
url: '/pages/index/shoppage/interactiveZone' |
|||
}) |
|||
} |
|||
const gohdzq = () => { |
|||
uni.navigateTo({ |
|||
url: '/pages/index/shoppage/interactiveZone?tabid='+0 |
|||
}) |
|||
} |
|||
|
|||
onShow(async () => { |
|||
await storeList({}).then((res) => { |
|||
goods.value = res.data |
|||
}) |
|||
}) |
|||
onShow(async () => { |
|||
await storeList({}).then((res) => { |
|||
goods.value = res.data |
|||
}) |
|||
}) |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
.container { |
|||
background-color: #ffffff; |
|||
height: calc(100vh - 254rpx); |
|||
width: 100%; |
|||
.container { |
|||
background-color: #ffffff; |
|||
height: calc(100vh - 254rpx); |
|||
width: 100%; |
|||
|
|||
.cate-tab { |
|||
height: calc(100vh - 254rpx); |
|||
} |
|||
} |
|||
.cate-tab { |
|||
height: calc(100vh - 254rpx); |
|||
} |
|||
} |
|||
|
|||
.hdzq { |
|||
width: 212rpx; |
|||
height: 86rpx; |
|||
position: fixed; |
|||
right: 0; |
|||
top: 70%; |
|||
margin-right: -14rpx; |
|||
} |
|||
</style> |
|||
.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; |
|||
} |
|||
} |
|||
</style> |
|||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.3 KiB |
Loading…
Reference in new issue