From 80d1d37bfad07bb37154f3dc471de6dabdbba688 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期四, 19 九月 2024 10:43:04 +0800 Subject: [PATCH] ll --- h5_meeting/package-lock.json | 134 ++++++++++++++++++++++++-- h5/pages/staffLogin/login.vue | 2 h5_meeting/pages/index/index.vue | 132 +++++++++++++++++++------- h5_meeting/.hbuilderx/launch.json | 9 + h5_meeting/package.json | 3 admin/src/views/meeting/components/OperaRoomsWindow.vue | 10 - h5/manifest.json | 2 h5/static/redirect.html | 1 h5_meeting/manifest.json | 2 9 files changed, 239 insertions(+), 56 deletions(-) diff --git a/admin/src/views/meeting/components/OperaRoomsWindow.vue b/admin/src/views/meeting/components/OperaRoomsWindow.vue index 15981d2..46e53f5 100644 --- a/admin/src/views/meeting/components/OperaRoomsWindow.vue +++ b/admin/src/views/meeting/components/OperaRoomsWindow.vue @@ -150,9 +150,6 @@ open(title, target) { this.title = title this.visible = true - this.form.imgFullUrl = '' - // this.timeRange = ['14:34:55', '14:34:55'] - // debugger this.timeRange = ['', ''] // 鏂板缓 if (target == null) { @@ -167,13 +164,14 @@ for (const key in this.form) { this.form[key] = target[key] } + if(target.fileType == 1 && target.multifileList && target.multifileList.length > 0){ + this.$set(this.form, 'videoFullUrl', target.multifileList[0].fileurlFull) + this.$set(this.form, 'videourl', target.multifileList[0].fileurl) + } this.timeRange = [target.startTime, target.endTime] this.form.projectList = this.form.projectList ? target.projectList.map(item => item.projectId) : [] this.form.sysList = this.form.sysList ? this.form.sysList.map(item => item.userId) : [] // console.log(this.form.imgFullUrl); - console.log(this.form) - console.log(this.form.intervalTime) - console.log(target) }) }, imgDel(i) { diff --git a/h5/manifest.json b/h5/manifest.json index b6fb455..50678d7 100644 --- a/h5/manifest.json +++ b/h5/manifest.json @@ -91,7 +91,7 @@ "proxy" : { "/admin_interface" : { // 杩欎釜瀛楁鍚嶉渶涓庝綘閰嶇疆鐨刡asePrefixUrl涓�鑷达紝绯荤粺璇嗗埆鍒板甫鏈�/dev-api璇锋眰鐨勫湴鍧�鏃讹紝浼氬湪鍓嶉潰鎷兼帴涓婁唬鐞嗘湇鍔″櫒鍦板潃 - "target" : "http://192.168.0.139/admin_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 + "target" : "http://192.168.137.1:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 // "target" : "http://192.168.31.42:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 // "target" : "http://10.50.250.178:8088/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 "changeOrigin" : true, // 鍏佽璺ㄥ煙 diff --git a/h5/pages/staffLogin/login.vue b/h5/pages/staffLogin/login.vue index a0a5506..6ab5bd1 100644 --- a/h5/pages/staffLogin/login.vue +++ b/h5/pages/staffLogin/login.vue @@ -71,7 +71,7 @@ data() { return { form: { - username: '18056814089', + username: '13996529050', password: '123456', code: 1 }, diff --git a/h5/static/redirect.html b/h5/static/redirect.html index a47a805..2a21a20 100644 --- a/h5/static/redirect.html +++ b/h5/static/redirect.html @@ -7,6 +7,7 @@ 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/staff/index?' + p[1] </script> </head> diff --git a/h5_meeting/.hbuilderx/launch.json b/h5_meeting/.hbuilderx/launch.json new file mode 100644 index 0000000..f5c1c0b --- /dev/null +++ b/h5_meeting/.hbuilderx/launch.json @@ -0,0 +1,9 @@ +{ + "version" : "1.0", + "configurations" : [ + { + "openVueDevtools" : false, + "type" : "uni-app:h5" + } + ] +} diff --git a/h5_meeting/manifest.json b/h5_meeting/manifest.json index c4546a5..52ecdd7 100644 --- a/h5_meeting/manifest.json +++ b/h5_meeting/manifest.json @@ -19,7 +19,7 @@ "/meetingAdmin": { // 杩欎釜瀛楁鍚嶉渶涓庝綘閰嶇疆鐨刡asePrefixUrl涓�鑷达紝绯荤粺璇嗗埆鍒板甫鏈�/dev-api璇锋眰鐨勫湴鍧�鏃讹紝浼氬湪鍓嶉潰鎷兼帴涓婁唬鐞嗘湇鍔″櫒鍦板潃 // "target" : "http://192.168.0.173/admin_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 - "target": "http://192.168.0.139:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 + "target": "http://192.168.137.1:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 "changeOrigin": true, // 鍏佽璺ㄥ煙 "pathRewrite": { "^/meetingAdmin": "" // 閲嶅啓鍦板潃锛屽鏋滃疄闄呮帴鍙d腑鏄笉甯�/dev-api锛岄渶瑕佸皢杩欎釜鍓嶇紑缃┖锛屽洜涓鸿繖涓墠缂�鍙槸涓轰簡璇嗗埆鐢紝璇嗗埆瀹屼箣鍚庡氨娌$敤浜� diff --git a/h5_meeting/package-lock.json b/h5_meeting/package-lock.json index 23f7be0..41a7d26 100644 --- a/h5_meeting/package-lock.json +++ b/h5_meeting/package-lock.json @@ -1,17 +1,131 @@ { - "name": "h5_meeting", - "lockfileVersion": 3, "requires": true, - "packages": { - "": { - "dependencies": { - "dayjs": "^1.11.13" + "lockfileVersion": 1, + "dependencies": { + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" } }, - "node_modules/dayjs": { - "version": "1.11.13", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" + "dayjs": { + "version": "1.11.13" + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "js-binary-schema-parser": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/js-binary-schema-parser/-/js-binary-schema-parser-2.0.3.tgz", + "integrity": "sha512-xezGJmOb4lk/M1ZZLTR/jaBHQ4gG/lqQnJqdIv4721DMggsa1bDVlHXNeHYogaIEHD9vCRv0fcL4hMA+Coarkg==" + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "parenthesis": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz", + "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==" + }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" + }, + "simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "requires": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "string-split-by": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string-split-by/-/string-split-by-1.0.0.tgz", + "integrity": "sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==", + "requires": { + "parenthesis": "^3.1.5" + } + }, + "vue-qr": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/vue-qr/-/vue-qr-4.0.9.tgz", + "integrity": "sha512-pAISV94T0MNEYA3NGjykUpsXRE2QfaNxlu9ZhEL6CERgqNc21hJYuP3hRVzAWfBQlgO18DPmZTbrFerJC3+Ikw==", + "requires": { + "glob": "^8.0.1", + "js-binary-schema-parser": "^2.0.2", + "simple-get": "^4.0.1", + "string-split-by": "^1.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" } } } diff --git a/h5_meeting/package.json b/h5_meeting/package.json index 8155ec5..c2ce703 100644 --- a/h5_meeting/package.json +++ b/h5_meeting/package.json @@ -1,5 +1,6 @@ { "dependencies": { - "dayjs": "^1.11.13" + "dayjs": "^1.11.13", + "vue-qr": "^4.0.9" } } diff --git a/h5_meeting/pages/index/index.vue b/h5_meeting/pages/index/index.vue index a1878d3..91910e4 100644 --- a/h5_meeting/pages/index/index.vue +++ b/h5_meeting/pages/index/index.vue @@ -2,37 +2,44 @@ <view class="main_app"> <image src="@/static/bg@2x.png" class="main_bg" mode=""></image> <view class="header_wrap"> - <view class="title" @touchend="touchend">浼氳瀹�</view> + <view class="title" @touchend="touchend">{{info.roomName}}</view> <view class="time_wrap"> <view class="time">{{time}}</view> <view class="date">{{date}}</view> </view> </view> - <view class="home_status orange">浼氳涓�</view> - <view class="meeting_name">浼氳鍚嶇О</view> + <view class="home_status"> + <text v-if="!info.meetingListResponseList || info.meetingListResponseList.length == 0">绌洪棽涓�</text> + <text v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 4">鍗冲皢寮�濮�</text> + <text class="orange" v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 2">浼氳涓�</text> + <text v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 1">鏈紑濮�</text> + <text v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 3">宸茬粨鏉�</text> + <text v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 5">宸叉挙閿�</text> + </view> + <view class="meeting_name">{{meetingInfo.meetingName}}</view> <view class="meeting_con"> <view class="content"> <view class="line"> <image src="@/static/ic_time@2x.png"></image> - <text>10~12</text> + <text>{{meetingInfo.meetingTime }}</text> </view> <view class="line"> <image src="@/static/ic_people@2x.png"></image> - <text>10~12</text> + <text>棰勭害浜猴細{{meetingInfo.bookingUser }}</text> </view> - </view> - <view class="qrcode"></view> + </view> + <vueQr v-if="meetingInfo.id" :text="meetingInfo.id" class="qrcode" /> </view> <view class="meeting_wrap"> - <view class="title">浠婃棩浼氳锛�6锛�</view> + <view class="title">浠婃棩浼氳锛坽{ info.meetingListResponseList && info.meetingListResponseList.length > 0 ? info.meetingListResponseList.length : 0 }}锛�</view> <view class="list"> - <view class="item"> - <view class="name">寮�鍙戦儴浼氳</view> - <view class="line">棰勭害浜猴細鏉庢��鑻�</view> - <view class="line">13:30锝�15:00锛堝嵆灏嗗紑濮嬶級</view> + <view class="item" v-for="item in info.meetingListResponseList"> + <view class="name">{{item.meetingName}}</view> + <view class="line">棰勭害浜猴細{{item.bookingUser}}</view> + <view class="line">{{item.meetingTime}}锛坽{statusMap[item.meetingStatus]}}锛�</view> <image src="@/static/ic_meeting@2x.png" class="item_bg"></image> </view> - <view class="item empty"> + <view v-if="!info.meetingListResponseList || info.meetingListResponseList.length == 0" class="item empty"> <view class="name">鏆傛棤浼氳</view> <view class="line">棰勭害浜猴細-</view> <view class="line">-</view> @@ -40,38 +47,66 @@ </view> </view> </view> + + <!-- --> + <swiper v-if="info.fileType == 0 && info.multifileList && info.multifileList.length > 0" class="swiper" circular autoplay indicator-dots> + <swiper-item v-for="item in info.multifileList"> + <image class="swiper_item" :src="item.fileurlFull" mode="aspectFill"></image> + </swiper-item> + </swiper> + <!-- --> + <template v-if="info.fileType == 1 && info.multifileList && info.multifileList.length > 0"> + <video :src="info.multifileList[0].fileurlFull" class="app_video" :autoplay="true" loop :controls="false"></video> + </template> </view> </template> <script> - import dayjs from 'dayjs' + import dayjs from 'dayjs' + import vueQr from 'vue-qr/src/packages/vue-qr.vue' import { meetScreenData } from '@/api/index.js' - export default { + export default { + components: {vueQr}, data() { return { time: '', date: '', timer: null, - touchNum: 0, - param: {} + touchNum: 0, + param: {}, + info: {}, + statusMap: { + 1: '鏈紑濮�', + 2: '杩涜涓�', + 3: '宸茬粨鏉�', + 4: '鍗冲皢寮�濮�', + 5: '宸叉挙閿�', + }, + meetingInfo: {} } }, - onLoad() { - this.initDatetime() - this.param = uni.getStorageSync('param') || {} - if(!this.param.code){ - return uni.navigateTo({ - url: '/pages/index/config' - }) - } + onLoad() { + this.initDatetime() + this.param = uni.getStorageSync('param') || {} + if (!this.param.code) { + return uni.navigateTo({ + url: '/pages/index/config' + }) + } this.getData() }, methods: { getData() { - meetScreenData({ - roomId: this.param.code + meetScreenData({ + roomId: this.param.code + }).then(res => { + this.info = res.data + if(this.info.meetingListResponseList && this.info.meetingListResponseList.length > 0){ + this.meetingInfo = this.info.meetingListResponseList[0] + this.$forceUpdate() + } }) }, touchend() { @@ -81,8 +116,8 @@ console.log('鍗曞嚮') } if (this.touchNum >= 2) { - uni.navigateTo({ - url: '/pages/index/config' + uni.navigateTo({ + url: '/pages/index/config' }) } this.touchNum = 0 @@ -95,13 +130,37 @@ this.timer = setInterval(() => { this.time = dayjs().format('HH:mm') this.date = dayjs().format('YYYY-MM-DD') + ' ' + weeks[new Date().getDay()] - }, 1000) + }, 1000) + setInterval(() => { + this.getData() + },this.param.time ? this.param.time * 1000 : 60 * 1000) } } } </script> -<style lang="scss" scoped> +<style lang="scss" scoped> + .swiper{ + position: fixed; + top: 0; + left: 0; + z-index: 999; + width: 100%; + height: 100vh; + .swiper_item{ + background-color: #0095AC; + width: 100%; + height: 100vh; + } + } + .app_video{ + width: 100%; + height: 100vh; + position: fixed; + top: 0; + left: 0; + z-index: 999; + } .main_app { width: 100%; min-height: 100vh; @@ -112,7 +171,7 @@ justify-content: space-between; padding-bottom: 35rpx; color: #fff; - + overflow: hidden; .meeting_wrap { margin-left: 42rpx; margin-top: 85rpx; @@ -143,12 +202,14 @@ flex-shrink: 0; flex-direction: column; width: 403rpx; - height: 315rpx; - background: linear-gradient(90deg, #0095AC 0%, #00B5D1 100%); + height: 315rpx; + background: linear-gradient( 90deg, #0080FF 0%, #00B0FF 100%); border-radius: 7rpx; margin-right: 28rpx; position: relative; - + &:nth-of-type(1){ + background: linear-gradient(90deg, #0095AC 0%, #00B5D1 100%); + } .item_bg { position: absolute; width: 178rpx; @@ -201,7 +262,6 @@ .qrcode { width: 166rpx; height: 166rpx; - border: 1px solid red; } } -- Gitblit v1.9.3