From 2cb2f782d29b546caecbabf16f605721e0ea4243 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期四, 19 九月 2024 09:01:11 +0800 Subject: [PATCH] ‘’ --- h5_meeting/pages.json | 7 h5_meeting/pages/index/index.vue | 433 +++++++++++++++----------- h5_meeting/static/icon/right.svg | 1 h5_meeting/api/index.js | 146 -------- h5_meeting/utils/config.js | 2 h5_meeting/utils/service.js | 4 admin/src/views/meeting/components/OperaRoomsWindow.vue | 203 ++++++++---- h5/manifest.json | 6 admin/.env.development | 4 h5_meeting/manifest.json | 24 + h5_meeting/pages/index/config.vue | 103 ++++++ 11 files changed, 528 insertions(+), 405 deletions(-) diff --git a/admin/.env.development b/admin/.env.development index 81a6a8a..7ba7bdf 100644 --- a/admin/.env.development +++ b/admin/.env.development @@ -2,5 +2,5 @@ NODE_ENV = 'development' VUE_APP_API_URL = 'http://localhost:10010' -# VUE_APP_API_URL = 'http://192.168.31.42:10010' -VUE_APP_API_URL = 'http://10.50.250.178:8088/gateway_interface' +VUE_APP_API_URL = 'http://192.168.0.139:10010' +# VUE_APP_API_URL = 'http://10.50.250.178:8088/gateway_interface' diff --git a/admin/src/views/meeting/components/OperaRoomsWindow.vue b/admin/src/views/meeting/components/OperaRoomsWindow.vue index 22561e6..15981d2 100644 --- a/admin/src/views/meeting/components/OperaRoomsWindow.vue +++ b/admin/src/views/meeting/components/OperaRoomsWindow.vue @@ -1,67 +1,58 @@ <template> - <GlobalAlertWindow - v-loading="isUploading" - :title="title" - :visible.sync="visible" - :confirm-working="isWorking" - @confirm="confirm" - > + <GlobalAlertWindow v-loading="isUploading" :title="title" :visible.sync="visible" :confirm-working="isWorking" + @confirm="confirm"> <el-form :model="form" ref="form" :rules="rules" label-width="120px" label-suffix="锛�"> <el-form-item label="浼氳瀹ゅ悕绉�" prop="name"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ヤ細璁鍚嶇О" :maxlength="10" v-trim/> + <el-input v-model="form.name" placeholder="璇疯緭鍏ヤ細璁鍚嶇О" :maxlength="10" v-trim /> </el-form-item> <el-form-item label="寮�鏀炬椂闂�" prop="timeRange"> - <el-time-picker - is-range - value-format="HH:mm" - format="HH:mm" - v-model="timeRange" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - @change="selectRange" - ></el-time-picker> + <el-time-picker is-range value-format="HH:mm" format="HH:mm" v-model="timeRange" range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿" placeholder="閫夋嫨鏃堕棿鑼冨洿" @change="selectRange"></el-time-picker> </el-form-item> <el-form-item label="绮掑害鍒嗛挓" prop="intervalTime"> - <el-input v-model="form.intervalTime" type="number" placeholder="璇疯緭鍏ユ椂闂寸矑搴︼紙鍒嗛挓锛�" v-trim/> + <el-input v-model="form.intervalTime" type="number" placeholder="璇疯緭鍏ユ椂闂寸矑搴︼紙鍒嗛挓锛�" v-trim /> </el-form-item> <el-form-item label="瀹圭撼浜烘暟" prop="limitNum"> - <el-input v-model="form.limitNum" type="number" placeholder="璇疯緭鍏ュ绾充汉鏁�" v-trim/> + <el-input v-model="form.limitNum" type="number" placeholder="璇疯緭鍏ュ绾充汉鏁�" v-trim /> </el-form-item> <el-form-item label="绠$悊鍛�" prop="sysList"> - <el-select - v-model="form.sysList" - filterable - multiple - clearable - placeholder="璇烽�夋嫨閮ㄩ棬" - > - <!-- :label="`${item.department.name}-${item.realname}`" --> - <el-option - v-for="item in userList()" - :key="item.id" - :value="item.id" - :label="item.companyId?`${item.companyName}-${item.companyName}`:item.realname" - /> + <el-select v-model="form.sysList" filterable multiple clearable placeholder="璇烽�夋嫨閮ㄩ棬"> + <!-- :label="`${item.department.name}-${item.realname}`" --> + <el-option v-for="item in userList()" :key="item.id" :value="item.id" + :label="item.companyId ? `${item.companyName}-${item.companyName}` : item.realname" /> </el-select> </el-form-item> <el-form-item label="鎻愪緵鏈嶅姟椤圭洰" prop="projectList"> <el-checkbox-group v-model="form.projectList"> - <el-checkbox v-for="project in projectList" :label="project.id" :key="project.id">{{project.name}}</el-checkbox> + <el-checkbox v-for="project in projectList" :label="project.id" :key="project.id">{{ project.name + }}</el-checkbox> </el-checkbox-group> </el-form-item> - <el-form-item label="浼氳瀹ゅ浘鐗�" prop="imgurl"> - <UploadAvatarImage - :file="{ 'imgurlfull': form.imgFullUrl, 'imgurl': form.imgurl }" - :uploadData="uploadData" - @uploadSuccess="uploadAvatarSuccess" - @uploadEnd="isUploading = false" - @uploadBegin="isUploading = true" - /> + <el-form-item label="绌洪棽灞曠ず鍐呭" prop="fileType"> + <el-radio v-model="form.fileType" @change="changeFile" :label="2">鏃�</el-radio> + <el-radio v-model="form.fileType" @change="changeFile" :label="0">鍥剧墖</el-radio> + <el-radio v-model="form.fileType" @change="changeFile" :label="1">瑙嗛</el-radio> + </el-form-item> + <el-form-item v-if="form.fileType == 0" label="灞曠ず鍥剧墖" prop="imgurl"> + <div class="upload_wrap"> + <el-upload class="avatar-uploader" accept=".png,.jpg,.jpeg" :action="uploadImgUrl" :data="uploadData" + :show-file-list="false" :on-success="handleImgSuccess"> + <div> + <i class="el-icon-plus avatar-uploader-icon"></i> + </div> + </el-upload> + <div v-for="item, i in form.multifileList" class="img_wrap"> + <img :src="item.fileurlFull" class="img"> + <i class="el-icon-error del" @click="imgDel(i)"></i> + </div> + </div> + </el-form-item> + <el-form-item v-if="form.fileType == 1" label="灞曠ず瑙嗛" prop="imgurl"> + <UploadAvatarVideo :file="{ 'videourlfull': form.videoFullUrl, 'videourl': form.videourl }" :uploadData="uploadData" + @uploadSuccess="uploadAvatarSuccess" @uploadEnd="isUploading = false" @uploadBegin="isUploading = true" /> </el-form-item> <el-form-item label="浣跨敤椤荤煡" prop="tips"> - <el-input v-model="form.tips" type="textarea" placeholder="璇疯緭鍏ヤ娇鐢ㄩ』鐭�" v-trim/> + <el-input v-model="form.tips" type="textarea" placeholder="璇疯緭鍏ヤ娇鐢ㄩ』鐭�" v-trim /> </el-form-item> </el-form> </GlobalAlertWindow> @@ -70,14 +61,14 @@ <script> import BaseOpera from '@/components/base/BaseOpera' import GlobalAlertWindow from '@/components/common/GlobalAlertWindow' -import UploadAvatarImage from '@/components/common/UploadAvatarImage' +import UploadAvatarVideo from '@/components/common/UploadAvatarVideo' import { numRule } from '@/utils/form' import { fetchList } from '@/api/meeting/projects' export default { name: 'OperaRoomsWindow', extends: BaseOpera, - components: { GlobalAlertWindow, UploadAvatarImage }, - data () { + components: { GlobalAlertWindow, UploadAvatarVideo }, + data() { let timeRangeRule = (rule, value, callBack) => { if (!this.form.startTime) { callBack(new Error('璇烽�夋嫨寮�濮嬫椂闂�')) @@ -90,6 +81,7 @@ callBack() } return { + uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload', isUploading: false, uploadData: { folder: 'projects' @@ -99,11 +91,13 @@ form: { id: null, sysList: [], + multifileList: [], projectList: [], createDate: '', editor: '', editDate: null, isdeleted: 0, + fileType: 2, name: '', remark: '', startTime: '', @@ -132,7 +126,7 @@ } }, inject: ['userList'], - created () { + created() { this.config({ api: '/meeting/rooms', 'field.id': 'id' @@ -153,7 +147,7 @@ * @title 绐楀彛鏍囬 * @target 缂栬緫鐨勫璞� */ - open (title, target) { + open(title, target) { this.title = title this.visible = true this.form.imgFullUrl = '' @@ -182,20 +176,44 @@ console.log(target) }) }, + imgDel(i) { + this.form.multifileList.splice(i, 1) + }, + handleImgSuccess(res) { + const list = [...this.form.multifileList] + if (res.code == 200) { + let { data } = res + list.push({ + fileurl: data.imgaddr, + fileurlFull: data.url, + type: 0 + }) + this.$set(this.form, 'multifileList', list) + + } + }, selectRange(v) { // console.log(this.timeRange); - console.log(v); + console.log(v) this.form.startTime = v[0] this.form.endTime = v[1] - console.log(this.form.startTime, this.form.endTime); + console.log(this.form.startTime, this.form.endTime) }, - // 涓婁紶鍥剧墖 + changeFile() { + this.$set(this.form, 'multifileList', []) + }, uploadAvatarSuccess(file) { - this.form.imgurl = file.imgurl; - this.form.imgFullUrl = file.imgurlfull; + console.log('file', file) + this.form.multifileList.push({ + fileurl: file.imgurl, + fileurlFull: file.imgurlfull, + type: 1 + }) + this.$set(this.form, 'videourl', file.imgurl) + this.$set(this.form, 'videoFullUrl', file.imgurlfull) }, // 纭鏂板缓 - __confirmCreate () { + __confirmCreate() { this.$refs.form.validate((valid) => { // debugger if (!valid) { @@ -207,11 +225,11 @@ this.isWorking = true let sysList = [...this.form.sysList] sysList = sysList.map(item => { - return {userId: item} + return { userId: item } }) let projectList = [...this.form.projectList] projectList = projectList.map(item => { - return {projectId: item} + return { projectId: item } }) this.api.create({ ...this.form, @@ -232,22 +250,22 @@ }) }, // 纭淇敼 - __confirmEdit () { + __confirmEdit() { this.$refs.form.validate((valid) => { if (!valid) { return } - console.log(this.form); + console.log(this.form) debugger // 璋冪敤鏂板缓鎺ュ彛 this.isWorking = true let sysList = [...this.form.sysList] sysList = sysList.map(item => { - return {userId: item} + return { userId: item } }) let projectList = [...this.form.projectList] projectList = projectList.map(item => { - return {projectId: item} + return { projectId: item } }) this.api.updateById({ ...this.form, @@ -272,6 +290,63 @@ </script> <style lang="scss" scoped> -@import "@/assets/style/alertstyle.scss"; +$image-width: 90px; -</style> +.upload_wrap { + display: flex; + + .img_wrap { + margin-left: 10px; + border: 1px dashed #d9d9d9; + width: $image-width; + height: $image-width; + border-radius: 6px; + position: relative; + + .img { + width: $image-width; + height: $image-width; + } + + .del { + position: absolute; + top: -6px; + right: -6px; + cursor: pointer; + color: red; + } + } +} + +.avatar-uploader { + width: $image-width; + height: $image-width; +} + +::v-deep .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + overflow: hidden; +} + +.avatar-uploader .el-upload:hover { + border-color: #409EFF; +} + +.avatar-uploader-icon { + line-height: 90px; + font-size: 28px; + color: #8c939d; + width: $image-width; + height: $image-width; + text-align: center; +} + +.avatar { + width: 90px; + max-height: 90px; + display: block; +} +</style> \ No newline at end of file diff --git a/h5/manifest.json b/h5/manifest.json index cd92050..b6fb455 100644 --- a/h5/manifest.json +++ b/h5/manifest.json @@ -91,12 +91,12 @@ "proxy" : { "/admin_interface" : { // 杩欎釜瀛楁鍚嶉渶涓庝綘閰嶇疆鐨刡asePrefixUrl涓�鑷达紝绯荤粺璇嗗埆鍒板甫鏈�/dev-api璇锋眰鐨勫湴鍧�鏃讹紝浼氬湪鍓嶉潰鎷兼帴涓婁唬鐞嗘湇鍔″櫒鍦板潃 - // "target" : "http://192.168.0.173/admin_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 + "target" : "http://192.168.0.139/admin_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 // "target" : "http://192.168.31.42:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 - "target" : "http://10.50.250.178:8088/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 + // "target" : "http://10.50.250.178:8088/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 "changeOrigin" : true, // 鍏佽璺ㄥ煙 "pathRewrite" : { - "^/admin_interface" : "" // 閲嶅啓鍦板潃锛屽鏋滃疄闄呮帴鍙d腑鏄笉甯�/dev-api锛岄渶瑕佸皢杩欎釜鍓嶇紑缃┖锛屽洜涓鸿繖涓墠缂�鍙槸涓轰簡璇嗗埆鐢紝璇嗗埆瀹屼箣鍚庡氨娌$敤浜� + "^/admin_interface" : "" } } }, diff --git a/h5_meeting/api/index.js b/h5_meeting/api/index.js index a8ee63f..773ed18 100644 --- a/h5_meeting/api/index.js +++ b/h5_meeting/api/index.js @@ -2,151 +2,11 @@ export * from '@/utils/config.js' - -// 鏌ヨ瀛楀吀鍊兼暟鎹� -export const getSystemDictData = (data) => { +// +export const meetScreenData = (data) => { return http({ - url: 'visitsAdmin/cloudService/web/other/getSystemDictData', - data - }) -} -// 鎺堟潈 -export const wxAuthorize = (data) => { - return http({ - url: 'visitsAdmin/cloudService/web/visitor/wxAuthorize', + url: 'cloudService/web/meeting/meetScreenData', method: 'get', - data - }) -} -export const getUserInfo = () => { - return http({ - url: 'getUserInfo', - method: 'get' - }) -} -export const loginCaptcha = () => { - return http({ - url: 'captcha', - method: 'get' - }) -} -// 鍙戦�佺煭淇¢獙璇佺爜 -export const sendSms = (data) => { - return http({ - url: 'visitsAdmin/cloudService/business/smsEmail/sendSms', - method: 'post', - data - }) -} -// 鐧诲綍 -export const loginPost = (data) => { - return http({ - url: 'loginH5', - method: 'post', - data - }) -} -// 鑾峰彇鏈堝彴缁勪俊鎭� -export const getPlatformGroupList = (data) => { - return http({ - url: 'visitsAdmin/cloudService/web/pdaPlatform/getPlatformGroupList', - method: 'post', - data - }) -} -// 鑾峰彇鏈堝彴 浠诲姟淇℃伅 -export const getPlatformWorkData = (data) => { - return http({ - url: 'visitsAdmin/cloudService/web/pdaPlatform/getPlatformWorkData', - method: 'get', - data - }) -} -// 杞﹁締鎺掗槦鎯呭喌 -export const platformLineUpPage = (data) => { - return http({ - url: 'visitsAdmin/cloudService/web/pdaPlatform/platformLineUpPage', - method: 'post', - data - }) -} -// 鍙彿鍒楄〃 -export const platformCallList = (data) => { - return http({ - url: 'visitsAdmin/cloudService/web/pdaPlatform/platformCallList', - method: 'post', - data - }) -} -// 鍏ュ洯鍙彿 -export const platformInPark = (data) => { - return http({ - url: 'visitsAdmin/cloudService/web/pdaPlatform/platformInPark', - method: 'post', - data - }) -} -// 鏈堝彴鍙彿 -export const platformCallNumber = (data) => { - return http({ - url: 'visitsAdmin/cloudService/web/pdaPlatform/platformCallNumber', - method: 'post', - data - }) -} -// 寮傚父鎸傝捣 -export const platformErr = (data) => { - return http({ - url: 'visitsAdmin/cloudService/web/pdaPlatform/platformErr', - method: 'post', - data - }) -} -// 杞Щ鏈堝彴 -export const platformMove = (data) => { - return http({ - url: 'visitsAdmin/cloudService/web/pdaPlatform/platformMove', - method: 'post', - data - }) -} -// 鏈堝彴杩囧彿 -export const platformOverNumber = (data) => { - return http({ - url: 'visitsAdmin/cloudService/web/pdaPlatform/platformOverNumber', - method: 'post', - data - }) -} -// 瀹屾垚浣滀笟 -export const finishWork = (data) => { - return http({ - url: 'visitsAdmin/cloudService/web/pdaPlatform/finishWork', - method: 'post', - data - }) -} -// 鎵嬪姩寮�濮嬩綔涓� -export const beginWork = (data) => { - return http({ - url: 'visitsAdmin/cloudService/web/pdaPlatform/beginWork', - method: 'post', - data - }) -} -// 鏇存柊鏈堝彴閰嶇疆淇℃伅 -export const updUserPlatformConfig = (data) => { - return http({ - url: 'visitsAdmin/cloudService/web/pdaPlatform/updUserPlatformConfig', - method: 'get', - data - }) -} -// 淇敼绂佸惎鐢ㄧ姸鎬� -export const updPlatformStatus = (data) => { - return http({ - url: 'visitsAdmin/cloudService/web/pdaPlatform/updPlatformStatus', - method: 'post', data }) } \ No newline at end of file diff --git a/h5_meeting/manifest.json b/h5_meeting/manifest.json index aad29a3..c4546a5 100644 --- a/h5_meeting/manifest.json +++ b/h5_meeting/manifest.json @@ -5,6 +5,30 @@ "versionName" : "1.0.0", "versionCode" : "100", "transformPx" : false, + "h5": { + "router": { + "mode": "hash", + "base": "./" + }, + // "base" : "/h5/" + "devServer": { + "port": 8090, + "historyApiFallback": true, + "disableHostCheck": true, + "proxy": { + "/meetingAdmin": { + // 杩欎釜瀛楁鍚嶉渶涓庝綘閰嶇疆鐨刡asePrefixUrl涓�鑷达紝绯荤粺璇嗗埆鍒板甫鏈�/dev-api璇锋眰鐨勫湴鍧�鏃讹紝浼氬湪鍓嶉潰鎷兼帴涓婁唬鐞嗘湇鍔″櫒鍦板潃 + // "target" : "http://192.168.0.173/admin_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 + "target": "http://192.168.0.139:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃 + "changeOrigin": true, // 鍏佽璺ㄥ煙 + "pathRewrite": { + "^/meetingAdmin": "" // 閲嶅啓鍦板潃锛屽鏋滃疄闄呮帴鍙d腑鏄笉甯�/dev-api锛岄渶瑕佸皢杩欎釜鍓嶇紑缃┖锛屽洜涓鸿繖涓墠缂�鍙槸涓轰簡璇嗗埆鐢紝璇嗗埆瀹屼箣鍚庡氨娌$敤浜� + } + } + }, + "https": false + } + }, /* 5+App鐗规湁鐩稿叧 */ "app-plus" : { "usingComponents" : true, diff --git a/h5_meeting/pages.json b/h5_meeting/pages.json index 22c3e5f..bce33df 100644 --- a/h5_meeting/pages.json +++ b/h5_meeting/pages.json @@ -5,6 +5,13 @@ "style": { "navigationStyle": "custom" } + }, + { + "path" : "pages/index/config", + "style" : + { + "navigationBarTitleText" : "閰嶇疆" + } } ], "globalStyle": { diff --git a/h5_meeting/pages/index/config.vue b/h5_meeting/pages/index/config.vue new file mode 100644 index 0000000..e17d074 --- /dev/null +++ b/h5_meeting/pages/index/config.vue @@ -0,0 +1,103 @@ +<template> + <view class="app"> + <view class="list"> + <view class="item"> + <view class="title">浼氳瀹ょ紪鐮�</view> + <view class="line"> + <input type="text" v-model="param.code" /> + <image src="../../static/icon/right.svg" class="icon"></image> + </view> + </view> + <view class="item"> + <view class="title">鎺ュ彛鍦板潃</view> + <view class="line"> + <input type="text" v-model="param.addr" /> + <image src="../../static/icon/right.svg" class="icon"></image> + </view> + </view> + <view class="item"> + <view class="title">鎺ュ彛璋冪敤闂撮殧(绉�)</view> + <view class="line"> + <input type="text" v-model="param.time" /> + <image src="../../static/icon/right.svg" class="icon"></image> + </view> + </view> + </view> + <view class="save" @click="handleSave">淇濆瓨閰嶇疆</view> + </view> +</template> + +<script> + export default { + data() { + return { + param: {} + }; + }, + onLoad(){ + const param = uni.getStorageSync('param') || {} + this.param = { ...param } + }, + methods: { + handleSave() { + const param = this.param + uni.setStorageSync('param', param) + setTimeout(()=>{ + uni.showToast({ + title: '鏇存柊閰嶇疆鎴愬姛',icon:'none' + }) + }) + setTimeout(()=>{ + uni.navigateBack() + }, 400) + } + } + } +</script> + +<style lang="scss" scoped> + .save{ + position: fixed; + width: 680upx; + height: 90upx; + line-height: 90upx; + background: #00B5D1; + border-radius: 7upx; + left: 35upx; + bottom: 36upx; + color: #fff; + text-align: center; + font-weight: 500; + font-size: 32rpx; + + } +.list{ + .item{ + width: 100%; + height: 148upx; + padding: 28upx 34upx 0; + .title{ + font-weight: 500; + font-size: 28rpx; + color: #111111; + line-height: 39rpx; + } + .line{ + height: 80upx; + display: flex; + align-items: center; + justify-content: space-between; + border-bottom: 1rpx solid #CCCCCC; + input{ + flex: 1; + font-size: 28rpx; + color: #666666; + } + .icon{ + width: 28upx; + height: 28upx; + } + } + } +} +</style> diff --git a/h5_meeting/pages/index/index.vue b/h5_meeting/pages/index/index.vue index 4fb0f3a..a1878d3 100644 --- a/h5_meeting/pages/index/index.vue +++ b/h5_meeting/pages/index/index.vue @@ -1,211 +1,264 @@ <template> - <view class="main_app"> + <view class="main_app"> <image src="@/static/bg@2x.png" class="main_bg" mode=""></image> - <view class="header_wrap"> - <view class="title">浼氳瀹�</view> - <view class="time_wrap"> - <view class="time">{{time}}</view> - <view class="date">{{date}}</view> - </view> + <view class="header_wrap"> + <view class="title" @touchend="touchend">浼氳瀹�</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="meeting_con"> - <view class="content"> - <view class="line"> - <image src="@/static/ic_time@2x.png"></image> - <text>10~12</text> - </view> - <view class="line"> - <image src="@/static/ic_people@2x.png"></image> - <text>10~12</text> - </view> - </view> - <view class="qrcode"></view> - </view> - <view class="meeting_wrap"> - <view class="title">浠婃棩浼氳锛�6锛�</view> - <view class="list"> - <view class="item"> - <view class="name">寮�鍙戦儴浼氳</view> - <view class="line">棰勭害浜猴細鏉庢��鑻�</view> - <view class="line">13:30锝�15:00锛堝嵆灏嗗紑濮嬶級</view> - <image src="@/static/ic_meeting@2x.png" class="item_bg"></image> - </view> - <view class="item empty"> - <view class="name">鏆傛棤浼氳</view> - <view class="line">棰勭害浜猴細-</view> - <view class="line">-</view> - <image src="@/static/ic_meeting@2x.png" class="item_bg"></image> - </view> - </view> - </view> + <view class="home_status orange">浼氳涓�</view> + <view class="meeting_name">浼氳鍚嶇О</view> + <view class="meeting_con"> + <view class="content"> + <view class="line"> + <image src="@/static/ic_time@2x.png"></image> + <text>10~12</text> + </view> + <view class="line"> + <image src="@/static/ic_people@2x.png"></image> + <text>10~12</text> + </view> + </view> + <view class="qrcode"></view> + </view> + <view class="meeting_wrap"> + <view class="title">浠婃棩浼氳锛�6锛�</view> + <view class="list"> + <view class="item"> + <view class="name">寮�鍙戦儴浼氳</view> + <view class="line">棰勭害浜猴細鏉庢��鑻�</view> + <view class="line">13:30锝�15:00锛堝嵆灏嗗紑濮嬶級</view> + <image src="@/static/ic_meeting@2x.png" class="item_bg"></image> + </view> + <view class="item empty"> + <view class="name">鏆傛棤浼氳</view> + <view class="line">棰勭害浜猴細-</view> + <view class="line">-</view> + <image src="@/static/ic_meeting@2x.png" class="item_bg"></image> + </view> + </view> + </view> </view> </template> -<script> +<script> import dayjs from 'dayjs' + import { + meetScreenData + } from '@/api/index.js' export default { data() { return { - time: '', - date: '', - timer: null + time: '', + date: '', + timer: null, + touchNum: 0, + param: {} } }, - onLoad() { - this.initDatetime() + onLoad() { + this.initDatetime() + this.param = uni.getStorageSync('param') || {} + if(!this.param.code){ + return uni.navigateTo({ + url: '/pages/index/config' + }) + } + this.getData() }, methods: { - initDatetime() { - let weeks = ['鍛ㄦ棩','鍛ㄤ竴','鍛ㄤ簩','鍛ㄤ笁','鍛ㄥ洓','鍛ㄤ簲','鍛ㄥ叚'] - this.time = dayjs().format('HH:mm') - this.date = dayjs().format('YYYY-MM-DD')+ ' ' + weeks[new Date().getDay()] - this.timer = setInterval(() => { - this.time = dayjs().format('HH:mm') - this.date = dayjs().format('YYYY-MM-DD')+ ' ' + weeks[new Date().getDay()] - },1000) + getData() { + meetScreenData({ + roomId: this.param.code + }) + }, + touchend() { + this.touchNum++ + setTimeout(() => { + if (this.touchNum == 1) { + console.log('鍗曞嚮') + } + if (this.touchNum >= 2) { + uni.navigateTo({ + url: '/pages/index/config' + }) + } + this.touchNum = 0 + }, 250) + }, + initDatetime() { + let weeks = ['鍛ㄦ棩', '鍛ㄤ竴', '鍛ㄤ簩', '鍛ㄤ笁', '鍛ㄥ洓', '鍛ㄤ簲', '鍛ㄥ叚'] + this.time = dayjs().format('HH:mm') + this.date = dayjs().format('YYYY-MM-DD') + ' ' + weeks[new Date().getDay()] + this.timer = setInterval(() => { + this.time = dayjs().format('HH:mm') + this.date = dayjs().format('YYYY-MM-DD') + ' ' + weeks[new Date().getDay()] + }, 1000) } } } </script> <style lang="scss" scoped> - .main_app{ - width: 100%; - min-height: 100vh; - position: relative; - font-size: 28rpx; - display: flex; - flex-direction: column; - justify-content: space-between; - padding-bottom: 35rpx; - color: #fff; - .meeting_wrap{ - margin-left: 42rpx; - margin-top: 85rpx; - .title{ - font-weight: 500; - font-size: 42rpx; - color: #FFFFFF; - line-height: 62rpx; - height: 62rpx; - margin-bottom: 32rpx; - } - .list{ - display: flex; - width: calc( 100vw - 42rpx ); - overflow-x: auto; - scrollbar-width: none; - &:-webkit-scrollbar { - display: none; /* Chrome Safari */ - } - .item{ - padding: 34rpx 28rpx; - display: flex; - flex-shrink: 0; - flex-direction: column; - width: 403rpx; - height: 315rpx; - background: linear-gradient( 90deg, #0095AC 0%, #00B5D1 100%); - border-radius: 7rpx; - margin-right: 28rpx; - position: relative; - .item_bg{ - position: absolute; - width: 178rpx; - height: 178rpx; - right: 0; - bottom: 0; - // z-index: -1; - } - .name{ - flex: 1; - font-weight: bold; - font-size: 39rpx; - } - .line{ - font-weight: 500; - margin-bottom: 7rpx; - } - } - .empty{ - background: rgba(255,255,255,0.11); - } - } - } - .meeting_con{ - display: flex; - justify-content: space-between; - align-items: center; - padding: 0 42rpx; - .content{ - .line{ - display: flex; - align-items: center; - font-weight: 500; - font-size: 32rpx; - margin: 24rpx 0; - image{ - width: 30rpx; - height: 30rpx; - margin-right: 20rpx; - } - } - } - .qrcode{ - width: 166rpx; - height: 166rpx; - border: 1px solid red; - } - } - .meeting_name{ - margin-bottom: 12rpx; - font-weight: bold; - font-size: 49rpx; - padding-left: 42rpx; - } - .home_status{ - font-weight: bold; - font-size: 125rpx; - margin: 70rpx 42rpx; - line-height: 185rpx; - height: 185rpx; - } - .orange{ - color: #FFB100; - } - .header_wrap{ - padding: 34rpx 34rpx 0 0; - display: flex; - justify-content: space-between; - align-items: center; - .time_wrap{ - text-align: right; - .time{ - font-size: 56rpx; - margin-bottom: 4rpx; - } - } - .title{ - font-size: 56rpx; - font-weight: bold; - width: 430rpx; - height: 125rpx; - line-height: 125rpx; - text-align: center; - background: #00B5D1; - border-radius: 0rpx 7rpx 7rpx 0rpx; - } - } - .main_bg{ - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - object-fit: cover; - z-index: -1; - } + .main_app { + width: 100%; + min-height: 100vh; + position: relative; + font-size: 28rpx; + display: flex; + flex-direction: column; + justify-content: space-between; + padding-bottom: 35rpx; + color: #fff; + + .meeting_wrap { + margin-left: 42rpx; + margin-top: 85rpx; + + .title { + font-weight: 500; + font-size: 42rpx; + color: #FFFFFF; + line-height: 62rpx; + height: 62rpx; + margin-bottom: 32rpx; + } + + .list { + display: flex; + width: calc(100vw - 42rpx); + overflow-x: auto; + scrollbar-width: none; + + &:-webkit-scrollbar { + display: none; + /* Chrome Safari */ + } + + .item { + padding: 34rpx 28rpx; + display: flex; + flex-shrink: 0; + flex-direction: column; + width: 403rpx; + height: 315rpx; + background: linear-gradient(90deg, #0095AC 0%, #00B5D1 100%); + border-radius: 7rpx; + margin-right: 28rpx; + position: relative; + + .item_bg { + position: absolute; + width: 178rpx; + height: 178rpx; + right: 0; + bottom: 0; + // z-index: -1; + } + + .name { + flex: 1; + font-weight: bold; + font-size: 39rpx; + } + + .line { + font-weight: 500; + margin-bottom: 7rpx; + } + } + + .empty { + background: rgba(255, 255, 255, 0.11); + } + } + } + + .meeting_con { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 42rpx; + + .content { + .line { + display: flex; + align-items: center; + font-weight: 500; + font-size: 32rpx; + margin: 24rpx 0; + + image { + width: 30rpx; + height: 30rpx; + margin-right: 20rpx; + } + } + } + + .qrcode { + width: 166rpx; + height: 166rpx; + border: 1px solid red; + } + } + + .meeting_name { + margin-bottom: 12rpx; + font-weight: bold; + font-size: 49rpx; + padding-left: 42rpx; + } + + .home_status { + font-weight: bold; + font-size: 125rpx; + margin: 70rpx 42rpx; + line-height: 185rpx; + height: 185rpx; + } + + .orange { + color: #FFB100; + } + + .header_wrap { + padding: 34rpx 34rpx 0 0; + display: flex; + justify-content: space-between; + align-items: center; + + .time_wrap { + text-align: right; + + .time { + font-size: 56rpx; + margin-bottom: 4rpx; + } + } + + .title { + font-size: 56rpx; + font-weight: bold; + width: 430rpx; + height: 125rpx; + line-height: 125rpx; + text-align: center; + background: #00B5D1; + border-radius: 0rpx 7rpx 7rpx 0rpx; + } + } + + .main_bg { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + object-fit: cover; + z-index: -1; + } } -</style> +</style> \ No newline at end of file diff --git a/h5_meeting/static/icon/right.svg b/h5_meeting/static/icon/right.svg new file mode 100644 index 0000000..5bb326f --- /dev/null +++ b/h5_meeting/static/icon/right.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1726651011394" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4417" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><path d="M761.056 532.128c0.512-0.992 1.344-1.824 1.792-2.848 8.8-18.304 5.92-40.704-9.664-55.424L399.936 139.744c-19.264-18.208-49.632-17.344-67.872 1.888-18.208 19.264-17.376 49.632 1.888 67.872l316.96 299.84L335.2 813.632c-19.072 18.4-19.648 48.768-1.248 67.872 9.408 9.792 21.984 14.688 34.56 14.688 12 0 24-4.48 33.312-13.44l350.048-337.376c0.672-0.672 0.928-1.6 1.6-2.304 0.512-0.48 1.056-0.832 1.568-1.344 2.72-2.848 4.16-6.336 6.016-9.6z" p-id="4418" fill="#666666"></path></svg> \ No newline at end of file diff --git a/h5_meeting/utils/config.js b/h5_meeting/utils/config.js index 40d7a58..8b7806b 100644 --- a/h5_meeting/utils/config.js +++ b/h5_meeting/utils/config.js @@ -1,5 +1,5 @@ -export const baseUrl = 'admin_interface/' +export const baseUrl = 'meetingAdmin/' // export const baseUrl = 'http://192.168.0.139:10010/admin_interface/' export const uploadAvatar = `${baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do` export const uploadUrl = `${baseUrl}visitsAdmin/cloudService/public/uploadBatch` diff --git a/h5_meeting/utils/service.js b/h5_meeting/utils/service.js index 0814f6f..92da23d 100644 --- a/h5_meeting/utils/service.js +++ b/h5_meeting/utils/service.js @@ -2,7 +2,7 @@ export const http = function (options) { { return new Promise((resolve, reject) => { - let token = uni.getStorageSync('token') || '' + // let token = uni.getStorageSync('token') || '' // 鍦ㄧ櫥褰曠殑鏃跺�欓渶瑕佸偍瀛� token uni.setStorageSync("authorization","杩欓噷鏄櫥褰曡幏鍙栫殑token鍊�") // uni.showLoading({ @@ -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;charset=UTF-8' }, success: (res) => { -- Gitblit v1.9.3