From ea7457be6870e35cd385e163ca9bba26d7621d66 Mon Sep 17 00:00:00 2001 From: yangan <yangan0921@163.com> Date: 星期四, 27 二月 2025 17:08:06 +0800 Subject: [PATCH] feat:无人值守h5增加门卫端 --- pages/login/userPassword.vue | 2 pages/entranceGuard/entranceGuard.vue | 551 +++++++++++++++++++++++++++ pages/tabbar-page/myPage-tabbar/myPage-tabbar.vue | 12 pages/entranceGuard/index.vue | 524 ++++++++++++++++++++++++++ api/request.js | 8 pages.json | 17 pages/tabbar-page/index-tabbar/index-tabbar.vue | 52 ++ store/index.js | 17 8 files changed, 1,172 insertions(+), 11 deletions(-) diff --git a/api/request.js b/api/request.js index 13d0b61..d2a90aa 100644 --- a/api/request.js +++ b/api/request.js @@ -103,8 +103,8 @@ // const BaseUrl = "http://192.168.0.110:9896" // const webSocketUrl = "ws://192.168.0.110:9896/wrzs/ws/info" -// const BaseUrl = "http://192.168.0.87:9896" -// const webSocketUrl = "ws://192.168.0.87:9896/wrzs/ws/info" +const BaseUrl = "http://192.168.0.87:9896" +const webSocketUrl = "ws://192.168.0.87:9896/wrzs/ws/info" export const onlineurl = "https://mr1.res.jzeg.cn:9096"; // const BaseUrl = "http://192.168.0.100:9997"; @@ -113,8 +113,8 @@ // const BaseUrl = "http://192.168.0.108:9997"; // const webSocketUrl = "ws://192.168.0.108:9997/wrzs/ws/info" // 绾夸笂鐢熶骇 -const BaseUrl = "https://mr1.res.jzeg.cn:9096"; -const webSocketUrl = "wss://mr1.res.jzeg.cn:9096/wrzs/ws/info" +// const BaseUrl = "https://mr1.res.jzeg.cn:9096"; +// const webSocketUrl = "wss://mr1.res.jzeg.cn:9096/wrzs/ws/info" // 璇锋眰鎷︽埅 diff --git a/pages.json b/pages.json index 6c967ce..a09cd61 100644 --- a/pages.json +++ b/pages.json @@ -323,6 +323,23 @@ "enablePullDownRefresh": false } + }, + { + "path" : "pages/entranceGuard/index", + "style" : + { + "navigationBarTitleText": "闂ㄥ崼棣栭〉", + "enablePullDownRefresh": false + } + + }, + { + "path": "pages/entranceGuard/entranceGuard", + "style": { + "navigationBarTitleText": "鎴戠殑", + "enablePullDownRefresh": false + } + } ], "subPackages": [{ diff --git a/pages/entranceGuard/entranceGuard.vue b/pages/entranceGuard/entranceGuard.vue new file mode 100644 index 0000000..6af03b6 --- /dev/null +++ b/pages/entranceGuard/entranceGuard.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://mr1.res.jzeg.cn:9096/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://mr1.res.jzeg.cn:9096/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://mr1.res.jzeg.cn:9096/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://mr1.res.jzeg.cn:9096/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://mr1.res.jzeg.cn:9096/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/entranceGuard/index.vue b/pages/entranceGuard/index.vue new file mode 100644 index 0000000..80bc59e --- /dev/null +++ b/pages/entranceGuard/index.vue @@ -0,0 +1,524 @@ +<template> + <view class=""> + <view class="customer-index"> + <view class="customer-index_body"> + <view class="wait-collection" + style="background: url('https://mr1.res.jzeg.cn:9096/appimg/image/banner/customerbanner.png') no-repeat;background-size:100% 100%"> + </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="title"><u-icon size='26' color="#" name="order"></u-icon><i>寰呮斁琛岃溅杈�</i> </view> + + <view class="btn"> + <u-button type="primary" plain text="鍒锋柊" @click="page.current = 1;getListData"></u-button> + </view> + + <view class="body"> + <!-- <selectTarget ref='selectTarget'></selectTarget> --> + <view class="collection-form" + > + <u-list @scrolltolower="scrolltolower" + pagingEnabled + > + <view style="position: relative;"> + <u-empty mode="data" + icon="http://cdn.uviewui.com/uview/empty/data.png" + textSize="30" + iconSize="1000" + text="鏆傛棤寰呮鏁版嵁" + v-if="orderPlanData.length == 0"></u-empty> + </view> + + + <view class="collection-form-item" + v-for="(item, index) in orderPlanData" + :key="index"> + <u-list-item style="width:100%"> + <view class="first-line"> + <view class="dispatch-receive"> + <view class="dispatch-orderCode">缂栧彿锛歿{ item.code }}</view> + </view> + </view> + + <view class="second-line"> + <view style="font-size: 20rpx;">{{ item.carNo }}</view> + </view> + + <!-- <view class="second-line" + style="width: 94%;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;" + v-if="item.orderType==='鍐呴攢'||item.orderType==='澶栬喘'"> + {{item.customerName}} + </view> --> + <view class="second-line"> + <view class="coal-name"> + <view class="">{{ item.coalName }}</view> + <view class="black-bar"></view> + <view class="coal-type" + v-if="item.orderType">{{ item.orderType }}</view> + </view> + </view> + + <view class="fourth-line"> + + <view class="forward" + v-if="item.inspectionStatus!==3" + @click.stop="forwardClick(item)"> + <u-button type="primary" text="纭鏀捐"></u-button> + </view> + </view> + </u-list-item> + </view> + <view class="bottom"></view> + </u-list> + </view> + </view> + + </view> + </view> + <u-modal :show="showFlag" + :title="'纭鏀捐锛�'" + :cancelText="'鍙栨秷'" + showCancelButton + :closeOnClickOverlay="true" + @close="showFlag = false" + @cancel="showFlag = false" + @confirm="popupDetermineClick"> + </u-modal> + </view> +</template> + +<script> + export default { + components: { + + }, + watch:{ + samplingData: { + handler(v) { + this.orderPlanData = v; + }, + deep: true, + immediate: true + } + }, + data() { + return { + orderPlanData:[], + page:{ + current:1, + size:5, + }, + tagName:'澶栭攢', + activeObj:{}, + timer:null, + showFlag:false, + tabList:[{ + name:'澶栭攢' + }, + { + name:'澶栬喘' + }, + { + name:'鍐呰喘' + } + ] + }; + }, + onLoad() { + this.init() + }, + methods: { + init() { + this.$nextTick(() => { + + this.getListData(); + }) + }, + getListData(){ + uni.showLoading({ title: '鍔犺浇涓�...' }); + this.$reqGet('gateAuth',{current:this.page.current,size:this.page.size,status:30}).then(res=>{ + console.log(res,'result'); + if(res.code == 0){ + uni.hideLoading(); + if(res.data.records.length){ + this.orderPlanData = res.data.records + }else{ + this.orderPlanData = []; + } + + } + + }) + }, + //纭鍙栨牱 + forwardClick(item){ + this.showFlag = true; + this.activeObj = item; + + }, + popupDetermineClick(){ + this.$reqGet('gateAuthPass',{deptId:this.activeObj.deptId,filedId:this.activeObj.filedId,carNo:this.activeObj.carNo,id:this.activeObj.id}).then(res=>{ + console.log(res,'result'); + if(res.code == 0){ + this.showFlag = false; + this.page.current = 1; + this.init(); + this.$u.toast('纭鏀捐瀹屾垚锛�') + }else{ + this.$u.toast(res.msg || '璇锋眰澶辫触') + this.showFlag = false; + } + + }) + + }, + //瀹氭椂鏌ヨ浠诲姟 + timerFun(){ + this.timer = window.setInterval(() => { + this.page.current = 1; + this.getListData() //璋冪敤鎺ュ彛鐨勬柟娉� + + }, 60000); + }, + clearTime(){ + window.clearInterval(this.timer) + }, + tabClick(val){ + console.log(val,'valll') + this.tagName = val.name; + if(val.name == '澶栬喘'){ + this.getWaiData(); + }else if(val.name === '鍐呰喘'){ + this.getNeiData(); + } + else{ + this.getListData(); + } + + + }, + scrolltolower(){ + console.log('瑙﹀彂') + this.page.current += 1; + this.$reqGet('gateAuth',{current:this.page.current,size:this.page.size,status:30}).then(res=>{ + console.log(res,'result'); + if(res.code == 0){ + uni.hideLoading(); + if(res.data.records.length){ + this.orderPlanData = this.orderPlanData.concat(res.data.records) + }else{ + this.orderPlanData = this.orderPlanData.concat([]) + } + + + + + } + + }) + } + }, + } +</script> + +<style lang="scss" + scoped> + /* 澶у瀷璁惧锛堝ぇ鍙板紡鐢佃剳锛�1201px 璧凤級*/ + @media screen and (min-width: 1201px) { + .wait-collection{ + min-height: 1800rpx!important; + } + } + + /* 涓瀷璁惧锛堝彴寮忕數鑴戯紝992px 璧凤級 */ + @media screen and (min-width: 991px) and (max-width: 1200px) { + .wait-collection{ + min-height: 1400rpx!important; + } + } + + + /* 灏忓瀷璁惧锛堝钩鏉跨數鑴戯紝768px 璧凤級 */ + @media screen and (min-width: 768px) and (max-width: 990px) { + .wait-collection{ + min-height: 600rpx!important; + } + } + + /* 瓒呭皬璁惧锛堟墜鏈猴紝灏忎簬 768px锛�*/ + @media only screen and (max-height: 767px) { + .wait-collection{ + min-height: 600rpx!important; + } + } + @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{ + position: absolute; + top: 38%; + width: 97%; + left: 50%; + margin-left: -47%; + + // box-shadow: 0 2px 18px 0 rgba(0, 0, 0, .2); + // background: #fff; + border-radius: 20rpx; + } + .bottom{ + height: 200rpx; + } + .btn{ + position: absolute; + top: 34%; + right: 5%; + } + .title{ + position: absolute; + top: 34%; + left: 50%; + transform: translateX(-50%); + color: #fff; + font-size: 25rpx; + display: flex; + } + .collection-form { + + margin: 0 vww(15); + position: relative; + transform: translateX(-20rpx); + + + .collection-form-item { + width: 100%; + height: 230rpx; + background: #ffffff; + box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15); + border-radius: 20rpx; + overflow: hidden; + @include flex; + flex-direction: column; + position: relative; + align-items: flex-start; + margin-top: vww(10); + + .first-line { + width: 94%; + height: vww(30); + margin: vww(10) vww(16) 0 vww(16); + display: flex; + justify-content: space-between; + + .dispatch-receive { + width: 70%; + display: flex; + justify-content: flex-start; + align-items: center; + + .dispatch-dept { + font-size: 25rpx; + + display: flex; + align-items: center; + } + .dispatch-orderCode{ + width: 100%; + font-size: 25rpx; + } + + .black-bar { + width: 2rpx; + font-size: 25rpx; + height: 30rpx; + background: #515151; + margin-left: vww(12); + } + + .dispatch { + font-size: 25rpx; + margin-left: vww(12); + min-width: vww(50); + } + + } + + .point-number { + width: 15%; + + text { + font-size: 20rpx; + font-weight: 400; + color: #c78a64; + } + + .residue { + font-size: 23rpx; + font-weight: 400; + color: #f81414; + } + } + } + + .second-line { + width: 100%; + height: vww(30); + margin-left: vww(16); + display: flex; + align-items: center; + justify-content: flex-start; + + .coal-name { + flex-grow: 1; + height: 30rpx; + font-size: 30rpx; + font-weight: 300; + color: #515151; + position: relative; + display: flex; + align-items: center; + + .black-bar { + width: 2rpx; + height: 30rpx; + background: #515151; + margin-left: vww(12); + } + + .coal-type { + margin-left: vww(12); + min-width: vww(50); + height: 30rpx; + line-height: 30rpx; + font-size: 30rpx; + font-weight: 300; + color: #515151; + } + } + } + + .third-line { + width: 40%; + height: vww(30); + margin-left: vww(15); + display: flex; + justify-content: flex-start; + align-items: center; + + .send-date { + margin-left: vww(14); + width: 168rpx; + height: 24rpx; + line-height: 24rpx; + font-size: 28rpx; + font-weight: 300; + color: #515151; + } + } + + .fourth-line { + width: 100%; + height: vww(30); + @include flex; + justify-content: flex-start; + position: relative; + bottom: vww(20); + left: 25%; + + .receive, + .forward { + width: vww(123); + height: vww(48); + @include flex; + justify-content: center; + color: #ffffff; + font-size: 28rpx; + position: absolute; + + .button-image { + width: 100%; + height: 100%; + // background: url('../../../static/image/banner/button.png') no-repeat; + background-size: cover; + font-size: 28rpx; + font-weight: 300; + color: #ffffff; + text-align: center; + line-height: vww(45); + } + } + + .receive { + left: vww(20); + } + + .forward { + width: vww(106); + left: vww(140); + + .button-image { + width: 100%; + height: 100%; + // background: url('../../../static/image/banner/transpartent.png') no-repeat; + background-size: cover; + font-size: 28rpx; + font-weight: 300; + color: #3b56eb; + text-align: center; + line-height: vww(45); + } + } + } + } + } + .receiverPopup { + height: vww(110); + width: 400rpx; + + .receiverPopup__title { + + width: 80%; + text-align: center; + } + + .receiverPopup__input { + width: 80%; + margin: vww(10) auto 0; + + .u-input { + border: 1px solid #dddddd; + } + } + + &__btn { + margin: vww(10) auto; + width: 50%; + + .u-button { + height: vww(20); + } + } + } + +</style> \ No newline at end of file diff --git a/pages/login/userPassword.vue b/pages/login/userPassword.vue index c65d901..31d12eb 100644 --- a/pages/login/userPassword.vue +++ b/pages/login/userPassword.vue @@ -95,7 +95,7 @@ password: uni.getStorageSync('remberPassWord').password || '', baseUrl: '', weXinisLoginFlag:[1,2,3], //寰俊 - H5IsLoginFlag:[5,6], //h5 + H5IsLoginFlag:[5,6,7], //h5 submitLoading: false }; }, diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue index 52ebb57..f1f190c 100644 --- a/pages/tabbar-page/index-tabbar/index-tabbar.vue +++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue @@ -32,6 +32,11 @@ ref="samplingRef" :samplingData="samplingData" /> + <entranceGuard + v-if="roleType == 7" + ref="entranceGuardgRef" + :samplingData="entranceGuardData" + /> <tab-bar :current="0"></tab-bar> <!-- 鎺ㄩ�佹秷鎭脊绐� --> <u-modal :show="messagePushShow" @@ -53,6 +58,7 @@ import { mapState, mapMutations,mapGetters } from 'vuex'; import { webSocketUrl } from '@/api/request.js'; import sampling from '@/pages/sampling-page/index.vue' + import entranceGuard from '@/pages/entranceGuard/index.vue' let socket = null; export default { @@ -62,7 +68,8 @@ freightForwarderIndex, LoadUnload, selectTarget, - sampling + sampling, + entranceGuard }, computed: { ...mapState(['globalweighHouseCode', 'globalweigh', 'globalisconnect', 'globalSocket', 'websocketData', @@ -139,12 +146,37 @@ uni.stopPullDownRefresh(); } }); + }else if(this.roleType == 7){ + + this.$reqGet('gateAuth',{current:1,size:5,status:30}).then(res => { + if (res.code == 0) { + if(res.data.records.length){ + this.orderPlanData = res.data.records; + }else{ + this.orderPlanData = []; + } + + this.$u.toast('鍔犺浇鎴愬姛'); + uni.hideLoading(); + uni.stopPullDownRefresh(); + } else { + this.$u.toast('鍔犺浇澶辫触'); + uni.hideLoading(); + uni.stopPullDownRefresh(); + } + }); } }, onHide() { console.log('椤甸潰闅愯棌') this.$nextTick(()=>{ - this.$refs.samplingRef.clearTime(); + if(this.roleType === 7){ + this.$refs.entranceGuardgRef.clearTime(); + }else{ + this.$refs.samplingRef.clearTime(); + } + + }) }, onUnload() { @@ -184,6 +216,7 @@ roleType: null, orderPlanDataStore: [], indexHuoDaiOrderPlanData: [], + entranceGuardData:[], indexHistoryCoalData: [], indexdriverBillOfLoadingData: {}, samplingData:[], @@ -241,6 +274,14 @@ }); } + //闂ㄥ崼椤甸潰 + else if (v.startsWith('gate_auth')) { + //鏀跺埌閫氱煡鏇存柊鏁版嵁 + this.$nextTick(() => { + this.$refs.entranceGuardgRef.init(); + }); + + } } }, @@ -293,6 +334,13 @@ this.$refs.samplingRef.timerFun(); }); break; + case 7: + console.log('entranceGuardgRef'); + this.$nextTick(() => { + this.$refs.entranceGuardgRef.init(); + this.$refs.entranceGuardgRef.timerFun(); + }); + break; default: break; } diff --git a/pages/tabbar-page/myPage-tabbar/myPage-tabbar.vue b/pages/tabbar-page/myPage-tabbar/myPage-tabbar.vue index 01e9db0..866e613 100644 --- a/pages/tabbar-page/myPage-tabbar/myPage-tabbar.vue +++ b/pages/tabbar-page/myPage-tabbar/myPage-tabbar.vue @@ -10,7 +10,8 @@ v-if="roleType == 5"></unload-mypage> <sampling-myPage ref="samplingRef" v-if="roleType == 6"></sampling-myPage> - <tab-bar :current="(roleType==5 || roleType == 6 )?1:2"></tab-bar> + <entranceGuardMypage ref='entranceGuardRef' v-if="roleType == 7"/> + <tab-bar :current="(roleType==5 || roleType == 6 || roleType == 7)?1:2"></tab-bar> </view> </template> @@ -20,13 +21,15 @@ import freightForwarderMyPage from '@/pages/freight-forwarder-page/freightForwarder-my/freightForwarder-my.vue'; import UnloadMypage from '@/pages/loadUnload-page/my-page/my-page.vue'; import samplingMyPage from '@/pages/sampling-page/sampling-my.vue'; + import entranceGuardMypage from '@/pages/entranceGuard/entranceGuard' export default { components: { customerMyPage, driverMyPage, freightForwarderMyPage, UnloadMypage, - samplingMyPage + samplingMyPage, + entranceGuardMypage }, onLoad() { this.init(); @@ -87,7 +90,10 @@ this.$nextTick(()=>{ this.$refs.samplingRef.init(); }) - + case 7: + this.$nextTick(()=>{ + this.$refs.entranceGuardRef.init(); + }) break; default: break; diff --git a/store/index.js b/store/index.js index 7b7f211..c3d9a0a 100644 --- a/store/index.js +++ b/store/index.js @@ -68,7 +68,19 @@ selectedIconPath: '../../static/tabBar-icon/Bmine57.png', text: '鎴戠殑' } - + ], + seven:[{ + 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({ @@ -185,6 +197,9 @@ }else if(roleType == 6){ state.userTabbar = userRoleTabbar.six uni.setStorageSync('userTabbar', state.userTabbar) + }else if(roleType == 7){ + state.userTabbar = userRoleTabbar.seven + uni.setStorageSync('userTabbar', state.userTabbar) } }, // 鏀瑰彉閲嶉噺 -- Gitblit v1.9.1