5 changed files with 1067 additions and 517 deletions
Unified View
Diff Options
-
12pages.json
-
452pages/my-offer/index.vue
-
536pages/quotation-details/index.vue
-
14pages/submit-quotation/index.vue
-
570pages/trade/quotationList.vue
@ -1,224 +1,228 @@ |
|||||
<template> |
|
||||
<view class="my-offer"> |
|
||||
<uni-nav-bar left-icon="back" @clickLeft="back" statusBar fixed title="我的报价"></uni-nav-bar> |
|
||||
<scroll-list style="touch-action: none" ref="orderRef" :option="orderOption" @load="orderUp" @refresh="orderDown"> |
|
||||
<view v-for="(items,index) in orderData" :key="index"> |
|
||||
<view class="list-border list-title-line"> |
|
||||
<text class="list-title">广州民族印刷有限公司</text> |
|
||||
<text class="list-title-Subtitle">{{ items.orderStatus }}</text> |
|
||||
</view> |
|
||||
<view class="list-border list-info-line" v-for="(item, index) in items.orderItemList" :key="index"> |
|
||||
<view class="list-info" :class="index===items.orderItemList.length?'list-border':''"> |
|
||||
<view class=""> |
|
||||
<!-- <image class="list-image" :src="item.productImg" mode=""></image> --> |
|
||||
<image class="list-image" src="../../static/logo.png" mode=""> |
|
||||
</view> |
|
||||
<view class="list-info-contant"> |
|
||||
<view class="list-info-title">{{ item.brandName }}{{ item.categoryName }}</view> |
|
||||
<view class="list-info-text"> |
|
||||
{{ item.categoryName }}/{{ item.brandName }}/{{ item.gramWeight }}g/{{ item.length }}*{{ item.width }}/{{ item.pieceQuantity }}张 |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="list-border list-bottom-contant"> |
|
||||
<view> |
|
||||
<text class="list-time">三分钟前</text> |
|
||||
<text class="list-title-Subtitle">¥{{ items.totalOfferPrice }}</text> |
|
||||
</view> |
|
||||
</view> |
|
||||
<uGap></uGap> |
|
||||
</view> |
|
||||
</scroll-list> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import { back, go2 } from '@/utils/hook.js' |
|
||||
import uGap from '@/components/u-gap/u-gap.vue' |
|
||||
import scrollList from '@/components/scroll-list/scroll-list.vue' |
|
||||
import { getEnterpriseList, gettradingHallList } from '@/apis/trade' |
|
||||
export default { |
|
||||
// props: { |
|
||||
// queryOrderData: { |
|
||||
// type: Object, |
|
||||
// default: () => {} |
|
||||
// } |
|
||||
// }, |
|
||||
components: { |
|
||||
uGap |
|
||||
}, |
|
||||
|
|
||||
data() { |
|
||||
return { |
|
||||
orderPagination: { |
|
||||
pageNum: 0, // 初始会执行一次下拉加载 |
|
||||
pageSize: 10 |
|
||||
}, |
|
||||
orderData: [], |
|
||||
controlCurrent:0, |
|
||||
controlItems: ['全部', '待确认', '待发货', '已完成'], |
|
||||
orderOption: { |
|
||||
size: 10, |
|
||||
auto: true, |
|
||||
emptyText: '暂无报价信息~', |
|
||||
background: '#F7F8FA', |
|
||||
fontSize: '40rpx' |
|
||||
}, |
|
||||
orderParams: { |
|
||||
cooperationState: 0, |
|
||||
latitude: 23.12616, |
|
||||
longitude: 113.38466, |
|
||||
km: 5 |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
// queryOrderData(value) { |
|
||||
// console.log('value', value) |
|
||||
// }, |
|
||||
orderParams: { |
|
||||
handler(val) { |
|
||||
this.getTradingQurty() |
|
||||
}, |
|
||||
deep: true |
|
||||
} |
|
||||
}, |
|
||||
onLoad(option) { |
|
||||
if (option) { |
|
||||
option.latitude && (this.params.latitude = option.latitude) |
|
||||
option.longitude && (this.params.longitude = option.longitude) |
|
||||
option.km && (this.params.km = option.km) |
|
||||
} |
|
||||
this.getTradingQurty() |
|
||||
}, |
|
||||
methods: { |
|
||||
back, |
|
||||
// 获取订单列表 |
|
||||
getTradingQurty() { |
|
||||
return new Promise((resolve, reject) => { |
|
||||
gettradingHallList({ ...this.orderParams, ...this.orderPagination }) |
|
||||
.then(res => { |
|
||||
if (res) { |
|
||||
if (this.orderPagination.pageNum == 1) { |
|
||||
this.orderData = res.records |
|
||||
} else { |
|
||||
this.orderData = this.orderData.concat(res.records) |
|
||||
} |
|
||||
resolve({ list: this.orderData, total: res.total }) |
|
||||
} |
|
||||
}) |
|
||||
.catch(err => { |
|
||||
reject(err) |
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
//订单分页 |
|
||||
orderUp(page) { |
|
||||
this.orderPagination.pageNum++ |
|
||||
this.getTradingQurty() |
|
||||
.then(({ list, total }) => { |
|
||||
this.$refs.orderRef.loadSuccess({ list, total }) |
|
||||
}) |
|
||||
.catch(() => { |
|
||||
this.$refs.orderRef.loadFail() |
|
||||
}) |
|
||||
}, |
|
||||
//订单分页 |
|
||||
orderDown() { |
|
||||
this.orderPagination.pageNum = 1 |
|
||||
this.getTradingQurty() |
|
||||
.then(({ list, total }) => { |
|
||||
this.$refs.orderRef.refreshSuccess({ list, total }) |
|
||||
}) |
|
||||
.catch(() => { |
|
||||
this.$refs.orderRef.refreshFail() |
|
||||
}) |
|
||||
}, |
|
||||
//分段器点击事件 |
|
||||
onClickItem(value) { |
|
||||
console.log(value) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss"> |
|
||||
.my-offer { |
|
||||
margin-bottom: 0rpx; |
|
||||
.list-border { |
|
||||
// border-top: 1px solid #dddddd; |
|
||||
border-bottom: 2rpx solid #dddddd; |
|
||||
} |
|
||||
.list-title-line { |
|
||||
line-height: 88rpx; |
|
||||
padding-left: 48rpx; |
|
||||
background: #FFFFFF; |
|
||||
} |
|
||||
.list-title { |
|
||||
font-family: PingFangSC-Semibold; |
|
||||
font-size: 30rpx; |
|
||||
color: #000000; |
|
||||
letter-spacing: 0; |
|
||||
font-weight: 600; |
|
||||
} |
|
||||
.list-title-Subtitle { |
|
||||
font-family: PingFangSC-Medium; |
|
||||
font-size: 30rpx; |
|
||||
color: #ff5368; |
|
||||
letter-spacing: 0; |
|
||||
text-align: right; |
|
||||
font-weight: 500; |
|
||||
float: right; |
|
||||
margin-right: 32rpx; |
|
||||
} |
|
||||
.list-info-line { |
|
||||
padding-left: 48rpx; |
|
||||
line-height: 70rpx; |
|
||||
background: #FFFFFF; |
|
||||
} |
|
||||
.list-info-contant { |
|
||||
margin-left: 48rpx; |
|
||||
} |
|
||||
.list-info-title { |
|
||||
font-family: PingFangSC-Medium; |
|
||||
font-size: 30rpx; |
|
||||
color: #333333; |
|
||||
letter-spacing: 0; |
|
||||
text-align: left; |
|
||||
font-weight: 550; |
|
||||
} |
|
||||
.list-info-text { |
|
||||
font-family: PingFangSC-Regular; |
|
||||
font-size: 26rpx; |
|
||||
color: #888888; |
|
||||
letter-spacing: 0; |
|
||||
text-align: left; |
|
||||
line-height: 64rpx; |
|
||||
font-weight: 400; |
|
||||
} |
|
||||
.list-image { |
|
||||
width: 100rpx; |
|
||||
height: 100rpx; |
|
||||
margin-top: 20rpx; |
|
||||
} |
|
||||
.list-info { |
|
||||
display: flex; |
|
||||
} |
|
||||
.list-bottom-contant { |
|
||||
line-height: 70rpx; |
|
||||
padding-left: 48rpx; |
|
||||
width: 750rpx; |
|
||||
height: 80rpx; |
|
||||
background: #FFFFFF; |
|
||||
} |
|
||||
.list-time{ |
|
||||
font-family: PingFangSC-Regular; |
|
||||
font-size: 26rpx; |
|
||||
color: #888888; |
|
||||
letter-spacing: 0; |
|
||||
line-height: 64rpx; |
|
||||
font-weight: 400; |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
||||
|
<template> |
||||
|
<view class="my-offer"> |
||||
|
<uni-nav-bar left-icon="back" @clickLeft="back" statusBar fixed title="我的报价"></uni-nav-bar> |
||||
|
<scroll-list style="touch-action: none" ref="orderRef" :option="orderOption" @load="orderUp" @refresh="orderDown"> |
||||
|
<view v-for="(items,index) in orderData" :key="index" @click="myPriceInfo(items)"> |
||||
|
<view class="list-border list-title-line"> |
||||
|
<text class="list-title">广州民族印刷有限公司</text> |
||||
|
<text class="list-title-Subtitle">{{ items.orderStatus }}</text> |
||||
|
</view> |
||||
|
<view class="list-border list-info-line" v-for="(item, index) in items.orderItemList" :key="index"> |
||||
|
<view class="list-info" :class="index===items.orderItemList.length?'list-border':''"> |
||||
|
<view class=""> |
||||
|
<!-- <image class="list-image" :src="item.productImg" mode=""></image> --> |
||||
|
<image class="list-image" src="../../static/logo.png" mode=""> |
||||
|
</view> |
||||
|
<view class="list-info-contant"> |
||||
|
<view class="list-info-title">{{ item.brandName }}{{ item.categoryName }}</view> |
||||
|
<view class="list-info-text"> |
||||
|
{{ item.categoryName }}/{{ item.brandName }}/{{ item.gramWeight }}g/{{ item.length }}*{{ item.width }}/{{item.pieceQuantity }}张 |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="list-border list-bottom-contant"> |
||||
|
<view> |
||||
|
<text class="list-time">三分钟前</text> |
||||
|
<text class="list-title-Subtitle">¥{{ items.totalOfferPrice }}</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
</view> |
||||
|
</scroll-list> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { back, go2 } from '@/utils/hook.js' |
||||
|
import uGap from '@/components/u-gap/u-gap.vue' |
||||
|
import scrollList from '@/components/scroll-list/scroll-list.vue' |
||||
|
import { getEnterpriseList, gettradingHallList } from '@/apis/trade' |
||||
|
export default { |
||||
|
// props: { |
||||
|
// queryOrderData: { |
||||
|
// type: Object, |
||||
|
// default: () => {} |
||||
|
// } |
||||
|
// }, |
||||
|
components: { |
||||
|
uGap |
||||
|
}, |
||||
|
|
||||
|
data() { |
||||
|
return { |
||||
|
orderPagination: { |
||||
|
pageNum: 0, // 初始会执行一次下拉加载 |
||||
|
pageSize: 10 |
||||
|
}, |
||||
|
orderData: [], |
||||
|
controlCurrent:0, |
||||
|
controlItems: ['全部', '待确认', '待发货', '已完成'], |
||||
|
orderOption: { |
||||
|
size: 10, |
||||
|
auto: true, |
||||
|
emptyText: '暂无报价信息~', |
||||
|
background: '#F7F8FA', |
||||
|
fontSize: '40rpx' |
||||
|
}, |
||||
|
orderParams: { |
||||
|
cooperationState: 0, |
||||
|
latitude: 23.12616, |
||||
|
longitude: 113.38466, |
||||
|
km: 5 |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
// queryOrderData(value) { |
||||
|
// console.log('value', value) |
||||
|
// }, |
||||
|
orderParams: { |
||||
|
handler(val) { |
||||
|
this.getTradingQurty() |
||||
|
}, |
||||
|
deep: true |
||||
|
} |
||||
|
}, |
||||
|
onLoad(option) { |
||||
|
if (option) { |
||||
|
option.latitude && (this.params.latitude = option.latitude) |
||||
|
option.longitude && (this.params.longitude = option.longitude) |
||||
|
option.km && (this.params.km = option.km) |
||||
|
} |
||||
|
this.getTradingQurty() |
||||
|
}, |
||||
|
methods: { |
||||
|
back, |
||||
|
// 获取订单列表 |
||||
|
getTradingQurty() { |
||||
|
return new Promise((resolve, reject) => { |
||||
|
gettradingHallList({ ...this.orderParams, ...this.orderPagination }) |
||||
|
.then(res => { |
||||
|
if (res) { |
||||
|
if (this.orderPagination.pageNum == 1) { |
||||
|
this.orderData = res.records |
||||
|
} else { |
||||
|
this.orderData = this.orderData.concat(res.records) |
||||
|
} |
||||
|
resolve({ list: this.orderData, total: res.total }) |
||||
|
} |
||||
|
}) |
||||
|
.catch(err => { |
||||
|
reject(err) |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
//订单分页 |
||||
|
orderUp(page) { |
||||
|
this.orderPagination.pageNum++ |
||||
|
this.getTradingQurty() |
||||
|
.then(({ list, total }) => { |
||||
|
this.$refs.orderRef.loadSuccess({ list, total }) |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
this.$refs.orderRef.loadFail() |
||||
|
}) |
||||
|
}, |
||||
|
//订单分页 |
||||
|
orderDown() { |
||||
|
this.orderPagination.pageNum = 1 |
||||
|
this.getTradingQurty() |
||||
|
.then(({ list, total }) => { |
||||
|
this.$refs.orderRef.refreshSuccess({ list, total }) |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
this.$refs.orderRef.refreshFail() |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
//跳转我的报价详情 |
||||
|
myPriceInfo(item){ |
||||
|
console.log(item) |
||||
|
uni.navigateTo({ |
||||
|
url: '/pages/quotation-details/index' |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.my-offer { |
||||
|
margin-bottom: 0rpx; |
||||
|
.list-border { |
||||
|
// border-top: 1px solid #dddddd; |
||||
|
border-bottom: 2rpx solid #dddddd; |
||||
|
} |
||||
|
.list-title-line { |
||||
|
line-height: 88rpx; |
||||
|
padding-left: 48rpx; |
||||
|
background: #FFFFFF; |
||||
|
} |
||||
|
.list-title { |
||||
|
font-family: PingFangSC-Semibold; |
||||
|
font-size: 30rpx; |
||||
|
color: #000000; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
.list-title-Subtitle { |
||||
|
font-family: PingFangSC-Medium; |
||||
|
font-size: 30rpx; |
||||
|
color: #ff5368; |
||||
|
letter-spacing: 0; |
||||
|
text-align: right; |
||||
|
font-weight: 500; |
||||
|
float: right; |
||||
|
margin-right: 32rpx; |
||||
|
} |
||||
|
.list-info-line { |
||||
|
padding-left: 48rpx; |
||||
|
line-height: 70rpx; |
||||
|
background: #FFFFFF; |
||||
|
} |
||||
|
.list-info-contant { |
||||
|
margin-left: 48rpx; |
||||
|
} |
||||
|
.list-info-title { |
||||
|
font-family: PingFangSC-Medium; |
||||
|
font-size: 30rpx; |
||||
|
color: #333333; |
||||
|
letter-spacing: 0; |
||||
|
text-align: left; |
||||
|
font-weight: 550; |
||||
|
} |
||||
|
.list-info-text { |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 26rpx; |
||||
|
color: #888888; |
||||
|
letter-spacing: 0; |
||||
|
text-align: left; |
||||
|
line-height: 64rpx; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.list-image { |
||||
|
width: 100rpx; |
||||
|
height: 100rpx; |
||||
|
margin-top: 20rpx; |
||||
|
} |
||||
|
.list-info { |
||||
|
display: flex; |
||||
|
} |
||||
|
.list-bottom-contant { |
||||
|
line-height: 70rpx; |
||||
|
padding-left: 48rpx; |
||||
|
width: 750rpx; |
||||
|
height: 80rpx; |
||||
|
background: #FFFFFF; |
||||
|
} |
||||
|
.list-time{ |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 26rpx; |
||||
|
color: #888888; |
||||
|
letter-spacing: 0; |
||||
|
line-height: 64rpx; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,536 @@ |
|||||
|
<template> |
||||
|
<view class="quotation-details"> |
||||
|
<view> |
||||
|
<uni-nav-bar left-icon="back" @clickLeft="back" statusBar fixed title=""> |
||||
|
<view class="submit-title">报价详情</view> |
||||
|
<view slot="left"></view> |
||||
|
<view slot="right" class="edit-price" @click="editPrice()">修改报价</view> |
||||
|
</uni-nav-bar> |
||||
|
</view> |
||||
|
<view class="submit-main"> |
||||
|
<view> |
||||
|
<text class="submit-main-title">交货要求</text> |
||||
|
<text class="price-tips">已报价</text> |
||||
|
</view> |
||||
|
<view> |
||||
|
<text class="submit-main-subTitle">询价客户:</text> |
||||
|
<text class="submit-main-subContant">东莞市隆兴纸业有限公司</text> |
||||
|
</view> |
||||
|
<view> |
||||
|
<text class="submit-main-subTitle">交货区域:</text> |
||||
|
<text class="submit-main-subContant">广东省/广州市/天河区</text> |
||||
|
</view> |
||||
|
<view> |
||||
|
<text class="submit-main-subTitle">交货时间:</text> |
||||
|
<text class="submit-main-subContant">2021/12/29 12:30</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
<view class="submit-contant"> |
||||
|
<view class="submit-contant-head"><view class="submit-contant-title">丽品白卡|200g|787*1092|5000张</view></view> |
||||
|
<view class="submit-contant-body"> |
||||
|
<view class=""> |
||||
|
<text class="submit-contant-body-title">重量(吨):</text> |
||||
|
<text class="submit-contant-body-subtitle">1.6544</text> |
||||
|
</view> |
||||
|
<view> |
||||
|
<text class="submit-contant-body-title">单价(元/吨):</text> |
||||
|
<text class="submit-contant-body-subtitle">1000</text> |
||||
|
</view> |
||||
|
<view> |
||||
|
<text class="submit-contant-body-title">小计(元):</text> |
||||
|
<text class="submit-contant-body-subtitle">1.6544</text> |
||||
|
</view> |
||||
|
<view class="submit-contant-body-input"> |
||||
|
<uni-easyinput :disabled="true" maxlength="100" class="submit-contant-body-inputClass" v-model="value" placeholder="请输入内容"></uni-easyinput> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="submit-contant-order"> |
||||
|
<view class=""> |
||||
|
<text class="submit-contant-order-title">其他费用:</text> |
||||
|
<text class="submit-contant-order-subtitle">¥ 80.00</text> |
||||
|
</view> |
||||
|
<view class=""> |
||||
|
<text class="submit-contant-order-title">合计:</text> |
||||
|
<text class="submit-contant-order-money">¥ 13800.32</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
<view class="submit-contant-time"> |
||||
|
<view class=""> |
||||
|
<text class="submit-contant-time-title">有效时间:</text> |
||||
|
<text class="submit-contant-time-title">24小时</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
<view class="submit-contant-remark"> |
||||
|
<view class="submit-contant-remark-title"> |
||||
|
<text>报价备注:</text> |
||||
|
<text>29号5点前能送达。</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="tips"><text>注:禁止偷克重、抵纸换纸,否则将被平台严厉处罚!包括但不限于账号禁用。</text></view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { back, go2 } from '@/utils/hook.js' |
||||
|
import qnHeader from '@/components/qn-header/qn-header.vue' |
||||
|
import uGap from '@/components/u-gap/u-gap.vue' |
||||
|
export default { |
||||
|
components: { |
||||
|
qnHeader, |
||||
|
uGap |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
value: '', |
||||
|
visible: true, |
||||
|
title: 'picker-view', |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
back, |
||||
|
// 商品操作按钮 |
||||
|
commodityModify(item) { |
||||
|
console.log(111) |
||||
|
this.$refs.popup.open('bottom') |
||||
|
}, |
||||
|
// 单价操作按钮 |
||||
|
priceModify() { |
||||
|
this.$refs.popupPrice.open('bottom') |
||||
|
}, |
||||
|
// 事件设置 |
||||
|
resetTime() { |
||||
|
this.$refs.popupTime.open('bottom') |
||||
|
}, |
||||
|
// 事件选择change事件 |
||||
|
bindChange(e) { |
||||
|
console.log(e.detail.value) |
||||
|
}, |
||||
|
close() { |
||||
|
this.$refs.popup.close() |
||||
|
this.$refs.popupPrice.close() |
||||
|
}, |
||||
|
// 纸张选择下拉change事件 |
||||
|
onchange(e) { |
||||
|
console.log(e) |
||||
|
this.pickerValue = e.detail.value |
||||
|
}, |
||||
|
// 时间设置取消 |
||||
|
pickerCancel() { |
||||
|
this.$refs.popupTime.close() |
||||
|
}, |
||||
|
// 时间设置确认 |
||||
|
pickerSure() { |
||||
|
this.$refs.popupTime.close() |
||||
|
}, |
||||
|
// 修改报价按钮 |
||||
|
editPrice(){ |
||||
|
var params= { |
||||
|
title:"修改报价" |
||||
|
} |
||||
|
go2('submit-quotation', params) |
||||
|
}, |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.picker-view { |
||||
|
width: 750rpx; |
||||
|
height: 600rpx; |
||||
|
margin-top: 20rpx; |
||||
|
} |
||||
|
.item { |
||||
|
height: 50rpx; |
||||
|
align-items: center; |
||||
|
justify-content: center; |
||||
|
text-align: center; |
||||
|
padding-top: 30rpx; |
||||
|
} |
||||
|
.quotation-details { |
||||
|
.submit-title { |
||||
|
width: 100%; |
||||
|
font-family: PingFangSC-Medium; |
||||
|
font-size: 36rpx; |
||||
|
color: #000000; |
||||
|
letter-spacing: 0; |
||||
|
text-align: center; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
.submit-main { |
||||
|
width: 750rpx; |
||||
|
height: 260rpx; |
||||
|
padding: 24rpx 0rpx 0rpx 32rpx; |
||||
|
line-height: 52rpx; |
||||
|
background: #ffffff; |
||||
|
.submit-main-title { |
||||
|
font-family: PingFangSC-Medium; |
||||
|
font-size: 30rpx; |
||||
|
color: #000000; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
.submit-main-subTitle { |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 28rpx; |
||||
|
color: #888888; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-main-subContant { |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 28rpx; |
||||
|
color: #333333; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
} |
||||
|
.submit-deadline { |
||||
|
width: 750rpx; |
||||
|
height: 75rpx; |
||||
|
background: #f4f9fc; |
||||
|
box-shadow: 0rpx 2rpx 12rpx 0rpx rgba(100, 101, 102, 0.12); |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
.submit-text { |
||||
|
font-family: PingFangSC-Medium; |
||||
|
font-size: 28rpx; |
||||
|
color: rgba(0, 0, 0, 0.5); |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 500; |
||||
|
margin-top: 22rpx; |
||||
|
width: 130rpx; |
||||
|
} |
||||
|
.submit-time { |
||||
|
width: 40rpx; |
||||
|
height: 40rpx; |
||||
|
background: #ee0a24; |
||||
|
border-radius: 8rpx; |
||||
|
margin-top: 20rpx; |
||||
|
text-align: center; |
||||
|
} |
||||
|
.submit-time-text { |
||||
|
font-family: PingFangSC-Semibold; |
||||
|
font-size: 24rpx; |
||||
|
color: #ffffff; |
||||
|
text-align: center; |
||||
|
line-height: 32rpx; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
.sbumit-colon { |
||||
|
width: 24rpx; |
||||
|
height: 32rpx; |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 24rpx; |
||||
|
color: #ee0a24; |
||||
|
text-align: center; |
||||
|
line-height: 32rpx; |
||||
|
font-weight: 400; |
||||
|
margin-top: 20rpx; |
||||
|
} |
||||
|
} |
||||
|
.submit-contant { |
||||
|
background-color: #ffffff; |
||||
|
// height: 368rpx; |
||||
|
border-bottom: 2rpx solid #dddddd; |
||||
|
padding-bottom: 20rpx; |
||||
|
.submit-contant-head { |
||||
|
line-height: 90rpx; |
||||
|
width: 750rpx; |
||||
|
height: 90rpx; |
||||
|
border-bottom: 2rpx dashed #d8d8d8; |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
.submit-contant-title { |
||||
|
font-family: PingFangSC-Semibold; |
||||
|
font-size: 30rpx; |
||||
|
color: rgba(0, 0, 0, 0.75); |
||||
|
letter-spacing: 0; |
||||
|
text-align: left; |
||||
|
font-weight: 600; |
||||
|
padding: 0rpx 0rpx 0rpx 32rpx; |
||||
|
} |
||||
|
.submit-contant-body { |
||||
|
line-height: 68rpx; |
||||
|
padding-left: 32rpx; |
||||
|
.submit-contant-body-title { |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 28rpx; |
||||
|
color: #555555; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-contant-body-subtitle { |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 28rpx; |
||||
|
color: #555555; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
float: right; |
||||
|
margin-right: 32rpx; |
||||
|
} |
||||
|
.submit-contant-body-input { |
||||
|
margin-right: 32rpx; |
||||
|
} |
||||
|
.submit-contant-body-inputClass { |
||||
|
background-color: #f7f8fa; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.submit-contant-order { |
||||
|
width: 750rpx; |
||||
|
height: 90rpx; |
||||
|
line-height: 90rpx; |
||||
|
background: #ffffff; |
||||
|
display: flex; |
||||
|
padding-left: 32rpx; |
||||
|
padding-right: 32rpx; |
||||
|
justify-content: space-between; |
||||
|
.submit-contant-order-title { |
||||
|
width: 140rpx; |
||||
|
height: 40rpx; |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 28rpx; |
||||
|
color: rgba(0, 0, 0, 0.5); |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-contant-order-subtitle { |
||||
|
width: 101rpx; |
||||
|
height: 40rpx; |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 28rpx; |
||||
|
color: rgba(0, 0, 0, 0.5); |
||||
|
letter-spacing: 0; |
||||
|
text-align: left; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-contant-order-money { |
||||
|
width: 172rpx; |
||||
|
height: 42rpx; |
||||
|
font-family: PingFangSC-Semibold; |
||||
|
font-size: 40rpx; |
||||
|
color: #f5222d; |
||||
|
letter-spacing: 0; |
||||
|
line-height: 42rpx; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
} |
||||
|
.submit-contant-time { |
||||
|
width: 750rpx; |
||||
|
height: 88rpx; |
||||
|
background: #ffffff; |
||||
|
line-height: 88rpx; |
||||
|
display: flex; |
||||
|
padding-left: 32rpx; |
||||
|
padding-right: 32rpx; |
||||
|
justify-content: space-between; |
||||
|
.submit-contant-time-title { |
||||
|
width: 230rpx; |
||||
|
height: 40rpx; |
||||
|
font-size: 28rpx; |
||||
|
color: #000000; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-contant-time-subtitle { |
||||
|
width: 56rpx; |
||||
|
height: 40rpx; |
||||
|
font-size: 28rpx; |
||||
|
color: #007aff; |
||||
|
letter-spacing: 0; |
||||
|
text-align: right; |
||||
|
font-weight: 500; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
} |
||||
|
.submit-contant-remark { |
||||
|
width: 750rpx; |
||||
|
height: 88rpx; |
||||
|
background: #ffffff; |
||||
|
.submit-contant-remark-title { |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 30rpx; |
||||
|
color: #000000; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
padding: 28rpx 0rpx 0rpx 32rpx; |
||||
|
} |
||||
|
.submit-contant-remark-input { |
||||
|
background: #f7f8fa; |
||||
|
border-radius: 20rpx; |
||||
|
margin: 10rpx 32rpx 32rpx 32rpx; |
||||
|
width: 686rpx; |
||||
|
} |
||||
|
} |
||||
|
.submit-btnBg { |
||||
|
width: 750rpx; |
||||
|
height: 120rx; |
||||
|
background: #ffffff; |
||||
|
box-shadow: 0rpx 2rpx 12rpx 0rpx rgba(100, 101, 102, 0.12); |
||||
|
padding: 12rpx 32rpx 12rpx 32rpx; |
||||
|
} |
||||
|
.submit-btn { |
||||
|
width: 686rpx; |
||||
|
height: 96rpx; |
||||
|
background: #007aff; |
||||
|
border-radius: 10rpx; |
||||
|
} |
||||
|
.submit-image { |
||||
|
width: 24.38rpx; |
||||
|
height: 20.38rpx; |
||||
|
margin-right: 32rpx; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
.submit-image-price { |
||||
|
width: 24.38rpx; |
||||
|
height: 20.38rpx; |
||||
|
margin-left: 14rpx; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
.submit-popup { |
||||
|
width: 750rpx; |
||||
|
height: 960rpx; |
||||
|
background: #ffffff; |
||||
|
border-top-right-radius: 2rpx; |
||||
|
border-top-left-radius: 2rpx; |
||||
|
padding: 20rpx 32rpx 0rpx 32rpx; |
||||
|
// line-height: 124rpx; |
||||
|
.submit-popup-input { |
||||
|
background-color: #f5f5f5; |
||||
|
} |
||||
|
.submit-popup-close { |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
.submit-popup-close-image { |
||||
|
width: 24.38rpx; |
||||
|
height: 20.38rpx; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
.submit-popup-title { |
||||
|
font-size: 30rpx; |
||||
|
color: rgba(0, 0, 0, 0.85); |
||||
|
letter-spacing: 0; |
||||
|
text-align: left; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-popup-specifications { |
||||
|
width: 320rpx; |
||||
|
} |
||||
|
.submit-popup-x { |
||||
|
font-size: 32rpx; |
||||
|
color: rgba(0, 0, 0, 0.85); |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-line { |
||||
|
border-bottom: 2rpx solid #d8d8d8; |
||||
|
padding-bottom: 32rpx; |
||||
|
height: 194rpx; |
||||
|
line-height: 72rpx; |
||||
|
} |
||||
|
.submit-number-box { |
||||
|
margin-top: 24rpx; |
||||
|
} |
||||
|
.submit-number-text { |
||||
|
font-size: 24rpx; |
||||
|
color: rgba(0, 0, 0, 0.5); |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.submit-number-line { |
||||
|
line-height: 40rpx; |
||||
|
} |
||||
|
.submit-number-btn { |
||||
|
position: absolute; |
||||
|
bottom: 20rpx; |
||||
|
} |
||||
|
.submit-price { |
||||
|
line-height: 72rpx; |
||||
|
} |
||||
|
.submit-price-total { |
||||
|
display: flex; |
||||
|
justify-content: flex-end; |
||||
|
margin-top: 20rpx; |
||||
|
} |
||||
|
.submit-price-total-text { |
||||
|
font-size: 40rpx; |
||||
|
color: #f5222d; |
||||
|
letter-spacing: 0; |
||||
|
line-height: 42rpx; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
.submit-price-text { |
||||
|
font-size: 28rpx; |
||||
|
color: rgba(0, 0, 0, 0.85); |
||||
|
text-align: right; |
||||
|
font-weight: 400; |
||||
|
line-height: 40rpx; |
||||
|
} |
||||
|
.submit-price-subTitle { |
||||
|
margin-left: 20rpx; |
||||
|
} |
||||
|
} |
||||
|
.submit-check-time { |
||||
|
background-color: #ffffff; |
||||
|
padding: 28rpx 32rpx 0px 28rpx; |
||||
|
.submit-check-flex { |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
.submit-check-title { |
||||
|
font-size: 32rpx; |
||||
|
color: #323233; |
||||
|
text-align: center; |
||||
|
line-height: 44rpx; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
.submit-check-cancel { |
||||
|
font-size: 28rpx; |
||||
|
color: #969799; |
||||
|
line-height: 40rpx; |
||||
|
font-weight: 400; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
.submit-check-sure { |
||||
|
font-size: 28rpx; |
||||
|
color: #007aff; |
||||
|
line-height: 40rpx; |
||||
|
font-weight: 400; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
.submit-check-text { |
||||
|
font-size: 36rpx; |
||||
|
color: #323233; |
||||
|
line-height: 48rpx; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
} |
||||
|
.tips { |
||||
|
font-size: 24rpx; |
||||
|
color: #f5222d; |
||||
|
font-weight: 400; |
||||
|
padding: 32rpx; |
||||
|
line-height: 42rpx; |
||||
|
} |
||||
|
.edit-price{ |
||||
|
font-size: 28rpx; |
||||
|
color: #007AFF; |
||||
|
text-align: right; |
||||
|
line-height: 40prx; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
.price-tips{ |
||||
|
font-size: 30rpx; |
||||
|
color: #FF5368; |
||||
|
letter-spacing: 0; |
||||
|
text-align: right; |
||||
|
font-weight: 500; |
||||
|
float: right; |
||||
|
padding-right: 32rpx; |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -1,289 +1,283 @@ |
|||||
<template> |
|
||||
<view class="quotation-list"> |
|
||||
<scroll-list ref="quotationRef" :option="option" @load="quotationUp" @refresh="quotationDown"> |
|
||||
<view v-for="(item,index) in quotationData" :key="index"> |
|
||||
<view class="list-border list-title-line"> |
|
||||
<text class="list-title">广州民族印刷有限公司</text> |
|
||||
<text class="list-title-Subtitle">待报价</text> |
|
||||
</view> |
|
||||
<view class="list-border list-info-line"> |
|
||||
<view class="list-info list-border"> |
|
||||
<view class=""><image class="list-image" src="../../static/logo.png" mode=""></image></view> |
|
||||
<view class="list-info-contant"> |
|
||||
<view class="list-info-title">金蝶蓝白卡</view> |
|
||||
<view class="list-info-text">白卡纸/金蝶蓝/350g/787*1092/2200张</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="list-info"> |
|
||||
<view class=""><image class="list-image" src="../../static/logo.png" mode=""></image></view> |
|
||||
<view class="list-info-contant"> |
|
||||
<view class="list-info-title">金蝶蓝白卡</view> |
|
||||
<view class="list-info-text">白卡纸/金蝶蓝/350g/787*1092/2200张</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="list-border list-bottom-contant"> |
|
||||
<view> |
|
||||
<text>交货时间:</text> |
|
||||
<text>3天</text> |
|
||||
</view> |
|
||||
<view> |
|
||||
<text>交货区域:</text> |
|
||||
<text>3天</text> |
|
||||
</view> |
|
||||
<view class="offer-class"> |
|
||||
<view class="offer-width"> |
|
||||
<text>报价截止:</text> |
|
||||
<text>3天</text> |
|
||||
</view> |
|
||||
<view> |
|
||||
<button type="primary" class="offer-btn" @click="offerClick()">报价</button> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<uGap></uGap> |
|
||||
</view> |
|
||||
</scroll-list> |
|
||||
<view> |
|
||||
<view class="offer-prices" @click="nativeTo()"> |
|
||||
<image class="my-image" src="../../static/imgs/trade/myPrice.png" mode=""></image> |
|
||||
<view class="my-price"> |
|
||||
我的报价 |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
|
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import { getEnterpriseList, gettradingHallList } from '@/apis/trade' |
|
||||
import uGap from '@/components/u-gap/u-gap.vue' |
|
||||
export default { |
|
||||
props: { |
|
||||
queryData: { |
|
||||
type: Object, |
|
||||
default: () => {} |
|
||||
} |
|
||||
}, |
|
||||
components: { |
|
||||
uGap |
|
||||
}, |
|
||||
|
|
||||
data() { |
|
||||
return { |
|
||||
option: { |
|
||||
size: 10, |
|
||||
auto: true, |
|
||||
emptyText: '暂无报价信息~', |
|
||||
background: '#F7F8FA', |
|
||||
fontSize: '40rpx' |
|
||||
}, |
|
||||
params: { |
|
||||
cooperationState: 0, |
|
||||
latitude: 23.12616, |
|
||||
longitude: 113.38466, |
|
||||
km: 5 |
|
||||
}, |
|
||||
pagination: { |
|
||||
pageNum: 0, // 初始会执行一次下拉加载 |
|
||||
pageSize: 10 |
|
||||
}, |
|
||||
quotationData:[] |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
params: { |
|
||||
handler(val) { |
|
||||
this.getQuotationQurty() |
|
||||
}, |
|
||||
deep: true |
|
||||
}, |
|
||||
}, |
|
||||
onLoad(option) { |
|
||||
if (option) { |
|
||||
option.latitude && (this.params.latitude = option.latitude) |
|
||||
option.longitude && (this.params.longitude = option.longitude) |
|
||||
option.km && (this.params.km = option.km) |
|
||||
} |
|
||||
this.getQuotationQurty() |
|
||||
}, |
|
||||
methods: { |
|
||||
// 获取报价列表 |
|
||||
getQuotationQurty() { |
|
||||
return new Promise((resolve, reject) => { |
|
||||
getEnterpriseList({ ...this.params, ...this.pagination }) |
|
||||
.then(res => { |
|
||||
if (res) { |
|
||||
if (this.pagination.pageNum == 1) { |
|
||||
// this.quotationData = res.records |
|
||||
this.quotationData = [] |
|
||||
this.quotationData = [{ name: '111', id: '222' }, { name: '111', id: '222' }] |
|
||||
} else { |
|
||||
this.quotationData = this.quotationData.concat(res.records) |
|
||||
} |
|
||||
console.log('this.quotationData', res) |
|
||||
resolve({ list: this.quotationData, total: res.total }) |
|
||||
} |
|
||||
}) |
|
||||
.catch(err => { |
|
||||
reject(err) |
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
|
|
||||
//报价分页 |
|
||||
quotationUp(page) { |
|
||||
this.pagination.pageNum++ |
|
||||
this.getQuotationQurty() |
|
||||
.then(({ list, total }) => { |
|
||||
this.$refs.quotationRef.loadSuccess({ list, total }) |
|
||||
}) |
|
||||
.catch(() => { |
|
||||
this.$refs.quotationRef.loadFail() |
|
||||
}) |
|
||||
}, |
|
||||
//报价分页 |
|
||||
quotationDown() { |
|
||||
this.pagination.pageNum = 1 |
|
||||
this.getQuotationQurty() |
|
||||
.then(({ list, total }) => { |
|
||||
this.$refs.quotationRef.refreshSuccess({ list, total }) |
|
||||
}) |
|
||||
.catch(() => { |
|
||||
this.$refs.quotationRef.refreshFail() |
|
||||
}) |
|
||||
}, |
|
||||
// 报价按钮事件 |
|
||||
offerClick(){ |
|
||||
uni.navigateTo({ |
|
||||
url: '../submit-quotation/index' |
|
||||
}); |
|
||||
}, |
|
||||
// 我的报价页面跳转事件 |
|
||||
nativeTo(){ |
|
||||
console.log(11) |
|
||||
uni.navigateTo({ |
|
||||
url: '../my-offer/index' |
|
||||
}); |
|
||||
}, |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss"> |
|
||||
.quotation-list { |
|
||||
margin-bottom: 0rpx; |
|
||||
.list-border { |
|
||||
// border-top: 1px solid #dddddd; |
|
||||
border-bottom: 2rpx solid #dddddd; |
|
||||
} |
|
||||
.list-title-line { |
|
||||
line-height: 88rpx; |
|
||||
padding-left: 48rpx; |
|
||||
background: #FFFFFF; |
|
||||
} |
|
||||
.list-title { |
|
||||
font-family: PingFangSC-Semibold; |
|
||||
font-size: 30rpx; |
|
||||
color: #000000; |
|
||||
letter-spacing: 0; |
|
||||
font-weight: 600; |
|
||||
} |
|
||||
.list-title-Subtitle { |
|
||||
font-family: PingFangSC-Medium; |
|
||||
font-size: 30rpx; |
|
||||
color: #ff5368; |
|
||||
letter-spacing: 0; |
|
||||
text-align: right; |
|
||||
font-weight: 500; |
|
||||
float: right; |
|
||||
margin-right: 32rpx; |
|
||||
} |
|
||||
.list-info-line { |
|
||||
padding-left: 48rpx; |
|
||||
line-height: 70rpx; |
|
||||
background: #FFFFFF; |
|
||||
} |
|
||||
.list-info-contant { |
|
||||
margin-left: 48rpx; |
|
||||
background: #FFFFFF; |
|
||||
} |
|
||||
.list-info-title { |
|
||||
font-family: PingFangSC-Medium; |
|
||||
font-size: 30rpx; |
|
||||
color: #333333; |
|
||||
letter-spacing: 0; |
|
||||
text-align: left; |
|
||||
font-weight: 550; |
|
||||
} |
|
||||
.list-info-text { |
|
||||
font-family: PingFangSC-Regular; |
|
||||
font-size: 26rpx; |
|
||||
color: #888888; |
|
||||
letter-spacing: 0; |
|
||||
text-align: left; |
|
||||
line-height: 64rpx; |
|
||||
font-weight: 400; |
|
||||
} |
|
||||
.list-image { |
|
||||
width: 100rpx; |
|
||||
height: 100rpx; |
|
||||
margin-top: 20rpx; |
|
||||
} |
|
||||
.list-info { |
|
||||
display: flex; |
|
||||
} |
|
||||
.list-bottom-contant { |
|
||||
line-height: 70rpx; |
|
||||
padding-left: 48rpx; |
|
||||
padding-bottom: 48rpx; |
|
||||
background: #FFFFFF; |
|
||||
} |
|
||||
.my-image { |
|
||||
width: 32rpx; |
|
||||
height: 32rpx; |
|
||||
} |
|
||||
.my-price { |
|
||||
font-family: PingFangSC-Medium; |
|
||||
font-size: 18rpx; |
|
||||
color: #007AFF; |
|
||||
text-align: center; |
|
||||
font-weight: 500; |
|
||||
white-space: nowrap; |
|
||||
padding: 6rpx; |
|
||||
} |
|
||||
.offer-class{ |
|
||||
display: flex; |
|
||||
} |
|
||||
.offer-btn{ |
|
||||
width: 150rpx; |
|
||||
height: 64rpx; |
|
||||
background: #007AFF; |
|
||||
border: 2rpx solid #007AFF; |
|
||||
border-radius: 8rpx; |
|
||||
line-height: 60rpx; |
|
||||
} |
|
||||
.offer-width{ |
|
||||
width: 70%; |
|
||||
} |
|
||||
.offer-prices{ |
|
||||
position: absolute; |
|
||||
z-index: 9999; |
|
||||
right: 32rpx; |
|
||||
bottom: 122rpx; |
|
||||
background-color: #ffffff; |
|
||||
border-radius: 50%; |
|
||||
padding: 10rpx; |
|
||||
text-align: center; |
|
||||
width: 110rpx; |
|
||||
height: 110rpx; |
|
||||
border: 2rpx solid #F9F9F9; |
|
||||
box-shadow: 0rpx 4rpx 34rpx 0rpx rgba(0,0,0,0.2); |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
justify-content: center; |
|
||||
align-items: center; |
|
||||
} |
|
||||
} |
|
||||
|
<template> |
||||
|
<view class="quotation-list"> |
||||
|
<scroll-list ref="quotationRef" :option="option" @load="quotationUp" @refresh="quotationDown"> |
||||
|
<view v-for="(item, index) in quotationData" :key="index"> |
||||
|
<view class="list-border list-title-line"> |
||||
|
<text class="list-title">广州民族印刷有限公司</text> |
||||
|
<text class="list-title-Subtitle">待报价</text> |
||||
|
</view> |
||||
|
<view class="list-border list-info-line"> |
||||
|
<view class="list-info list-border"> |
||||
|
<view class=""><image class="list-image" src="../../static/logo.png" mode=""></image></view> |
||||
|
<view class="list-info-contant"> |
||||
|
<view class="list-info-title">金蝶蓝白卡</view> |
||||
|
<view class="list-info-text">白卡纸/金蝶蓝/350g/787*1092/2200张</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="list-info"> |
||||
|
<view class=""><image class="list-image" src="../../static/logo.png" mode=""></image></view> |
||||
|
<view class="list-info-contant"> |
||||
|
<view class="list-info-title">金蝶蓝白卡</view> |
||||
|
<view class="list-info-text">白卡纸/金蝶蓝/350g/787*1092/2200张</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="list-border list-bottom-contant"> |
||||
|
<view> |
||||
|
<text>交货时间:</text> |
||||
|
<text>3天</text> |
||||
|
</view> |
||||
|
<view> |
||||
|
<text>交货区域:</text> |
||||
|
<text>3天</text> |
||||
|
</view> |
||||
|
<view class="offer-class"> |
||||
|
<view class="offer-width"> |
||||
|
<text>报价截止:</text> |
||||
|
<text>3天</text> |
||||
|
</view> |
||||
|
<view><button type="primary" class="offer-btn" @click="offerClick()">报价</button></view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
</view> |
||||
|
</scroll-list> |
||||
|
<view> |
||||
|
<view class="offer-prices" @click="nativeTo()"> |
||||
|
<image class="my-image" src="../../static/imgs/trade/myPrice.png" mode=""></image> |
||||
|
<view class="my-price">我的报价</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { getEnterpriseList, gettradingHallList } from '@/apis/trade' |
||||
|
import { back, go2 } from '@/utils/hook.js' |
||||
|
import uGap from '@/components/u-gap/u-gap.vue' |
||||
|
export default { |
||||
|
props: { |
||||
|
queryData: { |
||||
|
type: Object, |
||||
|
default: () => {} |
||||
|
} |
||||
|
}, |
||||
|
components: { |
||||
|
uGap |
||||
|
}, |
||||
|
|
||||
|
data() { |
||||
|
return { |
||||
|
option: { |
||||
|
size: 10, |
||||
|
auto: true, |
||||
|
emptyText: '暂无报价信息~', |
||||
|
background: '#F7F8FA', |
||||
|
fontSize: '40rpx' |
||||
|
}, |
||||
|
params: { |
||||
|
cooperationState: 0, |
||||
|
latitude: 23.12616, |
||||
|
longitude: 113.38466, |
||||
|
km: 5 |
||||
|
}, |
||||
|
pagination: { |
||||
|
pageNum: 0, // 初始会执行一次下拉加载 |
||||
|
pageSize: 10 |
||||
|
}, |
||||
|
quotationData: [] |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
params: { |
||||
|
handler(val) { |
||||
|
this.getQuotationQurty() |
||||
|
}, |
||||
|
deep: true |
||||
|
} |
||||
|
}, |
||||
|
onLoad(option) { |
||||
|
if (option) { |
||||
|
option.latitude && (this.params.latitude = option.latitude) |
||||
|
option.longitude && (this.params.longitude = option.longitude) |
||||
|
option.km && (this.params.km = option.km) |
||||
|
} |
||||
|
this.getQuotationQurty() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 获取报价列表 |
||||
|
getQuotationQurty() { |
||||
|
return new Promise((resolve, reject) => { |
||||
|
getEnterpriseList({ ...this.params, ...this.pagination }) |
||||
|
.then(res => { |
||||
|
if (res) { |
||||
|
if (this.pagination.pageNum == 1) { |
||||
|
// this.quotationData = res.records |
||||
|
this.quotationData = [] |
||||
|
this.quotationData = [{ name: '111', id: '222' }, { name: '111', id: '222' }] |
||||
|
} else { |
||||
|
this.quotationData = this.quotationData.concat(res.records) |
||||
|
} |
||||
|
console.log('this.quotationData', res) |
||||
|
resolve({ list: this.quotationData, total: res.total }) |
||||
|
} |
||||
|
}) |
||||
|
.catch(err => { |
||||
|
reject(err) |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
//报价分页 |
||||
|
quotationUp(page) { |
||||
|
this.pagination.pageNum++ |
||||
|
this.getQuotationQurty() |
||||
|
.then(({ list, total }) => { |
||||
|
this.$refs.quotationRef.loadSuccess({ list, total }) |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
this.$refs.quotationRef.loadFail() |
||||
|
}) |
||||
|
}, |
||||
|
//报价分页 |
||||
|
quotationDown() { |
||||
|
this.pagination.pageNum = 1 |
||||
|
this.getQuotationQurty() |
||||
|
.then(({ list, total }) => { |
||||
|
this.$refs.quotationRef.refreshSuccess({ list, total }) |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
this.$refs.quotationRef.refreshFail() |
||||
|
}) |
||||
|
}, |
||||
|
// 报价按钮事件 |
||||
|
offerClick() { |
||||
|
var params = { |
||||
|
title: '提交报价' |
||||
|
} |
||||
|
go2('submit-quotation', params) |
||||
|
}, |
||||
|
// 我的报价页面跳转事件 |
||||
|
nativeTo() { |
||||
|
go2('my-offer') |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.quotation-list { |
||||
|
margin-bottom: 0rpx; |
||||
|
.list-border { |
||||
|
// border-top: 1px solid #dddddd; |
||||
|
border-bottom: 2rpx solid #dddddd; |
||||
|
} |
||||
|
.list-title-line { |
||||
|
line-height: 88rpx; |
||||
|
padding-left: 48rpx; |
||||
|
background: #ffffff; |
||||
|
} |
||||
|
.list-title { |
||||
|
font-family: PingFangSC-Semibold; |
||||
|
font-size: 30rpx; |
||||
|
color: #000000; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
.list-title-Subtitle { |
||||
|
font-family: PingFangSC-Medium; |
||||
|
font-size: 30rpx; |
||||
|
color: #ff5368; |
||||
|
letter-spacing: 0; |
||||
|
text-align: right; |
||||
|
font-weight: 500; |
||||
|
float: right; |
||||
|
margin-right: 32rpx; |
||||
|
} |
||||
|
.list-info-line { |
||||
|
padding-left: 48rpx; |
||||
|
line-height: 70rpx; |
||||
|
background: #ffffff; |
||||
|
} |
||||
|
.list-info-contant { |
||||
|
margin-left: 48rpx; |
||||
|
background: #ffffff; |
||||
|
} |
||||
|
.list-info-title { |
||||
|
font-family: PingFangSC-Medium; |
||||
|
font-size: 30rpx; |
||||
|
color: #333333; |
||||
|
letter-spacing: 0; |
||||
|
text-align: left; |
||||
|
font-weight: 550; |
||||
|
} |
||||
|
.list-info-text { |
||||
|
font-family: PingFangSC-Regular; |
||||
|
font-size: 26rpx; |
||||
|
color: #888888; |
||||
|
letter-spacing: 0; |
||||
|
text-align: left; |
||||
|
line-height: 64rpx; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.list-image { |
||||
|
width: 100rpx; |
||||
|
height: 100rpx; |
||||
|
margin-top: 20rpx; |
||||
|
} |
||||
|
.list-info { |
||||
|
display: flex; |
||||
|
} |
||||
|
.list-bottom-contant { |
||||
|
line-height: 70rpx; |
||||
|
padding-left: 48rpx; |
||||
|
padding-bottom: 48rpx; |
||||
|
background: #ffffff; |
||||
|
} |
||||
|
.my-image { |
||||
|
width: 32rpx; |
||||
|
height: 32rpx; |
||||
|
} |
||||
|
.my-price { |
||||
|
font-family: PingFangSC-Medium; |
||||
|
font-size: 18rpx; |
||||
|
color: #007aff; |
||||
|
text-align: center; |
||||
|
font-weight: 500; |
||||
|
white-space: nowrap; |
||||
|
padding: 6rpx; |
||||
|
} |
||||
|
.offer-class { |
||||
|
display: flex; |
||||
|
} |
||||
|
.offer-btn { |
||||
|
width: 150rpx; |
||||
|
height: 64rpx; |
||||
|
background: #007aff; |
||||
|
border: 2rpx solid #007aff; |
||||
|
border-radius: 8rpx; |
||||
|
line-height: 60rpx; |
||||
|
} |
||||
|
.offer-width { |
||||
|
width: 70%; |
||||
|
} |
||||
|
.offer-prices { |
||||
|
position: absolute; |
||||
|
z-index: 9999; |
||||
|
right: 32rpx; |
||||
|
bottom: 122rpx; |
||||
|
background-color: #ffffff; |
||||
|
border-radius: 50%; |
||||
|
padding: 10rpx; |
||||
|
text-align: center; |
||||
|
width: 110rpx; |
||||
|
height: 110rpx; |
||||
|
border: 2rpx solid #f9f9f9; |
||||
|
box-shadow: 0rpx 4rpx 34rpx 0rpx rgba(0, 0, 0, 0.2); |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
} |
||||
|
} |
||||
</style> |
</style> |
||||
Write
Preview
Loading…
Cancel
Save