admin/src/components/common/QueryForm/queryForm.vue
@@ -35,11 +35,11 @@ <el-date-picker v-model="searchForm[item.filed1]" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" class="w200" :clearable="(item.clearable !== null && item.clearable !== undefined && item.clearable !== '') ? item.clearable : true" :placeholder="item.label" @change="changeForm(item.filed)" /> placeholder="å¼å§æ¶é´" @change="changeForm(item.filed)" /> <el-date-picker v-model="searchForm[item.filed2]" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" class="w200" :clearable="(item.clearable !== null && item.clearable !== undefined && item.clearable !== '') ? item.clearable : true" :placeholder="item.label" @change="changeForm(item.filed)" /> placeholder="ç»ææ¶é´" @change="changeForm(item.filed)" /> </el-form-item> <el-form-item v-if="item.type === 'daterange' && (showZk || index < listLength)" :key="item.filed"> <el-date-picker v-model="searchForm[item.filed]" value-format="yyyy-MM-dd" type="daterange" admin/src/views/business/dangerStatic.vue
@@ -112,6 +112,13 @@ }) let colors = ['#d75a44', '#e39f4d', '#f0d05f', '#7ac7f6', '#4469ee', '#698af0','#86a2f1','#a1b4f6','#a0b5f5', '#9fb5f4', '#b6c7f7', '#c8d5f8'] let option = { grid: { left: '0%', // right: '4%', // bottom: '3%', top: '0%', containLabel: true }, title: [ { text: 'éæ£æ»æ°', admin/src/views/meeting/bookings.vue
@@ -76,17 +76,21 @@ <span class="long-title-style">{{ row.name }}</span> </template> </el-table-column> <el-table-column prop="roomName" label="ä¼è®®å®¤" align="center" min-width="120px" show-overflow-tooltip> <el-table-column prop="meetingTime" label="ä¼è®®æ¶é´" align="center" min-width="160px"></el-table-column> <!-- <el-table-column prop="meetingTime" label="ä¼è®®æ¶é´" align="center" min-width="120px"></el-table-column> --> <!-- <el-table-column prop="meetingTime" label="ä¼è®®æ¶é´" align="center" min-width="120px"></el-table-column> --> <!-- <el-table-column prop="meetingTime" label="ä¼è®®æ¶é´" align="center" min-width="120px"></el-table-column> --> <!-- <el-table-column prop="meetingTime" label="ä¼è®®æ¶é´" align="center" min-width="400px"></el-table-column> --> <el-table-column prop="managerInfo" label="é¢çº¦äºº" align="center" min-width="100px"></el-table-column> <el-table-column prop="createDate" label="æä½æ¶é´" align="center" min-width="150px"></el-table-column> <el-table-column prop="roomName" label="ä¼è®®å®¤åç§°" align="center" min-width="120px" show-overflow-tooltip> <template slot-scope="{ row }"> <span class="long-title-style">{{ row.roomName }}</span> </template> </el-table-column> <el-table-column prop="meetingTime" label="ä¼è®®æ¶é´" align="center" min-width="120px"></el-table-column> <el-table-column prop="meetingTime" label="ä¼è®®æ¶é´" align="center" min-width="120px"></el-table-column> <el-table-column prop="meetingTime" label="ä¼è®®æ¶é´" align="center" min-width="120px"></el-table-column> <el-table-column prop="meetingTime" label="ä¼è®®æ¶é´" align="center" min-width="400px"></el-table-column> <el-table-column prop="meetingTime" label="ä¼è®®æ¶é´" align="center" min-width="300px"></el-table-column> <el-table-column prop="managerInfo" label="é¢çº¦äºº" align="center" min-width="100px"></el-table-column> <el-table-column label="ä¼è®®ç¶æ" align="center" min-width="60px"> <template slot-scope="{ row }"> <span v-if="row.meetingStatus == 1">æªå¼å§</span> @@ -97,7 +101,6 @@ <!-- {{ row.status==0 ? 'æ£å¸¸' : 'åæ¶' }} --> </template> </el-table-column> <el-table-column prop="createDate" label="å建æ¶é´" align="center" min-width="150px"></el-table-column> <!-- <el-table-column prop="content" label="ä¼è®®å 容" min-width="100px"></el-table-column> --> <el-table-column v-if=" containPermissions([ admin/src/views/platform/index.vue
@@ -1,5 +1,5 @@ <template> <div class="main_app" style="overflow: auto;height: calc(100% - 100px);"> <div class="main_app" style="overflow-y: auto;height: calc(100% - 100px);"> <div class="mb20 main_header"> <div class="platgroup_tabs"> <div class="tab" :class="{ active: activeGroup.id === item.id }" @click="platgroupClick(item)" admin/src/views/platform/queueUp.vue
@@ -1,7 +1,7 @@ <template> <div class="main_app"> <div class="mb20 main_header"> <div class="platgroup_tabs"> <div class="main_header"> <div class="platgroup_tabs pt20"> <div class="tab" :class="{ active: activeGroup.id === item.id }" @click="platgroupClick(item)" v-for="(item, i) in PlatGroupList" :key="i"> {{ item.name }} @@ -11,9 +11,11 @@ <div class="df_sb"> <QueryForm v-model="filters" :query-form-config="queryQueueUpConfig" @handleQuery="getList(1)" @clear="clear"> </QueryForm> <div> <el-button @click="openSign" type="primary" style="align-self: flex-start;">车è¾ç¾å°</el-button> </div> <div class="main_content"> </div> <div class="common-header"> <div class="static_wrap"> <span>çå¾ ï¼<span class="num">{{ staticParam.waitNum }}</span></span> <span class="mr30">{{ }}</span> @@ -255,14 +257,24 @@ <style lang="scss" scoped> @import "@/assets/style/variables.scss"; .main_content { background-color: #fff; position: relative; z-index: 999; top: -10; margin: -20px; .main_app { padding: 0 20px; .doumee-filter { padding-top: 20px; border: 0; } } .common-header { background-color: #fff; /* position: relative; */ /* z-index: 999; */ /* top: -10; */ /* margin: -20px; */ padding: 0 20px; /* border: 1px solid red; */ .static_wrap { height: 50px; line-height: 50px; @@ -271,7 +283,7 @@ padding: 0 20px; background: #F4FAFB; border-radius: 2px 2px 0px 0px; margin-bottom: 36px; /* margin-bottom: 36px; */ .num { color: #111111; h5/App.vue
@@ -15,6 +15,7 @@ window.location.href = 'https://atwl.ahzyssl.com/zhyq_h5/#/pages/waybill/home' } }) uni.setStorageSync('transportList', []) console.log('onLaunch') }, onShow: function () { h5/pages/visitorApplication/visitorApplication.vue
@@ -430,8 +430,135 @@ if (type === 'day') { return `${value}æ¥` } <<<<<<< HEAD this.$forceUpdate() this.closeInput() }, closeInput() { this.$refs.keyboard.close() }, uploadImg(file) { this.$refs.cropper.close() uni.showLoading({ title: 'ä¸ä¼ ä¸', mask: true }); uni.uploadFile({ url: `${this.$baseUrl}public/api/uploadFtp.do`, filePath: file.tempFilePath, name: 'file', formData: { folderCode: 'MEMBER_IMG' }, success: (uploadFileRes) => { let res = JSON.parse(uploadFileRes.data) this.withUserList.faceImg = res.data.halfPath this.withUserList.faceImgUrl = res.data.prefixPath + res.data.folder + res.data.halfPath }, complete() { uni.hideLoading(); } }); }, closeMJ() { this.show = false this.columns.forEach(item => { item.active = false }) }, submit() { if (!this.form1.receptMemberId) return uni.showToast({ title: 'è¯·å¡«åææç访é®äºº', icon: 'none' }) if (!this.form1.starttime) return uni.showToast({ title: 'å ¥åºæ¶é´ä¸è½ä¸ºç©º', icon: 'none' }) if (!this.form1.endtime) return uni.showToast({ title: 'ç¦»åºæ¶é´ä¸è½ä¸ºç©º', icon: 'none' }) if (!this.form1.doorSelectName && this.accessControl == 1) return uni.showToast({ title: '访é®é¨ç¦ä¸è½ä¸ºç©º', icon: 'none' }) if (!this.form1.reason) return uni.showToast({ title: 'æè®¿äºç±ä¸è½ä¸ºç©º', icon: 'none' }) // this.form1.starttime = this.form1.starttime + ':00' // this.form1.endtime = this.form1.endtime + ':00' let data = JSON.parse(JSON.stringify(this.form1)) data.starttime = data.starttime + ':00' data.endtime = data.endtime + ':00' this.$u.api.createFk({ ...this.form, ...data, openid: this.$store.state.openId, withUserList: this.personnel }).then(res => { if (res.code === 200) { uni.reLaunch({ url: `/pages/appointmentDetails/appointmentDetails?id=${res.data}` }) } }) }, deleUser(i) { this.personnel.splice(i, 1) }, getVisit1() { // æ¯å¦éè¦çé¢ this.$u.api.getSystemDictData({ dictCode: 'SYSTEM', label: 'HEALTH_CARD' }).then(res => { if (res.code === 200) { this.visit = res.data.code } }) // èµ·å§æ¶é´æ¶é¿ this.$u.api.getSystemDictData({ dictCode: 'VISIT_CONFIG', label: 'VALIDATE_VISIT' }).then(res => { if (res.code === 200) { this.day = Number(res.data.code) console.log(this.day) // console.log(nextDay('after', true, this.day)) } }) }, submitUser() { if (!this.withUserList.name) return uni.showToast({ title: 'å§åä¸è½ä¸ºç©º', icon: 'none' }) if (!this.withUserList.phone) return uni.showToast({ title: 'ææºå·ä¸è½ä¸ºç©º', icon: 'none' }) const regExp = /^1[3456789]\d{9}$/; if (!regExp.test(this.withUserList.phone)) return uni.showToast({ title: 'ææºå·æ ¼å¼é误', icon: 'none' }) if (!String(this.withUserList.idcardType)) return uni.showToast({ title: 'è¯ä»¶ç±»åä¸è½ä¸ºç©º', icon: 'none' }) if (!this.withUserList.idcardNo) return uni.showToast({ title: 'è¯ä»¶å·ç ä¸è½ä¸ºç©º', icon: 'none' }) if (this.withUserList.idcardType === 0) { const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}[\dxX]$/; if (!regex.test(this.withUserList.idcardNo)) return uni.showToast({ title: 'è¯ä»¶å·ç æ ¼å¼é误', icon: 'none' }) ======= if (type === 'hour') { return `${value}æ¶` >>>>>>> f0f08cc1ff84d45de32d8bff4a40e6a7d0d7a9e6 } if (type === 'minute') { return `${value}å` @@ -1315,7 +1442,225 @@ color: #222222; } } <<<<<<< HEAD let arr = JSON.parse(JSON.stringify(this.withUserList)) this.personnel.push(arr) this.show3 = false this.withUserList.name = '' this.withUserList.phone = '' this.withUserList.idcardType = '' this.withUserList.idcardTypeName = '' this.withUserList.companyName = '' this.withUserList.idcardNo = '' this.withUserList.faceImg = '' this.withUserList.faceImgUrl = '' this.withUserList.imgurl = '' this.withUserList.imgurlUrl = '' }, upload(type) { this.type = type if (type === 'faceImg') { this.$refs.cropper.open() return } uni.chooseImage({ success: (chooseImageRes) => { // if (type === 'faceImg') { // this.photoSrc = chooseImageRes.tempFilePaths[0]; // this.$refs.tlyPictureCut.showPop(); // return // } uni.showLoading({ title: 'ä¸ä¼ ä¸', mask: true }); for (let i = 0; i < chooseImageRes.tempFilePaths.length; i++) { uni.uploadFile({ url: `${this.$baseUrl}public/api/uploadFtp.do`, filePath: chooseImageRes.tempFilePaths[i], name: 'file', formData: { folderCode: 'MEMBER_IMG' }, success: (uploadFileRes) => { let res = JSON.parse(uploadFileRes.data) if (type === 'faceImg') { this.withUserList.faceImg = res.data.halfPath this.withUserList.faceImgUrl = res.data.prefixPath + res.data.folder + res.data.halfPath } else { this.withUserList.imgurl = res.data.halfPath this.withUserList.imgurlUrl = res.data.prefixPath + res.data.folder + res.data.halfPath } }, complete() { if (i === chooseImageRes.tempFilePaths.length - 1) { uni.hideLoading(); } } }); } } }); }, seleIdcard(e) { this.withUserList.idcardType = e.value[0].id this.withUserList.idcardTypeName = e.value[0].name this.show6 = false }, submitCart() { if (!this.carName) return uni.showToast({ title: '请è¾å ¥è½¦çå·ç ', icon: 'none' }) this.cars.push(this.carName) this.form1.carNos = this.cars.join(',') this.carName = '' this.show2 = false }, deleCars(i) { this.cars.splice(i, 1) this.form1.carNos = this.cars.join(',') }, submitMJ() { let arr = [] let names = [] this.columns.forEach(item => { if (item.active) { arr.push(item.id) names.push(item.name) } }) if (arr.length === 0) return uni.showToast({ title: 'è¯·éæ©é¨ç¦', icon: 'none' }) this.form1.doorSelectName = names.join(',') this.form1.doors = arr.join(',') this.show = false }, seleMJ(i) { this.columns.forEach((item,index) => { if (index === i) { item.active = !item.active } }) }, openLC() { if (!this.form1.starttime) return uni.showToast({ title: '请å éæ©å ¥åæ¶é´', icon: 'none' }) this.show5 = true }, setinDate(e) { this.form1.starttime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM'); this.maxTime = getDaysAfterDate(uni.$u.timeFormat(e.value, 'yyyy-mm-dd'), this.day - 1) this.show4 = false }, setoutDate(e) { this.form1.endtime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM'); this.show5 = false }, formatTimeStamp(date) { return Date.parse(new Date(`${date}`)) || Date.parse(new Date(`${date.replace(/-/g,'/')}`)) }, // æ¥è¯¢ç¨æ· getUser() { if (this.verify === '0') { if (this.form1.phone1) { this.$u.api.getVisitedMember({ mobile: this.form1.phone1 }).then(res => { if (res.code === 200) { this.form1.receptMemberId = res.data.id this.form1.receptMemberName = res.data.name } }) } } else { if (this.form1.phone1 && this.form1.receptMemberName) { this.$u.api.getVisitedMember({ mobile: this.form1.phone1, name: this.form1.receptMemberName }).then(res => { if (res.code === 200) { this.form1.receptMemberId = res.data.id this.form1.receptMemberName = res.data.name } }) } } }, // 被æè®¿äººä¿¡æ¯æ ¡éªæ¹å¼ï¼0ææºå·åç¬æ ¡éª 1ææºå·åå§åç»åæ ¡éªï¼ getUserValid() { this.$u.api.getSystemDictData({ dictCode: 'SYSTEM', label: 'BEVISITED_USER_VALID' }).then(res => { if (res.code === 200) { this.verify = res.data.code } }) }, // è·åæ¯å¦éè¦éæ©é¨ç¦/é¨ç¦å表 getvisit() { this.$u.api.getSystemDictData({ dictCode: 'SYSTEM', label: 'SELECT_DOORS_VISIT_REQUIRED' }).then(res => { if (res.code === 200) { this.accessControl = res.data.code if (res.data.code === '1') { this.$u.api.deviceRoleList({ type: 1 }) .then(device => { if (device.code === 200) { if (device.data.length > 0) { device.data.forEach(item => { item.active = false }) this.columns = device.data } } }) } } }) }, confirm(e) { this.show = false } } } </script> <style> page { background-color: #F7F7F7 !important; } .u-upload__button { margin: 0 !important; } </style> <style lang="scss" scoped> .visit { width: 100%; .menjin { width: 100%; .respondent-title { width: 100%; height: 100rpx; line-height: 100rpx; text-align: center; font-size: 32rpx; font-weight: 500; color: #222222; } .list { width: 100%; height: 400rpx; display: flex; flex-direction: column; .list_item { width: 100%; ======= .checkbox_wrap{ >>>>>>> f0f08cc1ff84d45de32d8bff4a40e6a7d0d7a9e6 display: flex; align-items: center; .check_item{ h5/pages/wdata/detail.vue
@@ -102,6 +102,14 @@ </view> </view> <view v-if="info.logisticsStatus == 0" @click="startTrans" class="start_btn">å¯è¿</view> <!-- --> <view v-if="showTip" class="tip_wrap"> <view class="title">æç¤º</view> <view class="text">车è¾åå¯è¿ï¼ææ æ³è¿è¡å°</view> <view class="text">è´§æä½ï¼è¯·5åéååè¯</view> <view class="btn" @click="showTip = false">æç¥éäº</view> </view> <view v-if="showTip" class="shade"></view> </view> </template> @@ -110,7 +118,6 @@ putTaskDetail, putDriverArrival, putDriverStart, } from '@/api' export default { data() { @@ -118,7 +125,8 @@ info: { productDetails: [], transportStop: [] } }, showTip: false }; }, onLoad(options) { @@ -144,6 +152,9 @@ optType: 0 }).then((ress) => { if (ress.code == 200) { const transportList = uni.getStorageSync('transportList') || [] transportList.push({ id: this.id, time: new Date().getTime() }) uni.setStorageSync('transportList', transportList) this.showToast('å¯è¿æå') this.getDetail() } @@ -158,6 +169,15 @@ content: '确认å°è´§ä¹ï¼', success: (res) => { if (res.confirm) { const transportList = uni.getStorageSync('transportList') || [] const item = transportList.find(i => i.id == this.id) if(item && item.id){ const timeN = new Date().getTime() - item.time if(timeN < 5 * 60 * 1000){ this.showTip = true return } } putDriverArrival({ stopNumber, optType: 1, @@ -180,7 +200,51 @@ page { background-color: #f7f7f7; } .shade{ width: 100vw; height: 100vh; background: #000000; opacity: 0.4; position: fixed; left: 0; top: 0; z-index: 99; } .tip_wrap{ position: fixed; top: 0; left: 0; bottom: 0; right: 0; margin: auto; width: 560rpx; height: 328rpx; background: #FFFFFF; border-radius: 24rpx; text-align: center; z-index: 999; .title{ font-weight: 500; font-size: 32rpx; color: #111111; margin: 40rpx 0 30rpx; } .text{ font-weight: 400; font-size: 28rpx; color: #333333; } .btn{ margin-top: 32rpx; height: 100rpx; display: flex; justify-content: center; align-items: center; border-top: 1rpx solid #E5E5E5; color: #279BAA; font-size: 32rpx; } } .head_bg { width: 750rpx; height: 240rpx; h5/utils/config.js
@@ -1,8 +1,8 @@ // export const baseUrl = 'zhyq_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 baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' export const app_url = 'https://atwl.ahzyssl.com/zhyq_h5/#/' screen/package-lock.json
ÎļþÌ«´ó screen/src/assets/images/task/ic_close@2x.png
screen/src/assets/images/task/ic_yuetai@2x.png
screen/src/assets/images/task/jiankong_bg2@2x.png
screen/src/views/TaskEfficiency.vue
@@ -150,7 +150,7 @@ <div class="line"> <div class="dian"></div> <div class="la">ä½ä¸ç±»åï¼</div> <div class="val">{{ workModalParam.workType == 0 ? 'å¸è´§' : 'è£ è´§' }}</div> <div class="val">{{ workModalParam.workType == 0 ? 'å¸è´§' : workModalParam.workType == 1 ? 'è£ è´§' : ''}}</div> </div> <div class="line"> <div class="dian"></div> @@ -162,8 +162,29 @@ <div class="la">é¢è®¡å®æï¼</div> <div class="val">{{ workModalParam.finishTimeStr }}</div> </div> <div class="priview" @click="videoPri">æ¥ç宿¶ç»é¢</div> </div> <div class="modal_bg" v-if="showWorkModal" @click="closeModal"></div> <div v-show="showJk" class="camera_wrap"> <img class="bg" src="@/assets/images/task/jiankong_bg2@2x.png" alt=""> <div class="head"> <div class="left"> <img class="icon" src="@/assets/images/task/ic_yuetai@2x.png" alt=""> <div class="name">{{ workModalParam.platformName }}</div> <span v-if="workModalParam.carNo">{{ workModalParam.carNo }} | {{ workModalParam.workType == 0 ? 'å¸è´§' : workModalParam.workType == 1 ? 'è£ è´§' : '' }}</span> </div> <div class="right"> <span>{{ workModalParam.statusTemp }} <span v-if="workModalParam.status == 0"> | é¢è®¡å®ææ¶é´ï¼{{ workModalParam.finishTimeStr }}</span></span> <img @click="closeVideo" class="icon" src="@/assets/images/task/ic_close@2x.png" alt=""> </div> </div> <div class="content"> <Video v-if="showJk && videoParam && videoParam.deviceId" :href="videoParam.videoPluginUrl" :indexCode="videoParam.deviceId" /> </div> </div> </div> <div class="center_box_two"> <!-- <div v-if="data4.videoIndexCodes && data4.videoIndexCodes.length > 0" class="videos"> @@ -297,7 +318,7 @@ </template> <script setup> import { ref, onMounted } from 'vue' import { ref, onMounted, nextTick } from 'vue' import VScaleScreen from 'v-scale-screen' import Percent from '@/components/percent.vue' import dayjs from 'dayjs' @@ -309,6 +330,7 @@ import 'swiper/css/swiper.min.css' import Swiper from 'swiper' import Videos from './videoUrl/Videos.vue' import Video from './videoUrl/Video.vue' import { cnplatformGroupFinish, cnplatformDuration, @@ -791,7 +813,9 @@ } const showWorkModal = ref(false) const showJk = ref(false) const workModalParam = ref({}) const videoParam = ref({}) // point_icon const pointList = [ { left: 230, top: 190, left2: 290, top2: 190, name: 'åºåºæå°3' }, @@ -806,8 +830,22 @@ { left: 590, top: 75, left2: 650, top2: 190, name: '1095æ´æçå ¥åº' }, { left: 600, top: 80, left2: 660, top2: 190, name: '1099æ´æçå ¥åº' }, { left: 850, top: 60, left2: 520, top2: 190, name: 'å¸å ¬å¸æå°' }, { left: 540, top: 136, left2: 600, top2: 136, name: 'èåºå ¥åº' }, { left: 560, top: 132, left2: 620, top2: 132, name: 'èåºåºåº' }, ] const videoPri = () => { showJk.value = true nextTick(() => { videoParam.value = { ...workModalParam.value } // console.log('workModalParam', videoParam.value) }) } const closeVideo = () => { workModalParam.value = {} videoParam.value = {} showJk.value = false } const platformClick = (val) => { const index = pointList.findIndex(i => i.name == val.platformName) @@ -1130,6 +1168,75 @@ align-items: center; position: relative; .camera_wrap { position: absolute; top: 0; left: 50%; transform: translate(-50%, 0); width: 672px; height: 568px; z-index: 999; font-size: 14px; color: #D2E0FF; display: flex; flex-direction: column; .content { flex: 1; /* height: calc( 100% - 30px ); */ padding: 16px 20px 32px 20px; .video { width: 100%; height: 100%; } } .head { height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 30px; .right { display: flex; align-items: center; .icon { width: 24px; margin-left: 20px; cursor: pointer; } } .left { display: flex; align-items: center; .name { font-weight: bold; font-size: 16px; color: #01D9FE; margin-right: 20px; } .icon { width: 16px; margin-right: 8px; } } } .bg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; } } .point_icon { position: absolute; left: 850px; @@ -1158,6 +1265,15 @@ left: 850px; top: 60px; z-index: 99999999; .priview { position: absolute; bottom: 24px; right: 40px; font-size: 12px; color: #01D9FE; cursor: pointer; } .head { display: flex; @@ -1221,8 +1337,8 @@ position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; width: 100%; height: 100%; /* background-color: rgba(0,0,0,.1); */ } } server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ProblemLog.java
@@ -35,7 +35,7 @@ private Integer creator; @ApiModelProperty(value = "å建æ¶é´") @ExcelColumn(name="å建æ¶é´") @ExcelColumn(name="ç颿¶é´",dateFormat = "yyyy-MM-dd HH:mm:ss") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") @@ -99,5 +99,4 @@ @ApiModelProperty(value = "openid") @ExcelColumn(name="openid") private String openid; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/ProblemLogVo.java
@@ -15,25 +15,26 @@ public class ProblemLogVo { @ApiModelProperty(value = "çé¢äººå§å") @ExcelColumn(name="çé¢äººå§å") @ExcelColumn(name="çé¢äºº",width = 16) private String name; @ApiModelProperty(value = "çé¢äººææºå") @ExcelColumn(name="çé¢äººææºå") @ExcelColumn(name="èç³»çµè¯",width = 16) private String phone; @ApiModelProperty(value = "ç»ç»åç§°") @ExcelColumn(name="ç»ç»åç§°") @ExcelColumn(name="ç»ç»åç§°",width = 16) private String companyName; @ApiModelProperty(value = "ç±»å 0å³å¡è®¿å®¢ 1æ®é访客 2å é¨äººå") @ExcelColumn(name="ç±»å") @ExcelColumn(name="ç¨æ·ç±»å",width = 10) private String typeName; @ApiModelProperty(value = "çé¢åæ°") @ExcelColumn(name="çé¢åæ°") @ExcelColumn(name="å¾å",width = 10) private BigDecimal score; @ApiModelProperty(value = "å建æ¶é´") @ExcelColumn(name="å建æ¶é´",dateFormat="yyyy-MM-dd HH:mm") @ExcelColumn(name="ç颿¶é´",dateFormat="yyyy-MM-dd HH:mm",width = 16) private Date createDate; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/PlatformWorkDataVO.java
@@ -44,4 +44,9 @@ @ApiModelProperty(value = "æå°ç¶æï¼0=ä½ä¸ä¸ï¼1=空é²ä¸ï¼2=ä½ä¸è¶ æ¶;3=å«å·ä¸") private Integer status; @ApiModelProperty(value = "çæ§è§é¢è®¾å¤id") private String deviceId; @ApiModelProperty(value = "çæ§è§é¢ææ¾æä»¶å°å") private String videoPluginUrl; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java
@@ -27,6 +27,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -139,7 +140,7 @@ for (ProblemLog obj:problemLogIPage.getRecords()) { ProblemLogVo vo = new ProblemLogVo(); vo.setName(obj.getName()); vo.setScore(obj.getScore()); vo.setScore(Objects.isNull(obj.getScore())?new BigDecimal("100"):obj.getScore()); vo.setPhone(obj.getPhone()); vo.setCompanyName(obj.getCompanyName()); if(null != obj.getType()) { server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -91,6 +91,8 @@ private PlatformGroupMapper platformGroupMapper; @Autowired private TmsService tmsService; @Autowired private PlatformDeviceMapper platformDeviceMapper; @Value("${debug_model}") private Boolean isDebug; @@ -1908,6 +1910,10 @@ .orderByDesc(PlatformJob::getStatus ) .orderByAsc(PlatformJob::getId ) ); List<PlatformDevice> platformDevices = platformDeviceMapper.selectList(new QueryWrapper<PlatformDevice>().lambda().eq(PlatformDevice::getType,Constants.ONE) .eq(PlatformDevice::getIsdeleted,Constants.ZERO).isNotNull(PlatformDevice::getDeviceId)); String videoUrl = getVideoUrl(); //æå°ç¶æï¼0=ä½ä¸ä¸ï¼1=空é²ä¸ï¼2=ä½ä¸è¶ æ¶;3=å«å· for(Platform model : platformList){ PlatformWorkDataVO platformDurationVO = new PlatformWorkDataVO(); @@ -1915,6 +1921,13 @@ platformDurationVO.setPlatformId(model.getId()); platformDurationVO.setPlatformCode(model.getCode()); platformDurationVO.setPlatformSort(model.getSortnum()); if(CollectionUtils.isNotEmpty(platformDevices)){ List<PlatformDevice> deviceList = platformDevices.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),model.getId())).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(deviceList)) { platformDurationVO.setDeviceId(deviceList.get(Constants.ZERO).getDeviceId()); platformDurationVO.setVideoPluginUrl(videoUrl); } } PlatformJob job = getJobFromListById(model.getId(),jobList); if(job != null){ if(Constants.equalsInteger(job.getType(),Constants.ONE) || Constants.equalsInteger(job.getType(),Constants.THREE)){