From 6c20f43ff1cb24758b11fbe29488804e418c4e42 Mon Sep 17 00:00:00 2001 From: wk Date: 星期一, 04 十一月 2024 15:26:08 +0800 Subject: [PATCH] feat:注册更改 --- pages/tabbar-page/index-tabbar/index-tabbar.vue | 644 +++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 393 insertions(+), 251 deletions(-) diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue index a42f5ec..245e23d 100644 --- a/pages/tabbar-page/index-tabbar/index-tabbar.vue +++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue @@ -1,280 +1,422 @@ <template> - <view> + <view class="max-block"> <view class="search-bar"> - <view class="icon-box" @click="messagePage"><u-icon name="chat" color="#000" size="50"></u-icon></view> + <view class="icon-body"> + <view class="icon-box" + @click="messagePage" v-if="roleType != 6"> + <u-badge :isDot="true" + type="error" + v-if="dotShow"></u-badge> + <u-icon name="chat" + color="#fff" + size="50"></u-icon> + </view> + </view> </view> - <customer-index v-if="roleType == 1" ref="customerIndexRef" :orderPlanDataStore="orderPlanDataStore"></customer-index> - <freight-forwarder-index - v-if="roleType == 2" + <customer-index v-if="roleType == 1" + ref="customerIndexRef" + :orderPlanDataStore="orderPlanDataStore"></customer-index> + <freight-forwarder-index v-if="roleType == 2" ref="freightForwarderIndexRef" :indexHistoryCoalData="indexHistoryCoalData" - :indexHuoDaiOrderPlanData="indexHuoDaiOrderPlanData" - ></freight-forwarder-index> - <driver-index v-if="roleType == 3" ref="driverIndexRef" :indexdriverBillOfLoadingData="indexdriverBillOfLoadingData"></driver-index> + :indexHuoDaiOrderPlanData="indexHuoDaiOrderPlanData"></freight-forwarder-index> + <driver-index v-if="roleType == 3" + ref="driverIndexRef" + :indexdriverBillOfLoadingData="indexdriverBillOfLoadingData"></driver-index> + <load-unload ref="LoadUnloadRef" + v-if="roleType == 5" :indexLoadUnloadBillOfLoadingData="detailData"></load-unload> + <doorkeep-index ref="doorkeepIndexRef" + v-if="roleType == 6"></doorkeep-index> + <!-- <selectTarget v-if="roleType == 5" + ref="LoadUnloadRef"></selectTarget> --> + <qualityIndex ref="qualityIndexRef" v-if="roleType == 7"></qualityIndex> <tab-bar :current="0"></tab-bar> <!-- 鎺ㄩ�佹秷鎭脊绐� --> - <u-modal :show="messagePushShow" :title="messageList.title" :content="messageList.content" @confirm="messageconfirm"></u-modal> + <u-modal :show="messagePushShow" + :title="messageList.title" + @confirm="messageconfirm" + confirm-text="鍓嶅幓鏌ョ湅"> + <view class="slot-content"><u-parse :content="messageList.content"></u-parse></view> + </u-modal> + <!-- <view class="white-block"></view> --> </view> </template> <script> -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 { mapState, mapMutations } from 'vuex'; -import { webSocketUrl } from '@/api/request.js'; -let socket = null; -export default { - components: { - customerIndex, - driverIndex, - freightForwarderIndex - }, - computed: { - ...mapState(['globalweighHouseCode', 'globalweigh']) - }, - //棣栭〉涓嬫媺鍒锋柊 - onPullDownRefresh() { - uni.showLoading({ title: '鍔犺浇涓�...' }); - // 鑾峰彇鍘嗗彶鎻愮叅鍗� - if (this.roleType == 1 || this.roleType == 2) { - this.$reqGet('getJhOrderPlanDataPage', { current: 1, size: 10 }).then(res => { - if (res.data.records) { - this.indexHistoryCoalData = res.data.records; - uni.hideLoading(); - uni.stopPullDownRefresh(); - } else { - this.$u.toast('鍔犺浇澶辫触'); - } - }); - } - // 瀹㈡埛鑾峰彇鏃ヨ鍒� - if (this.roleType == 1) { - this.$reqGet('GetOrderPlan').then(res => { - if (res.data) { - this.orderPlanDataStore = res.data; - this.$u.toast('鍔犺浇鎴愬姛'); - uni.hideLoading(); - uni.stopPullDownRefresh(); - } else { - this.$u.toast('鍔犺浇澶辫触'); - } - }); - } else if (this.roleType == 2) { - this.$reqGet('huoDaiList').then(res => { - if (res.data) { - this.indexHuoDaiOrderPlanData = res.data; - this.$u.toast('鍔犺浇鎴愬姛'); - uni.hideLoading(); - uni.stopPullDownRefresh(); - } else { - this.$u.toast('鍔犺浇澶辫触'); - } - }); - } else if (this.roleType == 3) { - this.$reqGet('qiangDanList').then(res => { - if (res.code == 0) { - this.indexdriverBillOfLoadingData = res.data; - this.$u.toast('鍔犺浇鎴愬姛'); - uni.hideLoading(); - uni.stopPullDownRefresh(); - } else { - this.$u.toast('鍔犺浇澶辫触'); - uni.hideLoading(); - uni.stopPullDownRefresh(); - } - }); - } - }, - onLoad() { - // 寮�鍚弻浜洪�氳瘽 - wx.setEnable1v1Chat({ - enable: true, - backgroundType: 1, - minWindowType: 2, - success() { - console.log('寮�鍚弻浜洪�氳瘽鎴愬姛'); - }, - fail() { - console.log('寮�鍚弻浜洪�氳瘽澶辫触'); - }, - complete() { - console.log('寮�鍚弻浜洪�氳瘽鎴愬姛Complete'); - } - }); - }, - data() { - return { - roleType: null, - orderPlanDataStore: [], - indexHuoDaiOrderPlanData: [], - indexHistoryCoalData: [], - indexdriverBillOfLoadingData: {}, - messagePushShow: false, - messageList: {}, - isconnect: false - }; - }, - beforeDestroy() { - this.closeSocket(); - }, - onShow() { - this.init(); - if (!this.isconnect) { - this.initWebsocket(); - } - this.userAuthorization(); - }, - onBackPress() { - this.closeSocket(); - }, - methods: { - ...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus']), - messagePage() { - uni.navigateTo({ - url: '/pages/public-page/message/message' - }); + 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 qualityIndex from '@/pages/quality-inspection-page/qualityIndex/qualityIndex' + import doorkeepIndex from '@/pages/doorkeeper-page/doorkeeper-index/doorkeeper-index.vue'; + import { mapState, mapMutations, mapGetters } from 'vuex'; + export default { + components: { + customerIndex, + driverIndex, + freightForwarderIndex, + LoadUnload, + qualityIndex, //鍖栭獙 + doorkeepIndex, }, - init() { - this.roleType = uni.getStorageSync('roleType'); - switch (this.roleType) { - case 1: - console.log('customerIndexRef'); - this.$nextTick(() => { - this.$refs.customerIndexRef.init(); - }); - break; - case 2: - console.log('freightForwarderIndexRef'); - this.$nextTick(() => { - this.$refs.freightForwarderIndexRef.init(); - }); - break; - case 3: - console.log('driverIndexRef'); - this.$nextTick(() => { - this.$refs.driverIndexRef.init(); - }); - break; - default: - break; - } + computed: { + ...mapState(['globalweighHouseCode', 'globalweigh', 'globalisconnect', 'globalSocket', 'websocketData', + 'globalIntervalId' + ]), + ...mapGetters(['websocketData']) }, - // 瑕佹眰鐢ㄦ埛鎺堟潈鐩告満/楹﹀厠椋庢潈闄� - userAuthorization() { - wx.getSetting({ - success(res) { - // wx.startRecord(); - console.log('success'); - if (!res.authSetting['scope.record'] || !res.authSetting['scope.camera']) { - if (!res.authSetting['scope.camera']) { - wx.authorize({ - scope: 'scope.camera', - success() { - // 鐢ㄦ埛宸茬粡鍚屾剰灏忕▼搴忎娇鐢ㄥ綍闊冲姛鑳斤紝鍚庣画璋冪敤 wx.startRecord 鎺ュ彛涓嶄細寮圭獥璇㈤棶 - console.log('鎺堟潈鎴愬姛'); - }, - fail() { - console.log('鎺堟潈澶辫触'); - } - }); - } else if (!res.authSetting['scope.record']) { - wx.authorize({ - scope: 'scope.record', - success() { - // 鐢ㄦ埛宸茬粡鍚屾剰灏忕▼搴忎娇鐢ㄥ綍闊冲姛鑳斤紝鍚庣画璋冪敤 wx.startRecord 鎺ュ彛涓嶄細寮圭獥璇㈤棶 - console.log('鎺堟潈鎴愬姛'); - }, - fail: () => { - console.log('鎺堟潈澶辫触'); - } - }); - } + //棣栭〉涓嬫媺鍒锋柊 + onPullDownRefresh() { + if(this.roleType!==6){ + uni.showLoading({ title: '鍔犺浇涓�...' }); + }else{ + this.$refs.doorkeepIndexRef.TaskCoalList() + } + // 鑾峰彇鍘嗗彶鏀跺彂鍗� + if (this.roleType == 1 || this.roleType == 2) { + this.$reqGet('getJhOrderPlanDataPage', { current: 1, size: 10 }).then(res => { + if (res.data.records) { + this.indexHistoryCoalData = res.data.records; + uni.hideLoading(); + uni.stopPullDownRefresh(); + } else { + this.$u.toast('鍔犺浇澶辫触'); } + }); + } + // 瀹㈡埛鑾峰彇鏃ヨ鍒� + if (this.roleType == 1) { + this.$reqGet('GetOrderPlan').then(res => { + if (res.data) { + this.orderPlanDataStore = res.data; + this.$u.toast('鍔犺浇鎴愬姛'); + uni.hideLoading(); + uni.stopPullDownRefresh(); + } else { + this.$u.toast('鍔犺浇澶辫触'); + } + }); + } else if (this.roleType == 2) { + this.$reqGet('huoDaiList').then(res => { + if (res.data) { + this.indexHuoDaiOrderPlanData = res.data; + this.$u.toast('鍔犺浇鎴愬姛'); + uni.hideLoading(); + uni.stopPullDownRefresh(); + } else { + this.$u.toast('鍔犺浇澶辫触'); + } + }); + } else if (this.roleType == 3) { + this.$reqGet('qiangDanList').then(res => { + if (res.code == 0) { + this.indexdriverBillOfLoadingData = res.data; + this.$u.toast('鍔犺浇鎴愬姛'); + uni.hideLoading(); + uni.stopPullDownRefresh(); + } else { + this.$u.toast('鍔犺浇澶辫触'); + uni.hideLoading(); + uni.stopPullDownRefresh(); + } + }); + }else if(this.roleType == 5){ + //瑁呭嵏鍛� + this.getDetailData(); + } + }, + // getWarehouseListFun() { + // this.$reqGet('getWarehouseList').then(res => { + // uni.hideLoading() + // if (res.code === 0) { + // if(res.data.length){ + // this.getDetailData(); + + // } + // } else { + // this.$u.toast('鍔犺浇澶辫触') + // } + // }) + // }, + onHide() { + console.log('椤甸潰闅愯棌') + }, + onUnload() { + console.log('椤甸潰鍗歌浇'); + this.$store.dispatch('websocketOnClose') + clearInterval(this.globalIntervalId); + this.changeisconnect(false) + }, + onShow() { + this.count = this.count +1; + this.init(); + this.messageReq(); + }, + onLoad() { + this.$store.dispatch('websocketInit') + this.$store.commit('changeisLogin', true) + console.log(this.globalisconnect, 'index鐨剋s鏁版嵁'); + /* #ifdef MP-WEIXIN */ + this.userAuthorization(); + /* #endif */ + this.messageReq(); + // 寮�鍚弻浜洪�氳瘽 + /* #ifdef MP-WEIXIN */ + wx.setEnable1v1Chat({ + enable: true, + backgroundType: 1, + minWindowType: 2, + success() { + console.log('寮�鍚弻浜洪�氳瘽鎴愬姛'); }, fail() { - console.log('鑾峰彇澶辫触'); + console.log('寮�鍚弻浜洪�氳瘽澶辫触'); + }, + complete() { + console.log('寮�鍚弻浜洪�氳瘽鎴愬姛Complete'); } }); + /* #endif */ }, - // 鍒濆鍖杦ebsocket - initWebsocket() { - let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}`; - socket = uni.connectSocket({ - url: wsUrl, - header: { - CLIENT_TOC: 'Y' + data() { + return { + roleType: null, + orderPlanDataStore: [], + indexHuoDaiOrderPlanData: [], + indexHistoryCoalData: [], + count:0, + detailData:[], + indexdriverBillOfLoadingData: {}, + messagePushShow: false, + messageList: { + title: '', + content: "", }, - complete: res => { - console.log(res, 'socket缁撴灉'); - if (res.errMsg == 'connectSocket:ok') { - this.isconnect = true; + isconnect: false, + dotShow: false, + appHide: false + }; + }, + watch: { + 'websocketData': { + handler(v) { + console.log(v, '鎺ュ彈鐨剋s鏁版嵁'); + if(v) { + if (v.startsWith('weigh')) { + let nowWeighObj = JSON.parse(v.slice(7)); + if (this.globalweighHouseCode && nowWeighObj.eqCode == this.globalweighHouseCode) { + if (nowWeighObj.eqInfraredStatus) { + this.changeinfraredStatus(true); + this.changeWeigh(nowWeighObj.weigh); + let warningState = nowWeighObj.warning == 1 + this.changeWarning(warningState) + } else { + this.changeinfraredStatus(false); + this.changeWeigh(nowWeighObj.weigh); + let warningState = nowWeighObj.warning == 1 + this.changeWarning(warningState) + } + } + } else if (v.startsWith('msg')) { + function removeTags(str) { + return str.replace(/<\/?[^>]+>/gi, ''); + } + this.messageList = JSON.parse(v.slice(5)); + this.messageList = { + ...this.messageList, + title: this.messageList.title.slice(0, 8) + '...', + content: removeTags(this.messageList.content).trim().slice(0, 8) + '...' + } + this.messagePushShow = true; + } else if (v.startsWith('wsg')) { //鎻愰啋纾呮埧鏈夎溅 + let wsgObj = JSON.parse(v.slice(5)); + if (uni.getStorageSync('carNo') === wsgObj.carNo && !wsgObj.peopleWeigh) { + this.changewsgVisiable(true) //纾呮埧蹇欑鐨勫脊妗嗙殑鐜伴殣钘� + this.changewsgContent(wsgObj.content) //纾呮埧蹇欑鐨勫脊妗嗙殑鍐呭鎻愮ず + } + if (uni.getStorageSync('carNo') === wsgObj.carNo && wsgObj.peopleWeigh === 2) { + this.changeconfirmWeighVisiable(true) + this.changeconfirmWeighContent(wsgObj.content) } } - }); - socket.onOpen(() => { - console.log('onOpen'); - }); - // 鑾峰彇鏈嶅姟鍣ㄤ紶鏉ョ殑鏁版嵁锛屽仛鐩稿簲澶勭悊 - socket.onMessage(res => { - console.log('socketWeigh', res); - if (res.data.startsWith('weigh')) { - let nowWeighObj = JSON.parse(res.data.slice(7)); - if (this.globalweighHouseCode && nowWeighObj.eqCode == this.globalweighHouseCode) { - if (nowWeighObj.eqInfraredStatus) { - this.changeinfraredStatus(true); - this.changeWeigh(nowWeighObj.weigh); - } else { - this.changeinfraredStatus(false); - this.changeWeigh(nowWeighObj.weigh); + } + }, + deep: true, + immediate: true + } + }, + methods: { + ...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus', 'changeisconnect', 'websocketInit', + 'changewsgVisiable', 'changewsgContent', 'changeconfirmWeighVisiable', 'changeconfirmWeighContent', + 'changeWarning' + ]), + messagePage() { + uni.navigateTo({ + url: '/pages/public-page/message/message' + }); + }, + init() { + this.roleType = uni.getStorageSync('roleType'); + console.log(this.roleType,'this.roleType=====') + switch (this.roleType) { + case 1: + console.log('customerIndexRef'); + this.$nextTick(() => { + this.$refs.customerIndexRef.init(); + }); + break; + case 2: + console.log('freightForwarderIndexRef'); + this.$nextTick(() => { + this.$refs.freightForwarderIndexRef.init(); + }); + break; + case 3: + console.log('driverIndexRef'); + this.$nextTick(() => { + this.$refs.driverIndexRef.init(); + }); + break; + case 5: + console.log('LoadUnloadRef'); + this.$nextTick(() => { + console.log(this.count,'count') + this.$refs.LoadUnloadRef.init(); + + }); + break; + case 7: + console.log('qualityIndexRef'); + this.$nextTick(() => { + console.log(this.count,'count') + if(this.count <=1){ + this.$refs.qualityIndexRef.init(); + } + }); + break; + case 6: + console.log('doorkeepIndexRef'); + this.$nextTick(() => { + this.$refs.doorkeepIndexRef.init(); + }); + break; + default: + break; + } + }, + // 瑕佹眰鐢ㄦ埛鎺堟潈鐩告満/楹﹀厠椋庢潈闄� + /* #ifdef MP-WEIXIN */ + userAuthorization() { + wx.getSetting({ + success(res) { + console.log(res); + if (!res.authSetting['scope.record'] || !res.authSetting['scope.camera']) { + if (!res.authSetting['scope.camera']) { + wx.authorize({ + scope: 'scope.camera', + success() { + console.log('鐩告満鎴愬姛'); + }, + fail() { + console.log('鐩告満澶辫触'); + } + }); + } else if (!res.authSetting['scope.record']) { + wx.authorize({ + scope: 'scope.record', + success() { + console.log('褰曢煶鎴愬姛'); + }, + fail: () => { + console.log('褰曢煶澶辫触'); + } + }); + } } + }, + fail() { + console.log('鑾峰彇澶辫触'); + }, + }); + }, + /* #endif */ + messageconfirm() { + this.messagePushShow = false; + uni.navigateTo({ + url: '/pages/public-page/message/message' + }); + }, + messageReq() { + this.$reqGet('getMessageByUser', { current: 1, size: 10 }).then(res => { + if (res.code == 0) { + this.messageList = res.data.records; + let filtermessage = this.messageList.filter(v => v.status == 0); + this.dotShow = filtermessage.length > 0; } - } else { - this.messageList = JSON.parse(res.data.slice(5)); - this.messagePushShow = true; - } - }); - socket.onClose(() => { - console.log('webSocketClose'); - }); - socket.onError(err => { - console.log('socket鎶ラ敊', err); - this.$u.toast('鍑虹幇閿欒锛岃閲嶆柊杩涘叆璇ラ〉闈紝閲嶈瘯锛侊紒'); - }); - }, - closeSocket() { - socket.close({ - success(res) { - console.log('鍏抽棴鎴愬姛', res); - }, - fail(err) { - console.log('鍏抽棴澶辫触', err); - } - }); - }, - messageconfirm() { - this.messagePushShow = false; + }); + }, + getDetailData(){ + this.$reqGet('getTaskCoalListByBunkerId', { bunkerIds:uni.getStorageSync('bunkerIds'),productIds:uni.getStorageSync('productIds')}).then(res => { + if (res.code === 0) { + this.detailData = res.data.map(item=>{ + item.tmTaskCoalList.map(el=>{ + el.flag = el.isPretendDischar ? false : true + return el + }) + return item; + }); + this.$u.toast('鍔犺浇鎴愬姛'); + uni.stopPullDownRefresh(); + uni.hideLoading(); + } + }) + + }, } - } -}; + }; </script> -<style lang="scss" scoped> -.search-bar { - height: vww(20); - width: 96%; - margin: vww(3) auto; - position: relative; - .icon-box { - width: vww(30); - height: vww(30); - background-color: #eee; - border-radius: 50%; - display: flex; - justify-content: center; - align-items: center; - position: absolute; - right: vww(-3); +<style lang="scss" + scoped> + .max-block { + font-family: siYuanLight !important; } -} + + .white-block { + width: 100%; + height: vww(20); + margin-top: vww(10); + } + + .search-bar { + height: vww(20); + width: calc(100% - 200rpx); + position: absolute; + top: vww(96); + right: 100rpx; + z-index: 1; + + .icon-body { + position: relative; + display: flex; + justify-content: flex-end; + + .icon-box { + width: vww(30); + height: vww(30); + border-radius: 50%; + display: flex; + justify-content: center; + align-items: center; + position: relative; + + /deep/ .u-badge { + position: absolute; + left: vww(18); + top: vww(5); + z-index: 1; + } + } + } + } </style> -- Gitblit v1.9.1