From a0cbce5aefc293b19aa66d3e0848cdac968bd629 Mon Sep 17 00:00:00 2001 From: dengxiongfei Date: Wed, 26 Jan 2022 13:23:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E4=BB=B7=E5=88=97=E8=A1=A8=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8A=A5=E4=BB=B7=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/my-offer/index.vue | 31 ++++++++++++++++++++++---- pages/quotation-details/index.vue | 5 +++-- utils/index.js | 37 +++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+), 6 deletions(-) diff --git a/pages/my-offer/index.vue b/pages/my-offer/index.vue index a3e2a91..53c3482 100644 --- a/pages/my-offer/index.vue +++ b/pages/my-offer/index.vue @@ -11,7 +11,9 @@ {{ items.belongEnterpriseName }} - {{ controlItems[items.orderStatus - 1] }} + + {{ controlItems[items.replyStatus] }} + @@ -27,7 +29,7 @@ - {{ items.deliveryDay }} + {{ transformTime(items.replyTime) }} ¥{{ items.totalPrice }} @@ -44,6 +46,7 @@ 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 { getMyReplyList } from '@/apis/trade.js' +import { difTime } from '@/utils/index' export default { // props: { // queryOrderData: { @@ -63,7 +66,12 @@ export default { }, orderData: [], controlCurrent: 0, - controlItems: ['待付款', '待发货', '待收货', '已完成', '已关闭'], + controlItems: { + 30128: '待报价', + 30130: '已报价', + 30139: '已下单', + 30102: '已过期' + }, orderOption: { size: 10, auto: true, @@ -79,7 +87,6 @@ export default { } } }, - filters: {}, watch: { orderParams: { handler(val) { @@ -97,6 +104,22 @@ export default { this.getMyReplyListQuery() }, methods: { + transformTime(time) { + if (!time) { + return '-' + } + const { day, hours, minutes, seconds } = difTime(new Date(), time) + if (day > 0) { + return `${day}天前` + } + if (hours > 0) { + return `${hours}小时前` + } + if (minutes > 0) { + return `${minutes}分钟前` + } + return `${seconds}秒前` + }, back, // 获取我的报价 getMyReplyListQuery() { diff --git a/pages/quotation-details/index.vue b/pages/quotation-details/index.vue index 98f124a..e27d77b 100644 --- a/pages/quotation-details/index.vue +++ b/pages/quotation-details/index.vue @@ -4,7 +4,7 @@ 报价详情 - 修改报价 + 修改报价 @@ -124,7 +124,8 @@ export default { deliveryArea: '广东省/广州市/天河区', deliveryDay: '2021/12/29 12:30', enquiryValidTime: [12, 11, 10], - itemList: [] + itemList: [], + replyStatus: 30102 } } }, diff --git a/utils/index.js b/utils/index.js index 7d7a828..bbef794 100644 --- a/utils/index.js +++ b/utils/index.js @@ -160,3 +160,40 @@ export const makeSocket = async ({ pageInfo = '', retry = false }) => { export function round(number, precision) { return Math.round(+number + 'e' + precision) / Math.pow(10, precision) } + +/** + * {beyond:是否超出目标时间,day:天,hours:小时,minutes:分钟,seconds:秒钟} + * @param time 计算时间 + * @param target 对照时间 + * @returns 时间差对象 + */ +export const difTime = (time, target) => { + let begin = new Date(time).getTime() + // 兼容ios时间 + let end = new Date(target.replace(/-/g, '/')).getTime() + let beyond = begin < end ? false : true + let diff = Math.abs(begin - end) + // 计算天数 + let day = Math.floor(diff / (24 * 3600 * 1000)) + day != day ? (day = 0) : '' + diff = diff % (24 * 3600 * 1000) + // 计算小时数 + let hours = Math.floor(diff / (3600 * 1000)) + hours != hours ? (hours = 0) : '' + diff = diff % (3600 * 1000) + // 计算分钟数 + let minutes = Math.floor(diff / (60 * 1000)) + minutes != minutes ? (minutes = 0) : '' + diff = diff % (60 * 1000) + // 计算秒数 + let seconds = Math.floor(diff / 1000) + seconds != seconds ? (seconds = 0) : '' + diff = diff % 1000 + return { + beyond, + day, + hours, + minutes, + seconds + } +}