From 86baa8ff948d2e79588e0dd7efa16f6b8ac3b157 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期五, 06 十二月 2024 15:29:15 +0800 Subject: [PATCH] ll --- h5/pages/guidemap/guidemap.vue | 3 h5/pages/staff/vehicle/shiwai.vue | 2 admin/src/views/statistics/platformRecord.vue | 9 h5/pages/staff/meetingCalendar.vue | 34 + h5/pages/staff/meetingSub.vue | 4 h5/index.html | 2 h5/pages/driver/reserved.vue | 9 h5/pages/staffLogin/forgetPsd.vue | 11 h5/pages/staff/vehicle/shinei.vue | 8 screen/src/views/SecurityControl.vue | 78 +-- h5/store/index.js | 4 h5/pages/index/index.vue | 38 -- h5/static/redirect2.html | 18 + screen/src/views/LogisticsCenter.vue | 7 h5/pages/staff/signin.vue | 20 + admin/src/components/common/CommonHeader.vue | 4 h5/pages/staff/memberSel.vue | 3 h5/manifest.json | 13 h5/pages/visitorSubGuide/index.vue | 3 admin/.env.development | 6 h5/pages.json | 25 h5/api/index.js | 3 h5/pages/staff/visitorReport.vue | 5 h5/pages/staffLogin/login.vue | 32 + h5/pages/auth/auth.vue | 10 h5/pages/staff/meetingSubOrder.vue | 11 h5/utils/config.js | 3 h5/pages/driver/index.vue | 9 h5/pages/login/login.vue | 331 +++++++++++------ h5/pages/staff/index.vue | 57 -- h5/pages/staff/meetingSel.vue | 11 h5/utils/service.js | 2 h5/pages/driver/reservedDetail.vue | 3 screen/src/views/LogisticsEfficiency.vue | 7 admin/src/views/operation/serviceCar/apprConfig.vue | 2 h5/pages/userinfo/userinfo.vue | 11 screen/src/views/TaskEfficiency.vue | 38 +- h5/pages/visitorApplication/visitorApplication.vue | 8 h5/pages/driver/taskDetail.vue | 75 +++- h5/pages/driver/queueUpRecord.vue | 3 h5/pages/staff/meetingDetail.vue | 11 h5/pages/staff/snapshot.vue | 10 h5/App.vue | 8 h5/pages/driver/login.vue | 21 h5/pages/staff/vehicle/sendACarDetail.vue | 11 h5/static/redirect.html | 1 screen/src/views/FireFighting.vue | 37 - 47 files changed, 564 insertions(+), 457 deletions(-) diff --git a/admin/.env.development b/admin/.env.development index 3dfdc65..3fee2ec 100644 --- a/admin/.env.development +++ b/admin/.env.development @@ -1,8 +1,8 @@ # 寮�鍙戠幆澧冮厤缃� NODE_ENV = 'development' -#VUE_APP_API_URL = 'http://localhost:10010' -# VUE_APP_API_URL = 'http://192.168.0.113:10010' +VUE_APP_API_URL = 'https://atwl.ahzyssl.com/zhyq_interface' +# VUE_APP_API_URL = 'http://192.168.0.101:10010' # VUE_APP_API_URL = 'http://192.168.0.173/gateway_interface' - VUE_APP_API_URL = 'http://10.50.250.253:8088/gateway_interface' +# VUE_APP_API_URL = 'http://10.50.250.253:8088/gateway_interface' diff --git a/admin/src/components/common/CommonHeader.vue b/admin/src/components/common/CommonHeader.vue index d694116..2a784ef 100644 --- a/admin/src/components/common/CommonHeader.vue +++ b/admin/src/components/common/CommonHeader.vue @@ -115,11 +115,11 @@ }, mounted() { // needChangePwd 0 : 榛樿瀵嗙爜闇�瑕佷慨鏀癸紝1 涓嶉渶瑕� - if (userInfo && (!this.userInfo.needChangePwd || this.userInfo.needChangePwd == '0')) { + if (this.userInfo && (!this.userInfo.needChangePwd || this.userInfo.needChangePwd == '0')) { this.visible.changePwd = true } }, - filters: { + filters: { // 灞曠ず鍚嶇О displayName(userInfo) { if (userInfo == null) { diff --git a/admin/src/views/operation/serviceCar/apprConfig.vue b/admin/src/views/operation/serviceCar/apprConfig.vue index e42cad6..e0bb8c7 100644 --- a/admin/src/views/operation/serviceCar/apprConfig.vue +++ b/admin/src/views/operation/serviceCar/apprConfig.vue @@ -153,7 +153,7 @@ type="primary">淇濆瓨閰嶇疆椤�</el-button> <el-button v-if="activeIndex !== 0 && activeIndex !== apprList.length - 1" type="danger" plain @click="handleDel">鍒犻櫎鑺傜偣</el-button> - </div>3 + </div> </div> </div> </template> diff --git a/admin/src/views/statistics/platformRecord.vue b/admin/src/views/statistics/platformRecord.vue index 49f98e1..f9f3291 100644 --- a/admin/src/views/statistics/platformRecord.vue +++ b/admin/src/views/statistics/platformRecord.vue @@ -116,7 +116,14 @@ this.list.forEach(item => { item.inTypeTemp = item.inType == 0 ? '鏁存墭鐩�' : '浠剁儫' item.taskOrigin = 'WMS鑾峰彇' - item.workTime = dayjs.duration(item.param3, 'seconds').format('H鏃秏鍒唖绉�') + // item.workTime = dayjs.duration(item.param3, 'seconds').format('H鏃秏鍒唖绉�') + if(item.param3 > 3600){ + item.workTime = Math.ceil(item.param3 / 3600) + '鏃�' + Math.ceil(Math.ceil(item.param3 % 3600) / 60) + '鍒�' + item.param3 % 60 + '绉�' + }else if(item.param3 > 60){ + item.workTime = Math.ceil(item.param3 / 60) + '鍒�' + item.param3 % 60 + '绉�' + }else{ + item.workTime = item.param3 + '绉�' + } }) this.pagination.total = res.total || 0 }, () => { diff --git a/h5/App.vue b/h5/App.vue index 487c8ad..c567d31 100644 --- a/h5/App.vue +++ b/h5/App.vue @@ -16,7 +16,11 @@ <style lang="scss"> /*姣忎釜椤甸潰鍏叡css */ @import "uview-ui/index.scss"; - +html, body { + height: auto; + min-height: 100%; + overflow: visible; +} .flex-cb { display: flex; justify-content: space-between; @@ -191,7 +195,7 @@ } .main_app { - padding: 0 30rpx 30rpx; + padding: 10rpx 30rpx 30rpx; font-size: 28rpx; color: #333333; } diff --git a/h5/api/index.js b/h5/api/index.js index e373597..c65ae51 100644 --- a/h5/api/index.js +++ b/h5/api/index.js @@ -15,10 +15,9 @@ }) } // 鎺堟潈 -export const wxAuthorize = (data) => { +export const wxAuthorizea = (data) => { return http({ url: 'visitsAdmin/cloudService/web/visitor/wxAuthorize', - method: 'get', data }) } diff --git a/h5/index.html b/h5/index.html index c3ff205..a87db61 100644 --- a/h5/index.html +++ b/h5/index.html @@ -2,6 +2,7 @@ <html lang="en"> <head> <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <script> var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)')) @@ -9,6 +10,7 @@ '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />') </script> + <script src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"/> <title></title> <!--preload-links--> <!--app-context--> diff --git a/h5/manifest.json b/h5/manifest.json index e051485..141a8b9 100644 --- a/h5/manifest.json +++ b/h5/manifest.json @@ -125,15 +125,15 @@ "historyApiFallback" : true, "disableHostCheck" : true, "proxy" : { - "/gateway_interface" : { + "/zhyq_interface" : { // 杩欎釜瀛楁鍚嶉渶涓庝綘閰嶇疆鐨刡asePrefixUrl涓�鑷达紝绯荤粺璇嗗埆鍒板甫鏈�/dev-api璇锋眰鐨勫湴鍧�鏃讹紝浼氬湪鍓嶉潰鎷兼帴涓婁唬鐞嗘湇鍔″櫒鍦板潃 // "target" : "http://172.20.10.7:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 - // "target" : "http://192.168.0.100:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 - "target" : "http://10.50.250.253:8088/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 - // "target" : "http://192.168.0.173/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 + // "target" : "http://192.168.0.106:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 + // "target" : "http://10.50.250.253:8088/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 + "target" : "https://atwl.ahzyssl.com/zhyq_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 "changeOrigin" : true, // 鍏佽璺ㄥ煙 "pathRewrite" : { - "^/gateway_interface" : "" + "^/zhyq_interface" : "" } } }, @@ -147,6 +147,7 @@ "serviceHost" : "" } } - } + }, + "title" : "h5" } } diff --git a/h5/pages.json b/h5/pages.json index cc71d51..bf7f022 100644 --- a/h5/pages.json +++ b/h5/pages.json @@ -9,6 +9,13 @@ "navigationBarTitleText": "閫夋嫨韬唤", "enablePullDownRefresh": false } + }, + { + "path": "pages/auth/auth", + "style": { + "navigationBarTitleText": "寰俊鎺堟潈", + "enablePullDownRefresh": false + } }, { "path": "pages/index/index", @@ -364,13 +371,6 @@ } }, { - "path": "pages/auth/auth", - "style": { - "navigationBarTitleText": "寰俊鎺堟潈", - "enablePullDownRefresh": false - } - }, - { "path": "pages/staffLogin/forgetPsd", "style": { "navigationBarTitleText": "鎵惧洖瀵嗙爜", @@ -453,6 +453,13 @@ "style" : { "navigationBarTitleText" : "杩愬崟鏌ヨ" + } + }, + { + "path" : "pages/staff/signin", + "style" : + { + "navigationBarTitleText" : "鎴戠殑鑰冨嫟" } } ], @@ -552,8 +559,8 @@ } ], "globalStyle": { - "navigationBarTextStyle": "black", - "navigationBarTitleText": "", + "navigationBarTextStyle": "black", + "navigationStyle": "custom", "navigationBarBackgroundColor": "#ffffff", "backgroundColor": "#ffffff" }, diff --git a/h5/pages/auth/auth.vue b/h5/pages/auth/auth.vue index 7015615..1f39cbc 100644 --- a/h5/pages/auth/auth.vue +++ b/h5/pages/auth/auth.vue @@ -11,15 +11,7 @@ }; }, - onLoad() { - const appID = 'wx4d7c10bdec51942b' - const AppSecret = '922c93596d134fedf5bd22a9354b3bfe' - // const scope = 'snsapi_userinfo' - let uri = encodeURIComponent('https://xiaopiqiu2.natapp1.cc') - let authURL = - `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_base&state=123#wechat_redirect` - window.location.href = authURL - } + } </script> diff --git a/h5/pages/driver/index.vue b/h5/pages/driver/index.vue index 82c5cc7..e79d32a 100644 --- a/h5/pages/driver/index.vue +++ b/h5/pages/driver/index.vue @@ -16,7 +16,7 @@ <swiper-item v-for="item in taskList" :key="item.id" @click="taskClick(item)"> <view class="item"> <view class="head"> - <view class="name">杩愯緭鍗晎{ item.billCode }}</view> + <view class="name">{{ item.contractNum ? '鍚堝悓鍗�' : '杩愯緭鍗�' }}{{ item.billCode || item.contractNum}}</view> <view class="status"> <view class="text" v-if="item.status == 0">璇风‘璁や换鍔�</view> <view class="text" v-if="item.status == 1">璇蜂簬{{item.arriveDate.slice(5,11)}}鐜板満绛惧埌</view> @@ -25,8 +25,10 @@ <view class="text" v-if="item.status == 4">璇峰叆鍥仠闈爗{item.platformName}}浣滀笟</view> <view class="text" v-if="item.status == 5">{{item.platformName}}浣滀笟涓�</view> <view class="text" v-if="item.status == 6">浣滀笟宸插畬鎴�</view> + <view class="text" v-if="item.status == 7">杞Щ涓�</view> + <view class="text red" v-if="item.status == 8">寮傚父鎸傝捣</view> <view class="time" v-if="item.waitTime && item.status == 2">{{ item.waitTime }}</view> - <view class="time" v-if="item.finishTimeStr && item.status == 5">{{ item.finishTimeStr }}</view> + <view class="time" v-if="item.finishTimeStr && item.status == 5">棰勮瀹屾垚鏃堕棿锛歿{ item.finishTimeStr }}</view> </view> </view> <view class="content"> @@ -41,7 +43,7 @@ </view> </view> <view class="sub"> - <view class="time" v-if="item.arriveDate && item.type == 4">{{ item.arriveDate.slice(5) }}</view> + <view class="time" v-if="item.arriveDate && item.contractNum">{{ item.arriveDate.slice(5) }}</view> <view class="time" v-if="item.type != 4 && item.platformWmsJob && item.platformWmsJob.ioCreatedate">{{ item.platformWmsJob.ioCreatedate.slice(5, 19) }}</view> <view v-if="item.status == 0" class="sub_btn">纭浠诲姟</view> <view v-if="item.status == 1" class="sub_btn">绔嬪嵆绛惧埌</view> @@ -164,6 +166,7 @@ justify-content: space-between; align-items: center; margin-bottom: 24rpx; + padding-top: 10rpx; .name { font-weight: 600; font-size: 34rpx; diff --git a/h5/pages/driver/login.vue b/h5/pages/driver/login.vue index ef753f1..26b8fed 100644 --- a/h5/pages/driver/login.vue +++ b/h5/pages/driver/login.vue @@ -1,18 +1,19 @@ <template> <view class="login"> - <image class="login_bg" src="@/static/login_bg@2x.png" /> + <image class="login_bg" src="@/static/login_bg@2x.png" mode="widthFix" /> <image class="login_logo" src="@/static/logo@2x.png" mode="widthFix" /> <view class="login_title">瀹夋嘲鐗╂祦鏅烘収鍥尯</view> <view class="login_title">鐗╂祦杞﹀徃鏈虹櫥褰�</view> <view class="login_list"> <view class="login_list_item"> <image src="@/static/login_ic_phone@2x.png" mode="widthFix" /> - <input v-model="form.username" maxlength="18" placeholder="鎵嬫満鍙�" /> + <input v-model="form.username" @focus="showKeyboard = true" @blur="showKeyboard = false" maxlength="18" placeholder="鎵嬫満鍙�" /> </view> <view class="login_list_item"> <image src="@/static/login_ic_password@2x.png" mode="widthFix" /> <input v-model="form.password" + @focus="showKeyboard = true" @blur="showKeyboard = false" type="password" placeholder="瀵嗙爜" /> @@ -22,7 +23,7 @@ <view class="login_btn_n" @click="onLogin">绔嬪嵆鐧诲綍</view> </view> <!-- --> - <view class="btns"> + <view class="btns" v-if="!showKeyboard"> <view class="btn" @click="handleRegister">绔嬪嵆娉ㄥ唽</view> <view class="btn separate"> | </view> <view class="btn" @click="handleSetPsd">蹇樿瀵嗙爜</view> @@ -37,10 +38,11 @@ data() { return { form: { - username: '18056814089', - password: '123456' + username: '', + password: '' }, isShowProtocol: false, + showKeyboard: false, countDown: 0 } }, @@ -82,6 +84,7 @@ driverLogin({ ...form, uuid: this.captcha.uuid, + openid: this.$store.state.openId, code: '1' }).then(res => { if (res.code === 200) { @@ -121,9 +124,11 @@ margin-bottom: 40rpx; } .login_bg { - position: absolute; - top: 0; - width: 750rpx; + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: -1; } .login_title { font-size: 44rpx; diff --git a/h5/pages/driver/queueUpRecord.vue b/h5/pages/driver/queueUpRecord.vue index c8f63d1..e70a000 100644 --- a/h5/pages/driver/queueUpRecord.vue +++ b/h5/pages/driver/queueUpRecord.vue @@ -49,6 +49,9 @@ this.type = option.type; this.platformId = option.platformId; this.getData(option.jobId || ''); + uni.setNavigationBarTitle({ + title: this.type == 0 ? '宸茬鍒拌溅杈�' : '浣滀笟涓溅杈�' + }) }, methods: { getData(jobId) { diff --git a/h5/pages/driver/reserved.vue b/h5/pages/driver/reserved.vue index 7174127..038a5da 100644 --- a/h5/pages/driver/reserved.vue +++ b/h5/pages/driver/reserved.vue @@ -98,7 +98,6 @@ </view> </view> <view class="copy" @click="copy">澶嶅埗杞﹀墠鐗岀収鍙�</view> - <view class="perch"></view> <view class="handle_sub" @click="onSubmit"> 鎻愪氦 </view> @@ -377,12 +376,12 @@ } } .main_app { - // padding-top: 10rpx; + padding-top: 10rpx; .handle_sub{ - position: fixed; - bottom: 64rpx; + // position: fixed; + // bottom: 64rpx; width: 690rpx; - left: 30rpx; + margin-top: 80rpx; background-color: #4d99a8; height: 88rpx; line-height: 88rpx; diff --git a/h5/pages/driver/reservedDetail.vue b/h5/pages/driver/reservedDetail.vue index 2b90caa..e3e47b5 100644 --- a/h5/pages/driver/reservedDetail.vue +++ b/h5/pages/driver/reservedDetail.vue @@ -91,7 +91,7 @@ <view class="name_wrap"> <text>{{item.memberName}}<text v-if="item.statusInfo" class="status">({{item.statusInfo}})</text></text> </view> - <view v-if="item.approveType == 1" class="carbon"> + <view v-if="item.approveType == 1 || item.approveType == 0" class="carbon"> <view class="carbon_item" v-for="child in item.approveList" :key="child.id"> <image :src=" @@ -295,6 +295,7 @@ width: 60rpx; height: 60rpx; margin: 0 auto; + border-radius: 50%; } view { font-size: 26rpx; diff --git a/h5/pages/driver/taskDetail.vue b/h5/pages/driver/taskDetail.vue index 2b56631..e2aab9b 100644 --- a/h5/pages/driver/taskDetail.vue +++ b/h5/pages/driver/taskDetail.vue @@ -181,10 +181,10 @@ status: '0' }, jobId: '', - // lat: '', - // lnt: '', - lat: '31.783205', - lnt: '117.262635', + lat: '', + lnt: '', + // lat: '31.783205', + // lnt: '117.262635', nowTime: '', wmsInfo: {}, signDistance: uni.getStorageSync('driverGuide').signDistance, @@ -193,12 +193,23 @@ }, onLoad(option) { this.jobId = option.id - // if(option.status && option.status == '1'){ - // this.getLocation() - // }else{ - // this.getDetail() - // } - this.getDetail() + if (option.status && option.status == '1') { + // wx.config({ + // debug: false, // 寮�鍚皟璇曟ā寮�,璋冪敤鐨勬墍鏈塧pi鐨勮繑鍥炲�间細鍦ㄥ鎴风alert鍑烘潵锛岃嫢瑕佹煡鐪嬩紶鍏ョ殑鍙傛暟锛屽彲浠ュ湪pc绔墦寮�锛屽弬鏁颁俊鎭細閫氳繃log鎵撳嚭锛屼粎鍦╬c绔椂鎵嶄細鎵撳嵃銆� + // appId: 'wx173e6caf5abc718a', // 蹇呭~锛屽叕浼楀彿鐨勫敮涓�鏍囪瘑 + // timestamp: timeStamp, // 蹇呭~锛岀敓鎴愮鍚嶇殑鏃堕棿鎴� + // nonceStr: nonceStr, // 蹇呭~锛岀敓鎴愮鍚嶇殑闅忔満涓� + // signature: Sign, // 蹇呭~锛岀鍚� + // jsApiList: [ + // 'getLocation', + // 'openLocation' + // ] // 蹇呭~锛岄渶瑕佷娇鐢ㄧ殑JS鎺ュ彛鍒楄〃 + // }) + this.getLocation() + } else { + this.getDetail() + } + // this.getDetail() setInterval(() => { this.nowTime = dayjs().format('HH:mm:ss') }) @@ -254,6 +265,22 @@ const { jobId } = this + // wx.ready(() => { + // wx.getLocation({ + // type: "gcj02", // gcj02锛堢伀鏄熷潗鏍囷級锛寃gs84锛圙PS鍧愭爣锛� + // success: (res) => { + // this.lat = res.latitude + // this.lnt = res.longitude + // this.getDetail() + // }, + // fail: (err) => { + // console.error("鑾峰彇瀹氫綅澶辫触锛�", err); + // }, + // cancel: () => { + // console.warn("鐢ㄦ埛鎷掔粷鎺堟潈鑾峰彇鍦扮悊浣嶇疆"); + // }, + // }); + // }); uni.getLocation({ type: 'wgs84', success: (res) => { @@ -262,7 +289,7 @@ this.getDetail() }, fail: (err) => { - this.showToast('鑾峰彇瀹氫綅澶辫触') + this.showToast('鑾峰彇瀹氫綅澶辫触', err) } }) }, @@ -438,11 +465,12 @@ } } -.detail_modal { - height: calc( 100vh - 88rpx ); + .detail_modal { + height: calc(100vh - 88rpx); padding: 36rpx 30rpx; border-radius: 12rpx; box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5); + .modal_title { font-weight: 600; font-size: 32rpx; @@ -451,37 +479,46 @@ text-align: center; margin-bottom: 36rpx; } - .contract_wrap{ - height: calc( 100% - 400rpx ); + + .contract_wrap { + height: calc(100% - 400rpx); overflow-y: auto; } + .contract_list { border-top: 1rpx solid #E5E5E5; margin-bottom: 30rpx; padding-top: 30rpx; - &:nth-last-child(1){ + + &:nth-last-child(1) { margin-bottom: 0; } + .list { background: #f7f7f7; border-radius: 8rpx; padding: 20rpx; - .item{ + + .item { border-bottom: 1rpx solid #e5e5e5; padding-bottom: 20rpx; margin-bottom: 20rpx; - &:nth-last-child(1){ + + &:nth-last-child(1) { border: none; padding-bottom: 0; margin-bottom: 0; } } + .line { display: flex; margin-bottom: 20rpx; - &:nth-last-child(1){ + + &:nth-last-child(1) { margin-bottom: 0rpx; } + .label { color: #666666; width: 92rpx; diff --git a/h5/pages/guidemap/guidemap.vue b/h5/pages/guidemap/guidemap.vue index 3a62baf..b2914b9 100644 --- a/h5/pages/guidemap/guidemap.vue +++ b/h5/pages/guidemap/guidemap.vue @@ -1,6 +1,7 @@ <template> <view class="box"> - <view v-html="info"></view> + <!-- <view v-html="info"></view> --> + <mp-html :content="info" /> </view> </template> <script> diff --git a/h5/pages/index/index.vue b/h5/pages/index/index.vue index 3c7ac9a..91628d7 100644 --- a/h5/pages/index/index.vue +++ b/h5/pages/index/index.vue @@ -44,43 +44,7 @@ return true }, onLoad() { - var that = this - // if (!that.$store.state.openid) { - let url = window.location.href - let code = '' - let source = '' - if (url.indexOf('code=') !== -1) { - const query = url.split('?') - console.log('app-app', url) - for (const q of query) { - if (q.indexOf('code=') !== -1) { - code = q.substring(q.indexOf('code=') + 5, q.length) - } - // if (q.indexOf('source=') !== -1) { - // source = q.substring(q.indexOf('source=') + 7, q.indexOf('source=') + 8) - // } - // 鏉ユ簮:0=鍙告満锛�1=璁垮锛�2=鍐呴儴鍛樺伐 - } - wxAuthorize({ - code: code, - source: 1 - }).then(res => { - console.log('app_ress', res) - if (res.code === 200) { - that.$store.commit('setOpenId', res.data.openid) - if (res.data.member) { - that.$store.commit('setMember', res.data.member) - } - } - }) - } else { - // const appID = 'wx4d7c10bdec51942b' - // let uri = encodeURIComponent(url) - // let authURL = - // `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_base&state=123#wechat_redirect` - // window.location.href = authURL - } - // } + }, methods: { jump(type) { diff --git a/h5/pages/login/login.vue b/h5/pages/login/login.vue index b209bab..c20258d 100644 --- a/h5/pages/login/login.vue +++ b/h5/pages/login/login.vue @@ -1,122 +1,211 @@ -<template> - <view class="main_app"> - <image class="login_bg" src="@/static/login_bg@2x.png" /> - <view class="h1">瀹夋嘲鐗╂祦鏅烘収鍥尯</view> - <view class="placeholder6 place">璇烽�夋嫨鎮ㄧ殑韬唤</view> - <view class="item" @click="jump('/pages/index/index')"> - <image class="avatar" src="@/static/ic_visitor@2x.png" /> - <view class="content"> - <view class="name">鎴戞槸璁垮</view> - <view class="placeholder6">VISITOR</view> - </view> - <u-icon name="arrow-right" size="24" color="#979797" /> - </view> - <view class="item" @click="staffLogin"> - <image class="avatar" src="@/static/ic_staff@2x.png" /> - <view class="content"> - <view class="name">鎴戞槸鍛樺伐</view> - <view class="placeholder6">STAFF</view> - </view> - <u-icon name="arrow-right" size="24" color="#979797" /> - </view> - <view class="item" @click="driverLogin"> - <image class="avatar" src="@/static/ic_driver@2x.png" /> - <view class="content"> - <view class="name">鎴戞槸鐗╂祦杞﹀徃鏈�</view> - <view class="placeholder6">DRIVER</view> - </view> - <u-icon name="arrow-right" size="24" color="#979797" /> - </view> - </view> -</template> - -<script> -export default { - methods: { - jump(url) { - console.log(url) - uni.navigateTo({ - url - }) - }, - driverLogin() { - const driverInfo = uni.getStorageSync('driverInfo') || {} - if (driverInfo && driverInfo.memberId) { - uni.navigateTo({ - url: '/pages/driver/index' - }) - }else{ - uni.navigateTo({ - url: '/pages/driver/login' - }) - } - }, - staffLogin() { - const userInfo = uni.getStorageSync('userInfo') || {} - if (userInfo && userInfo.memberId) { - uni.navigateTo({ - url: '/pages/staff/index' - }) - }else{ - uni.navigateTo({ - url: '/pages/staffLogin/login' - }) - } - } - } -} -</script> - -<style lang="scss" > -.main_app { - width: 100%; - height: 100vh; - padding-top: 80rpx; - background: linear-gradient( - 180deg, - rgba(39, 155, 170, 0.2) 0%, - rgba(39, 155, 170, 0) 100% - ); - .login_bg { - position: absolute; - top: 0; - width: 750rpx; - z-index: -1; - } - .h1 { - font-weight: 600; - font-size: 48rpx; - color: #222222; - line-height: 66rpx; - margin-bottom: 16rpx; - } - .place { - margin-bottom: 98rpx; - } - .item { - width: 690rpx; - height: 200rpx; - background: #ffffff; - border-radius: 8rpx; - display: flex; - align-items: center; - padding: 40rpx; - font-size: 26rpx; - margin-bottom: 40rpx; - .avatar { - width: 120rpx; - height: 120rpx; - margin-right: 30rpx; - } - .content { - flex: 1; - .name { - font-weight: 600; - font-size: 38rpx; - color: #222222; - margin-bottom: 20rpx; - } - } - } -} +<template> + <view class="main_app"> + <image class="login_bg" src="@/static/login_bg@2x.png" mode="widthFix" /> + <view class="h1">瀹夋嘲鐗╂祦鏅烘収鍥尯</view> + <view class="placeholder6 place">璇烽�夋嫨鎮ㄧ殑韬唤</view> + <view class="item" @click="userAuth(1)"> + <image class="avatar" src="@/static/ic_visitor@2x.png" /> + <view class="content"> + <view class="name">鎴戞槸璁垮</view> + <view class="placeholder6">VISITOR</view> + </view> + <u-icon name="arrow-right" size="24" color="#979797" /> + </view> + <view class="item" @click="userAuth(2)"> + <image class="avatar" src="@/static/ic_staff@2x.png" /> + <view class="content"> + <view class="name">鎴戞槸鍛樺伐</view> + <view class="placeholder6">STAFF</view> + </view> + <u-icon name="arrow-right" size="24" color="#979797" /> + </view> + <view class="item" @click="userAuth(0)"> + <image class="avatar" src="@/static/ic_driver@2x.png" /> + <view class="content"> + <view class="name">鎴戞槸鐗╂祦杞﹀徃鏈�</view> + <view class="placeholder6">DRIVER</view> + </view> + <u-icon name="arrow-right" size="24" color="#979797" /> + </view> + </view> +</template> + +<script> + import { + wxAuthorizea, + getUserInfo + } from '@/api' + import { + baseUrl + } from "@/utils/config.js" + export default { + data() { + return { + code: '091RVIkl2SZXDe4WySll2pAL8D1RVIkb' + } + }, + onLoad() { + var that = this + let url = window.location.href + let code = '' + if (url.indexOf('code=') !== -1) { + + } else { + return + let url = window.location.href + const appID = 'wx173e6caf5abc718a' + let uri = encodeURIComponent(url) + let authURL = + `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_base#wechat_redirect` + window.location.href = authURL + } + + }, + methods: { + jump(url) { + console.log(url) + uni.navigateTo({ + url + }) + }, + driverLogin(flag) { + // const driverInfo = uni.getStorageSync('driverInfo') || {} + if (flag) { + uni.navigateTo({ + url: '/pages/driver/index' + }) + } else { + uni.navigateTo({ + url: '/pages/driver/login' + }) + } + }, + staffLogin(flag) { + // const userInfo = uni.getStorageSync('userInfo') || {} + if (flag) { + uni.navigateTo({ + url: '/pages/staff/index' + }) + } else { + uni.navigateTo({ + url: '/pages/staffLogin/login' + }) + } + }, + // source 鏉ユ簮:0=鍙告満锛�1=璁垮锛�2=鍐呴儴鍛樺伐 + userAuth(source) { + var that = this + let url = window.location.href + let code = '' + if (url.indexOf('code=') !== -1 || this.code) { + // const query = url.split('?') + // for (const q of query) { + // if (q.indexOf('code=') !== -1) { + // let statusIndex = q.indexOf('&state') - 1 + // code = q.substring(q.indexOf('code=') + 5, statusIndex) + // } + // } + wxAuthorizea({ + code: code || this.code, + source: source + }).then(res => { + if (res.code === 200) { + that.$store.commit('setOpenId', res.data.openid) + if (res.data.member) { + that.$store.commit('setMember', res.data.member) + } + if (res.data.token) { + that.$store.commit('setToken', res.data.token) + getUserInfo().then(ress => { + that.$store.commit('setUserInfo', ress.data) + }) + } + let flag = res.data.member && res.data.member.id + setTimeout(() => { + if (source == 0) { + this.driverLogin(flag) + } else if (source == 2) { + this.staffLogin(flag) + } else { + this.jump('/pages/index/index') + } + }, 300) + } + }) + } + // } + // 鍒锋柊token + // setTimeout(() => { + // refreshToken().then(res => { + // if (res.code && res.code === 200) { + // this.$store.commit('setToken', res.data) + // } + // }) + // }, 3000) + } + } + } +</script> + +<style lang="scss"> + .main_app { + width: 100vw; + box-sizing: border-box; + overflow: hidden; + margin: 0; + height: 100vh; + padding-top: 80rpx; + background: linear-gradient(180deg, + rgba(39, 155, 170, 0.2) 0%, + rgba(39, 155, 170, 0) 100%); + + .login_bg { + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: -1; + } + + .h1 { + font-weight: 600; + font-size: 48rpx; + color: #222222; + line-height: 66rpx; + margin-bottom: 16rpx; + } + + .place { + margin-bottom: 98rpx; + } + + .item { + width: 690rpx; + height: 200rpx; + background: #ffffff; + border-radius: 8rpx; + display: flex; + align-items: center; + padding: 40rpx; + font-size: 26rpx; + margin-bottom: 40rpx; + + .avatar { + width: 120rpx; + height: 120rpx; + margin-right: 30rpx; + } + + .content { + flex: 1; + + .name { + font-weight: 600; + font-size: 38rpx; + color: #222222; + margin-bottom: 20rpx; + } + } + } + } </style> \ No newline at end of file diff --git a/h5/pages/staff/index.vue b/h5/pages/staff/index.vue index 87dae86..15b25ae 100644 --- a/h5/pages/staff/index.vue +++ b/h5/pages/staff/index.vue @@ -121,7 +121,7 @@ { name: '鐢ㄨ溅鐢宠', url: '/pages/staff/vehicle/index', img: require('@/static/home/ic_yongcheshenqing@3x.png'),auth: 'weixin:menu:usecar' }, { name: '棰勭害浼氳瀹�', url: '/pages/staff/meetingSub', img: require('@/static/home/ic_yuyuehuiyishi@3x.png'),auth: 'weixin:menu:meeting' }, { name: '淇敼瀵嗙爜', url: '/pages/changePassword/changePassword', img: require('@/static/home/ic_xiugaimima@3x.png'),auth: 'weixin:menu:password' }, - { name: '鍛樺伐鑰冨嫟', url: '', img: require('@/static/home/ic_kaoqin@3x.png'),auth: 'weixin:menu:attendance' }, + { name: '鎴戠殑鑰冨嫟', url: '/pages/staff/signin', img: require('@/static/home/ic_kaoqin@3x.png'),auth: 'weixin:menu:attendance' }, ], list2: [ { name: '浠诲姟涓績', url: '/pages/staff/task/index', img: require('@/static/home/ic_renwuzhongxin@3x.png'),auth: 'weixin:menu:taskcenter' }, @@ -133,52 +133,16 @@ } }, onLoad() { - var that = this - // if (!that.$store.state.openid) { - let url = window.location.href - let code = '' - let source = '' - if (url.indexOf('code=') !== -1) { - const query = url.split('?') - console.log('app-app', url) - for (const q of query) { - if (q.indexOf('code=') !== -1) { - code = q.substring(q.indexOf('code=') + 5, q.length) - } - // if (q.indexOf('source=') !== -1) { - // source = q.substring(q.indexOf('source=') + 7, q.indexOf('source=') + 8) - // } - // 鏉ユ簮:0=鍙告満锛�1=璁垮锛�2=鍐呴儴鍛樺伐 - } - wxAuthorize({ - code: code, - source: 2 - }).then(res => { - console.log('app_ress', res) - if (res.code === 200) { - that.$store.commit('setOpenId', res.data.openid) - if (res.data.member) { - that.$store.commit('setMember', res.data.member) - } - } - }) - } else { - // const appID = 'wx4d7c10bdec51942b' - // let uri = encodeURIComponent(url) - // let authURL = - // `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_base&state=123#wechat_redirect` - // window.location.href = authURL - } - // } + this.getTaskInfo() // 鍒锋柊token - setTimeout(() => { - refreshToken().then(res => { - if (res.code && res.code === 200) { - this.$store.commit('setToken', res.data) - } - }) - }, 3000) + // setTimeout(() => { + // refreshToken().then(res => { + // if (res.code && res.code === 200) { + // this.$store.commit('setToken', res.data) + // } + // }) + // }, 3000) }, mounted() { this.$eventBus.$on('taskBack', () => { @@ -224,6 +188,7 @@ justify-content: space-between; align-items: center; margin-bottom: 24rpx; + padding-top: 10rpx; .name { font-weight: 600; font-size: 34rpx; @@ -317,7 +282,7 @@ position: fixed; width: 100%; left: 0; - bottom: 88rpx; + bottom: 48rpx; image { width: 40rpx; height: 40rpx; diff --git a/h5/pages/staff/meetingCalendar.vue b/h5/pages/staff/meetingCalendar.vue index cf2c33b..46d1239 100644 --- a/h5/pages/staff/meetingCalendar.vue +++ b/h5/pages/staff/meetingCalendar.vue @@ -131,7 +131,11 @@ <view class="status" v-if="item.meetingStatus == '5'" >宸叉挙閿�</view > - </view> + </view> + <view class="line"> + <view class="label">浼氳鏃ユ湡锛�</view> + <view class="value">{{ item.meetingDate }}</view> + </view> <view class="line"> <view class="label">浼氳鏃堕棿锛�</view> <view class="value">{{ item.meetingTime }}</view> @@ -144,10 +148,10 @@ <view class="label">棰勭害浜猴細</view> <view class="value">{{ item.bookingUser }}</view> </view> - <view class="line"> +<!-- <view class="line"> <view class="label">澶囨敞锛�</view> <view class="value">{{ item.remark || item.meetingRemark }}</view> - </view> + </view> --> </view> <view v-if="recordList.length === 0" style="text-align: center"> <image @@ -204,7 +208,8 @@ data() { return { activeTab: '0', - recordList: [], + recordList: [], + total: 0, recordPage: 1, myPage: 1, myMeetingList: [], @@ -225,18 +230,23 @@ onLoad() { this.currentDate = dayja().format('YYYY-MM-DD') this.initData() - this.getRoomList() + this.getRoomList() + this.tabClick('0') }, onShow() { // this.tabClick('0') - this.getRecordList() + }, onReachBottom() { - const { activeTab } = this - if (activeTab == '0') { + const { activeTab, total, myMeetingList, recordList } = this + console.log(total); + console.log(recordList); + if (activeTab == '0') { + // if(total <= myMeetingList.length) return this.showToast('鏆傛棤鏇村鏁版嵁') this.myPage = this.myPage + 1 this.getDayMeeting() - } else { + } else { + // if(total <= recordList.length) return this.showToast('鏆傛棤鏇村鏁版嵁') this.recordPage = this.recordPage + 1 this.getRecordList() } @@ -336,7 +346,8 @@ queryType: 2 } }).then(res => { - this.recordList = [...this.recordList, ...res.data.records] + this.recordList = [...this.recordList, ...res.data.records] + this.total = res.data.total }) }, getDayMeeting() { @@ -351,7 +362,8 @@ page: myPage, capacity: 10 }).then(res => { - this.myMeetingList = [...this.myMeetingList, ...res.data.records] + this.myMeetingList = [...this.myMeetingList, ...res.data.records] + this.total = res.data.total }) }, } diff --git a/h5/pages/staff/meetingDetail.vue b/h5/pages/staff/meetingDetail.vue index 3484e31..95017b4 100644 --- a/h5/pages/staff/meetingDetail.vue +++ b/h5/pages/staff/meetingDetail.vue @@ -15,6 +15,7 @@ <view class="value"> <!-- <text>涓昏璁ㄨ鏅鸿兘浼氳瀹ょ郴缁熼�夊瀷锛岃澶у涓�瀹氳鎸夋椂鏉ュ紑浼氾紝鏃堕棿瀹濊吹銆傛劅璋㈠ぇ瀹讹紒</text> --> <u-textarea + autoHeight border="none" v-model="detail.meetingContent" disabled @@ -255,8 +256,8 @@ } .personnel { display: flex; + flex-wrap: wrap; width: 100%; - overflow-x: auto; .per_item { flex-shrink: 0; display: flex; @@ -264,12 +265,18 @@ justify-content: center; align-items: center; justify-content: center; - margin-right: 24rpx; + margin-right: 16rpx; + width: 85rpx; + margin-bottom: 22rpx; + &:nth-of-type(7n){ + margin-right: 0; + } .avatar { width: 72rpx; height: 72rpx; margin: 0; border-radius: 50%; + margin-bottom: 8rpx; } .name { font-size: 26rpx; diff --git a/h5/pages/staff/meetingSel.vue b/h5/pages/staff/meetingSel.vue index a5b2594..2f708cc 100644 --- a/h5/pages/staff/meetingSel.vue +++ b/h5/pages/staff/meetingSel.vue @@ -21,8 +21,9 @@ <image @click="changeMem(item, index)" v-if="!item.checked" src="@/static/meeting/icon/ic_choose@2x.png" mode="widthFix" class="checked"></image> <text></text> - </view> - <view v-if="memberList.length == 0" class="empty"> + </view> + <view class="" style="height: 220rpx;"></view> + <view v-if="memberList.length == 0" class="empty_wrap"> <image src="@/static/empty.png" mode=""></image> <text>鏆傛棤鏁版嵁</text> </view> @@ -80,7 +81,7 @@ }, pagination: { page: 1, - capacity: 20 + capacity: 40 }, isShowSelMem: false @@ -269,7 +270,7 @@ left: 0; width: 100%; box-shadow: 0rpx 0rpx 6rpx 0rpx #b2b2b2; - padding: 30rpx 30rpx 64rpx; + padding: 30rpx 30rpx 42rpx; .sel_mem { display: flex; @@ -308,7 +309,7 @@ align-items: center; border-bottom: 1rpx solid #e5e5e5; padding: 30rpx 0; - + .avatar { width: 64rpx; height: 64rpx; diff --git a/h5/pages/staff/meetingSub.vue b/h5/pages/staff/meetingSub.vue index f4f8d62..09c98a0 100644 --- a/h5/pages/staff/meetingSub.vue +++ b/h5/pages/staff/meetingSub.vue @@ -299,7 +299,7 @@ left: 0; bottom: 0; background-color: #fff; - padding: 20rpx 30rpx 84rpx; + padding: 20rpx 30rpx 52rpx; box-shadow: 0rpx -3rpx 6rpx 0rpx #eeeeee; .sel_time { color: $uni-color-primary; @@ -405,6 +405,8 @@ display: flex; justify-content: center; align-items: center; + height: 100rpx; + padding-top: 10rpx; .date { margin: 0 24rpx; font-weight: 600; diff --git a/h5/pages/staff/meetingSubOrder.vue b/h5/pages/staff/meetingSubOrder.vue index f8807b0..4a386cb 100644 --- a/h5/pages/staff/meetingSubOrder.vue +++ b/h5/pages/staff/meetingSubOrder.vue @@ -40,7 +40,7 @@ <text>浼氳鍐呭</text> </view> <view class="line"> - <u-textarea border="none" v-model="param.content" count :maxlength="300" placeholder="璇疯緭鍏ヤ細璁唴瀹�" + <u-textarea border="none" autoHeight v-model="param.content" count :maxlength="300" placeholder="璇疯緭鍏ヤ細璁唴瀹�" placeholder-class="placeholder9" class="label" /> </view> </view> @@ -88,7 +88,7 @@ <text>澶囨敞</text> </view> <view class="line"> - <textarea v-model="param.remark" :maxlength="-1" placeholder="璇疯緭鍏�" placeholder-class="placeholder9" + <u-textarea border="none" autoHeight v-model="param.remark" :maxlength="-1" placeholder="璇疯緭鍏�" placeholder-class="placeholder9" class="label" /> </view> </view> @@ -306,13 +306,12 @@ .line { display: flex; - .label { flex: 1; display: flex; flex-wrap: wrap; align-items: center; - + .service_item { height: 64rpx; line-height: 64rpx; @@ -330,8 +329,6 @@ } } } - - padding-bottom: 100rpx; } .empty { @@ -351,7 +348,7 @@ border-radius: 36rpx; font-size: 30rpx; color: #ffffff; - margin-top: 20rpx; + margin-top: 40rpx; } .star { diff --git a/h5/pages/staff/memberSel.vue b/h5/pages/staff/memberSel.vue index 0ec93ae..5f0f99d 100644 --- a/h5/pages/staff/memberSel.vue +++ b/h5/pages/staff/memberSel.vue @@ -130,6 +130,9 @@ </script> <style lang="scss"> + .main_app{ + padding-top: 30rpx; + } .modal { padding: 40rpx 30rpx; .modal_header { diff --git a/h5/pages/staff/signin.vue b/h5/pages/staff/signin.vue new file mode 100644 index 0000000..881db5f --- /dev/null +++ b/h5/pages/staff/signin.vue @@ -0,0 +1,20 @@ +<template> + <view> + <web-view style="width: 100vw;height: 100vh;" src="https://atwl.ahzyssl.com/dps/web/wxAuth/loginV2?oaId=atwl&redirectId=index"></web-view> + <!-- <web-view src="https://www.baidu.com/"></web-view> --> + </view> +</template> + +<script> + export default { + data() { + return { + + }; + } + } +</script> + +<style lang="scss"> + +</style> diff --git a/h5/pages/staff/snapshot.vue b/h5/pages/staff/snapshot.vue index bb925eb..1224a70 100644 --- a/h5/pages/staff/snapshot.vue +++ b/h5/pages/staff/snapshot.vue @@ -376,7 +376,6 @@ <style lang="scss"> .main_wrap { - padding-bottom: 200rpx; .line { display: flex; @@ -471,12 +470,13 @@ .footer { width: 100%; - padding: 0 30rpx; + padding: 0 30rpx; + margin-top: 80rpx; padding-bottom: env(safe-area-inset-bottom); box-sizing: border-box; - position: fixed; - left: 0; - bottom: 68rpx; + // position: fixed; + // left: 0; + // bottom: 68rpx; .footer_btn { width: 100%; diff --git a/h5/pages/staff/vehicle/sendACarDetail.vue b/h5/pages/staff/vehicle/sendACarDetail.vue index 07bed90..cdd69e7 100644 --- a/h5/pages/staff/vehicle/sendACarDetail.vue +++ b/h5/pages/staff/vehicle/sendACarDetail.vue @@ -126,10 +126,10 @@ <u-popup :show="showApprModal" :round="10" :safeAreaInsetBottom="true" mode="bottom" @close="showApprModal = false"> <view class="appr_modal"> <view class="title">{{ param.status == 2 ? "鍚屾剰" : "鎷掔粷" }}</view> - <view v-if="param.status == 2" class="line" @click="isShowDrive = true"> - <text v-if="param.driverName">{{ param.driverName }}</text> + <view v-if="param.status == 2" class="line" @click="openModal"> + <text :class="{placeholder9: info.approveDateVO.driverParam == 0}" v-if="param.driverName">{{ param.driverName }}</text> <text v-else class="placeholder9">娲捐溅鍙告満</text> - <u-icon class="ml12" name="arrow-right" color="#999999" /> + <u-icon v-if="info.approveDateVO.driverParam == 1" class="ml12" name="arrow-right" color="#999999" /> </view> <textarea v-model="param.checkInfo" :placeholder=" param.status == 2 ? '鍚屾剰璇存槑锛岄潪蹇呭~' : '鎷掔粷璇存槑锛屽繀濉�' @@ -207,6 +207,11 @@ }) } }) + }, + openModal() { + if(this.info.approveDateVO.driverParam == 0) return + this.isShowDrive = true + }, onSubBack() { carUseBookBack({ diff --git a/h5/pages/staff/vehicle/shinei.vue b/h5/pages/staff/vehicle/shinei.vue index 35d1c20..3e00088 100644 --- a/h5/pages/staff/vehicle/shinei.vue +++ b/h5/pages/staff/vehicle/shinei.vue @@ -289,8 +289,8 @@ .app_header { display: flex; align-items: center; - margin: 0 -15rpx; - + margin: 0 -15rpx; + padding-top: 10rpx; .item { width: 330rpx; height: 72rpx; @@ -306,11 +306,11 @@ } .main_footer { - position: absolute; + position: fixed; width: 100%; left: 0; bottom: 0; - padding: 20rpx 30rpx 84rpx; + padding: 20rpx 30rpx 52rpx; box-shadow: 0rpx -3rpx 6rpx 0rpx #eeeeee; .sel_time { diff --git a/h5/pages/staff/vehicle/shiwai.vue b/h5/pages/staff/vehicle/shiwai.vue index 6eb83c4..790f484 100644 --- a/h5/pages/staff/vehicle/shiwai.vue +++ b/h5/pages/staff/vehicle/shiwai.vue @@ -343,7 +343,7 @@ left: 0; background-color: #fff; bottom: 0; - padding: 20rpx 30rpx 84rpx; + padding: 20rpx 30rpx 62rpx; box-shadow: 0rpx -3rpx 6rpx 0rpx #eeeeee; .df_sb{ diff --git a/h5/pages/staff/visitorReport.vue b/h5/pages/staff/visitorReport.vue index dc74cc3..afc7353 100644 --- a/h5/pages/staff/visitorReport.vue +++ b/h5/pages/staff/visitorReport.vue @@ -682,10 +682,7 @@ padding: 0 30rpx; padding-bottom: env(safe-area-inset-bottom); box-sizing: border-box; - position: fixed; - left: 0; - bottom: 68rpx; - + margin-top: 80rpx; .footer_btn { width: 100%; height: 88rpx; diff --git a/h5/pages/staffLogin/forgetPsd.vue b/h5/pages/staffLogin/forgetPsd.vue index ab6b45e..a009fb9 100644 --- a/h5/pages/staffLogin/forgetPsd.vue +++ b/h5/pages/staffLogin/forgetPsd.vue @@ -1,6 +1,6 @@ <template> <view class="login"> - <image class="login_bg" src="@/static/login_bg@2x.png" /> + <image class="login_bg" src="@/static/login_bg@2x.png" mode="widthFix" /> <image class="login_logo" src="@/static/logo@2x.png" mode="widthFix" /> <view class="login_title">瀹夋嘲鐗╂祦鏅烘収鍥尯</view> <view class="login_list"> @@ -121,7 +121,6 @@ <style lang="scss" scoped> .login { width: 100%; - height: 100vh; display: flex; padding-top: 130rpx; box-sizing: border-box; @@ -137,9 +136,11 @@ height: 180rpx; } .login_bg { - position: absolute; - top: 0; - width: 750rpx; + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: -1; } .login_title { font-size: 44rpx; diff --git a/h5/pages/staffLogin/login.vue b/h5/pages/staffLogin/login.vue index 510a544..13adeca 100644 --- a/h5/pages/staffLogin/login.vue +++ b/h5/pages/staffLogin/login.vue @@ -1,20 +1,20 @@ <template> <view class="login"> - <image class="login_bg" src="@/static/login_bg@2x.png" /> + <image class="login_bg" src="@/static/login_bg@2x.png" mode="widthFix" /> <image class="login_logo" src="@/static/logo@2x.png" mode="widthFix" /> <view class="login_title">瀹夋嘲鐗╂祦鏅烘収鍥尯</view> <view class="login_list"> <view class="login_list_item"> <image src="@/static/login_ic_phone@2x.png" mode="widthFix" /> - <input v-model="form.username" maxlength="18" placeholder="璐﹀彿" /> + <input v-model="form.username" maxlength="18" @focus="showKeyboard = true" @blur="showKeyboard = false" placeholder="璐﹀彿" /> </view> <view class="login_list_item"> <image src="@/static/login_ic_password@2x.png" mode="widthFix" /> - <input v-model="form.password" type="password" placeholder="瀵嗙爜" /> + <input v-model="form.password" @focus="showKeyboard = true" @blur="showKeyboard = false" type="password" placeholder="瀵嗙爜" /> </view> <view class="login_list_item"> <image src="@/static/ic_captcha.png" mode="widthFix"></image> - <input v-model="form.code" placeholder="楠岃瘉鐮�" type="text" /> + <input v-model="form.code" @focus="showKeyboard = true" @blur="showKeyboard = false" placeholder="楠岃瘉鐮�" type="text" /> <image @click="initCaptcha" :src="captcha.image" @@ -30,7 +30,7 @@ > </view> - <view class="deal_wrap"> + <view class="deal_wrap" v-show="!showKeyboard"> <image @click="changeFalg" v-if="ProtocolFlag" @@ -56,7 +56,8 @@ mode="center" > <view class="modal"> - <view v-html="htmlText"></view> + <!-- <view v-html="htmlText"></view> --> + <mp-html :content="htmlText" /> </view> </u-popup> </view> @@ -76,6 +77,7 @@ password: '', code: '' }, + showKeyboard: false, isShowProtocol: false, ProtocolFlag: false, captcha: {}, @@ -136,7 +138,7 @@ loginPost({ ...form, uuid: this.captcha.uuid, - openId: this.$store.state.openId + openid: this.$store.state.openId }).then(res => { if (res.code === 200) { this.setToken(res.data) @@ -156,7 +158,6 @@ <style lang="scss" scoped> .login { width: 100%; - height: 100vh; display: flex; padding-top: 130rpx; box-sizing: border-box; @@ -172,9 +173,11 @@ height: 180rpx; } .login_bg { - position: absolute; - top: 0; - width: 750rpx; + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: -1; } .login_title { font-size: 44rpx; @@ -244,11 +247,11 @@ } } .deal_wrap { - position: absolute; + position: fixed; width: 100%; left: 0; text-align: center; - bottom: 88rpx; + bottom: 48rpx; display: flex; justify-content: center; align-items: center; @@ -263,9 +266,10 @@ } .modal { width: 690rpx; - min-height: 920rpx; + min-height: 820rpx; max-height: 720px; border-radius: 24rpx; padding: 32rpx; + overflow: auto; } </style> diff --git a/h5/pages/userinfo/userinfo.vue b/h5/pages/userinfo/userinfo.vue index 8cb6fa5..d6ed245 100644 --- a/h5/pages/userinfo/userinfo.vue +++ b/h5/pages/userinfo/userinfo.vue @@ -4,13 +4,13 @@ <view class="cell"> <view class="title"><b>*</b>濮撳悕</view> <view class="content"> - <input class="input" placeholder-style="color: #999999;" maxlength="30" v-model="visitorData.name" placeholder="璇疯緭鍏ユ偍鐨勭湡瀹炲鍚�" /> + <input class="input" @focus="showKeyboard = true" @blur="showKeyboard = false" placeholder-style="color: #999999;" maxlength="30" v-model="visitorData.name" placeholder="璇疯緭鍏ユ偍鐨勭湡瀹炲鍚�" /> </view> </view> <view class="cell"> <view class="title"><b>*</b>鎵嬫満鍙�</view> <view class="content"> - <input type="number" class="input" maxlength="11" placeholder-style="color: #999999;" v-model="visitorData.phone" placeholder="璇疯緭鍏ユ偍鐨勬墜鏈哄彿" /> + <input type="number" @focus="showKeyboard = true" @blur="showKeyboard = false" class="input" maxlength="11" placeholder-style="color: #999999;" v-model="visitorData.phone" placeholder="璇疯緭鍏ユ偍鐨勬墜鏈哄彿" /> </view> </view> <view class="cell"> @@ -23,14 +23,14 @@ <view class="cell"> <view class="title"><b>*</b>璇佷欢鍙风爜</view> <view class="content"> - <input class="input" maxlength="18" placeholder-style="color: #999999;" v-model="visitorData.idcardNo" placeholder="璇疯緭鍏ユ偍鐨勮瘉浠跺彿鐮�" /> + <input class="input" maxlength="18" @focus="showKeyboard = true" @blur="showKeyboard = false" placeholder-style="color: #999999;" v-model="visitorData.idcardNo" placeholder="璇疯緭鍏ユ偍鐨勮瘉浠跺彿鐮�" /> </view> </view> <view class="empty"></view> <view class="cell"> <view class="title"><b>*</b>鍏徃鍚嶇О</view> <view class="content"> - <input class="input" maxlength="50" placeholder-style="color: #999999;" v-model="visitorData.companyName" placeholder="璇疯緭鍏ユ偍鐨勫叕鍙稿悕绉�" /> + <input class="input" maxlength="50" @focus="showKeyboard = true" @blur="showKeyboard = false" placeholder-style="color: #999999;" v-model="visitorData.companyName" placeholder="璇疯緭鍏ユ偍鐨勫叕鍙稿悕绉�" /> </view> </view> <view class="cell"> @@ -61,7 +61,7 @@ </view> </view> --> </view> - <view class="footer-box"> + <view v-if="!showKeyboard" class="footer-box"> <view class="submit-button" @click="submit">涓嬩竴姝�</view> </view> <!-- <tly-picture-cut ref="tlyPictureCut" :pictureSrc="photoSrc" @createImg="uploadImg"></tly-picture-cut> --> @@ -81,6 +81,7 @@ return { photoSrc: "", show: false, + showKeyboard: false, visit: '', type: '', columns: [[{name: '韬唤璇�', id: 0}, {name: '娓境璇佷欢', id: 1},{name: '鎶ょ収', id: 2}]], diff --git a/h5/pages/visitorApplication/visitorApplication.vue b/h5/pages/visitorApplication/visitorApplication.vue index b309a87..135a850 100644 --- a/h5/pages/visitorApplication/visitorApplication.vue +++ b/h5/pages/visitorApplication/visitorApplication.vue @@ -102,7 +102,6 @@ </view> </view> </view> - <view class="zw"></view> <view class="footer"> <view class="footer_btn" @click="onSubmit">鎻愪氦</view> </view> @@ -1388,9 +1387,10 @@ padding: 0 30rpx; padding-bottom: env(safe-area-inset-bottom); box-sizing: border-box; - position: fixed; - left: 0; - bottom: 30rpx; + margin-top: 80rpx; + // position: fixed; + // left: 0; + // bottom: 30rpx; .footer_btn { width: 100%; diff --git a/h5/pages/visitorSubGuide/index.vue b/h5/pages/visitorSubGuide/index.vue index 6b6238c..0eff7a8 100644 --- a/h5/pages/visitorSubGuide/index.vue +++ b/h5/pages/visitorSubGuide/index.vue @@ -1,6 +1,7 @@ <template> <view class="box"> - <view v-html="info"></view> + <!-- <view v-html="info"></view> --> + <mp-html :content="info" /> </view> </template> <script> diff --git a/h5/static/redirect.html b/h5/static/redirect.html index 2a21a20..8fb92cd 100644 --- a/h5/static/redirect.html +++ b/h5/static/redirect.html @@ -4,6 +4,7 @@ <meta charset="UTF-8"> <title>閲嶅畾鍚�</title> <script> + // wxac2a80c2144c4ee0 var p = location.href.split("?") // window.location.href = 'http://192.168.0.173/h5/#/pages/notice/notice?' + 'code=123123' window.location.href = 'http://192.168.0.173/h5/#/pages/notice/notice?' + p[1] diff --git a/h5/static/redirect2.html b/h5/static/redirect2.html new file mode 100644 index 0000000..422b442 --- /dev/null +++ b/h5/static/redirect2.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <title>閲嶅畾鍚�</title> + <script> + // wxac2a80c2144c4ee0 + var p = location.href.split("?") + // window.location.href = 'http://192.168.0.173/h5/#/pages/notice/notice?' + 'code=123123' + // window.location.href = 'http://192.168.0.173/h5/#/pages/notice/notice?' + p[1] + // window.location.href = 'http://192.168.0.173/h5/#/pages/staff/meetingDetail?' + p[1] + window.location.href = 'http://192.168.0.173/h5/#/pages/login/login?' + p[1] + </script> +</head> +<body> + +</body> +</html> diff --git a/h5/store/index.js b/h5/store/index.js index a0a9693..94fb56e 100644 --- a/h5/store/index.js +++ b/h5/store/index.js @@ -19,8 +19,8 @@ const store = new Vuex.Store({ state: { - // openId: openId || '061kuG0006hxcS13TT200w9VIp4kuG09', - openId: openId || '123123', + openId: openId || '', + // openId: openId || '123123', member: member || null, statusbarHeight: statusbarHeight || '0', navHeight: navHeight || '0', diff --git a/h5/utils/config.js b/h5/utils/config.js index d6d6ee5..f0713f7 100644 --- a/h5/utils/config.js +++ b/h5/utils/config.js @@ -1,7 +1,8 @@ -export const baseUrl = 'gateway_interface/' +export const baseUrl = 'zhyq_interface/' // export const baseUrl = 'http://192.168.0.173/gateway_interface/' // export const baseUrl = 'http://10.50.250.253:8088/gateway_interface/' +// export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' export const uploadAvatar = `${baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do` export const uploadUrl = `${baseUrl}visitsAdmin/cloudService/public/uploadBatch` diff --git a/h5/utils/service.js b/h5/utils/service.js index 70e1617..0539bd3 100644 --- a/h5/utils/service.js +++ b/h5/utils/service.js @@ -18,7 +18,7 @@ method: options.method || 'GET', header: options.header || { // 鏍规嵁瀹為檯鎺ュ彛璁捐 key 鍙� token 鎴栬�� authorization - dm_user_token: token, + dm_user_token: token || '', "content-type": 'application/json' }, success: (res) => { diff --git a/screen/src/views/FireFighting.vue b/screen/src/views/FireFighting.vue index dc8bb57..8e63144 100644 --- a/screen/src/views/FireFighting.vue +++ b/screen/src/views/FireFighting.vue @@ -708,12 +708,6 @@ } const dataList1 = ref([]) -// const getData1 = () => { -// getFightingDeAlarm().then(res => { -// dataList1.value = res.data -// loopFn1() -// }) -// } const policeColors = ['#01D9FE', '#FE5501', '#0193FE', '#28F0C4'] const dataList2 = ref([]) const getData2 = () => { @@ -751,7 +745,6 @@ const data3 = dataList3.value.map(i => i.liftNum) const data4 = dataList3.value.map(i => i.errNum) const months = dataList3.value.map(i => { - console.log('i.startDate', i.startDate.substring(5, 7)) return i.startDate.substring(5, 7) + '鏈�' } ) @@ -901,7 +894,6 @@ getFightingcenterData().then(res => { dataList4.value = res.data || {} dataList1.value = res.data.deviceTypeList - loopFn1() }) } const dataList5 = ref({}) // 缁翠繚 @@ -918,7 +910,6 @@ } const dataList7 = ref([]) const getData7 = () => { - getFighalarmDataList().then(res => { dataList7.value = res.data || [] dataList7.value = dataList7.value.map(item => { @@ -926,18 +917,6 @@ return item }) }) - // dataList7.value = [ - // { name: '娑堥槻鍛婅', addr: '鍘傚尯闂ㄥ彛', time: '2022-02-02' }, - // { name: '娑堥槻鍛婅', addr: '鍘傚尯闂ㄥ彛', time: '2022-02-02' }, - // { name: '娑堥槻鍛婅', addr: '鍘傚尯闂ㄥ彛', time: '2022-02-02' }, - // { name: '娑堥槻鍛婅', addr: '鍘傚尯闂ㄥ彛', time: '2022-02-02' }, - // { name: '娑堥槻鍛婅', addr: '鍘傚尯闂ㄥ彛', time: '2022-02-02' }, - // { name: '娑堥槻鍛婅', addr: '鍘傚尯闂ㄥ彛', time: '2022-02-02' }, - // { name: '娑堥槻鍛婅', addr: '鍘傚尯闂ㄥ彛', time: '2022-02-02' }, - // { name: '娑堥槻鍛婅', addr: '鍘傚尯闂ㄥ彛', time: '2022-02-02' }, - // { name: '娑堥槻鍛婅', addr: '鍘傚尯闂ㄥ彛', time: '2022-02-02' }, - // ] - loopFn2() } const autoplayFlag = (list = [], leng = 4, time = 2000) => { @@ -987,20 +966,14 @@ }, 60 * 60 * 1000) - initWatergage() initLiquidlevel() - // setInterval(() => { - // getData4() - // }, 1000 * 60) - // setInterval(() => { - // getData1() - // getData2() - // getData3() - // getData5() - // getData6() - // }, 1000 * 60 * 60) + setTimeout(() => { + loopFn1() + loopFn2() + }, 12000) + }) diff --git a/screen/src/views/LogisticsCenter.vue b/screen/src/views/LogisticsCenter.vue index 1c78c26..ccf7558 100644 --- a/screen/src/views/LogisticsCenter.vue +++ b/screen/src/views/LogisticsCenter.vue @@ -754,7 +754,6 @@ item.taskDate = item.taskDate.slice(5, 16) return item }) - loopFn1() }) } @@ -1273,9 +1272,9 @@ initEchart3() // initEchart4() // initEchart5() - window.addEventListener('click', () => { - - }) + setTimeout(() => { + loopFn1() + }, 12000) }) diff --git a/screen/src/views/LogisticsEfficiency.vue b/screen/src/views/LogisticsEfficiency.vue index 48bf228..8a4cebb 100644 --- a/screen/src/views/LogisticsEfficiency.vue +++ b/screen/src/views/LogisticsEfficiency.vue @@ -827,7 +827,6 @@ wlplatformJobList().then(res => { const result = res.data dataList3.value = result - loopFn1() }) } const data4 = ref({}) @@ -862,7 +861,6 @@ wlstockList().then(res => { const result = res.data dataList6.value = result - loopFn2() }) } @@ -900,6 +898,11 @@ getData6() initMap() + + setTimeout(() => { + loopFn1() + loopFn2() + }, 12000) }) diff --git a/screen/src/views/SecurityControl.vue b/screen/src/views/SecurityControl.vue index f89016a..878f757 100644 --- a/screen/src/views/SecurityControl.vue +++ b/screen/src/views/SecurityControl.vue @@ -659,23 +659,24 @@ }]), new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ offset: 0, + color: '#4370f2' + }, { + offset: 1, + color: '#61d3f9' + }]), + new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ + offset: 0, color: '#4679f6' }, { offset: 1, color: '#4674f6' }]), - new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ - offset: 0, - color: '#4370f2' - }, { - offset: 1, - color: '#61d3f9' - }])] + ] const data = [] - data.push({ name: '寰呰闂�', value: data4.value.waitVisitNum, rate: data4.value.waitVisitNum / data4.value.total }) - data.push({ name: '宸茬櫥璁�', value: data4.value.registerVisitNum, rate: data4.value.registerVisitNum / data4.value.total }) - data.push({ name: '宸茬寮�', value: data4.value.levelNum, rate: data4.value.levelNum / data4.value.total }) - data.push({ name: '婊炵暀', value: data4.value.retentionNum, rate: data4.value.retentionNum / data4.value.total }) + data.push({ name: '寰呰闂�', value: data4.value.waitVisitNum, rate: (data4.value.waitVisitNum / data4.value.total).toFixed(1) }) + data.push({ name: '宸茬櫥璁�', value: data4.value.registerVisitNum, rate: (data4.value.registerVisitNum / data4.value.total).toFixed(1) }) + data.push({ name: '宸茬寮�', value: data4.value.levelNum, rate: (data4.value.levelNum / data4.value.total).toFixed(1) }) + data.push({ name: '婊炵暀', value: data4.value.retentionNum, rate: (data4.value.retentionNum / data4.value.total).toFixed(1) }) const option = { color: colors, tooltip: { @@ -739,12 +740,16 @@ label: { show: true, position: 'outside', - formatter: '{a|{b}} {a|{d}%}', + formatter: (params) => { + const index = params.dataIndex; + return `{color${index}|${params.data.name} ${params.data.rate}%}` + // return `<div>${params.data.name}</div>` + }, rich: { - a: { - color: '#869CC9', - fontSize: 13 - }, + color0: { color: 'orange', fontSize: 14 }, + color1: { color: '#869CC9', fontSize: 13 }, + color2: { color: '#869CC9', fontSize: 13 }, + color3: { color: '#869CC9', fontSize: 13 } } }, labelLine: { @@ -823,7 +828,6 @@ dataListT2.value = temp } initEchart2() - loopFn2() }) } @@ -851,36 +855,8 @@ return i }) initEchart3() - loopFn3() }) - - // getVisitRetentionData().then(res => { - // const result = res.data || [] - // dataList3.value = result.map(i => { - // if (i.timeOutMinute) { - // i.timeOutMinute = Math.abs(i.timeOutMinute) - // } - // if (i.timeOutMinute > 60 * 24) { - // i.timeOutMinuteT = dayjs.duration(i.timeOutMinute * 60 * 1000).format('D澶〩鏃秏鍒�') - // } else if (i.timeOutMinute > 60) { - // i.timeOutMinuteT = dayjs.duration(i.timeOutMinute * 60 * 1000).format('H鏃秏鍒�') - // } else { - // i.timeOutMinuteT = item.timeOutMinuteT + '鍒�' - // } - - // return i - // }) - // loopFn3() - // }) } -// const data4 = ref({}) -// const getData4 = () => { -// afgetVisitData().then(res => { -// const result = res.data || {} -// data4.value = result -// initEchart3() -// }) -// } const warningTab = ref('0') const warningNum = ref(0) @@ -898,7 +874,6 @@ warningList.value.forEach((item, i) => { // console.log(i); if (i == 0 || i % 2 == 0) { - console.log(i) temp.push(item) } else { temp[temp.length - 1].addr0 = item.addr @@ -910,7 +885,6 @@ }) warningList.value = temp // console.log('temp', warningList.value); - loopFn1() }) } const tasClick = (val) => { @@ -994,7 +968,7 @@ getData3() getData5() getWarning() - + setInterval(() => { getData1() getData2() @@ -1005,6 +979,12 @@ setInterval(() => { getData5() }, 1000 * 60 * 60) + + setTimeout(() => { + loopFn1() + loopFn2() + loopFn3() + }, 12000) }) @@ -1286,7 +1266,7 @@ .menu_wrap { margin-top: 15px; max-height: 440px; - overflow: hidden; + overflow: auto; .menu { .menu_name { diff --git a/screen/src/views/TaskEfficiency.vue b/screen/src/views/TaskEfficiency.vue index 10a374f..fac6891 100644 --- a/screen/src/views/TaskEfficiency.vue +++ b/screen/src/views/TaskEfficiency.vue @@ -546,18 +546,19 @@ }]), new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ offset: 0, + color: '#4370f2' + }, { + offset: 1, + color: '#61d3f9' + }]), + new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ + offset: 0, color: '#4679f6' }, { offset: 1, color: '#4674f6' }]), - new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ - offset: 0, - color: '#4370f2' - }, { - offset: 1, - color: '#61d3f9' - }])] + ] const temp = [] temp.push({ name: '绛惧埌鏁�', value: data4.value?.signedNum || 0, rate: data4.value?.signedNum ? '100.0' : 0 }) temp.push({ name: '宸插彨鍙�', value: data4.value?.calledNum || 0, rate: data4.value?.signedNum ? (data4.value.calledNum / data4.value?.signedNum * 100).toFixed(1) : 0 }) @@ -610,14 +611,15 @@ show: true, position: 'outside', formatter: (params) => { - return `{a|${params.data.name} ${params.data.rate}%}` + const index = params.dataIndex; + return `{color${index}|${params.data.name} ${params.data.rate}%}` // return `<div>${params.data.name}</div>` }, rich: { - a: { - color: '#869CC9', - fontSize: 13 - }, + color0: { color: 'orange', fontSize: 14 }, + color1: { color: '#869CC9', fontSize: 13 }, + color2: { color: '#869CC9', fontSize: 13 }, + color3: { color: '#869CC9', fontSize: 13 } } }, labelLine: { @@ -689,7 +691,6 @@ item.rate = ((item.workTotalTime / count) * 30).toFixed(0) return item }) - loopFn2() }) } @@ -745,7 +746,6 @@ i.finishTime = dayjs(i.finishTime).format('HH:mm') return i }) - loopFn5() }) } @@ -765,7 +765,6 @@ item.haveTime = dayjs.duration(new Date().getTime() - new Date(item.createDate).getTime()).format('HH灏忔椂mm鍒嗛挓') return item }) - loopFn7() }) } @@ -836,9 +835,12 @@ getData6() getData7() }, 1000 * 60) - // initEchart1() - // initEchart2() - // initEchart3() + + setTimeout(() => { + loopFn2() + loopFn5() + loopFn7() + }, 12000) }) -- Gitblit v1.9.3