| | |
| | | }, |
| | | onShow() { |
| | | console.log('appvue显示'); |
| | | if (!this.globalisconnect && !this.globalisUploadimg) { |
| | | if (!this.globalisconnect && !this.globalisUploadimg && this.globalisLogin) { |
| | | if (!this.is_open_socket) { |
| | | this.$store.dispatch('websocketInit') |
| | | this.changeisconnect(false); |
| | | console.log('appvue的ws'); |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | ...mapMutations(['changeisconnect']) |
| | | }, |
| | | computed: { |
| | | ...mapState(['globalisconnect', 'globalisUploadimg', 'globalisLogin']) |
| | | ...mapState(['globalisconnect', 'globalisUploadimg', 'globalisLogin', 'is_open_socket']) |
| | | } |
| | | }; |
| | | </script> |
| | |
| | | setUpWxOpenid: { |
| | | url: '/admin/user/setUpWxOpenid', |
| | | method: 'POST' |
| | | }, |
| | | /** |
| | | * @description 装卸员查看所有煤种类型 */ |
| | | getCoalNameAll: { |
| | | url: '/wrzs/tmtaskcoal/getCoalNameAll', |
| | | method: 'GET' |
| | | }, |
| | | /** |
| | | * @description */ |
| | | getAccordingCoalNameAll: { |
| | | url: '/wrzs/tmtaskcoal/getAccordingCoalNameAll', |
| | | method: 'GET' |
| | | }, |
| | | confirmLoadAndUnload: { |
| | | url: '/wrzs/tmtaskcoal/confirmLoadAndUnload', |
| | | method: 'POST' |
| | | } |
| | | } |
| | |
| | | "enablePullDownRefresh": false |
| | | } |
| | | |
| | | }, { |
| | | "path": "pages/loadUnload-page/loadUnload-page", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | |
| | | }, { |
| | | "path": "pages/loadUnload-page/loadUnload-detail/loadUnload-detail", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | |
| | | }, { |
| | | "path": "pages/loadUnload-page/my-page/my-page", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | | |
| | | } |
| | | ], |
| | | "subPackages": [{ |
| | |
| | | canClick: false |
| | | }; |
| | | }, |
| | | onLoad() {}, |
| | | onShow() { |
| | | onLoad() { |
| | | this.init(); |
| | | }, |
| | | methods: { |
| | |
| | | box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15); |
| | | border-radius: 20rpx; |
| | | overflow: hidden; |
| | | @include flex flex-direction: column; |
| | | @include flex; |
| | | flex-direction: column; |
| | | position: relative; |
| | | align-items: flex-start; |
| | | margin-top: vww(10); |
| | |
| | | </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"> |
| | | <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"> |
| | | <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"> |
| | |
| | | }}吨 |
| | | </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="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> |
| | | <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="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> |
| | | <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="coal-name"> |
| | | <view class="">{{ value.coalName }}</view> |
| | | <view class="black-bar"></view> |
| | | <view class="coal-type" v-if="value.orderType">{{ value.orderType }}</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="28"></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"> |
| | | <scroll-view scroll-y="true" class="scroll-Y"> |
| | | <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> |
| | | <u-button :text="dateselect" |
| | | @click="opencalendar"></u-button> |
| | | <view class="filter-button "> |
| | | <uni-calendar |
| | | ref="calendar" |
| | | <uni-calendar ref="calendar" |
| | | class="uni-calendar--hook" |
| | | :clear-date="true" |
| | | :date="info.date" |
| | |
| | | :startDate="info.startDate" |
| | | :endDate="info.endDate" |
| | | :range="info.range" |
| | | @confirm="confirm" |
| | | /> |
| | | @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 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="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 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="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 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="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 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 |
| | |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | <view class="filter-body" v-if="roleType != 3"> |
| | | <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 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 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 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="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 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> |
| | | </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 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> |
| | |
| | | // 点击右箭头详情弹窗 |
| | | faYunDetailobj: {}, |
| | | modalShow: false, |
| | | coalStatus: ['领取', '预约', '签到', '入场', '称皮', '称毛', '离场', '入磅房', '出磅房', '入煤仓', '出煤仓', '放空', '作废', '入场申请', '进入场院'] |
| | | coalStatus: ['领取', '预约', '签到', '入场', '称皮', '称毛', '离场', '入磅房', '出磅房', '入煤仓', '出煤仓', '放空', '作废', '入场申请', |
| | | '进入场院' |
| | | ] |
| | | }; |
| | | }, |
| | | onShow() { |
| | |
| | | condition: val.condition, |
| | | conditionId: val.conditionId, |
| | | conditionType: val.conditionType, |
| | | taskCoalList: val.taskCoalList.filter(v => Reflect.ownKeys(conditionMapping).every(key => mapping[key](v, conditionMapping[key]))) |
| | | taskCoalList: val.taskCoalList.filter(v => Reflect.ownKeys(conditionMapping).every(key => |
| | | mapping[key](v, conditionMapping[key]))) |
| | | }; |
| | | }); |
| | | if (this.filterList.length != 0) { |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | <style lang="scss" |
| | | scoped> |
| | | @mixin flex { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | |
| | | @mixin firstLine { |
| | | width: 80%; |
| | | height: vww(68); |
| | |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | .confirm-button { |
| | | /deep/ .u-button { |
| | | border: 1px solid #3b56eb; |
| | |
| | | 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: 100%; |
| | | margin: 0 auto; |
| | | |
| | | /*顶部统计栏*/ |
| | | .top-statistics { |
| | | width: 100%; |
| | |
| | | background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); |
| | | display: flex; |
| | | justify-content: center; |
| | | |
| | | .top-body { |
| | | width: 690rpx; |
| | | height: 220rpx; |
| | |
| | | display: flex; |
| | | justify-content: space-between; |
| | | flex-direction: column; |
| | | |
| | | .content-statistics { |
| | | width: 690rpx; |
| | | height: 140rpx; |
| | |
| | | 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); |
| | |
| | | color: #3b56eb; |
| | | text-align: center; |
| | | } |
| | | |
| | | .content-num { |
| | | width: 96rpx; |
| | | min-height: 24rpx; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .content-title { |
| | | width: 160rpx; |
| | | height: 38rpx; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .main-block { |
| | | width: 690rpx; |
| | | margin: vww(12) vww(15) auto vww(15); |
| | |
| | | overflow: hidden; |
| | | position: relative; |
| | | top: -145rpx; |
| | | |
| | | .data-filter { |
| | | width: 635rpx; |
| | | height: 68rpx; |
| | |
| | | border-radius: 34rpx; |
| | | margin-top: vww(21); |
| | | padding: 0 vww(5); |
| | | |
| | | @include flex .date-text { |
| | | width: 330rpx; |
| | | height: 40rpx; |
| | |
| | | color: #494949; |
| | | } |
| | | } |
| | | |
| | | .filter-condition { |
| | | width: 100%; |
| | | height: 54rpx; |
| | |
| | | @include flex; |
| | | margin-top: vww(15); |
| | | } |
| | | |
| | | .date-information { |
| | | width: 635rpx; |
| | | background: #f6faff; |
| | | border-radius: 20rpx; |
| | | |
| | | .statistics-card { |
| | | width: 100%; |
| | | min-height: vww(120); |
| | |
| | | margin-top: vww(5); |
| | | margin-bottom: vww(5); |
| | | overflow: hidden; |
| | | |
| | | &:last-child { |
| | | .card-main { |
| | | &:last-child { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .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); |
| | |
| | | position: relative; |
| | | @include flex flex-direction: column; |
| | | align-items: flex-start; |
| | | |
| | | .first-line { |
| | | width: 80%; |
| | | height: vww(32); |
| | |
| | | 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); |
| | |
| | | margin-right: vww(20); |
| | | } |
| | | } |
| | | |
| | | .main-divider { |
| | | width: 530rpx; |
| | | height: 1rpx; |
| | |
| | | top: 80rpx; |
| | | left: vww(50); |
| | | } |
| | | |
| | | .point-number { |
| | | width: 20%; |
| | | font-size: 40rpx; |
| | |
| | | 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); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .second-line { |
| | | width: 100%; |
| | | height: vww(15); |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | |
| | | .coal-name { |
| | | flex-grow: 1; |
| | | height: 30rpx; |
| | |
| | | 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); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .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); |
| | |
| | | justify-content: flex-start; |
| | | align-items: center; |
| | | color: #515151; |
| | | |
| | | .time-icon { |
| | | margin-right: vww(10); |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .filter-main { |
| | | min-height: 950rpx; |
| | | 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 { |
| | | 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; |
| | |
| | | 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; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 日期发运 |
| | | // .date-information { |
| | | // width: 100%; |
| | |
| | | } else if (this.weighList.orderType == '外购' || this.weighList.orderType == '内购' || this.weighList |
| | | .orderType == '转入') { |
| | | if (this.weighList.hair == 0) { |
| | | // this.temporaryWeighObj.hair = this.realTimeWeigh; |
| | | this.temporaryWeighObj.hair = newV; |
| | | } else { |
| | | // this.temporaryWeighObj.skin = this.realTimeWeigh; |
| | | this.temporaryWeighObj.skin = newV; |
| | | this.temporaryWeighObj.clean = (this.weighList.hair - this.temporaryWeighObj.skin).toFixed(2); |
| | | this.isweigh = this.temporaryWeighObj.clean > this.weighList.orderSurplus || this.temporaryWeighObj |
| | |
| | | } |
| | | }, |
| | | // 监听重量变化 |
| | | // globalweigh: { |
| | | // handler(v) { |
| | | // this.weighData.weigh = this.realTimeWeigh = v; |
| | | // console.log(this.realTimeWeigh, '真实重量改变了'); |
| | | // }, |
| | | // deep: true |
| | | // }, |
| | | globalweigh(newV) { |
| | | this.weighData.weigh = this.realTimeWeigh = newV; |
| | | console.log(this.realTimeWeigh, '真实重量改变了'); |
| | |
| | | // 加减煤按钮禁用与否 |
| | | addAndSubtractCoalDisabled() { |
| | | return this.realTimeWeigh == 0; |
| | | // if (this.weighList.orderType == '外销' || this.weighList.orderType == '内销' || this.weighList.orderType == '转出') { |
| | | // if (this.weighList.hair == 0) { |
| | | // return true; |
| | | // } else if (this.weighList.hair != 0) { |
| | | // return false; |
| | | // } |
| | | // } |
| | | }, |
| | | // 是否放空按钮禁用 |
| | | isEvacuation() { |
| | |
| | | '转出') { |
| | | return (this.weighList.skin === 0 ? this.temporaryWeighObj.skin : this.weighList.skin) == this |
| | | .temporaryWeighObj.hair; |
| | | // return this.weighList.skin == this.temporaryWeighObj.hair || this.temporaryWeighObj.skin == this |
| | | // .temporaryWeighObj.hair; |
| | | } |
| | | if (this.weighList.orderType == '外购' || this.weighList.orderType == '内购' || this.weighList.orderType == |
| | | '转入') { |
| | | return (this.weighList.hair === 0 ? this.temporaryWeighObj.skin : this.weighList.hair) == this |
| | | .temporaryWeighObj.hair; |
| | | // return this.weighList.hair == this.temporaryWeighObj.skin || this.temporaryWeighObj.skin == this |
| | | // .temporaryWeighObj.hair; |
| | | } |
| | | }, |
| | | sideline() { |
| | |
| | | </view> |
| | | <view class="information-value"> |
| | | {{ userInfo.idCard || '' }} |
| | | <!-- <u-icon name="arrow-right" color="#999999" size="30" v-if="userInfo.idCard"></u-icon> --> |
| | | </view> |
| | | </view> |
| | | <view class="information-line"> |
| | |
| | | </view> |
| | | <view class="information-value"> |
| | | {{ userInfo.phone || '' }} |
| | | <!-- <u-icon name="arrow-right" color="#999999" size="30" v-if="userInfo.phone"></u-icon> --> |
| | | </view> |
| | | </view> |
| | | <view class="information-line"> |
| | |
| | | </view> |
| | | <view class="information-value"> |
| | | {{ userInfo.carNo || '' }} |
| | | <!-- <u-icon name="arrow-right" color="#999999" size="30" v-if="userInfo.carNo"></u-icon> --> |
| | | </view> |
| | | </view> |
| | | <view class="information-line"> |
| | |
| | | </view> |
| | | <view class="information-value"> |
| | | {{ userInfo.axleNum || '' }} |
| | | <!-- <u-icon name="arrow-right" color="#999999" size="30" v-if="userInfo.axleNum"></u-icon> --> |
| | | </view> |
| | | </view> |
| | | <view class="information-line last"> |
| | |
| | | </view> |
| | | <view class="information-value"> |
| | | {{ userInfo.weight || '' }} |
| | | <!-- <u-icon name="arrow-right" color="#999999" size="30" v-if="userInfo.weight"></u-icon> --> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | shape="circle" |
| | | plain></u-button></view> |
| | | </view> |
| | | <!-- <view class="personal-information-form"> |
| | | <u--form labelPosition="left" :model="userInfo" ref="form1"> |
| | | <u-form-item labelWidth="20%" label="姓名" ref="item1"> |
| | | <u--input v-model="userInfo.name" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input> |
| | | </u-form-item> |
| | | <u-form-item labelWidth="20%" label="身份证号" ref="item1"> |
| | | <u--input v-model="userInfo.idCard" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input> |
| | | </u-form-item> |
| | | <u-form-item labelWidth="20%" label="手机号" ref="item1"> |
| | | <u--input v-model="userInfo.phone" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input> |
| | | </u-form-item> |
| | | <u-form-item labelWidth="20%" label="车牌号" ref="item1"> |
| | | <u--input v-model="userInfo.carNo" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input> |
| | | </u-form-item> |
| | | <u-form-item labelWidth="20%" label="体重" ref="item1"> |
| | | <u--input v-model="userInfo.weight" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input> |
| | | </u-form-item> |
| | | <u-form-item v-model="userInfo.axleNum" labelWidth="20%" label="车轴数" ref="item1"> |
| | | <u--input border="none" inputAlign="right" disabled disabledColor="#fff"></u--input> |
| | | </u-form-item> |
| | | <u-form-item labelWidth="20%" label="车辆照片" ref="item1"> |
| | | <u--image :showLoading="true" :src="userInfo.carImg != null ? BaseUrl + userInfo.carImg : ''" width="80px" height="80px" @click="imageClick(1)"> |
| | | <view slot="error" style="font-size: 24rpx;">加载失败</view> |
| | | </u--image> |
| | | </u-form-item> |
| | | <u-form-item labelWidth="25%" label="行驶证照片" ref="item1"> |
| | | <u--image :showLoading="true" :src="userInfo.drivingImg != null ? BaseUrl + userInfo.drivingImg : ''" width="80px" height="80px" @click="imageClick(2)"> |
| | | <view slot="error" style="font-size: 24rpx;">加载失败</view> |
| | | </u--image> |
| | | </u-form-item> |
| | | </u--form> |
| | | <view class="push-information-button"> |
| | | <u-button text="修改个人资料" type="primary" @click="editBtnClick"></u-button> |
| | | <u-button text="退出登录" type="primary" @click="logout"></u-button> |
| | | </view> --> |
| | | <!-- <view class="statistics"><u-button text="发运统计" type="primary" @click="statistics"></u-button></view> --> |
| | | <!-- </view> --> |
| | | |
| | | <!-- 图片预览弹出框 --> |
| | | <view class="previewImage-container"> |
New file |
| | |
| | | <template> |
| | | <view> |
| | | <view style="position: relative;"> |
| | | <u-empty mode="data" |
| | | icon="http://cdn.uviewui.com/uview/empty/data.png" |
| | | textSize="30" |
| | | iconSize="1000" |
| | | v-if="detailData.length == 0"></u-empty> |
| | | </view> |
| | | <view class="collection-form"> |
| | | <view class="collection-form-item" |
| | | v-for="(item, index) in detailData" |
| | | :key="index"> |
| | | <view class="weigh-item"> |
| | | <view class="item"> |
| | | <view class="concrete" |
| | | :style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/skin.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }"> |
| | | 皮 |
| | | </view> |
| | | <view class="num">{{ item.skin }}</view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="concrete" |
| | | :style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/hair.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }"> |
| | | 毛 |
| | | </view> |
| | | <view class="num">{{ item.hair }}</view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="concrete" |
| | | :style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/clean.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }"> |
| | | 净 |
| | | </view> |
| | | <view class="num">{{ item.clean }}</view> |
| | | </view> |
| | | </view> |
| | | <view class="order-type info"> |
| | | 订单类型:{{item.orderType}} |
| | | </view> |
| | | <view class="car-num info"> |
| | | 车牌号:{{item.carNo}} |
| | | </view> |
| | | <view class="file-name info"> |
| | | 煤场名称:{{item.filedName}} |
| | | </view> |
| | | <view class="order-margin info"> |
| | | 煤种名称:{{item.coalName}} |
| | | </view> |
| | | <view class="confirm-button info"> |
| | | <u-button plain |
| | | type="primary" |
| | | text="确定装卸" |
| | | shape="circle" |
| | | @click.stop="loadOrder(item.id)" |
| | | :loading="loading" |
| | | loadingText="确认"></u-button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <u-modal :show="loadShow" |
| | | content='确认装卸此提煤单' |
| | | :showCancelButton="true" |
| | | @confirm="confirmUnload" |
| | | @cancel="cancelUnload"></u-modal> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { onlineurl } from '@/api/request.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | | name: "", |
| | | detailData: [], |
| | | onlineurl, |
| | | loadShow: false, // 确认弹窗控制 |
| | | loading: false, |
| | | id: "" |
| | | } |
| | | }, |
| | | onLoad(params) { |
| | | this.name = params.coalName ? params.coalName : '' |
| | | this.init() |
| | | }, |
| | | methods: { |
| | | init() { |
| | | uni.showLoading({ |
| | | title: "加载中" |
| | | }) |
| | | this.$reqGet('getAccordingCoalNameAll', { coalName: this.name }).then(res => { |
| | | uni.hideLoading() |
| | | if (res.code === 0) { |
| | | this.detailData = res.data |
| | | } else { |
| | | this.$u.toast('加载失败') |
| | | } |
| | | }) |
| | | }, |
| | | loadOrder(id) { |
| | | this.loadShow = true; |
| | | this.id = id; |
| | | }, |
| | | confirmUnload() { |
| | | this.loadShow = false; |
| | | this.loading = true |
| | | this.$reqPost('confirmLoadAndUnload', { tmId: this.id }, 'params').then(res => { |
| | | this.loading = false; |
| | | if (res.code === 0) { |
| | | this.$u.toast('装卸成功') |
| | | this.init() |
| | | } else { |
| | | this.$u.toast(res.msg ? res.msg : '装卸失败') |
| | | } |
| | | }) |
| | | }, |
| | | cancelUnload() { |
| | | this.loadShow = false |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" |
| | | scoped> |
| | | .collection-form { |
| | | width: vww(345); |
| | | margin: 0 vww(15); |
| | | position: relative; |
| | | |
| | | .collection-form-item { |
| | | width: 690rpx; |
| | | height: 400rpx; |
| | | background: #ffffff; |
| | | box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15); |
| | | border-radius: 20rpx; |
| | | overflow: hidden; |
| | | @include flex; |
| | | flex-direction: column; |
| | | position: relative; |
| | | justify-content: center; |
| | | margin-top: vww(10); |
| | | |
| | | .weigh-item { |
| | | width: 100%; |
| | | height: vww(36); |
| | | margin: vww(10); |
| | | @include flex; |
| | | justify-content: space-around; |
| | | |
| | | .item { |
| | | min-width: vww(50); |
| | | height: vww(45); |
| | | font-size: 21rpx; |
| | | font-weight: 400; |
| | | color: #ffffff; |
| | | text-align: center; |
| | | line-height: vww(30); |
| | | @include flex; |
| | | |
| | | .concrete { |
| | | width: vww(36); |
| | | height: vww(36); |
| | | } |
| | | |
| | | .num { |
| | | font-size: 40rpx; |
| | | font-weight: 300; |
| | | color: #303030; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .info { |
| | | height: vww(20); |
| | | color: #515151; |
| | | margin: vww(5); |
| | | margin-left: vww(20); |
| | | } |
| | | |
| | | .confirm-button { |
| | | width: vww(80); |
| | | position: absolute; |
| | | bottom: vww(20); |
| | | right: vww(10); |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <view class=""> |
| | | <view class="customer-index"> |
| | | <view class="customer-index_body"> |
| | | <view class="wait-collection" |
| | | style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/customerbanner.png') no-repeat;background-size:contain"> |
| | | </view> |
| | | <view style="position: relative;top: -120px;"> |
| | | <u-empty mode="data" |
| | | icon="http://cdn.uviewui.com/uview/empty/data.png" |
| | | textSize="30" |
| | | iconSize="1000" |
| | | v-if="CoalNameList.length == 0"></u-empty> |
| | | </view> |
| | | <view class="collection-form"> |
| | | <view class="collection-form-item" |
| | | v-for="(item, index) in CoalNameList" |
| | | :key="index"> |
| | | <view class="first-line"> |
| | | <view class="dispatch-receive"> |
| | | <view class="dispatch">煤种名称:{{ item.coalName }}</view> |
| | | </view> |
| | | <view class=""> |
| | | <u-button type="primary" |
| | | plain |
| | | text="选择" |
| | | @click.stop="loadUnloadHandle(item.coalName)"></u-button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | CoalNameList: [] |
| | | }; |
| | | }, |
| | | onLoad() { |
| | | this.init() |
| | | }, |
| | | methods: { |
| | | init() { |
| | | this.getCoalNameAllHandle() |
| | | }, |
| | | getCoalNameAllHandle() { |
| | | uni.showLoading({ |
| | | title: "加载中" |
| | | }) |
| | | this.$reqGet('getCoalNameAll').then(res => { |
| | | uni.hideLoading() |
| | | if (res.code === 0) { |
| | | this.CoalNameList = res.data |
| | | } else { |
| | | this.$u.toast('加载失败') |
| | | } |
| | | }) |
| | | }, |
| | | loadUnloadHandle(name) { |
| | | uni.navigateTo({ |
| | | url: `/pages/loadUnload-page/loadUnload-detail/loadUnload-detail?coalName=${name}` |
| | | }) |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" |
| | | scoped> |
| | | @mixin flex { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | |
| | | .wait-collection { |
| | | width: 100%; |
| | | height: 600rpx; |
| | | position: relative; |
| | | top: vww(-10); |
| | | z-index: 0; |
| | | } |
| | | |
| | | .customer-index { |
| | | width: 100%; |
| | | margin: 0 auto; |
| | | |
| | | &_body { |
| | | .collection-form { |
| | | width: vww(345); |
| | | margin: 0 vww(15); |
| | | position: relative; |
| | | top: vww(-144); |
| | | |
| | | .collection-form-item { |
| | | width: 690rpx; |
| | | height: 100rpx; |
| | | background: #ffffff; |
| | | box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15); |
| | | border-radius: 20rpx; |
| | | overflow: hidden; |
| | | @include flex; |
| | | flex-direction: column; |
| | | position: relative; |
| | | align-items: center; |
| | | justify-content: center; |
| | | margin-top: vww(10); |
| | | |
| | | .first-line { |
| | | width: 94%; |
| | | height: vww(30); |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <view class="driver-my"> |
| | | <view class="driver-banner"> |
| | | <view class="navgation">我的</view> |
| | | <view class="avatar"> |
| | | <view class="avatar-imgage" |
| | | style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/driverava.png')no-repeat;background-size: cover;"> |
| | | </view> |
| | | <view class="avatar-name">{{ userInfo.name || '' }}</view> |
| | | <view class="edit-button"><u-button type="primary" |
| | | @click="editBtnClick" |
| | | shape="circle" |
| | | plain>编辑个人资料</u-button></view> |
| | | </view> |
| | | <view class="personal-information"> |
| | | <view class="personal-information-block"> |
| | | <view class="block-main"> |
| | | <view class="information-line" |
| | | @click=""> |
| | | <view class="line-label"> |
| | | <image src="https://mx.jzeg.cn:9095/appimg/image/banner/personalicon.png" |
| | | mode="widthFix"></image> |
| | | <view class="label-text">身份证号</view> |
| | | </view> |
| | | <view class="information-value"> |
| | | {{ userInfo.idCard || '' }} |
| | | </view> |
| | | </view> |
| | | <view class="information-line"> |
| | | <view class="line-label"> |
| | | <image src="https://mx.jzeg.cn:9095/appimg/image/banner/phonenum.png" |
| | | mode="widthFix"></image> |
| | | <view class="label-text">手机号</view> |
| | | </view> |
| | | <view class="information-value"> |
| | | {{ userInfo.phone || '' }} |
| | | </view> |
| | | </view> |
| | | <view class="information-line"> |
| | | <view class="line-label"> |
| | | <image src="https://mx.jzeg.cn:9095/appimg/image/banner/phonenum.png" |
| | | mode="widthFix"></image> |
| | | <view class="label-text">账号</view> |
| | | </view> |
| | | <view class="information-value"> |
| | | {{ userInfo.username || '' }} |
| | | </view> |
| | | </view> |
| | | <view class="information-line last"> |
| | | <view class="line-label"> |
| | | <image src="https://mx.jzeg.cn:9095/appimg/image/banner/weighnum.png" |
| | | mode="widthFix"></image> |
| | | <view class="label-text">体重</view> |
| | | </view> |
| | | <view class="information-value"> |
| | | {{ userInfo.weight || '' }} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="loginout"> |
| | | <view class="loginout-main"><u-button text="退出登录" |
| | | type="primary" |
| | | @click="logout" |
| | | shape="circle" |
| | | plain></u-button></view> |
| | | </view> |
| | | <!-- 修改弹出框 --> |
| | | <view class="editDriverPopup-container"> |
| | | <u-popup :show="editDriverPopupShow" |
| | | mode="bottom" |
| | | @close="editDriverPopupClose" |
| | | @open="editDriverPopupOpen" |
| | | :closeable="true"> |
| | | <combined-title title="修改个人信息" |
| | | style="margin-left:20rpx"></combined-title> |
| | | <view class="editDriverPopup-container-box"> |
| | | <u--form labelPosition="left" |
| | | :model="editUserInfo" |
| | | ref="editRef"> |
| | | <u-form-item labelWidth="20%" |
| | | label="姓名" |
| | | prop="name" |
| | | required> |
| | | <u--input v-model="editUserInfo.name" |
| | | border="none" |
| | | inputAlign="left"></u--input> |
| | | </u-form-item> |
| | | <u-form-item labelWidth="20%" |
| | | label="身份证号" |
| | | prop="idCard" |
| | | required> |
| | | <u--input v-model="editUserInfo.idCard" |
| | | border="none" |
| | | inputAlign="left"></u--input> |
| | | </u-form-item> |
| | | <u-form-item labelWidth="20%" |
| | | label="手机号" |
| | | prop="phone" |
| | | required> |
| | | <u--input v-model="editUserInfo.phone" |
| | | border="none" |
| | | inputAlign="left"></u--input> |
| | | </u-form-item> |
| | | <u-form-item labelWidth="20%" |
| | | label="账号" |
| | | prop="username" |
| | | required> |
| | | <u--input v-model="editUserInfo.username" |
| | | border="none" |
| | | inputAlign="left"></u--input> |
| | | </u-form-item> |
| | | <u-form-item labelWidth="20%" |
| | | label="体重" |
| | | prop="weight" |
| | | required> |
| | | <u--input v-model="editUserInfo.weight" |
| | | border="none" |
| | | inputAlign="left" |
| | | placeholder="体重以kg作为单位"></u--input> |
| | | </u-form-item> |
| | | </u--form> |
| | | <view style="margin-top: 30rpx;"> |
| | | <u-button text="提交" |
| | | @click="updateUser" |
| | | type="primary"></u-button> |
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | | </view> |
| | | <view class="logoutModel"> |
| | | <u-modal :show="logoutShow" |
| | | :title="logoutTitle" |
| | | showCancelButton |
| | | :content="logoutContent" |
| | | @confirm="logoutConfirm" |
| | | @cancel="logoutCancel"></u-modal> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { customerId, userInfo, redirectLogin } from '@/utils/status'; |
| | | import { BaseUrl } from '@/api/publicInterface.js'; |
| | | import { mapMutations } from 'vuex'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | // 获取的司机详情 |
| | | userInfo: {}, |
| | | // 修改司机详情 |
| | | editUserInfo: { |
| | | phone: '', |
| | | name: '', |
| | | username: '', |
| | | type: 3, |
| | | idCard: '', |
| | | carNo: '', |
| | | carImg: '', |
| | | drivingImg: '', |
| | | axleNum: '', |
| | | weight: '', |
| | | userId: '' |
| | | }, |
| | | rules: { |
| | | name: { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请填写姓名', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | idCard: [{ |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入身份证号', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | { |
| | | pattern: /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/, |
| | | message: '身份证号格式不正确' |
| | | } |
| | | ], |
| | | phone: [{ |
| | | required: true, |
| | | message: '此项为必填项', |
| | | // blur和change事件触发检验 |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | { |
| | | min: 11, |
| | | max: 11, |
| | | message: '请输入合法手机号' |
| | | }, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | return uni.$u.test.mobile(value); |
| | | }, |
| | | message: '手机号码格式不正确', |
| | | trigger: ['change', 'blur'] |
| | | } |
| | | ], |
| | | weight: { |
| | | type: 'number', |
| | | required: true, |
| | | message: '请填写体重', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | username: { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请填写账号', |
| | | trigger: ['blur', 'change'] |
| | | } |
| | | }, |
| | | src: '', |
| | | fileList1: [], |
| | | fileList2: [], |
| | | // 修改信息弹出框 |
| | | editDriverPopupShow: false, |
| | | // previewImage |
| | | previewImageShow: false, |
| | | previewImageSrc: '', |
| | | // 退出模态框 |
| | | logoutShow: false, |
| | | logoutTitle: '提示', |
| | | logoutContent: '是否确认退出', |
| | | BaseUrl |
| | | }; |
| | | }, |
| | | onShow() { |
| | | // this.init(); |
| | | }, |
| | | onReady() { |
| | | this.$refs.editRef.setRules(this.rules); |
| | | }, |
| | | methods: { |
| | | ...mapMutations(['changeisUploadimg']), |
| | | init() { |
| | | this.getUserEntity(); |
| | | }, |
| | | getUserEntity() { |
| | | uni.showLoading({ |
| | | title: '加载中...' |
| | | }); |
| | | this.$reqGet('getUserEntity').then(res => { |
| | | uni.hideLoading(); |
| | | this.userInfo = res.data; |
| | | Object.keys(this.editUserInfo).map(item => { |
| | | if (res.data[item]) { |
| | | this.editUserInfo[item] = res.data[item]; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | // 修改按钮点击 |
| | | editBtnClick() { |
| | | this.editDriverPopupShow = true; |
| | | }, |
| | | /** |
| | | * @editPopup 修改弹出框事件 |
| | | */ |
| | | editDriverPopupClose() { |
| | | this.editDriverPopupShow = false; |
| | | }, |
| | | editDriverPopupOpen() {}, |
| | | // 修改用户信息 |
| | | updateUser() { |
| | | this.editUserInfo = { |
| | | ...this.editUserInfo, |
| | | carImg: uni.getStorageSync('carImg'), |
| | | drivingImg: uni.getStorageSync('drivingImg') |
| | | }; |
| | | this.$refs.editRef |
| | | .validate() |
| | | .then(res => { |
| | | this.$reqPost('updateUser', this.editUserInfo, 'json').then(res => { |
| | | console.log('更新数据', res); |
| | | this.editDriverPopupShow = false; |
| | | if (res.code == 0) { |
| | | this.$u.toast('修改成功'); |
| | | this.init(); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.msg, |
| | | icon: 'none', |
| | | duration: 2000 |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(err => { |
| | | this.$u.toast('修改失败'); |
| | | }); |
| | | }, |
| | | logout() { |
| | | this.logoutShow = true; |
| | | }, |
| | | logoutConfirm() { |
| | | redirectLogin(); |
| | | this.$store.commit('changeisLogin', false) |
| | | this.$store.dispatch('websocketOnClose') |
| | | }, |
| | | logoutCancel() { |
| | | this.logoutShow = false; |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" |
| | | scoped> |
| | | @mixin flex { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | |
| | | .statistics { |
| | | margin-top: vww(10); |
| | | margin-bottom: vww(10); |
| | | } |
| | | |
| | | ::v-deep.driver-my { |
| | | width: 100%; |
| | | margin: 0 auto; |
| | | padding-bottom: vww(60); |
| | | |
| | | .driver-banner { |
| | | width: 100%; |
| | | height: 430rpx; |
| | | background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); |
| | | background-size: contain; |
| | | position: fixed; |
| | | top: 0; |
| | | |
| | | .navgation { |
| | | width: 80rpx; |
| | | height: 37rpx; |
| | | font-size: 40rpx; |
| | | font-weight: normal; |
| | | color: #ffffff; |
| | | line-height: 69rpx; |
| | | margin: vww(60) auto; |
| | | } |
| | | |
| | | .avatar { |
| | | width: 100%; |
| | | height: 430rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | position: fixed; |
| | | top: 0; |
| | | |
| | | .avatar-imgage { |
| | | width: 98rpx; |
| | | height: 98rpx; |
| | | margin-left: vww(18); |
| | | @include flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .avatar-name { |
| | | width: 200rpx; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | height: 32rpx; |
| | | font-size: 34rpx; |
| | | font-weight: bold; |
| | | color: #ffffff; |
| | | margin-left: vww(17); |
| | | } |
| | | |
| | | .edit-button { |
| | | position: relative; |
| | | left: vww(73); |
| | | top: vww(4); |
| | | } |
| | | } |
| | | |
| | | .personal-information { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | position: relative; |
| | | top: vww(20); |
| | | |
| | | &-block { |
| | | width: 690rpx; |
| | | height: 400rpx; |
| | | 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; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | |
| | | .block-main { |
| | | width: 636rpx; |
| | | margin: vww(10) vww(14); |
| | | } |
| | | |
| | | .information-line { |
| | | @include flex width: 636rpx; |
| | | height: vww(45); |
| | | border-bottom: 1rpx solid #f0f1f6; |
| | | |
| | | .line-label { |
| | | width: 188rpx; |
| | | height: 90rpx; |
| | | |
| | | @include flex image { |
| | | width: 50rpx; |
| | | height: 50rpx; |
| | | } |
| | | |
| | | .label-text { |
| | | width: 120rpx; |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #000000; |
| | | line-height: 85rpx; |
| | | } |
| | | } |
| | | |
| | | .information-value { |
| | | min-width: vww(125); |
| | | @include flex; |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #000000; |
| | | line-height: 85rpx; |
| | | } |
| | | } |
| | | |
| | | .last { |
| | | border-bottom: 0; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .car-information { |
| | | width: 100%; |
| | | position: relative; |
| | | top: vww(410); |
| | | @include flex justify-content: center; |
| | | |
| | | .information-main { |
| | | width: 690rpx; |
| | | height: 552rpx; |
| | | 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; |
| | | |
| | | .information-body { |
| | | width: 636rpx; |
| | | margin: vww(15) vww(14); |
| | | @include flex flex-direction: column; |
| | | |
| | | .car-img { |
| | | height: 246rpx; |
| | | width: 100%; |
| | | @include flex; |
| | | flex-direction: column; |
| | | align-items: flex-start; |
| | | |
| | | .label-title { |
| | | @include flex; |
| | | width: 220rpx; |
| | | height: 100rpx; |
| | | |
| | | .label-text { |
| | | width: 100%; |
| | | height: 50rpx; |
| | | } |
| | | |
| | | image { |
| | | width: 50rpx; |
| | | height: 50rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .loginout { |
| | | width: 100%; |
| | | height: 74rpx; |
| | | @include flex; |
| | | justify-content: center; |
| | | position: relative; |
| | | bottom: vww(-430); |
| | | |
| | | .loginout-main { |
| | | width: 84%; |
| | | } |
| | | } |
| | | |
| | | // 表单 |
| | | .personal-information-form { |
| | | margin-top: vww(200); |
| | | |
| | | .push-information-button { |
| | | display: flex; |
| | | margin: vww(20) auto 0; |
| | | width: 80%; |
| | | |
| | | .u-button { |
| | | &:nth-of-type(2) { |
| | | margin-left: vww(10); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 预览图片 |
| | | .previewImage-container {} |
| | | |
| | | // 修改弹出框 |
| | | .editDriverPopup-container { |
| | | .u-popup { |
| | | .u-transition { |
| | | height: 50%; |
| | | |
| | | .u-popup__content { |
| | | overflow: scroll !important; |
| | | |
| | | .editDriverPopup-container-box { |
| | | width: 90%; |
| | | margin: 0 auto; |
| | | } |
| | | |
| | | //closeIcon |
| | | .u-popup__content__close--top-right { |
| | | top: vww(20) !important; |
| | | |
| | | .u-icon { |
| | | .u-icon__icon { |
| | | font-size: vww(20) !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <driver-index v-if="roleType == 3" |
| | | ref="driverIndexRef" |
| | | :indexdriverBillOfLoadingData="indexdriverBillOfLoadingData"></driver-index> |
| | | <load-unload ref="LoadUnloadRef" |
| | | v-if="roleType == 5"></load-unload> |
| | | <tab-bar :current="0"></tab-bar> |
| | | <!-- 推送消息弹窗 --> |
| | | <u-modal :show="messagePushShow" |
| | |
| | | import customerIndex from '@/pages/customer-page/customer-index/customer-index.vue'; |
| | | import driverIndex from '@/pages/driver-page/driver-index/driver-index.vue'; |
| | | import freightForwarderIndex from '@/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue'; |
| | | import LoadUnload from '@/pages/loadUnload-page/loadUnload-page.vue' |
| | | import { mapState, mapMutations } from 'vuex'; |
| | | import { webSocketUrl } from '@/api/request.js'; |
| | | |
| | |
| | | components: { |
| | | customerIndex, |
| | | driverIndex, |
| | | freightForwarderIndex |
| | | freightForwarderIndex, |
| | | LoadUnload |
| | | }, |
| | | computed: { |
| | | ...mapState(['globalweighHouseCode', 'globalweigh', 'globalisconnect', 'globalSocket', 'websocketData', |
| | |
| | | this.$refs.driverIndexRef.init(); |
| | | }); |
| | | break; |
| | | case 5: |
| | | console.log('LoadUnloadRef'); |
| | | this.$nextTick(() => { |
| | | this.$refs.LoadUnloadRef.init(); |
| | | }); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | |
| | | <template> |
| | | <view> |
| | | <customer-my-page v-if="roleType == 1" ref="customerMyPageRef"></customer-my-page> |
| | | <freight-forwarder-my-page v-if="roleType == 2" ref="freightForwarderMyPageRef"></freight-forwarder-my-page> |
| | | <driver-my-page v-if="roleType == 3" ref="driverMyRef"></driver-my-page> |
| | | <tab-bar :current="2"></tab-bar> |
| | | <customer-my-page v-if="roleType == 1" |
| | | ref="customerMyPageRef"></customer-my-page> |
| | | <freight-forwarder-my-page v-if="roleType == 2" |
| | | ref="freightForwarderMyPageRef"></freight-forwarder-my-page> |
| | | <driver-my-page v-if="roleType == 3" |
| | | ref="driverMyRef"></driver-my-page> |
| | | <unload-mypage ref="UnloadMypageRef" |
| | | v-if="roleType == 5"></unload-mypage> |
| | | <tab-bar :current="roleType==5?1:2"></tab-bar> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | import customerMyPage from '@/pages/customer-page/customer-my/customer-my.vue'; |
| | | import driverMyPage from '@/pages/driver-page/drvier-my/drvier-my.vue'; |
| | | import freightForwarderMyPage from '@/pages/freight-forwarder-page/freightForwarder-my/freightForwarder-my.vue'; |
| | | |
| | | import UnloadMypage from '@/pages/loadUnload-page/my-page/my-page.vue' |
| | | export default { |
| | | components: { |
| | | customerMyPage, |
| | | driverMyPage, |
| | | freightForwarderMyPage |
| | | freightForwarderMyPage, |
| | | UnloadMypage |
| | | }, |
| | | onShow() { |
| | | onLoad() { |
| | | this.init(); |
| | | }, |
| | | data() { |
| | |
| | | break; |
| | | case 3: |
| | | this.$refs.driverMyRef.init(); |
| | | break; |
| | | case 5: |
| | | this.$refs.UnloadMypageRef.init(); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |
| | | <style lang="scss" |
| | | scoped></style> |
| | |
| | | selectedIconPath: '../../static/tabBar-icon/Bmine57.png', |
| | | text: '我的' |
| | | } |
| | | ], |
| | | three: [{ |
| | | pagePath: 'pages/tabbar-page/index-tabbar/index-tabbar', |
| | | iconPath: '../../static/tabBar-icon/home.png', |
| | | selectedIconPath: '../../static/tabBar-icon/homeblue.png', |
| | | text: '首页' |
| | | }, |
| | | { |
| | | pagePath: 'pages/tabbar-page/myPage-tabbar/myPage-tabbar', |
| | | iconPath: '../../static/tabBar-icon/Gmine10.png', |
| | | selectedIconPath: '../../static/tabBar-icon/Bmine57.png', |
| | | text: '我的' |
| | | } |
| | | ] |
| | | } |
| | | const store = new Vuex.Store({ |
| | | state: { |
| | | // 用戶界面判斷 |
| | | userInfo: {}, |
| | | roleType: null, // 1客户,2货代,3司机 |
| | | roleType: null, // 1客户,2货代,3司机 5装卸员 |
| | | userTabbar: [], // 用户所在角色底部菜单, |
| | | // 称重时的重量 |
| | | globalweigh: 0, |
| | |
| | | uni.setStorageSync('userTabbar', state.userTabbar) |
| | | } else if (roleType == 2 || roleType == 3) { |
| | | state.userTabbar = userRoleTabbar.second |
| | | uni.setStorageSync('userTabbar', state.userTabbar) |
| | | } else if (roleType == 5) { |
| | | state.userTabbar = userRoleTabbar.three |
| | | uni.setStorageSync('userTabbar', state.userTabbar) |
| | | } |
| | | }, |
| | |
| | | }) |
| | | commit('changereconnectNum', 1) |
| | | dispatch('reconnect') |
| | | } else if (state.connectNum > 6 && state.globalisLogin) { |
| | | } else if (state.connectNum >= 6 && state.globalisLogin) { |
| | | commit('changereconnectNum', 1) |
| | | uni.showToast({ |
| | | title: '网络异常,请稍后重试', |