From 79993be468244e6cc16ce9c1d7e8736bd359c600 Mon Sep 17 00:00:00 2001 From: qingyiay <2386314947@qq.com> Date: 星期五, 05 五月 2023 14:48:51 +0800 Subject: [PATCH] 样式全面修改,所有页面焕然一新 --- pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue | 458 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 384 insertions(+), 74 deletions(-) diff --git a/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue b/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue index 57ba501..756f545 100644 --- a/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue +++ b/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue @@ -1,42 +1,137 @@ <template> <view class="freightForwarder-index"> <view class="freightForwarder-index-body"> - <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="orderPlanData.length == 0"></u-empty> - <card v-for="(item, index) in orderPlanData" :key="index" :name="item.id" @click="cardBodyClick" backgroundType="1"> - <template v-slot:left> - <view class="card-left__top"> - <text>{{ item.carNum }}</text> - 寮� - </view> - <view class="card-left__utils"><u-button text="杞彂" type="primary" @tap.stop="forwardClick(item)" shape="circle"></u-button></view> - </template> - <template v-slot:right-top> - <view class="right-top"> - <view class="card-right-top-row"> - <view> - <text>杞彂鍓╀綑锛歿{ item.carNumSurplusHuodai || 0 }}</text> + <view class="wait-collection" style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/customerbanner.png') no-repeat;background-size:contain"></view> + <view style="position: relative;top: -120px;"> + <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="orderPlanData.length == 0"></u-empty> + </view> + <view class="collection-form"> + <view class="collection-form-item" v-for="(item, index) in orderPlanData" :key="index" @click="cardBodyClick(item)"> + <view class="first-line"> + <view class="dispatch-receive"> + <view v-if="item.orderType == '澶栭攢' || item.orderType == '鍐呴攢' || item.orderType == '杞嚭'" class="container"> + <view class="dispatch">{{ item.deptName }}</view> + <view class="receive-icon"></view> + <view class="receive">{{ item.customerName }}</view> </view> - <view> - <text>{{ item.coalName || '' }}</text> + <view v-else-if="item.orderType == '澶栬喘' || item.orderType == '鍐呰喘' || item.orderType == '杞叆'" class="container"> + <view class="dispatch">{{ item.customerName }}</view> + <view class="receive-icon"></view> + <view class="receive">{{ item.deptName }}</view> </view> </view> + <view class="point-number"> + <text class="residue">{{ item.carNumSurplusHuodai || 0 }}</text> + <text>/{{ item.carNum }}</text> + </view> </view> - </template> - <template v-slot:right-bottom> - <view class="code"> - <text>缂栧彿锛歿{ item.orderCode || '' }}</text> + <view class="second-line"> + <view class="coal-name">{{ item.coalName }}</view> + <view class="black-block"></view> + <view class="coal-type">{{ item.orderType }}</view> </view> - </template> - </card> + <view class="third-line"> + <view class="time-icon"><u-icon name="clock" color="#515151" size="40"></u-icon></view> + <view class="send-date">{{ item.sendDate }}</view> + </view> + <view class="fourth-line"><u-button text="杞彂" type="primary" @tap.stop="forwardClick(item)" shape="circle"></u-button></view> + </view> + </view> + <!-- <view class="transparent"> + <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="orderPlanData.length == 0"></u-empty> + </view> --> + <view class="history-numbers"> + <combined-title title="鍘嗗彶鎻愮叅鍗�"></combined-title> + <scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-Y" @scrolltolower="historyScrolltolower"> + <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="historyCoalData.length === 0"></u-empty> + <view class="history-information" v-for="(item, index) in historyCoalData" :key="index" @click="faYundetail(item)"> + <view class="first"> + <view class="">{{ item.deptName || '' }}</view> + <view class=""><u-icon name="arrow-right" color="#999999" size="40"></u-icon></view> + </view> + <view class="second"> + <view class="">{{ item.coalName || '' }}</view> + <view class="order-type" v-if="item.orderType">{{ item.orderType || '' }}</view> + </view> + <view class="third"> + <view class="third-line"> + <view class="third-line_text">棰嗗彇鏁帮細</view> + <view class="third-line_num">{{ item.cars2 }}</view> + </view> + <view class="third-line"> + <view class="third-line_text">鍓╀綑鏁帮細</view> + <view class="third-line_num" v-if="roleType == 1">{{ item.carNumSurplus1 }}</view> + <view class="third-line_num" v-else-if="roleType == 2">{{ item.carNumSurplus }}</view> + </view> + <view class="third-line"> + <view class="third-line_text">鎻愮叅鍗曚釜鏁帮細锛�</view> + <view class="third-line_num">{{ item.tmCount }}</view> + </view> + </view> + <view class="fourth"> + <view class="fourth-icon"><u-icon name="clock" color="#999999" size="40"></u-icon></view> + <view class="senddate">{{ item.sendDate }}</view> + </view> + <view class="fourth"> + <view class="fourth-icon"><u-icon name="clock" color="#999999" size="40"></u-icon></view> + <view class="senddate">{{ item.orderCode }}</view> + </view> + </view> + <view class="more_text" v-if="showMoreData && historyCoalData.length !== 0">娌℃湁鏁版嵁浜�...</view> + <view class="white-block"></view> + </scroll-view> + </view> </view> </view> </template> <script> +import combinedTitle from '@/components/combined-title/combined-title.vue'; export default { + props: { + indexHistoryCoalData: { + type: Array, + default: [] + }, + indexHuoDaiOrderPlanData: { + type: Array, + default: [] + } + }, + watch: { + indexHistoryCoalData: { + handler(v) { + this.historyCoalData = v; + }, + deep: true, + immediate: true + }, + indexHuoDaiOrderPlanData: { + handler(v) { + this.orderPlanData = v; + }, + deep: true, + immediate: true + } + }, + components: { + combinedTitle + }, data() { return { - orderPlanData: [] + orderPlanData: [], + historyCoalData: [], + // 琛ㄦ牸鍔犺浇鐘舵�� + loading: false, + scrollTop: 0, + // 姣忛〉鏁版嵁閲� + pageSize: 10, + // 褰撳墠椤� + pageCurrent: 1, + // 鏁版嵁鎬婚噺 + total: 0, + // 鏄惁鏄剧ず鏇村鏁版嵁 + showMoreData: false }; }, onShow() { @@ -48,23 +143,56 @@ } }, methods: { + // 鑾峰彇鍘嗗彶鎻愮叅鍗� + getJhOrderPlanDataPage() { + this.loading = true; + this.$reqGet('getJhOrderPlanDataPage', { current: this.pageCurrent, size: this.pageSize }).then(res => { + if (res.data.records) { + if (this.pageCurrent > 1) { + this.historyCoalData = this.historyCoalData.concat(res.data.records); + this.historyCoalData = this.ArrSet(this.historyCoalData, 'id'); + this.loading = false; + } else { + this.historyCoalData = res.data.records; + this.loading = false; + } + } + }); + }, + // 涓婃媺鍔犺浇 + historyScrolltolower() { + if (this.pageCurrent * this.pageSize >= this.total) return (this.showMoreData = true); + this.pageCurrent++; + this.getJhOrderPlanDataPage(); + }, + //fix 鐐瑰嚮鎻愮叅鍗曡繑鍥炰細澧炲姞閲嶅鏁版嵁 + ArrSet(Arr, id) { + var obj = {}; + const arrays = Arr.reduce((setArr, item) => { + obj[item[id]] ? '' : (obj[item[id]] = true && setArr.push(item)); + return setArr; + }, []); + return arrays; + }, init() { this.huoDaiList(); + this.getJhOrderPlanDataPage(); }, huoDaiList() { this.$reqGet('huoDaiList').then(res => { this.orderPlanData = res.data; }); }, - cardBodyClick(id) { - let code = null; - this.orderPlanData.forEach(item => { - if (item.id == id) { - code = item.code; - } - }); + cardBodyClick(item) { + // let code = null; + // this.orderPlanData.forEach(item => { + // if (item.orderPlanId == id) { + // code = item.code; + // id = item.orderPlanId; + // } + // }); uni.navigateTo({ - url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails?orderPlanId=${id}&code=${code}` + url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails?orderPlanId=${item.orderPlanId}&code=${item.code}` }); }, // 杞彂 @@ -72,60 +200,242 @@ uni.navigateTo({ url: `/pages/public-page/forward/forward?orderPlanId=${value.orderPlanId}&carNumSurplusHuodai=${value.carNumSurplusHuodai}&carNum=${value.carNum}` }); + }, + // 鐐瑰嚮鍘嗗彶鎻愮叅鍗曚竴琛岃幏鍙栬鎯� + faYundetail(v) { + uni.navigateTo({ + url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails?orderPlanId=${v.id}&cars2=${v.cars2}` + }); } } }; </script> <style lang="scss" scoped> -::v-deep.freightForwarder-index { - width: 94%; - margin: 0 auto; - // 涓讳綋 - .freightForwarder-index-body { - margin-bottom: vww(56); - - // 鍗$墖鏍峰紡 - .card-left__top { - margin-top: vww(26); - text-align: center; - color: #ffffff; - text { - font-size: vww(48); - font-weight: 800; - } +@mixin flex { + display: flex; + justify-content: space-between; + align-items: center; +} +.scroll-Y { + height: 900rpx; + .more_text { + color: #333; + font-size: 24rpx; + text-align: center; + } +} +.history-numbers { + width: 100%; + position: relative; + top: vww(-110); + .history-information { + width: 690rpx; + height: 398rpx; + margin: vww(10) vww(15); + background: #ffffff; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + border-radius: 20rpx; + @include flex flex-direction: column; + align-items: flex-start; + justify-content: space-evenly; + overflow: hidden; + .first { + width: 96%; + height: 34rpx; + font-size: 32rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #303030; + @include flex; + margin: vww(10) vww(10) 0; } - .card-left__utils { - display: flex; - padding: 0 vww(15) 0 vww(15); - .u-button { - width: vww(55); - height: vww(24); - background-color: #fff; - color: #1987ff; - } - } - .right-top { - display: flex; - flex-flow: column nowrap; - align-content: space-around; - .card-right-top-row { - margin-top: vww(26); + .second { + width: 50%; + height: 31rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + margin: vww(10) vww(10) 0; + @include flex; + .order-type { + color: #035cfb; + border: 2px solid #035cfb; + border-radius: 4rpx; + padding: vww(2) vww(4); text-align: center; - &:nth-child(1) { - display: flex; - justify-content: space-between; - view { - text-align: center; - width: 50%; - } + } + } + .third { + width: 96%; + height: 31rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + margin: vww(10) vww(10) 0; + @include flex; + .third-line { + @include flex; + &_text { + color: #919090; + } + &_num { + color: #035cfb; } } } - - .code { - margin-top: vww(2); - text-align: center; + .fourth { + width: 50%; + height: 31rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + margin: vww(10) vww(10) 0; + @include flex; + } + } +} +::v-deep.freightForwarder-index { + width: 100%; + margin: 0 auto; + // 涓讳綋 + .freightForwarder-index-body { + .wait-collection { + width: 100%; + height: 600rpx; + position: relative; + top: vww(-10); + z-index: 0; + } + .collection-form { + width: vww(345); + margin: 0 vww(15); + position: relative; + top: vww(-144); + .collection-form-item { + width: 690rpx; + height: 300rpx; + background: #ffffff; + box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15); + border-radius: 20rpx; + overflow: hidden; + @include flex flex-direction: column; + position: relative; + align-items: flex-start; + margin-top: vww(10); + .first-line { + width: 94%; + height: vww(30); + margin: vww(10) vww(16) 0 vww(16); + display: flex; + justify-content: space-between; + .dispatch-receive { + width: 70%; + display: flex; + justify-content: space-between; + align-items: center; + .container { + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + } + .receive-icon { + width: 62rpx; + height: 14rpx; + border-bottom: 3px solid #275fa5; + position: relative; + &:after { + content: ''; + position: absolute; + width: 3px; + height: 10px; + background-color: #275fa5; + right: 0; + transform: rotate(-45deg); + } + } + } + .point-number { + width: 15%; + text { + font-size: 24rpx; + font-family: Microsoft YaHei; + font-weight: 400; + color: #c78a64; + } + .residue { + font-size: 40rpx; + font-family: CTCuHeiSJ; + font-weight: 400; + color: #f81414; + } + } + } + .second-line { + width: 60%; + height: vww(30); + display: flex; + justify-content: space-evenly; + align-items: center; + .coal-name { + width: 30%; + height: 30rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + position: relative; + display: flex; + justify-content: space-between; + } + .black-block { + width: 2rpx; + height: 30rpx; + background: #515151; + } + .coal-type { + width: 24%; + height: 30rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + } + } + .third-line { + width: 40%; + height: vww(30); + margin-left: vww(15); + display: flex; + justify-content: space-between; + align-items: center; + .send-date { + width: 148rpx; + height: 24rpx; + line-height: 24rpx; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + } + } + .fourth-line { + width: 40%; + height: vww(30); + @include flex; + position: relative; + left: 60%; + bottom: vww(10); + .u-button { + width: vww(50); + height: vww(30); + } + } + } } } } -- Gitblit v1.9.1