| | |
| | | <view class="content-num">发运车数</view> |
| | | </view> |
| | | <view class="content-text"> |
| | | <view class="content-container">{{ totalTon.toFixed(2) }}</view> |
| | | <view class="content-container">{{ totalTon}}</view> |
| | | <view class="content-num">发运吨数</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <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="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 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"> |
| | | <view class="statistics-card" v-for="(item, index) in filterList" :key="index"> |
| | | <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) |
| | | }}吨 |
| | | {{ item.taskCoalList.length }}车 |
| | | {{Number(item.taskCoalList |
| | | .reduce((prev, cur) => { |
| | | cur.clean=cur.clean||0 |
| | | return prev + cur.clean; |
| | | }, 0)).toFixed(2)}}吨 |
| | | </view> |
| | | </view> |
| | | <view class="card-main" v-for="(value, i) in item.taskCoalList" :key="i" @click="faYunDetail(value.id)"> |
| | | <view class="card-main" |
| | | v-for="(value, i) in item.taskCoalList" |
| | | :key="i" |
| | | @click="faYunDetail(value.id)"> |
| | | <view class="first-line"> |
| | | <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 class="main-information"> |
| | | <view class="sign">装</view> |
| | | <view class="filedname"> |
| | | <text |
| | | v-if="value.orderType == '外销' || value.orderType == '内销' || value.orderType == '转出'">{{ value.deptName || '' }}</text> |
| | | <text |
| | | v-else-if="value.orderType == '外购' || value.orderType == '内购' || value.orderType == '转入'">{{ value.customerName || '' }}</text> |
| | | </view> |
| | | </view> |
| | | <view class="main-divider"></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 || '' }}</text> |
| | | <text |
| | | v-else-if="value.orderType == '外购' || value.orderType == '内购' || value.orderType == '转入'">{{ value.deptName || '' }}</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="second-line"> |
| | | <view class="coal-name">{{ value.coalName }}</view> |
| | | <view class="black-block"></view> |
| | | <view class="coal-type">{{ value.orderType }}</view> |
| | | <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-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="40"></u-icon></view> |
| | | <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"> |
| | | <view class="filter-main"> |
| | | <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 "> |
| | | <uni-calendar |
| | | ref="calendar" |
| | | class="uni-calendar--hook" |
| | | :clear-date="true" |
| | | :date="info.date" |
| | | :insert="info.insert" |
| | | :lunar="info.lunar" |
| | | :startDate="info.startDate" |
| | | :endDate="info.endDate" |
| | | :range="info.range" |
| | | @confirm="confirm" |
| | | /> |
| | | <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 date-button"> |
| | | <view class="condition-name">日期</view> |
| | | <view class="filter-name"> |
| | | <u-button :text="dateselect" |
| | | @click="opencalendar"></u-button> |
| | | <view class="filter-button "> |
| | | <uni-calendar ref="calendar" |
| | | class="uni-calendar--hook" |
| | | :clear-date="true" |
| | | :date="info.date" |
| | | :insert="info.insert" |
| | | :lunar="info.lunar" |
| | | :startDate="info.startDate" |
| | | :endDate="info.endDate" |
| | | :range="info.range" |
| | | @confirm="confirm" /> |
| | | </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> |
| | | <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 ? 'success' : ''" 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> |
| | | </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> |
| | | </u-popup> |
| | | <tab-bar :current="1"></tab-bar> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import combinedTitle from '@/components/combined-title/combined-title.vue'; |
| | | export default { |
| | | components: { |
| | | combinedTitle |
| | | }, |
| | | data() { |
| | | return { |
| | | conditionList: [], |
| | | coalList: [], |
| | | typeList: [], |
| | | customerList: [], |
| | | forwarderList: [], |
| | | fleetList: [], |
| | | filedList: [], |
| | | carNoList: [], |
| | | isactive: false, |
| | | info: { |
| | | lunar: false, |
| | | range: true, |
| | | insert: false, |
| | | selected: [] |
| | | import BigNumber from "bignumber.js" |
| | | import combinedTitle from '@/components/combined-title/combined-title.vue'; |
| | | export default { |
| | | components: { |
| | | combinedTitle |
| | | }, |
| | | data() { |
| | | return { |
| | | conditionList: [], |
| | | coalList: [], |
| | | typeList: [], |
| | | customerList: [], |
| | | forwarderList: [], |
| | | fleetList: [], |
| | | filedList: [], |
| | | carNoList: [], |
| | | isactive: false, |
| | | info: { |
| | | lunar: false, |
| | | range: true, |
| | | insert: false, |
| | | selected: [] |
| | | }, |
| | | first: '', |
| | | last: '', |
| | | firstFilter: '', |
| | | lastFilter: '', |
| | | taskList: [], |
| | | filterList: [], |
| | | totalLength: 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() { |
| | | this.firstDate(); |
| | | this.lastDate(); |
| | | this.getShipping(); |
| | | this.getTmTaskCoalData(); |
| | | }, |
| | | methods: { |
| | | firstDate() { |
| | | let y = new Date().getFullYear(); //获取年份 |
| | | let m = new Date().getMonth() + 1; //获取月份 |
| | | let d = '01'; |
| | | m = m < 10 ? '0' + m : m; //月份补 0 |
| | | this.first = [y, m, d].join('-'); |
| | | this.firstFilter = [y, m, d].join('-'); |
| | | }, |
| | | first: '', |
| | | last: '', |
| | | taskList: [], |
| | | filterList: [], |
| | | totalLength: 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() { |
| | | this.firstDate(); |
| | | this.lastDate(); |
| | | this.getShipping(); |
| | | this.getTmTaskCoalData(); |
| | | }, |
| | | methods: { |
| | | firstDate() { |
| | | let y = new Date().getFullYear(); //获取年份 |
| | | let m = new Date().getMonth() + 1; //获取月份 |
| | | let d = '01'; |
| | | m = m < 10 ? '0' + m : m; //月份补 0 |
| | | this.first = [y, m, d].join('-'); |
| | | }, |
| | | lastDate() { |
| | | let y = new Date().getFullYear(); //获取年份 |
| | | let m = new Date().getMonth() + 1; //获取月份 |
| | | let d = new Date(y, m, 0).getDate(); //获取当月最后一日 |
| | | m = m < 10 ? '0' + m : m; //月份补 0 |
| | | d = d < 10 ? '0' + d : d; //日数补 0 |
| | | this.last = [y, m, d].join('-'); |
| | | }, |
| | | // 筛选条件 |
| | | getShipping() { |
| | | this.$reqGet('getShippingCondition', { startTime: this.first, endTime: this.last }).then(res => { |
| | | this.conditionList = res.data; |
| | | this.coalList = res.data |
| | | .filter(v => v.conditionType == 0) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | this.typeList = res.data |
| | | .filter(v => v.conditionType == 1) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | this.customerList = res.data |
| | | .filter(v => v.conditionType == 2) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | this.forwarderList = res.data |
| | | .filter(v => v.conditionType == 3) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | this.fleetList = res.data |
| | | .filter(v => v.conditionType == 4) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | this.filedList = res.data |
| | | .filter(v => v.conditionType == 5) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | this.carNoList = res.data |
| | | .filter(v => v.conditionType == 6) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | }); |
| | | }, |
| | | // 获取数据 |
| | | getTmTaskCoalData() { |
| | | uni.showLoading({ |
| | | title: '加载中' |
| | | }); |
| | | this.$reqGet('getTmTaskCoalData', { startTime: this.first, endTime: this.last }).then(res => { |
| | | this.filterList = this.taskList = res.data; |
| | | lastDate() { |
| | | let y = new Date().getFullYear(); //获取年份 |
| | | let m = new Date().getMonth() + 1; //获取月份 |
| | | let d = new Date(y, m, 0).getDate(); //获取当月最后一日 |
| | | 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() { |
| | | this.$reqGet('getShippingCondition', { startTime: this.first, endTime: this.last }).then(res => { |
| | | this.conditionList = res.data; |
| | | this.coalList = res.data |
| | | .filter(v => v.conditionType == 0) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | this.typeList = res.data |
| | | .filter(v => v.conditionType == 1) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | this.customerList = res.data |
| | | .filter(v => v.conditionType == 2) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | this.forwarderList = res.data |
| | | .filter(v => v.conditionType == 3) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | this.fleetList = res.data |
| | | .filter(v => v.conditionType == 4) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | this.filedList = res.data |
| | | .filter(v => v.conditionType == 5) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | this.carNoList = res.data |
| | | .filter(v => v.conditionType == 6) |
| | | .map(item => { |
| | | return { |
| | | ...item, |
| | | active: false |
| | | }; |
| | | }); |
| | | }); |
| | | }, |
| | | // 获取数据 |
| | | getTmTaskCoalData() { |
| | | uni.showLoading({ |
| | | title: '加载中' |
| | | }); |
| | | this.$reqGet('getTmTaskCoalData', { startTime: this.first, endTime: this.last }).then(res => { |
| | | this.filterList = this.taskList = res.data; |
| | | if (this.filterList.length != 0) { |
| | | this.totalLength = this.filterList.map(v => v.taskCoalList.length).reduce((x, y) => x + y); |
| | | this.totalTon = this.filterList.map(v => |
| | | v.taskCoalList.reduce((prev, cur) => { |
| | | const cleanvalue = cur.clean || 0 |
| | | return cleanvalue + prev |
| | | }, 0) |
| | | ); |
| | | this.totalTon = this.totalTon.reduce((x, y) => { |
| | | let xx = new BigNumber(x) |
| | | let yy = new BigNumber(y) |
| | | return xx.plus(yy).toNumber().toFixed(2) |
| | | }, new BigNumber(0)); |
| | | } else { |
| | | this.totalLength = 0; |
| | | this.totalTon = 0; |
| | | } |
| | | uni.hideLoading(); |
| | | }); |
| | | }, |
| | | // 筛选数据 |
| | | filterCondition(value, i, data) { |
| | | switch (value) { |
| | | case 0: |
| | | this.coalList[i].active = !this.coalList[i].active; |
| | | break; |
| | | case 1: |
| | | this.typeList[i].active = !this.typeList[i].active; |
| | | break; |
| | | case 2: |
| | | this.customerList[i].active = !this.customerList[i].active; |
| | | break; |
| | | case 3: |
| | | this.forwarderList[i].active = !this.forwarderList[i].active; |
| | | break; |
| | | case 4: |
| | | this.fleetList[i].active = !this.fleetList[i].active; |
| | | break; |
| | | 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) => { |
| | | if (arr.length == 0) { |
| | | return true; |
| | | } else { |
| | | return arr.includes(v[key]); |
| | | } |
| | | }; |
| | | let conditionMapping = { |
| | | coalName: this.coalList.filter(v => v.active == true).map(item => item.condition), |
| | | orderType: this.typeList.filter(v => v.active == true).map(item => item.condition), |
| | | 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), |
| | | carNo: this.carNoList.filter(v => v.active == true).map(item => item.condition) |
| | | }; |
| | | |
| | | const mapping = { |
| | | coalName: validateFn('coalName'), |
| | | orderType: validateFn('orderType'), |
| | | customerName: validateFn('customerName'), |
| | | xsUser2Name: validateFn('xsUser2Name'), |
| | | fleetName: validateFn('fleetName'), |
| | | filedName: validateFn('filedName'), |
| | | carNo: validateFn('carNo') |
| | | }; |
| | | this.filterList = this.taskList.map(val => { |
| | | return { |
| | | condition: val.condition, |
| | | conditionId: val.conditionId, |
| | | conditionType: val.conditionType, |
| | | taskCoalList: val.taskCoalList.filter(v => Reflect.ownKeys(conditionMapping).every(key => |
| | | mapping[key](v, conditionMapping[key]))) |
| | | }; |
| | | }); |
| | | if (this.filterList.length != 0) { |
| | | this.totalLength = this.filterList.map(v => v.taskCoalList.length).reduce((x, y) => x + y); |
| | | this.totalTon = this.filterList.map(v => |
| | | v.taskCoalList.reduce((prev, cur) => { |
| | | return cur.clean + prev; |
| | | const cleanvalue = cur.clean || 0 |
| | | return cleanvalue + prev |
| | | }, 0) |
| | | ); |
| | | this.totalTon = this.totalTon.reduce((x, y) => x + y); |
| | | this.totalTon = this.totalTon.reduce((x, y) => { |
| | | let xx = new BigNumber(x) |
| | | let yy = new BigNumber(y) |
| | | return xx.plus(yy).toNumber().toFixed(2) |
| | | }, new BigNumber(0)); |
| | | } else { |
| | | this.totalLength = 0; |
| | | this.totalTon = 0; |
| | | } |
| | | uni.hideLoading(); |
| | | }); |
| | | }, |
| | | // 筛选数据 |
| | | filterCondition(value, i, data) { |
| | | switch (value) { |
| | | case 0: |
| | | this.coalList[i].active = !this.coalList[i].active; |
| | | break; |
| | | case 1: |
| | | this.typeList[i].active = !this.typeList[i].active; |
| | | break; |
| | | case 2: |
| | | this.customerList[i].active = !this.customerList[i].active; |
| | | break; |
| | | case 3: |
| | | this.forwarderList[i].active = !this.forwarderList[i].active; |
| | | break; |
| | | case 4: |
| | | this.fleetList[i].active = !this.fleetList[i].active; |
| | | break; |
| | | 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) => { |
| | | if (arr.length == 0) { |
| | | return true; |
| | | } else { |
| | | return arr.includes(v[key]); |
| | | }, |
| | | // 确定筛选 |
| | | 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; |
| | | } |
| | | }; |
| | | let conditionMapping = { |
| | | coalName: this.coalList.filter(v => v.active == true).map(item => item.condition), |
| | | orderType: this.typeList.filter(v => v.active == true).map(item => item.condition), |
| | | 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), |
| | | carNo: this.carNoList.filter(v => v.active == true).map(item => item.condition) |
| | | }; |
| | | |
| | | const mapping = { |
| | | coalName: validateFn('coalName'), |
| | | orderType: validateFn('orderType'), |
| | | customerName: validateFn('customerName'), |
| | | xsUser2Name: validateFn('xsUser2Name'), |
| | | fleetName: validateFn('fleetName'), |
| | | filedName: validateFn('filedName'), |
| | | carNo: validateFn('carNo') |
| | | }; |
| | | this.filterList = this.taskList.map(val => { |
| | | return { |
| | | condition: val.condition, |
| | | conditionId: val.conditionId, |
| | | conditionType: val.conditionType, |
| | | taskCoalList: val.taskCoalList.filter(v => Reflect.ownKeys(conditionMapping).every(key => mapping[key](v, conditionMapping[key]))) |
| | | }; |
| | | }); |
| | | if (this.filterList.length != 0) { |
| | | this.totalLength = this.filterList.map(v => v.taskCoalList.length).reduce((x, y) => x + y); |
| | | this.totalTon = this.filterList.map(v => |
| | | v.taskCoalList.reduce((prev, cur) => { |
| | | return cur.clean + prev; |
| | | }, 0) |
| | | ); |
| | | this.totalTon = this.totalTon.reduce((x, y) => x + y); |
| | | } else { |
| | | this.totalLength = 0; |
| | | this.totalTon = 0; |
| | | }, |
| | | // 跳转发运详情 |
| | | faYunDetail(takeCoalId) { |
| | | uni.navigateTo({ |
| | | url: `/pages/public-page/faYunstatisticsDetails/faYunstatisticsDetails?id=${takeCoalId}` |
| | | }); |
| | | }, |
| | | // 打开筛选条件弹窗 |
| | | showPopup() { |
| | | this.conditinonShow = true; |
| | | }, |
| | | // 关闭筛选条件弹窗 |
| | | conditinonclose() { |
| | | this.conditinonShow = 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; |
| | | computed: { |
| | | roleType() { |
| | | return uni.getStorageSync('roleType'); |
| | | }, |
| | | dateRange() { |
| | | 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; |
| | | } |
| | | }, |
| | | // 跳转发运详情 |
| | | faYunDetail(takeCoalId) { |
| | | uni.navigateTo({ |
| | | url: `/pages/public-page/faYunstatisticsDetails/faYunstatisticsDetails?id=${takeCoalId}` |
| | | }); |
| | | }, |
| | | // 打开筛选条件弹窗 |
| | | showPopup() { |
| | | this.conditinonShow = true; |
| | | }, |
| | | // 关闭筛选条件弹窗 |
| | | conditinonclose() { |
| | | this.conditinonShow = false; |
| | | } |
| | | }, |
| | | computed: { |
| | | roleType() { |
| | | return uni.getStorageSync('roleType'); |
| | | }, |
| | | dateRange() { |
| | | return `日期:${this.first}-${this.last}`; |
| | | }, |
| | | 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}`; |
| | | if (newV != old && old != '-') { |
| | | this.first = newV.slice(0, 10); |
| | | this.last = newV.slice(11); |
| | | this.getTmTaskCoalData(); |
| | | watch: { |
| | | dateselect(newV, old) { |
| | | let tempDate = `${this.first}至${this.last}`; |
| | | if (newV != old && old != '至') { |
| | | this.first = newV.slice(0, 10); |
| | | this.last = newV.slice(11); |
| | | this.getTmTaskCoalData(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @mixin flex { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | ::v-deep .toggle-button .u-button { |
| | | width: vww(40); |
| | | } |
| | | .white-block { |
| | | width: 100%; |
| | | height: vww(50); |
| | | margin-top: vww(10); |
| | | } |
| | | .main { |
| | | width: 100%; |
| | | margin: 0 auto; |
| | | /*顶部统计栏*/ |
| | | .top-statistics { |
| | | width: 100%; |
| | | height: 430rpx; |
| | | background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); |
| | | <style lang="scss" |
| | | scoped> |
| | | @mixin flex { |
| | | display: flex; |
| | | justify-content: center; |
| | | .top-body { |
| | | width: 690rpx; |
| | | height: 220rpx; |
| | | margin: vww(21) auto; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | 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-family: Source Han Sans CN; |
| | | font-weight: bold; |
| | | color: #3b56eb; |
| | | text-align: center; |
| | | } |
| | | .content-num { |
| | | width: 96rpx; |
| | | height: 24rpx; |
| | | font-size: 24rpx; |
| | | font-family: Source Han Sans CN; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | } |
| | | } |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | |
| | | @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: 1000rpx; |
| | | position: relative; |
| | | top: 20rpx; |
| | | } |
| | | |
| | | .utils-button { |
| | | width: 94%; |
| | | height: vww(30); |
| | | margin: vww(50) auto; |
| | | @include flex; |
| | | |
| | | .reset-button { |
| | | /deep/ .u-button { |
| | | border: 1px solid #c5c5c5; |
| | | outline: none; |
| | | } |
| | | .content-title { |
| | | width: 158rpx; |
| | | height: 38rpx; |
| | | font-size: 40rpx; |
| | | font-family: Adobe Heiti Std; |
| | | font-weight: normal; |
| | | color: #ffffff; |
| | | line-height: 69rpx; |
| | | margin: vww(21) auto; |
| | | } |
| | | |
| | | .confirm-button { |
| | | /deep/ .u-button { |
| | | border: 1px solid #3b56eb; |
| | | outline: none; |
| | | color: #3b56eb; |
| | | } |
| | | } |
| | | |
| | | /deep/ .u-button { |
| | | width: 279rpx; |
| | | height: 60rpx; |
| | | font-size: 28rpx; |
| | | } |
| | | } |
| | | .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; |
| | | .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-family: Source Han Sans CN; |
| | | font-weight: 400; |
| | | color: #494949; |
| | | } |
| | | } |
| | | .filter-condition { |
| | | |
| | | .white-block { |
| | | width: 100%; |
| | | height: vww(50); |
| | | margin-top: vww(10); |
| | | } |
| | | |
| | | .main { |
| | | width: 100%; |
| | | margin: 0 auto; |
| | | |
| | | /*顶部统计栏*/ |
| | | .top-statistics { |
| | | width: 100%; |
| | | height: 54rpx; |
| | | background: #f5f5f5; |
| | | @include flex; |
| | | margin-top: vww(15); |
| | | } |
| | | .date-information { |
| | | width: 635rpx; |
| | | background: #f6faff; |
| | | border-radius: 20rpx; |
| | | .statistics-card { |
| | | width: 100%; |
| | | min-height: vww(120); |
| | | @include flex; |
| | | height: 430rpx; |
| | | background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); |
| | | display: flex; |
| | | justify-content: center; |
| | | |
| | | .top-body { |
| | | width: 690rpx; |
| | | height: 220rpx; |
| | | margin: vww(21) auto; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | flex-direction: column; |
| | | margin-top: vww(5); |
| | | .card-top { |
| | | width: 96%; |
| | | @include flex; |
| | | .left { |
| | | font-size: 30rpx; |
| | | font-family: Microsoft YaHei; |
| | | font-weight: 400; |
| | | color: #494949; |
| | | } |
| | | .card-top_num { |
| | | font-size: 40rpx; |
| | | font-family: CTCuHeiSJ; |
| | | font-weight: 400; |
| | | color: #6074ee; |
| | | |
| | | .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; |
| | | margin-top: 31rpx; |
| | | margin-bottom: 31rpx; |
| | | |
| | | .content-container { |
| | | width: 100%; |
| | | min-height: vww(16); |
| | | font-size: 40rpx; |
| | | font-weight: bold; |
| | | color: #3b56eb; |
| | | text-align: center; |
| | | } |
| | | |
| | | .content-num { |
| | | width: 96rpx; |
| | | min-height: 24rpx; |
| | | font-size: 24rpx; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | } |
| | | } |
| | | } |
| | | .card-main { |
| | | |
| | | .content-title { |
| | | width: 160rpx; |
| | | height: 38rpx; |
| | | font-size: 40rpx; |
| | | font-weight: normal; |
| | | color: #ffffff; |
| | | line-height: 69rpx; |
| | | margin: vww(21) auto; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .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: -145rpx; |
| | | |
| | | .data-filter { |
| | | width: 635rpx; |
| | | height: 68rpx; |
| | | border: 2px solid rgba(73, 95, 252, 0.6); |
| | | 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%; |
| | | height: 54rpx; |
| | | background: #f5f5f5; |
| | | @include flex; |
| | | margin-top: vww(15); |
| | | } |
| | | |
| | | .date-information { |
| | | width: 635rpx; |
| | | background: #f6faff; |
| | | border-radius: 20rpx; |
| | | |
| | | .statistics-card { |
| | | width: 100%; |
| | | height: vww(120); |
| | | border-bottom: vww(1) solid #d6d6d6; |
| | | margin-top: vww(12); |
| | | padding-bottom: vww(12); |
| | | position: relative; |
| | | @include flex flex-direction: column; |
| | | align-items: flex-start; |
| | | .first-line { |
| | | width: 94%; |
| | | height: vww(32); |
| | | color: #303030; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | .dispatch-receive { |
| | | width: 90%; |
| | | min-height: vww(120); |
| | | @include flex; |
| | | flex-direction: column; |
| | | margin-top: vww(5); |
| | | margin-bottom: vww(5); |
| | | overflow: hidden; |
| | | |
| | | &:last-child { |
| | | .card-main { |
| | | &:last-child { |
| | | border-bottom: 0; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .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; |
| | | } |
| | | } |
| | | |
| | | .card-main { |
| | | width: 100%; |
| | | height: vww(150); |
| | | border-bottom: vww(1) solid #d6d6d6; |
| | | margin-top: vww(12); |
| | | margin-left: vww(20); |
| | | padding-bottom: vww(12); |
| | | position: relative; |
| | | @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; |
| | | margin-right: vww(12); |
| | | .container { |
| | | width: 100%; |
| | | |
| | | .main-information { |
| | | width: 88%; |
| | | height: vww(28); |
| | | display: flex; |
| | | justify-content: space-between; |
| | | 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); |
| | | } |
| | | } |
| | | .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); |
| | | |
| | | .main-divider { |
| | | width: 530rpx; |
| | | 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: 12rpx; |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | .point-number { |
| | | width: 20%; |
| | | font-size: 40rpx; |
| | | font-family: CTCuHeiSJ; |
| | | font-weight: 400; |
| | | color: #f81414; |
| | | } |
| | | } |
| | | .second-line { |
| | | width: 60%; |
| | | height: vww(15); |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | .coal-name { |
| | | width: 60%; |
| | | height: 30rpx; |
| | | font-size: 30rpx; |
| | | font-family: Microsoft YaHei; |
| | | font-weight: 300; |
| | | color: #515151; |
| | | position: relative; |
| | | |
| | | .second-line { |
| | | width: 100%; |
| | | height: vww(15); |
| | | 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(14); |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | .carnum-icon { |
| | | width: 28rpx; |
| | | height: 24rpx; |
| | | image { |
| | | width: 28rpx; |
| | | height: 24rpx; |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | .carnum-text { |
| | | font-size: 28rpx; |
| | | font-family: Microsoft YaHei; |
| | | font-weight: 300; |
| | | |
| | | .third-line { |
| | | width: 40%; |
| | | min-height: vww(15); |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | align-items: flex-start; |
| | | |
| | | .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; |
| | | color: #515151; |
| | | |
| | | .time-icon { |
| | | margin-right: vww(10); |
| | | } |
| | | } |
| | | } |
| | | .fourth-line { |
| | | width: 40%; |
| | | height: vww(14); |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .filter-main { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-around; |
| | | .date-button { |
| | | width: 80%; |
| | | height: vww(80); |
| | | margin: vww(5) auto; |
| | | .condition-name { |
| | | margin-bottom: vww(10); |
| | | } |
| | | } |
| | | .filter-body { |
| | | |
| | | .filter-main { |
| | | min-height: 950rpx; |
| | | 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; |
| | | flex-direction: column; |
| | | justify-content: space-around; |
| | | |
| | | .date-button { |
| | | width: 80%; |
| | | height: vww(80); |
| | | margin: vww(5) auto; |
| | | |
| | | .condition-name { |
| | | margin-bottom: vww(10); |
| | | } |
| | | } |
| | | .filter-name { |
| | | width: 94%; |
| | | margin: 0 auto; |
| | | |
| | | .filter-body { |
| | | width: 100%; |
| | | position: relative; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: flex-start; |
| | | align-items: flex-start; |
| | | flex-wrap: wrap; |
| | | |
| | | .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); |
| | | } |
| | | .condition-name { |
| | | margin-left: vww(15); |
| | | margin-top: vww(10); |
| | | font-size: vww(16); |
| | | color: #686868; |
| | | } |
| | | .toggle-button { |
| | | width: 30%; |
| | | |
| | | .filter-name { |
| | | width: 94%; |
| | | margin: 0 auto; |
| | | position: relative; |
| | | display: flex; |
| | | justify-content: center; |
| | | position: absolute; |
| | | right: vww(-21); |
| | | top: vww(-23); |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | .toggle-button { |
| | | width: 30%; |
| | | display: flex; |
| | | 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; |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | } |
| | | // 日期发运 |
| | | // .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> |
| | | </style> |