yujialong 1 year ago
parent 1c95bf74ea
commit 79b808404a
  1. 4
      config/request.js
  2. 2
      order/addCourse/addCourse.vue
  3. 37
      order/clientDetail/clientDetail.vue
  4. 22
      order/editCourse/editCourse.vue
  5. 71
      order/orderDetail/orderDetail.vue
  6. 2
      order/productDetail/productDetail.vue
  7. 4
      order/products/products.vue
  8. 12
      pages.json
  9. 107
      pages/index/index.vue
  10. 5
      pages/login/login.vue
  11. 7
      pages/person/person.vue
  12. 3
      pages/reg/reg.vue
  13. 29
      pages/workbench/workbench.vue
  14. BIN
      static/image/index/banner.png
  15. BIN
      static/image/index/banner1.png
  16. BIN
      static/image/logo.png
  17. BIN
      static/image/logo1.png
  18. BIN
      static/image/product/shop-blue.png
  19. BIN
      static/image/product/shop-blue1.png
  20. BIN
      static/image/product/shop.png
  21. 6
      styles/common.scss
  22. 3
      team/article/article.vue
  23. 8
      team/info/info.vue
  24. 16
      team/plans/plans.vue
  25. 4
      team/scheme/scheme.vue
  26. 6
      team/study/study.vue

