From b3c833eeb97a7ef0e32d05f9ee3604fed6e4a37b Mon Sep 17 00:00:00 2001 From: qingyiay <2386314947@qq.com> Date: 星期三, 26 七月 2023 15:55:46 +0800 Subject: [PATCH] 增加装卸员相关页面和相关功能 --- pages/loadUnload-page/loadUnload-page.vue | 125 ++ pages/driver-page/drvier-my/drvier-my.vue | 42 pages/tabbar-page/myPage-tabbar/myPage-tabbar.vue | 93 + pages.json | 22 pages/customer-page/customer-index/customer-index.vue | 8 pages/tabbar-page/index-tabbar/index-tabbar.vue | 12 App.vue | 12 store/index.js | 20 pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue | 20 api/globalApi.js | 16 pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue | 1761 +++++++++++++++++++---------------- pages/loadUnload-page/loadUnload-detail/loadUnload-detail.vue | 188 +++ pages/loadUnload-page/my-page/my-page.vue | 551 +++++++++++ 13 files changed, 1,942 insertions(+), 928 deletions(-) diff --git a/App.vue b/App.vue index 758985e..e7e6c3c 100644 --- a/App.vue +++ b/App.vue @@ -10,17 +10,19 @@ }, onShow() { console.log('appvue鏄剧ず'); - if (!this.globalisconnect && !this.globalisUploadimg) { - this.$store.dispatch('websocketInit') - this.changeisconnect(false); - console.log('appvue鐨剋s'); + if (!this.globalisconnect && !this.globalisUploadimg && this.globalisLogin) { + if (!this.is_open_socket) { + this.$store.dispatch('websocketInit') + this.changeisconnect(false); + console.log('appvue鐨剋s'); + } } }, methods: { ...mapMutations(['changeisconnect']) }, computed: { - ...mapState(['globalisconnect', 'globalisUploadimg', 'globalisLogin']) + ...mapState(['globalisconnect', 'globalisUploadimg', 'globalisLogin', 'is_open_socket']) } }; </script> diff --git a/api/globalApi.js b/api/globalApi.js index 79af198..784f818 100644 --- a/api/globalApi.js +++ b/api/globalApi.js @@ -375,5 +375,21 @@ 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' } } \ No newline at end of file diff --git a/pages.json b/pages.json index d2b59a4..e7bbd4e 100644 --- a/pages.json +++ b/pages.json @@ -210,6 +210,28 @@ "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": [{ diff --git a/pages/customer-page/customer-index/customer-index.vue b/pages/customer-page/customer-index/customer-index.vue index 499b969..79fc6f1 100644 --- a/pages/customer-page/customer-index/customer-index.vue +++ b/pages/customer-page/customer-index/customer-index.vue @@ -202,8 +202,7 @@ canClick: false }; }, - onLoad() {}, - onShow() { + onLoad() { this.init(); }, methods: { @@ -313,7 +312,7 @@ // 鎻愮叅鍗曡鎯� cardBodyClick(v) { uni - .navigateTo({ url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails?orderPlanId=${v.id}&code=${v.code}&cars2=${v.cars2}` }); + .navigateTo({ url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails?orderPlanId=${v.id}&code=${v.code}&cars2=${v.cars2}` }); }, // 鐐瑰嚮鍘嗗彶鎻愮叅鍗曡幏鍙栬鎯� faYundetail(v) { @@ -478,7 +477,8 @@ 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); diff --git a/pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue b/pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue index 0285a75..a7dc442 100644 --- a/pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue +++ b/pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue @@ -17,17 +17,28 @@ </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"> @@ -40,13 +51,18 @@ }}鍚� </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> @@ -56,8 +72,10 @@ <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> @@ -65,33 +83,44 @@ <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" @@ -100,49 +129,71 @@ :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 @@ -155,11 +206,17 @@ </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> @@ -169,19 +226,31 @@ <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> @@ -191,8 +260,16 @@ </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> @@ -202,152 +279,230 @@ </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 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: '', - 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('-'); - }, - 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; + 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) => { + return cur.clean + prev; + }, 0) + ); + this.totalTon = this.totalTon.reduce((x, y) => x + y); + } 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 => @@ -360,679 +515,659 @@ 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; } }, - // 纭畾绛涢�� - 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; + 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.firstFilter}鑷�${this.lastFilter}`; - }, - dateselect() { - return `${this.first}鑷�${this.last}`; - }, - coalTotal() { - return this.coalList.length; - }, - typeTotal() { - return this.typeList.length; - }, - customerTotal() { - return this.customerList.length; - }, - forwarderTotal() { - return this.forwarderList.length; - }, - fleetTotal() { - return this.fleetList.length; - }, - filedTotal() { - return this.filedList.length; - }, - carNoTotal() { - return this.carNoList.length; - } - }, - watch: { - dateselect(newV, old) { - let tempDate = `${this.first}鑷�${this.last}`; - 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; -} -@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; - } - } - .confirm-button { - /deep/ .u-button { - border: 1px solid #3b56eb; - outline: none; - color: #3b56eb; - } - } - /deep/ .u-button { - width: 279rpx; - height: 60rpx; - font-size: 28rpx; - } -} -.white-block { - width: 100%; - height: vww(50); - margin-top: vww(10); -} -.main { - width: 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; + 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; + } + } + + .confirm-button { + /deep/ .u-button { + border: 1px solid #3b56eb; + outline: none; + color: #3b56eb; + } + } + + /deep/ .u-button { + width: 279rpx; + height: 60rpx; + font-size: 28rpx; + } + } + + .white-block { + width: 100%; + height: vww(50); + margin-top: vww(10); + } + + .main { + width: 100%; + margin: 0 auto; + + /*椤堕儴缁熻鏍�*/ + .top-statistics { + width: 100%; + height: 430rpx; + background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); display: flex; - justify-content: space-between; - flex-direction: column; - .content-statistics { + justify-content: center; + + .top-body { 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; + height: 220rpx; + margin: vww(21) auto; display: flex; - justify-content: space-evenly; - align-items: center; - .content-text { - height: vww(40); + 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; + 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; + } + } + } + + .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%; + min-height: vww(120); @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; - } - } - } - .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%; - 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; - .main-information { - width: 88%; - height: vww(28); - display: flex; - justify-content: flex-start; - align-items: center; - .sign { - width: vww(28); - height: vww(28); - line-height: vww(28); - text-align: center; - background: url('https://mx.jzeg.cn:9095/appimg/image/banner/blueblock.png') no-repeat; - background-size: contain; - font-size: 30rpx; - font-weight: 400; - color: #ffffff; - margin-right: vww(20); + margin-top: vww(5); + margin-bottom: vww(5); + overflow: hidden; + + &:last-child { + .card-main { + &:last-child { + border-bottom: 0; } } - .main-divider { - width: 530rpx; - height: 1rpx; - background: #e3e3e3; - position: absolute; - top: 80rpx; - left: vww(50); + } + + .card-top { + width: 96%; + @include flex; + + .left { + font-size: 30rpx; + font-weight: 400; + color: #494949; } - .point-number { - width: 20%; + + .card-top_num { font-size: 40rpx; font-weight: 400; - color: #f81414; - position: absolute; - right: 12rpx; - display: flex; - flex-wrap: wrap; + color: #6074ee; } } - .first-extra { - @include firstLine; - height: vww(32); - .main-information { + + .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; + + .main-information { + width: 88%; + height: vww(28); + display: flex; + justify-content: flex-start; + align-items: center; + + .sign { + width: vww(28); + height: vww(28); + line-height: vww(28); + text-align: center; + background: url('https://mx.jzeg.cn:9095/appimg/image/banner/blueblock.png') no-repeat; + background-size: contain; + font-size: 30rpx; + font-weight: 400; + color: #ffffff; + margin-right: vww(20); + } + } + + .main-divider { + width: 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); + } + } + } + + .second-line { width: 100%; - height: vww(28); + height: vww(15); + display: flex; + justify-content: space-between; + align-items: center; + + .coal-name { + flex-grow: 1; + height: 30rpx; + font-size: 30rpx; + font-weight: 300; + color: #515151; + position: relative; + display: flex; + align-items: center; + + .black-bar { + width: 2rpx; + height: 30rpx; + background: #515151; + margin-left: vww(12); + } + + .coal-type { + margin-left: vww(12); + min-width: vww(50); + height: 30rpx; + line-height: 30rpx; + font-size: 30rpx; + font-weight: 300; + color: #515151; + } + } + } + + .third-line { + width: 40%; + min-height: vww(15); 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); + align-items: flex-start; + + .carnum-icon { + width: 28rpx; + height: 28rpx; + margin-right: vww(10); + + image { + width: 28rpx; + height: 28rpx; + } } - } - } - .second-line { - width: 100%; - height: vww(15); - display: flex; - justify-content: space-between; - align-items: center; - .coal-name { - flex-grow: 1; - height: 30rpx; - font-size: 30rpx; - font-weight: 300; - color: #515151; - position: relative; - display: flex; - align-items: center; - .black-bar { - width: 2rpx; - height: 30rpx; - background: #515151; - margin-left: vww(12); - } - .coal-type { - margin-left: vww(12); - min-width: vww(50); - height: 30rpx; - line-height: 30rpx; - font-size: 30rpx; + + .carnum-text { + font-size: 28rpx; font-weight: 300; color: #515151; } } - } - .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; + + .fourth-line { + width: 40%; + height: vww(14); + display: flex; + justify-content: flex-start; + align-items: center; + color: #515151; + + .time-icon { + margin-right: vww(10); } } - .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); - } } } } } - } - .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 { + + .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> \ No newline at end of file diff --git a/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue b/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue index 113ebf5..2baa004 100644 --- a/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue +++ b/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue @@ -291,10 +291,8 @@ } 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 @@ -303,13 +301,6 @@ } }, // 鐩戝惉閲嶉噺鍙樺寲 - // 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, '鐪熷疄閲嶉噺鏀瑰彉浜�'); @@ -334,13 +325,6 @@ // 鍔犲噺鐓ゆ寜閽鐢ㄤ笌鍚� 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() { @@ -348,15 +332,11 @@ '杞嚭') { 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() { diff --git a/pages/driver-page/drvier-my/drvier-my.vue b/pages/driver-page/drvier-my/drvier-my.vue index e251365..fbe15ca 100644 --- a/pages/driver-page/drvier-my/drvier-my.vue +++ b/pages/driver-page/drvier-my/drvier-my.vue @@ -24,7 +24,6 @@ </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"> @@ -35,7 +34,6 @@ </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"> @@ -46,7 +44,6 @@ </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"> @@ -57,7 +54,6 @@ </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"> @@ -68,7 +64,6 @@ </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> @@ -122,43 +117,6 @@ 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"> diff --git a/pages/loadUnload-page/loadUnload-detail/loadUnload-detail.vue b/pages/loadUnload-page/loadUnload-detail/loadUnload-detail.vue new file mode 100644 index 0000000..75eaaf8 --- /dev/null +++ b/pages/loadUnload-page/loadUnload-detail/loadUnload-detail.vue @@ -0,0 +1,188 @@ +<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> \ No newline at end of file diff --git a/pages/loadUnload-page/loadUnload-page.vue b/pages/loadUnload-page/loadUnload-page.vue new file mode 100644 index 0000000..b161ba3 --- /dev/null +++ b/pages/loadUnload-page/loadUnload-page.vue @@ -0,0 +1,125 @@ +<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> \ No newline at end of file diff --git a/pages/loadUnload-page/my-page/my-page.vue b/pages/loadUnload-page/my-page/my-page.vue new file mode 100644 index 0000000..713b932 --- /dev/null +++ b/pages/loadUnload-page/my-page/my-page.vue @@ -0,0 +1,551 @@ +<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="浣撻噸浠g浣滀负鍗曚綅"></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鍜宑hange浜嬩欢瑙﹀彂妫�楠� + 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> \ No newline at end of file diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue index f99df1d..d97cb70 100644 --- a/pages/tabbar-page/index-tabbar/index-tabbar.vue +++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue @@ -23,6 +23,8 @@ <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" @@ -39,6 +41,7 @@ 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'; @@ -47,7 +50,8 @@ components: { customerIndex, driverIndex, - freightForwarderIndex + freightForwarderIndex, + LoadUnload }, computed: { ...mapState(['globalweighHouseCode', 'globalweigh', 'globalisconnect', 'globalSocket', 'websocketData', @@ -217,6 +221,12 @@ this.$refs.driverIndexRef.init(); }); break; + case 5: + console.log('LoadUnloadRef'); + this.$nextTick(() => { + this.$refs.LoadUnloadRef.init(); + }); + break; default: break; } diff --git a/pages/tabbar-page/myPage-tabbar/myPage-tabbar.vue b/pages/tabbar-page/myPage-tabbar/myPage-tabbar.vue index 6c2651f..3c205a3 100644 --- a/pages/tabbar-page/myPage-tabbar/myPage-tabbar.vue +++ b/pages/tabbar-page/myPage-tabbar/myPage-tabbar.vue @@ -1,51 +1,62 @@ <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> <script> -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'; - -export default { - components: { - customerMyPage, - driverMyPage, - freightForwarderMyPage - }, - onShow() { - this.init(); - }, - data() { - return {}; - }, - computed: { - roleType() { - return uni.getStorageSync('roleType'); - } - }, - methods: { - init() { - switch (this.roleType) { - case 1: - this.$refs.customerMyPageRef.init(); - break; - case 2: - this.$refs.freightForwarderMyPageRef.init(); - break; - case 3: - this.$refs.driverMyRef.init(); - default: - break; + 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, + UnloadMypage + }, + onLoad() { + this.init(); + }, + data() { + return {}; + }, + computed: { + roleType() { + return uni.getStorageSync('roleType'); + } + }, + methods: { + init() { + switch (this.roleType) { + case 1: + this.$refs.customerMyPageRef.init(); + break; + case 2: + this.$refs.freightForwarderMyPageRef.init(); + 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> \ No newline at end of file diff --git a/store/index.js b/store/index.js index dff5e8e..d556246 100644 --- a/store/index.js +++ b/store/index.js @@ -42,13 +42,26 @@ 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, @@ -97,6 +110,9 @@ 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) } }, @@ -203,7 +219,7 @@ }) 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: '缃戠粶寮傚父,璇风◢鍚庨噸璇�', -- Gitblit v1.9.1