| | |
| | | <template> |
| | | <view class="main"> |
| | | <view class="top-statistics"> |
| | | <view class="content-statistics"> |
| | | <view class="content-text">发运统计</view> |
| | | <view class="content-text">共{{ totalLength }}车</view> |
| | | <view class="content-text">共{{ totalTon }}吨</view> |
| | | <view class=""> |
| | | <view class="main"> |
| | | <view class="top-statistics"> |
| | | <view class="top-body"> |
| | | <view class="content-title">发运统计</view> |
| | | <view class="content-statistics"> |
| | | <view class="content-text"> |
| | | <view class="content-container">{{ totalLength }}</view> |
| | | <view class="content-num">发运车数</view> |
| | | </view> |
| | | <view class="content-text"> |
| | | <view class="content-container">{{ totalTon.toFixed(2) }}</view> |
| | | <view class="content-num">发运吨数</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="collapse-main"> |
| | | <u-collapse> |
| | | <u-collapse-item :title="dateRange" value="筛选"> |
| | | <view class="main-block"> |
| | | <view class="data-filter" @click="showPopup"> |
| | | <view class="search-icon"><u-icon name="search" color="#494949" size="50"></u-icon></view> |
| | | <view class="date-text">{{ dateselect }}</view> |
| | | <view class=""> |
| | | <view class="arrow-icon"><u-icon name="arrow-down-fill" color="#1481FF" size="50"></u-icon></view> |
| | | </view> |
| | | </view> |
| | | <view class="filter-condition"></view> |
| | | <view class="date-information"> |
| | | <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="filterList.length == 0"></u-empty> |
| | | <view class="statistics-card" v-for="(item, index) in filterList" :key="index"> |
| | | <view class="card-top"> |
| | | <view class="left"><combined-title :title="item.condition"></combined-title></view> |
| | | <view class="card-top_num"> |
| | | {{ item.taskCoalList.length }}车{{ |
| | | item.taskCoalList.reduce((prev, cur) => { |
| | | return prev + cur.clean; |
| | | }, 0) |
| | | }}吨 |
| | | </view> |
| | | </view> |
| | | <view class="card-main" v-for="(value, i) in item.taskCoalList" :key="i" @click="faYunDetail(value.id)"> |
| | | <view class="first-line"> |
| | | <view class="main-information"> |
| | | <view class="sign">装</view> |
| | | <view class="filedname"> |
| | | <text v-if="value.orderType == '外销' || value.orderType == '内销' || value.orderType == '转出'">{{ value.deptName.slice(0, 16) }}</text> |
| | | <text v-else-if="value.orderType == '外购' || value.orderType == '内购' || value.orderType == '转入'"> |
| | | {{ value.customerName.slice(0, 16) }} |
| | | </text> |
| | | <text v-show="value.deptName.length >= 15 || value.customerName.length >= 15">...</text> |
| | | </view> |
| | | </view> |
| | | <view class="main-divider"></view> |
| | | <view class="point-number">{{ value.clean.toFixed(2) || 0 }}</view> |
| | | <!-- <view class="dispatch-receive"> |
| | | <view v-if="value.orderType == '外销' || value.orderType == '内销' || value.orderType == '转出'" class="container"> |
| | | <view class="dispatch">{{ value.deptName }}</view> |
| | | <view class="receive-icon"></view> |
| | | <view class="receive">{{ value.customerName }}</view> |
| | | </view> |
| | | <view v-else-if="value.orderType == '外购' || value.orderType == '内购' || value.orderType == '转入'" class="container"> |
| | | <view class="dispatch">{{ value.customerName }}</view> |
| | | <view class="receive-icon"></view> |
| | | <view class="receive">{{ value.deptName }}</view> |
| | | </view> |
| | | </view> --> |
| | | <!-- <view class="point-number">{{ value.clean.toFixed(2) || 0 }}</view> --> |
| | | </view> |
| | | <view class="first-extra"> |
| | | <view class="main-information"> |
| | | <view class="sign">卸</view> |
| | | <view class="filedname"> |
| | | <text v-if="value.orderType == '外销' || value.orderType == '内销' || value.orderType == '转出'"> |
| | | {{ value.customerName.slice(0, 16) }} |
| | | </text> |
| | | <text v-else-if="value.orderType == '外购' || value.orderType == '内购' || value.orderType == '转入'"> |
| | | {{ value.deptName.slice(0, 16) }} |
| | | </text> |
| | | <text v-show="value.customerName.length >= 15 || value.deptName.length >= 15">...</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="second-line"> |
| | | <view class="coal-name"> |
| | | <view class="">{{ value.coalName }}</view> |
| | | <view class="black-bar"></view> |
| | | <view class="coal-type" v-if="value.orderType">{{ value.orderType }}</view> |
| | | </view> |
| | | <!-- <view class="black-block"><view class="black-bar"></view></view> |
| | | <view class="coal-type">{{ value.orderType }}</view> --> |
| | | </view> |
| | | <view class="third-line"> |
| | | <view class="carnum-icon"><image src="https://mx.jzeg.cn:9095/appimg/image/banner/carNO.png" mode="widthFix"></image></view> |
| | | <view class="carnum-text">{{ value.carNo || '' }}</view> |
| | | </view> |
| | | <view class="fourth-line"> |
| | | <view class="time-icon"><u-icon name="clock" color="#515151" size="28"></u-icon></view> |
| | | <view class="send-date">{{ value.sendDate }}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <u-popup :show="conditinonShow" mode="bottom" :closeable="true" :closeOnClickOverlay="true" @close="conditinonclose"> |
| | | <scroll-view scroll-y="true" class="scroll-Y"> |
| | | <view class="filter-main"> |
| | | <view class="filter-body"> |
| | | <view class="condition-name">煤种:</view> |
| | | <view class="filter-name"> |
| | | <view class="filter-button" v-for="(item, index) in coalList" :key="index" @click="filterCondition(0, index, item.condition)"> |
| | | <u-button shape="circle" :text="item.condition" :type="item.active ? 'success' : ''" size="small"></u-button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="filter-body"> |
| | | <view class="condition-name">类型:</view> |
| | | <view class="filter-name"> |
| | | <view class="filter-button" v-for="(item, index) in typeList" :key="index" @click="filterCondition(1, index, item.condition)"> |
| | | <u-button shape="circle" :text="item.condition" :type="item.active ? 'success' : ''" size="small"></u-button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="filter-body"> |
| | | <view class="condition-name">客户:</view> |
| | | <view class="filter-name"> |
| | | <view class="filter-button" v-for="(item, index) in customerList" :key="index" @click="filterCondition(2, index, item.condition)"> |
| | | <u-button shape="circle" :text="item.condition" :type="item.active ? 'success' : ''" size="small"></u-button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="filter-body" v-if="roleType == 1"> |
| | | <view class="condition-name">货代:</view> |
| | | <view class="filter-name"> |
| | | <view class="filter-button" v-for="(item, index) in forwarderList" :key="index" @click="filterCondition(3, index, item.condition)"> |
| | | <u-button shape="circle" :text="item.condition" :type="item.active ? 'success' : ''" size="small"></u-button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="filter-body" v-if="roleType != 3"> |
| | | <view class="condition-name">车队:</view> |
| | | <view class="filter-name"> |
| | | <view class="filter-button" v-for="(item, index) in fleetList" :key="index" @click="filterCondition(4, index, item.condition)"> |
| | | <u-button shape="circle" :text="item.condition" :type="item.active ? 'success' : ''" size="small"></u-button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="filter-body" v-if="roleType != 1"> |
| | | <view class="condition-name">矿场:</view> |
| | | <view class="filter-name"> |
| | | <view class="filter-button" v-for="(item, index) in filedList" :key="index" @click="filterCondition(5, index, item.condition)"> |
| | | <u-button shape="circle" :text="item.condition" :type="item.active ? 'success' : ''" size="small"></u-button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="filter-body"> |
| | | <view class="condition-name">日期:</view> |
| | | <view class="filter-body date-button"> |
| | | <view class="condition-name">日期</view> |
| | | <view class="filter-name"> |
| | | <u-button :text="dateselect" @click="opencalendar"></u-button> |
| | | <view class="filter-button"> |
| | | <view class="filter-button "> |
| | | <uni-calendar |
| | | ref="calendar" |
| | | class="uni-calendar--hook" |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="filter-body"> |
| | | <view class="condition-name">煤种</view> |
| | | <view class="filter-name"> |
| | | <view class="filter-button" v-for="(item, index) in coalList" :key="index" @click="filterCondition(0, index, item.condition)"> |
| | | <u-button :text="item.condition" :type="item.active ? 'primary' : ''" size="small" :class="{ shadowactive: item.active }"></u-button> |
| | | </view> |
| | | <!-- <view class="toggle-button"> |
| | | <u-button :text="coalShow < coalTotal ? '查看更多' : '收起'" type="primary" size="small" @click="toggle(0)" v-if="coalTotal > 3"></u-button> |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | <view class="filter-body" v-if="typeList.length !== 0"> |
| | | <view class="condition-name">类型</view> |
| | | <view class="filter-name"> |
| | | <view class="filter-button" v-for="(item, index) in typeList" :key="index" @click="filterCondition(1, index, item.condition)"> |
| | | <u-button :text="item.condition" :type="item.active ? 'primary' : ''" size="small"></u-button> |
| | | </view> |
| | | <!-- <view class="toggle-button"> |
| | | <u-button :text="typeShow < typeTotal ? '查看更多' : '收起'" type="primary" size="small" @click="toggle(1)" v-if="typeTotal > 3"></u-button> |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | <view class="filter-body" v-if="roleType !== 1"> |
| | | <view class="condition-name">客户</view> |
| | | <view class="filter-name"> |
| | | <view class="filter-button" v-for="(item, index) in customerList" :key="index" @click="filterCondition(2, index, item.condition)"> |
| | | <u-button :text="item.condition" :type="item.active ? 'primary' : ''" size="small"></u-button> |
| | | </view> |
| | | <!-- <view class="toggle-button"> |
| | | <u-button :text="customerShow < customerTotal ? '查看更多' : '收起'" type="primary" size="small" @click="toggle(2)" v-if="customerTotal > 3"></u-button> |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | <view class="filter-body" v-if="roleType == 1"> |
| | | <view class="condition-name">货代</view> |
| | | <view class="filter-name"> |
| | | <view class="filter-button" v-for="(item, index) in forwarderList" :key="index" @click="filterCondition(3, index, item.condition)"> |
| | | <u-button :text="item.condition" :type="item.active ? 'primary' : ''"></u-button> |
| | | </view> |
| | | <!-- <view class="toggle-button"> |
| | | <u-button |
| | | :text="forwarderShow < forwarderTotal ? '查看更多' : '收起'" |
| | | type="primary" |
| | | size="small" |
| | | @click="toggle(3)" |
| | | v-if="forwarderTotal > 3" |
| | | ></u-button> |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | <view class="filter-body" v-if="roleType != 3"> |
| | | <view class="condition-name">车队</view> |
| | | <view class="filter-name"> |
| | | <view class="filter-button" v-for="(item, index) in fleetList" :key="index" @click="filterCondition(4, index, item.condition)"> |
| | | <u-button :text="item.condition" :type="item.active ? 'primary' : ''" size="small"></u-button> |
| | | </view> |
| | | <!-- <view class="toggle-button"> |
| | | <u-button :text="fleetShow < fleetTotal ? '查看更多' : '收起'" type="primary" size="small" @click="toggle(4)" v-if="fleetTotal > 3"></u-button> |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | <view class="filter-body"> |
| | | <view class="condition-name">矿场</view> |
| | | <view class="filter-name"> |
| | | <view class="filter-button" v-for="(item, index) in filedList" :key="index" @click="filterCondition(5, index, item.condition)"> |
| | | <u-button :text="item.condition" :type="item.active ? 'primary' : ''" size="small"></u-button> |
| | | </view> |
| | | <!-- <view class="toggle-button"> |
| | | <u-button :text="filedShow < filedTotal ? '查看更多' : '收起'" type="primary" size="small" @click="toggle(5)" v-if="filedTotal > 3"></u-button> |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | <view class="filter-body" v-if="roleType == 2"> |
| | | <view class="condition-name">车牌号</view> |
| | | <view class="filter-name"> |
| | | <view class="filter-button" v-for="(item, index) in carNoList" :key="index" @click="filterCondition(6, index, item.condition)"> |
| | | <u-button :text="item.condition" :type="item.active ? 'primary' : ''" size="small" v-if="index < carNoShow"></u-button> |
| | | </view> |
| | | <!-- <view class="toggle-button"> |
| | | <u-button :text="carNoShow < carNoTotal ? '查看更多' : '收起'" type="primary" size="small" @click="toggle(6)" v-if="carNoTotal > 3"></u-button> |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </u-collapse-item> |
| | | </u-collapse> |
| | | </view> |
| | | <view class="date-information"> |
| | | <view class="statistics-card" v-for="(item, index) in filterList" :key="index"> |
| | | <view class="card-title"> |
| | | <view class="title-date">{{ item.condition }}</view> |
| | | <view class="title-number"> |
| | | 共{{ item.taskCoalList.length }}车 {{ |
| | | item.taskCoalList.reduce((prev, cur) => { |
| | | return prev + cur.clean; |
| | | }, 0) |
| | | }}吨 |
| | | </view> |
| | | </scroll-view> |
| | | <view class="utils-button"> |
| | | <view class="reset-button"><u-button type="default" text="重置" :plain="true" shape="circle" @click="resetCondition"></u-button></view> |
| | | <view class="confirm-button"><u-button type="primary" text="确定" :plain="true" shape="circle" @click="confirmCondition"></u-button></view> |
| | | </view> |
| | | <view class="card-main" v-for="(value, i) in item.taskCoalList" :key="i"> |
| | | <view class="arrow-right"><u-icon name="arrow-right" size="50"></u-icon></view> |
| | | <view class="main-body"> |
| | | <view class="coal-name">煤种:{{ value.coalName || '' }}</view> |
| | | <view class="clean">执行量:{{ value.clean || 0 }}</view> |
| | | <view class="out-time">出场时间:{{ value.outTime || '' }}</view> |
| | | <view class="car-number">车牌号:{{ value.carNo || '' }}</view> |
| | | <view class="filedName">矿场:{{ value.filedName || '' }}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | | <tab-bar :current="1"></tab-bar> |
| | | </view> |
| | | <view class="white-block"></view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import combinedTitle from '@/components/combined-title/combined-title.vue'; |
| | | export default { |
| | | components: { |
| | | combinedTitle |
| | | }, |
| | | data() { |
| | | return { |
| | | conditionList: [], |
| | |
| | | forwarderList: [], |
| | | fleetList: [], |
| | | filedList: [], |
| | | carNoList: [], |
| | | isactive: false, |
| | | info: { |
| | | lunar: false, |
| | |
| | | }, |
| | | first: '', |
| | | last: '', |
| | | firstFilter: '', |
| | | lastFilter: '', |
| | | taskList: [], |
| | | filterList: [], |
| | | totalLength: 0, |
| | | totalTon: 0 |
| | | totalTon: 0, |
| | | // 筛选弹出层 |
| | | conditinonShow: false, |
| | | // 超过两行自动隐藏 |
| | | coalShow: 3, |
| | | typeShow: 3, |
| | | customerShow: 3, |
| | | forwarderShow: 3, |
| | | fleetShow: 3, |
| | | filedShow: 3, |
| | | carNoShow: 3, |
| | | coalToggeleState: false, |
| | | typeToggeleState: false, |
| | | customerToggeleState: false, |
| | | forwarderToggeleState: false, |
| | | fleetToggeleState: false, |
| | | filedToggeleState: false, |
| | | carNoToggeleState: false, |
| | | // 点击右箭头详情弹窗 |
| | | faYunDetailobj: {}, |
| | | modalShow: false, |
| | | coalStatus: ['领取', '预约', '签到', '入场', '称皮', '称毛', '离场', '入磅房', '出磅房', '入煤仓', '出煤仓', '放空', '作废', '入场申请', '进入场院'] |
| | | }; |
| | | }, |
| | | onShow() { |
| | |
| | | let d = '01'; |
| | | m = m < 10 ? '0' + m : m; //月份补 0 |
| | | this.first = [y, m, d].join('-'); |
| | | this.firstFilter = [y, m, d].join('-'); |
| | | }, |
| | | lastDate() { |
| | | let y = new Date().getFullYear(); //获取年份 |
| | |
| | | m = m < 10 ? '0' + m : m; //月份补 0 |
| | | d = d < 10 ? '0' + d : d; //日数补 0 |
| | | this.last = [y, m, d].join('-'); |
| | | this.lastFilter = [y, m, d].join('-'); |
| | | }, |
| | | // 筛选条件 |
| | | getShipping() { |
| | |
| | | active: false |
| | | }; |
| | | }); |
| | | this.carNoList = res.data |
| | | .filter(v => v.conditionType == 6) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | }); |
| | | }, |
| | | // 获取数据 |
| | |
| | | case 5: |
| | | this.filedList[i].active = !this.filedList[i].active; |
| | | break; |
| | | case 6: |
| | | this.carNoList[i].active = !this.carNoList[i].active; |
| | | break; |
| | | } |
| | | |
| | | const validateFn = key => (v, arr) => { |
| | |
| | | customerName: this.customerList.filter(v => v.active == true).map(item => item.condition), |
| | | xsUser2Name: this.forwarderList.filter(v => v.active == true).map(item => item.condition), |
| | | fleetName: this.fleetList.filter(v => v.active == true).map(item => item.condition), |
| | | filedName: this.filedList.filter(v => v.active == true).map(item => item.condition) |
| | | filedName: this.filedList.filter(v => v.active == true).map(item => item.condition), |
| | | carNo: this.carNoList.filter(v => v.active == true).map(item => item.condition) |
| | | }; |
| | | |
| | | const mapping = { |
| | |
| | | customerName: validateFn('customerName'), |
| | | xsUser2Name: validateFn('xsUser2Name'), |
| | | fleetName: validateFn('fleetName'), |
| | | filedName: validateFn('filedName') |
| | | filedName: validateFn('filedName'), |
| | | carNo: validateFn('carNo') |
| | | }; |
| | | this.filterList = this.taskList.map(val => { |
| | | return { |
| | |
| | | this.totalTon = 0; |
| | | } |
| | | }, |
| | | // 确定筛选 |
| | | confirmCondition() { |
| | | this.conditinonShow = false; |
| | | }, |
| | | // 重置筛选 |
| | | resetCondition() { |
| | | this.conditinonShow = false; |
| | | this.first = this.dateRange.slice(0, 10); |
| | | this.last = this.dateRange.slice(11); |
| | | this.coalList.forEach(v => { |
| | | v.active = false; |
| | | }); |
| | | this.typeList.forEach(v => { |
| | | v.active = false; |
| | | }); |
| | | this.customerList.forEach(v => { |
| | | v.active = false; |
| | | }); |
| | | this.forwarderList.forEach(v => { |
| | | v.active = false; |
| | | }); |
| | | this.fleetList.forEach(v => { |
| | | v.active = false; |
| | | }); |
| | | this.filedList.forEach(v => { |
| | | v.active = false; |
| | | }); |
| | | }, |
| | | confirm(e) { |
| | | console.log(e, '日期选择'); |
| | | this.first = e.range.before; |
| | | this.last = e.range.after; |
| | | this.conditinonShow = false; |
| | | }, |
| | | opencalendar() { |
| | | this.$refs.calendar.open(); |
| | | }, |
| | | // 点击查看更多 |
| | | toggle(value) { |
| | | switch (value) { |
| | | case 0: |
| | | if (!this.coalToggeleState) { |
| | | this.coalShow = this.coalTotal; |
| | | this.coalToggeleState = true; |
| | | } else { |
| | | this.coalShow = 3; |
| | | this.coalToggeleState = false; |
| | | } |
| | | break; |
| | | case 1: |
| | | if (!this.typeToggeleState) { |
| | | this.typeShow = this.typeTotal; |
| | | this.typeToggeleState = true; |
| | | } else { |
| | | this.typeShow = 3; |
| | | this.typeToggeleState = false; |
| | | } |
| | | break; |
| | | case 2: |
| | | if (!this.customerToggeleState) { |
| | | this.customerShow = this.customerTotal; |
| | | this.customerToggeleState = true; |
| | | } else { |
| | | this.customerShow = 3; |
| | | this.customerToggeleState = false; |
| | | } |
| | | break; |
| | | case 3: |
| | | if (!this.forwarderToggeleState) { |
| | | this.forwarderShow = this.forwarderTotal; |
| | | this.forwarderToggeleState = true; |
| | | } else { |
| | | this.forwarderShow = 3; |
| | | this.forwarderToggeleState = false; |
| | | } |
| | | break; |
| | | case 4: |
| | | if (!this.fleetToggeleState) { |
| | | this.fleetShow = this.fleetTotal; |
| | | this.fleetToggeleState = true; |
| | | } else { |
| | | this.fleetShow = 3; |
| | | this.fleetToggeleState = false; |
| | | } |
| | | break; |
| | | case 5: |
| | | if (!this.filedToggeleState) { |
| | | this.filedShow = this.filedTotal; |
| | | this.filedToggeleState = true; |
| | | } else { |
| | | this.filedShow = 3; |
| | | this.filedToggeleState = false; |
| | | } |
| | | break; |
| | | case 6: |
| | | if (!this.carNoToggeleState) { |
| | | this.carNoShow = this.carNoTotal; |
| | | this.carNoToggeleState = true; |
| | | } else { |
| | | this.carNoShow = 3; |
| | | this.carNoToggeleState = false; |
| | | } |
| | | break; |
| | | } |
| | | }, |
| | | // 跳转发运详情 |
| | | faYunDetail(takeCoalId) { |
| | | uni.navigateTo({ |
| | | url: `/pages/public-page/faYunstatisticsDetails/faYunstatisticsDetails?id=${takeCoalId}` |
| | | }); |
| | | }, |
| | | // 打开筛选条件弹窗 |
| | | showPopup() { |
| | | this.conditinonShow = true; |
| | | }, |
| | | // 关闭筛选条件弹窗 |
| | | conditinonclose() { |
| | | this.conditinonShow = false; |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | return uni.getStorageSync('roleType'); |
| | | }, |
| | | dateRange() { |
| | | return `日期:${this.first}-${this.last}`; |
| | | return `${this.firstFilter}-${this.lastFilter}`; |
| | | }, |
| | | dateselect() { |
| | | return `${this.first}-${this.last}`; |
| | | }, |
| | | coalTotal() { |
| | | return this.coalList.length; |
| | | }, |
| | | typeTotal() { |
| | | return this.typeList.length; |
| | | }, |
| | | customerTotal() { |
| | | return this.customerList.length; |
| | | }, |
| | | forwarderTotal() { |
| | | return this.forwarderList.length; |
| | | }, |
| | | fleetTotal() { |
| | | return this.fleetList.length; |
| | | }, |
| | | filedTotal() { |
| | | return this.filedList.length; |
| | | }, |
| | | carNoTotal() { |
| | | return this.carNoList.length; |
| | | } |
| | | }, |
| | | watch: { |
| | | dateselect(newV, old) { |
| | | let tempDate = `${this.first}-${this.last}`; |
| | | console.log(newV, '新', old, '旧', tempDate, '一开始'); |
| | | if (newV != old && old != '-') { |
| | | this.first = newV.slice(0, 10); |
| | | this.last = newV.slice(11); |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | ::v-deep .u-cell__value { |
| | | color: #9ec16c !important; |
| | | font-size: vww(18) !important; |
| | | @mixin flex { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | ::v-deep .filter-name:nth-last-child(1) { |
| | | .u-button { |
| | | width: 66%; |
| | | @mixin firstLine { |
| | | width: 80%; |
| | | height: vww(68); |
| | | margin: vww(10) vww(16) 0 0; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | ::v-deep .toggle-button .u-button { |
| | | width: vww(40); |
| | | } |
| | | .scroll-Y { |
| | | height: 900rpx; |
| | | } |
| | | .utils-button { |
| | | width: 94%; |
| | | height: vww(30); |
| | | margin: vww(50) auto; |
| | | @include flex; |
| | | .reset-button { |
| | | /deep/ .u-button { |
| | | border: 1px solid #c5c5c5; |
| | | outline: none; |
| | | } |
| | | } |
| | | .confirm-button { |
| | | /deep/ .u-button { |
| | | border: 1px solid #3b56eb; |
| | | outline: none; |
| | | color: #3b56eb; |
| | | } |
| | | } |
| | | /deep/ .u-button { |
| | | width: 279rpx; |
| | | height: 60rpx; |
| | | font-size: 28rpx; |
| | | } |
| | | } |
| | | .white-block { |
| | | width: 100%; |
| | | height: vww(50); |
| | | margin-top: vww(10); |
| | | } |
| | | .main { |
| | | width: 96%; |
| | | width: 100%; |
| | | margin: 0 auto; |
| | | background-color: #e8eaec; |
| | | /*顶部统计栏*/ |
| | | .top-statistics { |
| | | width: 100%; |
| | | height: vww(50); |
| | | height: 430rpx; |
| | | background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | .content-statistics { |
| | | width: 100%; |
| | | height: 100%; |
| | | padding: 0 vww(10); |
| | | .top-body { |
| | | width: 690rpx; |
| | | height: 220rpx; |
| | | margin: vww(21) auto; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | .content-text { |
| | | width: vww(80); |
| | | height: vww(30); |
| | | font-size: vww(20); |
| | | color: #393a3c; |
| | | flex-direction: column; |
| | | .content-statistics { |
| | | width: 690rpx; |
| | | height: 140rpx; |
| | | 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: 10rpx; |
| | | display: flex; |
| | | justify-content: space-evenly; |
| | | align-items: center; |
| | | .content-text { |
| | | height: vww(40); |
| | | @include flex flex-direction: column; |
| | | .content-container { |
| | | width: 100%; |
| | | height: vww(16); |
| | | font-size: 40rpx; |
| | | font-weight: bold; |
| | | color: #3b56eb; |
| | | text-align: center; |
| | | } |
| | | .content-num { |
| | | width: 96rpx; |
| | | height: 24rpx; |
| | | font-size: 24rpx; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | } |
| | | } |
| | | } |
| | | .content-title { |
| | | width: 160rpx; |
| | | height: 38rpx; |
| | | font-size: 40rpx; |
| | | font-weight: normal; |
| | | color: #ffffff; |
| | | line-height: 69rpx; |
| | | margin: vww(21) auto; |
| | | } |
| | | } |
| | | } |
| | | // 选项折叠框 |
| | | .collapse-main { |
| | | width: 100%; |
| | | margin-top: vww(10); |
| | | background-color: #fff; |
| | | border: 1px solid #cccccc; |
| | | border-radius: vww(5); |
| | | .filter-main { |
| | | .main-block { |
| | | width: 690rpx; |
| | | margin: vww(12) vww(15) auto 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; |
| | | overflow: hidden; |
| | | position: relative; |
| | | top: -170rpx; |
| | | .data-filter { |
| | | width: 635rpx; |
| | | height: 68rpx; |
| | | border: 2px solid #5b95fd; |
| | | box-shadow: 0rpx 5rpx 13rpx 0rpx rgba(73, 95, 252, 0.6); |
| | | border-radius: 34rpx; |
| | | margin-top: vww(21); |
| | | padding: 0 vww(5); |
| | | @include flex .date-text { |
| | | width: 330rpx; |
| | | height: 40rpx; |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #494949; |
| | | } |
| | | } |
| | | .filter-condition { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-around; |
| | | .filter-body { |
| | | height: 54rpx; |
| | | background: #f5f5f5; |
| | | @include flex; |
| | | margin-top: vww(15); |
| | | } |
| | | .date-information { |
| | | width: 635rpx; |
| | | background: #f6faff; |
| | | border-radius: 20rpx; |
| | | .statistics-card { |
| | | width: 100%; |
| | | position: relative; |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | flex-wrap: wrap; |
| | | .condition-name { |
| | | font-size: vww(16); |
| | | min-height: vww(120); |
| | | @include flex; |
| | | flex-direction: column; |
| | | margin-top: vww(5); |
| | | .card-top { |
| | | width: 96%; |
| | | @include flex; |
| | | .left { |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #494949; |
| | | } |
| | | .card-top_num { |
| | | font-size: 40rpx; |
| | | font-weight: 400; |
| | | color: #6074ee; |
| | | } |
| | | } |
| | | .filter-name { |
| | | .card-main { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: flex-start; |
| | | align-items: flex-start; |
| | | height: vww(150); |
| | | border-bottom: vww(1) solid #d6d6d6; |
| | | margin-top: vww(12); |
| | | padding-bottom: vww(12); |
| | | position: relative; |
| | | top: vww(-34); |
| | | |
| | | .filter-button { |
| | | color: #393a3c; |
| | | height: vww(16); |
| | | padding: vww(8); |
| | | margin: vww(5) vww(5); |
| | | &:nth-child(1) { |
| | | margin-left: vww(48); |
| | | @include flex flex-direction: column; |
| | | align-items: flex-start; |
| | | .first-line { |
| | | width: 80%; |
| | | height: vww(32); |
| | | color: #303030; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | .main-information { |
| | | width: 88%; |
| | | height: vww(28); |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | align-items: center; |
| | | .sign { |
| | | width: vww(28); |
| | | height: vww(28); |
| | | line-height: vww(28); |
| | | text-align: center; |
| | | background: url('https://mx.jzeg.cn:9095/appimg/image/banner/blueblock.png') no-repeat; |
| | | background-size: contain; |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #ffffff; |
| | | margin-right: vww(20); |
| | | } |
| | | } |
| | | .main-divider { |
| | | width: 548rpx; |
| | | height: 1rpx; |
| | | background: #e3e3e3; |
| | | position: absolute; |
| | | top: 80rpx; |
| | | left: vww(50); |
| | | } |
| | | .point-number { |
| | | width: 20%; |
| | | font-size: 40rpx; |
| | | font-weight: 400; |
| | | color: #f81414; |
| | | position: absolute; |
| | | right: -10rpx; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | } |
| | | } |
| | | .first-extra { |
| | | @include firstLine; |
| | | height: vww(32); |
| | | .main-information { |
| | | width: 100%; |
| | | height: vww(28); |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | align-items: center; |
| | | .sign { |
| | | width: vww(28); |
| | | height: vww(28); |
| | | line-height: vww(28); |
| | | text-align: center; |
| | | background: url('https://mx.jzeg.cn:9095/appimg/image/banner/redblock.png') no-repeat; |
| | | background-size: contain; |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #ffffff; |
| | | margin-right: vww(20); |
| | | } |
| | | } |
| | | } |
| | | .second-line { |
| | | width: 100%; |
| | | height: vww(15); |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | .coal-name { |
| | | flex-grow: 1; |
| | | height: 30rpx; |
| | | font-size: 30rpx; |
| | | font-weight: 300; |
| | | color: #515151; |
| | | position: relative; |
| | | display: flex; |
| | | align-items: center; |
| | | .black-bar { |
| | | width: 2rpx; |
| | | height: 30rpx; |
| | | background: #515151; |
| | | margin-left: vww(12); |
| | | } |
| | | .coal-type { |
| | | margin-left: vww(12); |
| | | min-width: vww(50); |
| | | height: 30rpx; |
| | | line-height: 30rpx; |
| | | font-size: 30rpx; |
| | | font-weight: 300; |
| | | color: #515151; |
| | | } |
| | | } |
| | | } |
| | | .third-line { |
| | | width: 40%; |
| | | height: vww(14); |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | align-items: center; |
| | | .carnum-icon { |
| | | width: 28rpx; |
| | | height: 28rpx; |
| | | margin-right: vww(10); |
| | | image { |
| | | width: 28rpx; |
| | | height: 28rpx; |
| | | } |
| | | } |
| | | .carnum-text { |
| | | font-size: 28rpx; |
| | | font-weight: 300; |
| | | color: #515151; |
| | | } |
| | | } |
| | | .fourth-line { |
| | | width: 40%; |
| | | height: vww(14); |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | align-items: center; |
| | | .time-icon { |
| | | margin-right: vww(10); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // 日期发运 |
| | | .date-information { |
| | | .filter-main { |
| | | height: 950rpx; |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .statistics-card { |
| | | width: 100%; |
| | | margin-top: vww(8); |
| | | border: 1px solid #cccccc; |
| | | border-radius: vww(5); |
| | | background-color: #fff; |
| | | min-height: vww(120); |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | .card-title { |
| | | width: 100%; |
| | | height: vww(40); |
| | | line-height: vww(40); |
| | | padding-left: vww(5); |
| | | color: #bcbcbc; |
| | | border-bottom: 1px solid #cccccc; |
| | | display: flex; |
| | | .title-date { |
| | | width: vww(90); |
| | | margin-right: vww(10); |
| | | } |
| | | .title-number { |
| | | flex: 1; |
| | | } |
| | | justify-content: space-around; |
| | | .date-button { |
| | | width: 80%; |
| | | height: vww(80); |
| | | margin: vww(5) auto; |
| | | .condition-name { |
| | | margin-bottom: vww(10); |
| | | } |
| | | .card-main { |
| | | width: 100%; |
| | | flex: 1; |
| | | } |
| | | .filter-body { |
| | | width: 100%; |
| | | position: relative; |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | flex-wrap: wrap; |
| | | .condition-name { |
| | | margin-left: vww(15); |
| | | margin-top: vww(10); |
| | | font-size: vww(16); |
| | | color: #686868; |
| | | } |
| | | .filter-name { |
| | | width: 94%; |
| | | margin: 0 auto; |
| | | position: relative; |
| | | .arrow-right { |
| | | position: absolute; |
| | | right: vww(14); |
| | | top: vww(18); |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: flex-start; |
| | | align-items: flex-start; |
| | | |
| | | .filter-button { |
| | | color: #393a3c; |
| | | height: vww(16); |
| | | padding: vww(8); |
| | | margin: vww(5) vww(5); |
| | | margin-bottom: vww(10); |
| | | /deep/ .shadowactive { |
| | | background: linear-gradient(90deg, rgba(73, 123, 251, 0.32), rgba(72, 16, 255, 0.32)); |
| | | box-shadow: 2rpx 3rpx 13rpx 0rpx rgba(43, 98, 239, 0.5), 0rpx 0rpx 9rpx 0rpx rgba(247, 250, 253, 0.29); |
| | | } |
| | | } |
| | | .main-body { |
| | | width: 80%; |
| | | height: vww(60); |
| | | margin-top: vww(5); |
| | | padding: vww(3); |
| | | color: #686868; |
| | | .toggle-button { |
| | | width: 30%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-around; |
| | | justify-content: center; |
| | | position: absolute; |
| | | right: vww(-21); |
| | | top: vww(-23); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // 日期发运 |
| | | // .date-information { |
| | | // width: 100%; |
| | | // display: flex; |
| | | // flex-direction: column; |
| | | // .statistics-card { |
| | | // width: 100%; |
| | | // margin-top: vww(8); |
| | | // border: 1px solid #cccccc; |
| | | // border-radius: vww(5); |
| | | // background-color: #fff; |
| | | // min-height: vww(120); |
| | | // display: flex; |
| | | // flex-direction: column; |
| | | // justify-content: space-between; |
| | | // .card-title { |
| | | // width: 100%; |
| | | // height: vww(40); |
| | | // line-height: vww(40); |
| | | // padding-left: vww(5); |
| | | // color: #bcbcbc; |
| | | // border-bottom: 1px solid #cccccc; |
| | | // display: flex; |
| | | // .title-date { |
| | | // width: vww(90); |
| | | // margin-right: vww(10); |
| | | // } |
| | | // .title-number { |
| | | // flex: 1; |
| | | // } |
| | | // } |
| | | // .card-main { |
| | | // width: 100%; |
| | | // flex: 1; |
| | | // position: relative; |
| | | // .arrow-right { |
| | | // position: absolute; |
| | | // right: vww(14); |
| | | // top: vww(18); |
| | | // } |
| | | // .main-body { |
| | | // width: 80%; |
| | | // height: vww(60); |
| | | // margin-top: vww(5); |
| | | // padding: vww(3); |
| | | // color: #686868; |
| | | // display: flex; |
| | | // flex-wrap: wrap; |
| | | // justify-content: space-around; |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | } |
| | | </style> |