@ -5,9 +5,9 @@
*/
export default {
baseURL: 'https://huorantech.cn/',
// baseURL: 'https://huorantech.cn/',
// baseURL: 'http://192.168.31.152:9000/',
// baseURL: 'http://121.37.12.51/',
baseURL: 'http://121.37.12.51/',
headers: {
'Content-Type': 'application/json;charset=UTF-8'
},

@ -260,7 +260,6 @@
const list = this.checked //
if (list.length) {
const result = this.courses
console.log(123, result)
const list1 = [] //
const list0 = [] //
const list2 = [] //
@ -278,7 +277,6 @@
const res = await queryCitySettlementPrice(e.mallId, this.provinceId, this.cityId)
if (res.mallPrice) e.settlementPrice = res.mallPrice.discountRate
}
console.log(44, e)
const classId = e.classificationId
const pid = +e.associatedProduct
const { mallId } = e

@ -108,6 +108,7 @@
isDetail: false,
customerId: '',
shopCart: false,
fromOrder: false,
//
customerTypeList: [{
name: '正式',
@ -166,6 +167,7 @@
this.customerId = options.customerId
this.isDetail = !!options.show
this.shopCart = options.shopCart //
this.fromOrder = options.order //
options.customerId && this.getInfo()
//
@ -317,21 +319,28 @@
} else {
addCustomer(form).then(({ customerId }) => {
uni.hideLoading()
const that = this
uni.showModal({
title: '提示',
content: '创建客户成功,是否马上为该客户创建订单?',
success: function (res) {
if (res.confirm) {
//
uni.redirectTo({
url: `/order/orderDetail/orderDetail?customerId=${customerId}${that.shopCart ? '&shopCart=1' : ''}`
})
} else if (res.cancel) {
uni.navigateBack()
//
if (this.fromOrder) {
uni.redirectTo({
url: `/order/orderDetail/orderDetail?customerId=${customerId}${this.shopCart ? '&shopCart=1' : ''}`
})
} else {
const that = this
uni.showModal({
title: '提示',
content: '创建客户成功,是否马上为该客户创建订单?',
success: function (res) {
if (res.confirm) {
//
uni.redirectTo({
url: `/order/orderDetail/orderDetail?customerId=${customerId}${that.shopCart ? '&shopCart=1' : ''}`
})
} else if (res.cancel) {
uni.navigateBack()
}
}
}
})
})
}
}).catch(res => {})
}
},

@ -76,7 +76,7 @@
</template>
<script>
import { getOrderOtherTime, queryCitySettlementPrice } from '@/apis/modules/order.js'
import { getOrderOtherTime, queryCitySettlementPrice, renew } from '@/apis/modules/order.js'
import { getPartnerTeamRates } from '@/apis/modules/parner.js'
import { productCategoryList } from '@/apis/modules/product.js'
export default {
@ -139,6 +139,18 @@
const res = await queryCitySettlementPrice(e.mallId, provinceId, cityId)
if (res.mallPrice) e.settlementPriceUnit = res.mallPrice.discountRate || 0
}
//
const res = await renew({
authority: e.authority,
customerId: this.customerId,
productId: [e.mallId]
})
const item = res.orderOthers
if (item && item.length) {
let date = new Date(item[0].endTime)
date = new Date(date.setDate(date.getDate() + 1))
e.startTime = this.$util.formatDate(date, 'yyyy-MM-dd')
}
courses['list' + e.authority].list.push(e)
})
this.courses = courses
@ -217,12 +229,13 @@
const date = new Date(row.startTime)
const orderRepeat = this.orderRepeat
getOrderOtherTime({
authority: row.authority,
customerId: this.customerId,
id: cId,
startTime: this.$util.formatDate(date, 'yyyy-MM-dd'),
endTime: row.endTime
}).then(res => {
orderRepeat.includes(cId) && orderRepeat.splice(orderRepeat.findIndex(e => e === cId), 1)
orderRepeat.includes(cId) && orderRepeat.splice(orderRepeat.findIndex(e => e == cId), 1)
if (res.endTime) {
let time = new Date(res.endTime)
time = new Date(time.setDate(time.getDate() + 1))
@ -270,7 +283,6 @@
getPartnerTeamRates({
teamId: uni.getStorageSync('team').teamId
}).then(({ teamRates }) => {
console.log('teamRates=>',teamRates)
this.rate = teamRates.annualMarketingFee || 0
}).catch(res => {})
},
@ -356,10 +368,12 @@
msg = '请输入成交价!'
break
}
e.edited = 1 //
}
if (msg) return this.$util.errMsg(msg)
if (this.orderRepeat.length) return this.$util.errMsg(this.repeatMsg) //
list.forEach(e => {
e.edited = 1 //
})
uni.setStorageSync('courses', this.courses)
uni.redirectTo({
url: `../orderDetail/orderDetail?edited=1`

@ -70,7 +70,6 @@
</view>
<view class="course-action">
<image v-if="!isDetail" class="del" src="@/static/image/trash.png" mode="widthFix" @click.stop="delCourse(c, i)"></image>
<button v-if="(item.authority == 0 || item.authority == 3 || item.authority == 4) && ((!isDetail && item.mallNonAssociatedLinks && item.mallNonAssociatedLinks.length) || (isDetail && item.shipContent))" class="course-btn" type="primary" @click.stop="showShip(item)">发货信息</button>
</view>
</view>
<view class="info">
@ -107,11 +106,7 @@
</view>
<view class="line">
<view class="label">结算价</view>
<view v-if="isDetail" class="ph">{{ item.settlementPrice }}</view>
<view class="inline" v-else>
<input type="number" v-model="item.settlementPrice" placeholder="请输入" @change="handleErr(item, 'settlementPrice')" @input="updateServiceFee(item)">
</view>
<view class="ph">{{ item.settlementPrice && item.settlementPrice + '元' }}</view>
</view>
<view class="line">
<view class="label">折扣率</view>
@ -129,6 +124,10 @@
</view>
</view>
<view v-if="(item.authority == 0 || item.authority == 3 || item.authority == 4) && item.shipInfo" class="line">
<view class="label">发货信息</view>
<view class="ph ship-info" v-html="item.shipInfo" @click="copy(item)"></view>
</view>
</view>
</li>
</ul>
@ -179,16 +178,13 @@
<view class="item" v-for="item in customerList" @click="customerChange(item)">{{ item.customerName }}</view>
</view>
</view>
<uni-popup ref="info" type="bottom" background-color="#fff">
<view class="ship-info" v-html="shipInfo" @click="copy"></view>
</uni-popup>
</view>
</template>
<script>
import { productCategoryList, delCart } from '@/apis/modules/product.js'
import { queryCustomer, queryCustomerDetails } from '@/apis/modules/client.js'
import { add, update, getDetail, queryCitySettlementPrice } from '@/apis/modules/order.js'
import { add, update, getDetail, queryCitySettlementPrice, getOrderOtherTime } from '@/apis/modules/order.js'
import { getPartnerTeamRates } from '@/apis/modules/parner.js'
export default {
data() {
@ -242,7 +238,6 @@
customerListAll: [],
err: '',
rate: '',
shipInfo: '',
orderRepeat:[],
units: [{
text: '日',
@ -282,10 +277,18 @@
if (this.orderId) {
this.getInfo()
} else if (options.edited && store) { //
console.log(11, store)
//
const list = []
for (const i in store) {
//
store[i].list.map(e => {
let val = []
e.mallNonAssociatedLinks && e.mallNonAssociatedLinks.forEach(e => {
val.push(e.urlName + ':' + e.url)
})
e.shipInfo = e.shipContent || val.join('<br>')
e.copyInfo = e.shipContent || val.join(';')
})
list.push(...store[i].list)
}
this.courseList = store
@ -328,9 +331,6 @@
this.form = order.order
this.courses = order.orderOther
this.handleProduct(order.orderOther)
if(!this.orderId) {
this.calcTotal()
}
uni.hideLoading()
}).catch(e => {
uni.hideLoading()
@ -350,6 +350,14 @@
})
// 3push(0-> 1- 2 )
list.map(e => {
//
let val = []
e.mallNonAssociatedLinks && e.mallNonAssociatedLinks.forEach(e => {
val.push(e.urlName + ':' + e.url)
})
e.shipInfo = e.shipContent || val.join('<br>')
e.copyInfo = e.shipContent || val.join(';')
e.serviceFee = (e.finalPrice * (this.rate / 100)).toFixed(2) // != 0 &&
courses['list' + e.authority].list.push(e)
})
@ -446,7 +454,7 @@
//
toClient() {
this.shopCart || uni.setStorageSync('courses', this.courses)
this.$util.to(`/order/clientDetail/clientDetail${this.shopCart ? '?shopCart=1' : ''}`)
this.$util.to(`/order/clientDetail/clientDetail?order=1${this.shopCart ? '&shopCart=1' : ''}`)
},
//
delCourse(c, i) {
@ -570,12 +578,13 @@
const date = new Date(row.startTime)
const orderRepeat = this.orderRepeat
getOrderOtherTime({
customerId: this.customerId,
authority: row.authority,
customerId: this.form.customerId,
id: cId,
startTime: this.$util.formatDate(date, 'yyyy-MM-dd'),
endTime: row.endTime
}).then(res => {
orderRepeat.includes(cId) && orderRepeat.splice(orderRepeat.findIndex(e => e === cId), 1)
orderRepeat.includes(cId) && orderRepeat.splice(orderRepeat.findIndex(e => e == cId), 1)
if (res.endTime) {
let time = new Date(res.endTime)
time = new Date(time.setDate(time.getDate() + 1))
@ -672,20 +681,11 @@
updateServiceFee(row) {
options.serviceFee = (row.finalPrice * (this.rate / 100)).toFixed(2)
},
//
showShip(row) {
let val = ''
row.mallNonAssociatedLinks && row.mallNonAssociatedLinks.forEach(e => {
val += e.urlName + ':' + e.url + '\n'
})
this.shipInfo = row.shipContent || val
this.$refs.info.open()
},
//
copy() {
copy(row) {
const that = this
uni.setClipboardData({
data: this.shipInfo,
data: row.copyInfo,
success() {
that.$util.sucMsg('复制成功')
}
@ -731,6 +731,7 @@
return this.$util.errMsg('请选择订单类型!')
}
if (!courses.length) return this.$util.errMsg('请选择课程后再确认订单!')
if (this.orderRepeat.length) return this.$util.errMsg(this.repeatMsg) //
courses.map(e => {
e.startTime = this.$util.formatDate(new Date(e.startTime), 'yyyy-MM-dd')
})
@ -848,12 +849,17 @@
}
}
.label {
margin-right: 20rpx;
font-size: 28rpx;
white-space: nowrap;
color: #333;
}
.ph {
font-size: 28rpx;
color: #999;
&.ship-info {
text-align: right;
}
}
.val {
font-size: 28rpx;
@ -1011,11 +1017,4 @@
margin-left: 10rpx;
}
}
.ship-info {
height: 400rpx;
padding: 20rpx;
white-space: pre-wrap;
font-size: 28rpx;
overflow: auto;
}
</style>

@ -96,7 +96,7 @@
<view class="footer">
<view v-if="auth('产品:购物车')" class="shop" @click="$util.to('../shopCart/shopCart')">
<uni-badge size="small" :text="shopCartTotal" absolute="topRight" type="error">
<image class="icon" src="@/static/image/product/shop-blue1.png" mode="widthFix"></image>
<image class="icon" src="@/static/image/product/shop.png" mode="widthFix"></image>
</uni-badge>
<view>购物车</view>
</view>

@ -65,7 +65,7 @@
<view v-if="auth('产品:购物车')" class="plus">
<uni-badge size="small" :text="total" absolute="topRight" type="error">
<image class="icon" src="@/static/image/product/shop-blue1.png" mode="widthFix" @click="$util.to('../shopCart/shopCart')"></image>
<image class="icon" src="@/static/image/product/shop-blue.png" mode="widthFix" @click="$util.to('../shopCart/shopCart')"></image>
</uni-badge>
</view>
@ -393,7 +393,7 @@
bottom: 140rpx;
right: 60rpx;
.icon {
width: 80rpx;
width: 102rpx;
}
}
</style>

@ -12,7 +12,7 @@
"path" : "pages/index/index",
"style" :
{
"navigationBarTitleText": "",
"navigationStyle": "custom",
"enablePullDownRefresh": false
}
},
@ -21,6 +21,7 @@
"style" :
{
"navigationBarTitleText": "工作台",
"navigationStyle": "custom",
"enablePullDownRefresh": false
}
},
@ -37,6 +38,7 @@
"style" :
{
"navigationBarTitleText": "我的",
"navigationStyle": "custom",
"enablePullDownRefresh": false
}
}
@ -146,6 +148,8 @@
"style" :
{
"navigationBarTitleText": "学习",
"navigationBarTextStyle": "black",
"navigationBarBackgroundColor": "#fff",
"enablePullDownRefresh": true
}
},
@ -162,6 +166,8 @@
"style" :
{
"navigationBarTitleText": "资讯",
"navigationBarTextStyle": "black",
"navigationBarBackgroundColor": "#fff",
"enablePullDownRefresh": true
}
@ -234,7 +240,9 @@
"path" : "article/article",
"style" :
{
"navigationBarTitleText": "",
"navigationBarTitleText": "学习",
"navigationBarTextStyle": "black",
"navigationBarBackgroundColor": "#fff",
"enablePullDownRefresh": false
}
}

@ -1,6 +1,17 @@
<template>
<view :class="[{oh: !per}]">
<image class="banner" src="@/static/image/index/banner.png" mode="widthFix"></image>
<view class="banner">
<image class="pic" src="@/static/image/index/banner.png" mode="widthFix"></image>
<image class="bg1" src="@/static/image/index/banner1.png"></image>
<view class="texts">
<view class="title">
<image class="logo" src="@/static/image/logo1.png" mode="widthFix"></image>
职站商城
</view>
<view class="text">您的一站式实验教学产品采购平台</view>
</view>
<view class="rect"></view>
</view>
<view class="page">
<view class="search-wrap">
@ -17,13 +28,14 @@
<ul class="tags">
<li v-for="(tag, i) in tags" :key="i" @click="toHot(tag)">
<image class="icon" :src="require('@/static/image/index/' + (i + 1) + '.png')"></image>
<view class="icon">
<image :src="require('@/static/image/index/' + (i + 1) + '.png')"></image>
</view>
<view class="text ell">{{ tag.tagsName }}</view>
</li>
</ul>
</view>
<view class="block">
<view class="title-wrap">
<view class="title">热销产品</view>
@ -65,8 +77,8 @@
</view>
<view v-if="auth('产品:购物车')" class="plus">
<uni-badge size="small" :text="total" absolute="topRight" type="error">
<image class="icon" src="@/static/image/product/shop-blue1.png" mode="widthFix" @click="$util.to('/order/shopCart/shopCart')"></image>
<uni-badge size="small" :text="total" absolute="topRight" type="error" :custom-style="customStyle">
<image class="icon" src="@/static/image/product/shop-blue.png" mode="widthFix" @click="$util.to('/order/shopCart/shopCart')"></image>
</uni-badge>
</view>
@ -89,6 +101,12 @@
hotProducts: [],
offcialProducts: [],
total: 0,
customStyle: {
width: '46rpx',
height: '46rpx',
lineHeight: '40rpx',
fontSize: '34rpx'
}
}
},
onShow() {
@ -240,11 +258,62 @@
.page {
position: relative;
padding: 10rpx 22rpx;
margin-top: -61rpx;
box-sizing: border-box;
background-color: #fff;
border-top-left-radius: 16px;
border-top-right-radius: 16px;
}
.banner {
width: 100%;
position: relative;
.pic {
width: 100%;
}
.bg1 {
position: absolute;
top: -120rpx;
left: -380rpx;
width: 100%;
transform: rotate(20deg);
}
.logo {
// position: absolute;
// top: 10rpx;
// left: 0;
width: 70rpx;
margin-right: 14rpx;
}
.texts {
position: absolute;
top: 230rpx;
left: 0;
width: 100%;
text-align: center;
color: #fff;
}
.title {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 22rpx;
font-size: 48rpx;
font-family: AlimamaShuHeiTi-Bold, AlimamaShuHeiTi;
font-weight: 600;
}
.text {
font-size: 30rpx;
}
.rect {
position: absolute;
bottom: 90rpx;
left: -12rpx;
width: 55rpx;
height: 61rpx;
border-radius: 7px 10px 7px 10px;
opacity: 0.63;
border: 1px solid #FFFFFF;
transform: rotate(54deg);
}
}
.search-wrap {
display: flex;
@ -288,11 +357,26 @@
width: 25%;
margin-bottom: 24rpx;
text-align: center;
&:last-child {
image {
width: 50rpx;
height: 50rpx;
}
}
}
.icon {
width: 70rpx;
height: 70rpx;
margin-bottom: 18rpx;
display: flex;
justify-content: center;
align-items: center;
width: 90rpx;
height: 90rpx;
margin: 0 auto 18rpx;
background-color: rgb(228,239,255);
border-radius: 50%;
}
image {
width: 60rpx;
height: 60rpx;
}
.text {
width: 165rpx;
@ -345,7 +429,10 @@
bottom: 140rpx;
right: 60rpx;
.icon {
width: 80rpx;
width: 110rpx;
}
.uni-badge {
font-size: 32rpx;
}
}
</style>

@ -1,8 +1,8 @@
<template>
<view class="page">
<view class="wrap">
<image class="logo" src="@/static/image/logo.png" mode=""></image>
<view class="hello">Hi城市合伙人请登录</view>
<image class="logo" src="@/static/image/logo.png" mode="widthFix"></image>
<view class="hello">欢迎登录职站商城</view>
<button v-if="isLogin && !getPhone" class="btn phone" open-type="getPhoneNumber" @getphonenumber="onGetPhoneNumber">
<image src="@/static/image/phone.png" mode="widthFix"></image>
{{ isReg ? '获取手机号' : '绑定手机'}}
@ -254,7 +254,6 @@
border-radius: 20rpx;
.logo {
width: 393rpx;
height: 93rpx;
}
.hello {
margin: 36rpx 0;

@ -1,5 +1,6 @@
<template>
<view class="page">
<view class="status-bar"></view>
<image class="bg" src="@/static/image/person-bg.png"></image>
<view class="wrap">
<view class="info">
@ -315,9 +316,13 @@
</script>
<style scoped lang="scss">
.status-bar {
// width: 100%;
// height: calc(var(--status-bar-height) + 120rpx);
}
.bg {
width: 100%;
height: 300rpx;
height: calc(var(--status-bar-height) + 317rpx);
}
.wrap {
position: relative;

@ -1,6 +1,6 @@
<template>
<view class="page">
<image class="logo" src="@/static/image/logo.png" mode=""></image>
<image class="logo" src="@/static/image/logo.png" mode="widthFix"></image>
<view class="wrap">
<view class="hello">
{{ form.isTeam ? '或然科技城市合伙人,欢迎回来!' : form.isTeam === 0 ? '请认真填写您的姓名和意向开展业务的区域。创建成功后,我们将会有区域运营与您联系沟通后续事宜。' : '欢迎加入或然城市合伙人计划!请认真填写您的姓名和意向开展业务的区域。注册后,我们将会有区域运营与您联系沟通后续事宜。'}}
@ -152,7 +152,6 @@
url(@/static/image/login2.png) bottom right/123rpx auto no-repeat;
.logo {
width: 393rpx;
height: 93rpx;
margin: 100rpx 0 60rpx;
}
}

@ -1,8 +1,11 @@
<template>
<view :class="['page', {oh: !per}]">
<view class="status-bar"></view>
<image class="bg" src="@/static/image/workbench/index2.png" mode="widthFix"></image>
<view class="team">
<uni-data-picker class="picker-input" placeholder="切换团队" popup-title="切换团队" preload :clear-icon="false" :localdata="list" :map="{text: 'partnerClassificationName', value: 'teamId'}" v-model="teamId" @change="teamChange"></uni-data-picker>
<view class="team-wrap" :style="{paddingTop: headerTop}">
<view class="team">
<uni-data-picker class="picker-input" placeholder="切换团队" popup-title="切换团队" preload :clear-icon="false" :localdata="list" :map="{text: 'partnerClassificationName', value: 'teamId'}" v-model="teamId" @change="teamChange"></uni-data-picker>
</view>
</view>
<view class="banner">
@ -23,11 +26,11 @@
<view class="text">方案</view>
</li>
<li v-if="auth('工作台:学习')" @click="$util.to('/team/study/study')">
<image class="icon info-icon" src="@/static/image/workbench/index11.png" mode="widthFix"></image>
<image class="icon" src="@/static/image/workbench/index5.png" mode="widthFix"></image>
<view class="text">学习</view>
</li>
<li v-if="auth('工作台:资讯')" @click="$util.to('/team/info/info')">
<image class="icon info-icon" src="@/static/image/workbench/index12.png" mode="widthFix"></image>
<image class="icon" src="@/static/image/workbench/index6.png" mode="widthFix"></image>
<view class="text">资讯</view>
</li>
</ul>
@ -143,10 +146,13 @@
settlementPrice: 0,
marketingServiceCharge: 0,
projectBenefit: 0,
}
},
headerTop: 0
}
},
onShow() {
this.headerTop = uni.getMenuButtonBoundingClientRect().top + 8 + 'px'
console.log(44, this.headerTop)
this.per = true
this.getInfo()
},
@ -273,7 +279,6 @@
teamChange() {
const { teamId } = this
const e = this.list.find(e => e.teamId == teamId)
console.log(333,teamId ,e)
uni.setStorageSync('team', e)
uni.setStorageSync('teamId', teamId)
this.getAuth()
@ -290,9 +295,13 @@
.page {
position: relative;
min-height: 100%;
padding: 30rpx 22rpx;
padding: 0 22rpx 30rpx;
box-sizing: border-box;
}
.status-bar {
width: 100%;
// height: calc(var(--status-bar-height));
}
.bg {
z-index: -1;
position: absolute;
@ -302,8 +311,14 @@
height: 100%;
}
.team {
position: relative;
width: 300rpx;
margin-bottom: 30rpx;
/deep/.selected-item text {
font-size: 30rpx;
font-weight: 600;
color: #5f5f5f;
}
}
.banner {
position: relative;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 473 B

After

Width:  |  Height:  |  Size: 1007 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 578 B

After

Width:  |  Height:  |  Size: 510 B

@ -197,12 +197,16 @@ ul {
.type-popup {
z-index: 10;
position: fixed;
top: 0;
top: 100%;
left: 0;
width: 100%;
height: 100%;
padding: 10rpx;
background-color: #fff;
transition: .3s;
&.active {
top: 0;
}
.close {
position: absolute;
top: 50rpx;

@ -51,6 +51,9 @@
const { options } = pages[pages.length - 1]
this.id = options.id
this.isInfo = options.info
options.info && uni.setNavigationBarTitle({
title: '资讯'
})
this.getInfo()
},
methods: {

@ -3,15 +3,13 @@
<view class="search-wrap">
<image class="bg" src="@/static/image/info.png"></image>
<view class="info">
<!-- <view class="text">行业资讯与活动</view>
<view class="text">速览</view> -->
<uni-search-bar class="search" radius="30" placeholder="请输入文章名称,标签" v-model="keyword" clearButton="auto" cancelButton="none" bgColor="#fff" />
</view>
</view>
<view class="type">
<view v-for="(item, i) in classifications.slice(0, 4)" :key="i" :class="['item', {active: active == item.id}]" @click="classificationClick(item, 1)">{{ item.classificationName }}</view>
<image class="unfold" src="@/static/image/unfold.png" mode="widthFix" @click="typeVisible = true"></image>
<uni-icons class="icon" custom-prefix="iconfont" type="icon-filter" size="22" color="#007eff" @click="typeVisible = true"></uni-icons>
</view>
<template v-if="list.length">
@ -36,7 +34,7 @@
</template>
<empty v-else></empty>
<view class="type-popup" v-show="typeVisible">
<view :class="['type-popup', {active: typeVisible}]">
<uni-icons class="close" type="closeempty" size="20" color="#757575" @click="closeType"></uni-icons>
<view class="title">所属分类</view>
<view class="types">
@ -215,7 +213,7 @@
font-weight: 600;
}
}
.unfold {
.icon {
position: absolute;
right: 40rpx;
width: 40rpx;

@ -6,7 +6,7 @@
<ul class="tab">
<li v-for="(tab, i) in classifications.slice(0, 4)" :class="{active: active === tab.id}" @click="tabChange(tab)">{{ tab.classificationName }}</li>
<image class="unfold" src="@/static/image/unfold.png" mode="widthFix" @click="typeVisible = true"></image>
<uni-icons class="icon" custom-prefix="iconfont" type="icon-filter" size="22" color="#007eff" @click="typeVisible = true"></uni-icons>
</ul>
<view v-if="list.length" class="list">
@ -17,7 +17,8 @@
<view class="line">
<view class="name">产品</view>
<view class="val ell-wrap">
<view :class="['product', {ell: !item.toggle}]">{{ item.productNames }}</view>
<view v-if="!item.toggle" class="product ell">{{ item.productNames }}</view>
<view v-else class="product" v-html="item.productNamesHtml"></view>
<view v-if="item.productNames && item.productNames.length > 14" class="toggle" @click.stop="toggle(item)">{{ item.toggle ? '收起' : '展开' }}</view>
</view>
</view>
@ -36,7 +37,7 @@
</view>
<empty v-else></empty>
<view class="type-popup" v-show="typeVisible">
<view :class="['type-popup', {active: typeVisible}]">
<uni-icons class="close" type="closeempty" size="20" color="#757575" @click="closeType"></uni-icons>
<view class="title">所属分类</view>
<view class="types">
@ -109,7 +110,10 @@
// list
const list = data.records
list.forEach(e => {
if (e.productNames) e.toggle = e.productNames.length < 14 // 14
if (e.productNames) {
e.toggle = e.productNames.length < 14 // 14
e.productNamesHtml = e.productNames.split(',').join('<br>')
}
})
this.list = this.reachBottom > 0 ? [...this.list, ...list] : list
this.page++ // page+1
@ -175,12 +179,10 @@
li {
padding: 0 30rpx;
}
.unfold {
.icon {
position: absolute;
top: 32rpx;
right: 12rpx;
right: 44rpx;
width: 40rpx;
}
}

@ -4,7 +4,7 @@
<view class="text">{{ form.applicableMajor }}</view>
<view class="text">{{ form.schemeIntroduction }}</view>
<view class="text">{{ form.product }}</view>
<view class="text" v-html="form.product"></view>
<template v-if="form.fileName">
<view class="file">{{ form.fileName }}</view>
<view class="detail" @click.stop="download">下载</view>
@ -36,7 +36,7 @@
title: '加载中'
})
schemeFindById(this.id).then(({ data }) => {
if (data.productList) data.product = data.productList.map(e => e.productName).join('')
if (data.productList) data.product = data.productList.map(e => e.productName).join('<br>')
this.form = data
uni.hideLoading()
}).catch(e => {

@ -10,7 +10,7 @@
<view class="type">
<view v-for="(item, i) in classifications.slice(0, 4)" :key="i" :class="['item', {active: active == item.id}]" @click="classificationClick(item, 1)">{{ item.classificationName }}</view>
<image class="unfold" src="@/static/image/unfold.png" mode="widthFix" @click="typeVisible = true"></image>
<uni-icons class="icon" custom-prefix="iconfont" type="icon-filter" size="22" color="#007eff" @click="typeVisible = true"></uni-icons>
</view>
<template v-if="list.length">
@ -40,7 +40,7 @@
</template>
<empty v-else></empty>
<view class="type-popup" v-show="typeVisible">
<view :class="['type-popup', {active: typeVisible}]">
<uni-icons class="close" type="closeempty" size="20" color="#757575" @click="closeType"></uni-icons>
<view class="title">所属分类</view>
<view class="types">
@ -221,7 +221,7 @@
font-weight: 600;
}
}
.unfold {
.icon {
position: absolute;
right: 40rpx;
width: 40rpx;

Loading…
Cancel
Save