From bb383098e5b87b67038b9cbcca5d081e3c699a75 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 11 十二月 2024 10:08:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
admin/src/components/business/operaVisitsWindow.vue | 3
h5/pages/staff/meetingCalendar.vue | 4
screen/src/assets/images/task/bg@2x.png | 0
h5/pages/staff/vehicle/sendACar.vue | 4
h5_meeting/utils/config.js | 4
screen/src/views/SecurityControl.vue | 41
h5/store/index.js | 6
h5/pages/index/index.vue | 18
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java | 30
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java | 179 +++-
admin/src/views/vehicle/cars.vue | 6
h5/api/staff.js | 6
h5/static/ic_cancel.png | 0
server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java | 8
h5/pages/staff/vehicle/apply.vue | 9
h5_meeting/manifest.json | 4
admin/src/components/common/RichEditor.vue | 2
h5/pages/staffLogin/login.vue | 35
h5/utils/config.js | 6
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java | 5
h5/pages/driver/index.vue | 758 ++++++++++---------
h5/pages/login/login.vue | 82 +-
h5/static/staff/shenfen_bg@2x.png | 0
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java | 4
h5/pages/staff/index.vue | 583 +++++++-------
screen/src/assets/images/SecurityControl/bg@2x.png | 0
screen/src/router/index.js | 5
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java | 3
h5/pages/userinfo/userinfo.vue | 3
server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java | 4
screen/src/views/TaskEfficiency.vue | 12
h5/pages/staff/task/index.vue | 1
h5/pages/staff/snapshot.vue | 90 +-
h5/static/play.png | 0
h5/App.vue | 9
h5/pages/staff/vehicle/sendACarDetail.vue | 233 +++---
h5/pages/staff/task/vDangetAppr.vue | 105 ++
screen/src/assets/images/task/title@2x.png | 0
38 files changed, 1,263 insertions(+), 999 deletions(-)
diff --git a/admin/src/components/business/operaVisitsWindow.vue b/admin/src/components/business/operaVisitsWindow.vue
index 28d9454..b5bdf07 100644
--- a/admin/src/components/business/operaVisitsWindow.vue
+++ b/admin/src/components/business/operaVisitsWindow.vue
@@ -148,7 +148,8 @@
VisitReason: [],
memberList: [],
uploadData: {
- folder: 'member'
+ folder: 'member',
+ isFace: 0
},
startPickerOptions: {
disabledDate (time) {
diff --git a/admin/src/components/common/RichEditor.vue b/admin/src/components/common/RichEditor.vue
index d144c66..81249a5 100644
--- a/admin/src/components/common/RichEditor.vue
+++ b/admin/src/components/common/RichEditor.vue
@@ -1,7 +1,7 @@
<template>
<div :style="styleEditor">
<Toolbar style="border-bottom: 1px solid #ccc" :editor="editor" :defaultConfig="toolbarConfig" :mode="mode" />
- <Editor style="max-height: 300px;min-height: 100px; overflow-y: hidden;" v-model="html" :defaultConfig="editorConfig" :mode="mode"
+ <Editor style="min-height: 80px; overflow-y: hidden;" v-model="html" :defaultConfig="editorConfig" :mode="mode"
@onCreated="onCreated" @onChange="onChange" />
</div>
</template>
diff --git a/admin/src/views/vehicle/cars.vue b/admin/src/views/vehicle/cars.vue
index cddc4f7..efd2bd9 100644
--- a/admin/src/views/vehicle/cars.vue
+++ b/admin/src/views/vehicle/cars.vue
@@ -168,9 +168,9 @@
this.getCate()
},
methods: {
- handleSelectionChange(e) {
- this.searchForm.ids = e.map(i => i.id).join(',')
- },
+ // handleSelectionChange(e) {
+ // this.searchForm.ids = e.map(i => i.id).join(',')
+ // },
changeSel(e) {
console.log(e)
if (e && e.length == 1) {
diff --git a/h5/App.vue b/h5/App.vue
index c567d31..04a031d 100644
--- a/h5/App.vue
+++ b/h5/App.vue
@@ -1,8 +1,13 @@
<script>
-import { wxAuthorize, refreshToken } from '@/api'
+import { wxAuthorize, refreshToken, app_url } from '@/api'
export default {
onLaunch: function () {
-
+ window.addEventListener("popstate", (event) => {
+ const path = this.$route.fullPath
+ if(path == '/pages/login/login' || path == '/'){
+ window.location.href = app_url
+ }
+ })
},
onShow: function () {
console.log('App Show')
diff --git a/h5/api/staff.js b/h5/api/staff.js
index ea64d24..f00cf4a 100644
--- a/h5/api/staff.js
+++ b/h5/api/staff.js
@@ -14,6 +14,12 @@
method: 'get'
})
}
+export const saveHkUserOpenid = () => {
+ return http({
+ url: 'visitsAdmin/cloudService/business/hksync/saveHkUserOpenid',
+ method: 'post'
+ })
+}
// 鍒锋柊token
export const refreshToken = () => {
return http({
diff --git a/h5/pages/driver/index.vue b/h5/pages/driver/index.vue
index e79d32a..56e65be 100644
--- a/h5/pages/driver/index.vue
+++ b/h5/pages/driver/index.vue
@@ -1,358 +1,402 @@
-<template>
- <view class="main_app">
- <view class="title_wrap">
- <view class="name">{{ driverInfo.realname }}锛屾杩庣櫥褰曪綖</view>
- <view class="btn" @click="loginOut">閫�鍑虹櫥褰�</view>
- </view>
- <!-- -->
- <view class="banner_wrap">
- <view class="h1">瀹夋嘲鐗╂祦鏅烘収鍥尯</view>
- <view class="h2">鐗╂祦杞︿笓鍖�</view>
- <image class="banner" src="../../static/driver/wuliuche_banner@2x.png" mode="widthFix"></image>
- </view>
- <!-- -->
- <view v-if="taskList && taskList.length > 0" class="task_list">
- <swiper circular class="task_swiper">
- <swiper-item v-for="item in taskList" :key="item.id" @click="taskClick(item)">
- <view class="item">
- <view class="head">
- <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>
- <view class="text" v-if="item.status == 2">鍓嶆柟鎺掗槦锛歿{item.lineUpNum}}杈�</view>
- <view class="text" v-if="item.status == 3">璇峰叆鍥繘鍏ョ瓑寰呭尯</view>
- <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>
- </view>
- <view class="content">
- <view class="info">
- <view class="plate">
- <image src="@/static/driver/wuliu_ic_car@2x.png" class="icon" mode=""></image>
- <text>{{ item.carCodeFront }}</text>
- </view>
- <view class="plate">
- <image src="@/static/driver/wuliu_ic_huowu@2x.png" class="icon" mode=""></image>
- <text>{{ item.totalNum }}涓囨敮</text>
- </view>
- </view>
- <view class="sub">
- <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>
- <view v-if="item.status == 2" class="sub_btn" @click.stop="handleQueue(item)">鏌ョ湅鎺掗槦</view>
- </view>
- </view>
- </view>
- </swiper-item>
- </swiper>
- </view>
- <!-- -->
- <view class="title_wrap"><view class="name">涓氬姟鍔炵悊</view></view>
- <view class="container1">
- <view class="left">
- <view class="img_wrap img1" @click="$jump('/pages/driver/notice')">
- <image src="@/static/driver/wuliu_ic_ruyuanyuyue@2x.png" class="img"></image>
- <view class="h1">鍏ュ洯椤荤煡</view>
- <view class="h2">RESERVATION</view>
- </view>
- <view class="img_wrap img2" @click="$jump('/pages/driver/reservedGuide?str=bookingTips')">
- <image src="@/static/driver/wuliu_ic_zhinan@2x.png" class="img"></image>
- <view class="h1">棰勭害鎸囧崡</view>
- <view class="h2">APPOINTMENT GUIDE</view>
- </view>
- </view>
- <view class="right">
- <view class="img_wrap img2" @click="$jump('/pages/driver/reservedRecord')">
- <image src="@/static/driver/wuliu_ic_yuyuejilu@2x.png" class="img"></image>
- <view class="h1">棰勭害璁板綍</view>
- <view class="h2">APPOINTMENT RECORD</view>
- </view>
- <view class="img_wrap img2" @click="$jump('/pages/driver/queueUp')">
- <image src="@/static/driver/wuliu_ic_paidui@2x.png" class="img"></image>
- <view class="h1">鏈堝彴鎺掗槦鎯呭喌</view>
- <view class="h2">HIDDEN DANGER</view>
- </view>
- <view class="img_wrap img2" @click="$jump('/pages/driver/reservedGuide?str=reservationMap')">
- <image src="@/static/driver/wuliu_ic_daolan@2x.png" class="img"></image>
- <view class="h1">鍥尯瀵艰鍥�</view>
- <view class="h2">GUIDE MAP</view>
- </view>
- </view>
- </view>
- <!-- -->
- <view class="copyright">
- <image src="@/static/logo_s@2x.png" class="mr6" mode="widthFix" />
- <text>瀹夊窘瀹夋嘲鐗╂祦鏈夐檺璐d换鍏徃鐗堟潈鎵�鏈�</text>
- </view>
- </view>
-</template>
-
-<script>
-import { logoutPost, driverHomeData } from '@/api';
-export default {
- data() {
- return {
- taskList: [],
- driverInfo: uni.getStorageSync('driverInfo'),
-
- };
- },
- onShow() {
- this.initData();
- },
- methods: {
- initData() {
- driverHomeData().then(res => {
- if (res.code == 200) {
- uni.setStorageSync('driverGuide', {
- bookingTips: res.data.bookingTips,
- reservationMap: res.data.reservationMap,
- signDistance: res.data.signDistance
- });
- this.taskList = res.data.platformJobList || []
- }
- });
- },
+<template>
+ <view class="main_app">
+ <view class="title_wrap">
+ <view class="name">{{ driverInfo.realname }}锛屾杩庣櫥褰曪綖</view>
+ <view class="btn" @click="loginOut">閫�鍑虹櫥褰�</view>
+ </view>
+ <!-- -->
+ <view class="banner_wrap">
+ <view class="h1">瀹夋嘲鐗╂祦鏅烘収鍥尯</view>
+ <view class="h2">鐗╂祦杞︿笓鍖�</view>
+ <image class="banner" src="../../static/driver/wuliuche_banner@2x.png" mode="widthFix"></image>
+ </view>
+ <!-- -->
+ <view v-if="taskList && taskList.length > 0" class="task_list">
+ <swiper circular class="task_swiper">
+ <swiper-item v-for="item in taskList" :key="item.id" @click="taskClick(item)">
+ <view class="item">
+ <view class="head">
+ <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>
+ <view class="text" v-if="item.status == 2">鍓嶆柟鎺掗槦锛歿{ item.lineUpNum }}杈�</view>
+ <view class="text" v-if="item.status == 3">璇峰叆鍥繘鍏ョ瓑寰呭尯</view>
+ <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>
+ </view>
+ <view class="content">
+ <view class="info">
+ <view class="plate">
+ <image src="@/static/driver/wuliu_ic_car@2x.png" class="icon" mode=""></image>
+ <text>{{ item.carCodeFront }}</text>
+ </view>
+ <view class="plate">
+ <image src="@/static/driver/wuliu_ic_huowu@2x.png" class="icon" mode=""></image>
+ <text>{{ item.totalNum }}涓囨敮</text>
+ </view>
+ </view>
+ <view class="sub">
+ <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>
+ <view v-if="item.status == 2" class="sub_btn" @click.stop="handleQueue(item)">鏌ョ湅鎺掗槦</view>
+ </view>
+ </view>
+ </view>
+ </swiper-item>
+ </swiper>
+ </view>
+ <!-- -->
+ <view class="title_wrap">
+ <view class="name">涓氬姟鍔炵悊</view>
+ </view>
+ <view class="container1">
+ <view class="left">
+ <view class="img_wrap img1" @click="jump('/pages/driver/notice')">
+ <image src="@/static/driver/wuliu_ic_ruyuanyuyue@2x.png" class="img"></image>
+ <view class="h1">鍏ュ洯椤荤煡</view>
+ <view class="h2">RESERVATION</view>
+ </view>
+ <view class="img_wrap img2" @click="jump('/pages/driver/reservedGuide?str=bookingTips')">
+ <image src="@/static/driver/wuliu_ic_zhinan@2x.png" class="img"></image>
+ <view class="h1">棰勭害鎸囧崡</view>
+ <view class="h2">APPOINTMENT GUIDE</view>
+ </view>
+ </view>
+ <view class="right">
+ <view class="img_wrap img2" @click="jump('/pages/driver/reservedRecord')">
+ <image src="@/static/driver/wuliu_ic_yuyuejilu@2x.png" class="img"></image>
+ <view class="h1">棰勭害璁板綍</view>
+ <view class="h2">APPOINTMENT RECORD</view>
+ </view>
+ <view class="img_wrap img2" @click="jump('/pages/driver/queueUp')">
+ <image src="@/static/driver/wuliu_ic_paidui@2x.png" class="img"></image>
+ <view class="h1">鏈堝彴鎺掗槦鎯呭喌</view>
+ <view class="h2">HIDDEN DANGER</view>
+ </view>
+ <view class="img_wrap img2" @click="jump('/pages/driver/reservedGuide?str=reservationMap')">
+ <image src="@/static/driver/wuliu_ic_daolan@2x.png" class="img"></image>
+ <view class="h1">鍥尯瀵艰鍥�</view>
+ <view class="h2">GUIDE MAP</view>
+ </view>
+ </view>
+ </view>
+ <!-- -->
+ <view class="copyright">
+ <image src="@/static/logo_s@2x.png" class="mr6" mode="widthFix" />
+ <text>瀹夊窘瀹夋嘲鐗╂祦鏈夐檺璐d换鍏徃鐗堟潈鎵�鏈�</text>
+ </view>
+ </view>
+</template>
+
+<script>
+import {
+ logoutPost,
+ driverHomeData,
+ app_url
+} from '@/api'
+export default {
+ data() {
+ return {
+ taskList: [],
+ driverInfo: uni.getStorageSync('driverInfo'),
+
+ }
+ },
+ onShow() {
+ this.initData()
+ },
+
+ methods: {
+ jump(path) {
+ this.$jump(path)
+ },
+ initData() {
+ driverHomeData().then(res => {
+ if (res.code == 200) {
+ uni.setStorageSync('driverGuide', {
+ bookingTips: res.data.bookingTips,
+ reservationMap: res.data.reservationMap,
+ signDistance: res.data.signDistance
+ })
+ this.taskList = res.data.platformJobList || []
+ }
+ })
+ },
loginOut() {
- this.$store.commit('empty');
- logoutPost();
- uni.redirectTo({
- url: '/pages/driver/login'
- });
- },
- taskClick(item) {
- const status = item.status
- console.log(item);
- if(status == 0){
- uni.navigateTo({url: '/pages/driver/taskConfirm?id=' + item.id});
- }
- // else if(status == 2){
- // uni.navigateTo({url:'/pages/driver/queueUp?jobId=' + item.id})
- // }
- else{
- uni.navigateTo({url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}`});
- }
- },
- handleTask(item) {
- uni.navigateTo({
- url: '/pages/driver/taskConfirm?id=' + item.id
- });
- },
- handleSign(item) {
- uni.navigateTo({
- url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}`
- });
- },
- handleQueue(item) {
- uni.navigateTo({
- url:'/pages/driver/queueUp?jobId=' + item.id
- })
- },
- }
-};
-</script>
-
-<style lang="scss">
-.title_wrap {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin-bottom: 24rpx;
- padding-top: 10rpx;
- .name {
- font-weight: 600;
- font-size: 34rpx;
- color: #222222;
- }
- .btn {
- width: 144rpx;
- height: 56rpx;
- border-radius: 36rpx;
- border: 1rpx solid $uni-color-primary;
- font-size: 26rpx;
- color: $uni-color-primary;
- display: flex;
- justify-content: center;
- align-items: center;
- }
-}
-.main_app {
- padding-top: 12rpx;
-}
-.banner_wrap {
- padding: 54rpx 44rpx;
- color: #fff;
- position: relative;
- width: 688rpx;
- height: 270rpx;
- margin-bottom: 28rpx;
- .h1 {
- font-weight: bold;
- line-height: 66rpx;
- font-size: 44rpx;
- margin-bottom: 14rpx;
- }
- .h2 {
- font-weight: 600;
- font-size: 28rpx;
- width: 192rpx;
- color: $uni-color-primary;
- height: 48rpx;
- line-height: 48rpx;
- text-align: center;
- background: #ffffff;
- box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(39, 155, 170, 0.31);
- border-radius: 24rpx;
- }
- .banner {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- z-index: -1;
- }
-}
-.container1 {
- display: flex;
- flex-wrap: wrap;
- view {
- width: 336rpx;
- }
- .left {
- margin-right: 18rpx;
- }
- .img_wrap {
- position: relative;
- padding: 24rpx 0rpx 0 28rpx;
- border-radius: 8rpx;
- overflow: hidden;
- .h1 {
- font-weight: 600;
- font-size: 32rpx;
- color: #222222;
- line-height: 48rpx;
- margin-bottom: 4rpx;
- }
- .h2 {
- font-size: 22rpx;
- color: #7b9da1;
- line-height: 34rpx;
- }
- .img {
- width: 100%;
- height: 100%;
- position: absolute;
- top: 0;
- left: 0;
- z-index: -1;
- }
- }
- .img1 {
- width: 336rpx;
- height: 296rpx;
- margin-bottom: 16rpx;
- }
- .img2 {
- width: 336rpx;
- height: 140rpx;
- margin-bottom: 16rpx;
- }
-}
-.task_list {
- margin-bottom: 0rpx;
- .task_swiper {
- padding: 12rpx 10rpx;
- height: 340rpx;
- width: 730rpx;
- margin-left: -20rpx;
- box-sizing: border-box;
- }
- .item {
- background: #ffffff;
- box-shadow: 0rpx 6rpx 24rpx 0rpx rgba(39, 155, 170, 0.32);
- border-radius: 16rpx;
- height: 280rpx;
- width: 98%;
- margin-left: 1%;
- .head {
- display: flex;
- justify-content: space-between;
- align-items: center;
- background: linear-gradient(270deg, #fefeff 0%, #e1f7fe 100%);
- padding: 0rpx 30rpx;
- height: 92rpx;
- .name {
- font-weight: 600;
- font-size: 36rpx;
- color: #222222;
- }
- .status {
- color: $uni-color-primary;
- font-weight: 600;
- text-align: right;
- .time {
- font-size: 24rpx;
- font-weight: 360;
- }
- }
- }
- .content {
- height: 180rpx;
- .info {
- display: flex;
- padding: 24rpx 30rpx;
- .plate {
- flex: 1;
- display: flex;
- align-items: center;
- .icon {
- width: 26rpx;
- height: 26rpx;
- margin-right: 10rpx;
- }
- }
- }
- .sub {
- display: flex;
- justify-content: space-between;
- align-items: center;
- height: 68rpx;
- padding: 0 30rpx 0;
- .time {
- font-size: 26rpx;
- color: #999999;
- }
- .sub_btn {
- height: 68rpx;
- line-height: 68rpx;
- padding: 0 34rpx;
- color: #ffffff;
- background: $uni-color-primary;
- box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(39, 155, 170, 0.4);
- border-radius: 40rpx;
- }
- }
- }
- }
-}
-.copyright {
- display: flex;
- align-items: center;
- justify-content: center;
- margin-top: 44rpx;
- font-size: 24rpx;
- color: #666666;
- image {
- width: 40rpx;
- height: 40rpx;
- }
-}
-</style>
+ logoutPost()
+ this.$store.commit('empty')
+ window.location.href = app_url
+ },
+ taskClick(item) {
+ const status = item.status
+ if (status == 0) {
+ uni.navigateTo({
+ url: '/pages/driver/taskConfirm?id=' + item.id
+ })
+ }
+ // else if(status == 2){
+ // uni.navigateTo({url:'/pages/driver/queueUp?jobId=' + item.id})
+ // }
+ else {
+ uni.navigateTo({
+ url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}`
+ })
+ }
+ },
+ handleTask(item) {
+ uni.navigateTo({
+ url: '/pages/driver/taskConfirm?id=' + item.id
+ })
+ },
+ handleSign(item) {
+ uni.navigateTo({
+ url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}`
+ })
+ },
+ handleQueue(item) {
+ uni.navigateTo({
+ url: '/pages/driver/queueUp?jobId=' + item.id
+ })
+ },
+ }
+}
+</script>
+
+<style lang="scss">
+.title_wrap {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 24rpx;
+ padding-top: 10rpx;
+
+ .name {
+ font-weight: 600;
+ font-size: 34rpx;
+ color: #222222;
+ }
+
+ .btn {
+ width: 144rpx;
+ height: 56rpx;
+ border-radius: 36rpx;
+ border: 1rpx solid $uni-color-primary;
+ font-size: 26rpx;
+ color: $uni-color-primary;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+}
+
+.main_app {
+ padding-top: 12rpx;
+}
+
+.banner_wrap {
+ padding: 54rpx 44rpx;
+ color: #fff;
+ position: relative;
+ width: 688rpx;
+ height: 270rpx;
+ margin-bottom: 28rpx;
+
+ .h1 {
+ font-weight: bold;
+ line-height: 66rpx;
+ font-size: 44rpx;
+ margin-bottom: 14rpx;
+ }
+
+ .h2 {
+ font-weight: 600;
+ font-size: 28rpx;
+ width: 192rpx;
+ color: $uni-color-primary;
+ height: 48rpx;
+ line-height: 48rpx;
+ text-align: center;
+ background: #ffffff;
+ box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(39, 155, 170, 0.31);
+ border-radius: 24rpx;
+ }
+
+ .banner {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ z-index: -1;
+ }
+}
+
+.container1 {
+ display: flex;
+ flex-wrap: wrap;
+
+ view {
+ width: 336rpx;
+ }
+
+ .left {
+ margin-right: 18rpx;
+ }
+
+ .img_wrap {
+ position: relative;
+ padding: 24rpx 0rpx 0 28rpx;
+ border-radius: 8rpx;
+ overflow: hidden;
+
+ .h1 {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #222222;
+ line-height: 48rpx;
+ margin-bottom: 4rpx;
+ }
+
+ .h2 {
+ font-size: 22rpx;
+ color: #7b9da1;
+ line-height: 34rpx;
+ }
+
+ .img {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: -1;
+ }
+ }
+
+ .img1 {
+ width: 336rpx;
+ height: 296rpx;
+ margin-bottom: 16rpx;
+ }
+
+ .img2 {
+ width: 336rpx;
+ height: 140rpx;
+ margin-bottom: 16rpx;
+ }
+}
+
+.task_list {
+ margin-bottom: 0rpx;
+
+ .task_swiper {
+ padding: 12rpx 10rpx;
+ height: 340rpx;
+ width: 730rpx;
+ margin-left: -20rpx;
+ box-sizing: border-box;
+ }
+
+ .item {
+ background: #ffffff;
+ box-shadow: 0rpx 6rpx 24rpx 0rpx rgba(39, 155, 170, 0.32);
+ border-radius: 16rpx;
+ height: 280rpx;
+ width: 98%;
+ margin-left: 1%;
+
+ .head {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ background: linear-gradient(270deg, #fefeff 0%, #e1f7fe 100%);
+ padding: 0rpx 30rpx;
+ height: 92rpx;
+
+ .name {
+ font-weight: 600;
+ font-size: 36rpx;
+ color: #222222;
+ }
+
+ .status {
+ color: $uni-color-primary;
+ font-weight: 600;
+ text-align: right;
+
+ .time {
+ font-size: 24rpx;
+ font-weight: 360;
+ }
+ }
+ }
+
+ .content {
+ height: 180rpx;
+
+ .info {
+ display: flex;
+ padding: 24rpx 30rpx;
+
+ .plate {
+ flex: 1;
+ display: flex;
+ align-items: center;
+
+ .icon {
+ width: 26rpx;
+ height: 26rpx;
+ margin-right: 10rpx;
+ }
+ }
+ }
+
+ .sub {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 68rpx;
+ padding: 0 30rpx 0;
+
+ .time {
+ font-size: 26rpx;
+ color: #999999;
+ }
+
+ .sub_btn {
+ height: 68rpx;
+ line-height: 68rpx;
+ padding: 0 34rpx;
+ color: #ffffff;
+ background: $uni-color-primary;
+ box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(39, 155, 170, 0.4);
+ border-radius: 40rpx;
+ }
+ }
+ }
+ }
+}
+
+.copyright {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 44rpx;
+ font-size: 24rpx;
+ color: #666666;
+
+ image {
+ width: 40rpx;
+ height: 40rpx;
+ }
+}
+</style>
\ No newline at end of file
diff --git a/h5/pages/index/index.vue b/h5/pages/index/index.vue
index 91628d7..9237ee9 100644
--- a/h5/pages/index/index.vue
+++ b/h5/pages/index/index.vue
@@ -29,7 +29,7 @@
</template>
<script>
-import { wxAuthorize } from '@/api'
+import { wxAuthorize, app_url } from '@/api'
export default {
data() {
@@ -37,14 +37,8 @@
}
},
- onBackPress(options) {
- uni.redirectTo({
- url: '/pages/login/login'
- })
- return true
- },
onLoad() {
-
+
},
methods: {
jump(type) {
@@ -107,6 +101,7 @@
display: flex;
flex-direction: column;
position: relative;
+
.banner_bg {
position: absolute;
top: 0;
@@ -114,6 +109,7 @@
width: 100%;
z-index: -1;
}
+
.h2 {
font-size: 28rpx;
font-family: SourceHanSansSC, SourceHanSansSC;
@@ -121,6 +117,7 @@
color: #ffffff;
margin-top: 14rpx;
}
+
text {
&:first-child {
font-size: 44rpx;
@@ -131,12 +128,14 @@
}
}
}
+
.main_title {
font-weight: 600;
font-size: 32rpx;
color: #222222;
margin: 40rpx 0 32rpx;
}
+
.box_list {
width: 100%;
display: flex;
@@ -148,11 +147,13 @@
.box_list_item {
width: 100%;
margin-bottom: 20rpx;
+
image {
width: 100%;
}
}
}
+
.copyright {
display: flex;
align-items: center;
@@ -160,6 +161,7 @@
margin-top: 84rpx;
font-size: 24rpx;
color: #666666;
+
image {
width: 40rpx;
height: 40rpx;
diff --git a/h5/pages/login/login.vue b/h5/pages/login/login.vue
index c20258d..15766ad 100644
--- a/h5/pages/login/login.vue
+++ b/h5/pages/login/login.vue
@@ -1,6 +1,6 @@
<template>
<view class="main_app">
- <image class="login_bg" src="@/static/login_bg@2x.png" mode="widthFix" />
+ <image class="login_bg" src="@/static/staff/shenfen_bg@2x.png" mode="widthFix" />
<view class="h1">瀹夋嘲鐗╂祦鏅烘収鍥尯</view>
<view class="placeholder6 place">璇烽�夋嫨鎮ㄧ殑韬唤</view>
<view class="item" @click="userAuth(1)">
@@ -32,7 +32,7 @@
<script>
import {
- wxAuthorizea,
+ wxAuthorizea,
getUserInfo
} from '@/api'
import {
@@ -41,18 +41,17 @@
export default {
data() {
return {
- code: '091RVIkl2SZXDe4WySll2pAL8D1RVIkb'
+ code: ''
}
},
- onLoad() {
+ onShow() {
var that = this
- let url = window.location.href
+ let url = 'https://atwl.ahzyssl.com/zhyq_h5/#/'
let code = ''
- if (url.indexOf('code=') !== -1) {
+ if (window.location.href.indexOf('code=') !== -1 || this.code) {
- } else {
- return
- let url = window.location.href
+ } else {
+ // let url = window.location.href
const appID = 'wx173e6caf5abc718a'
let uri = encodeURIComponent(url)
let authURL =
@@ -98,13 +97,13 @@
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)
- // }
- // }
+ const query = url.split('?')
+ for (const q of query) {
+ if (q.indexOf('code=') !== -1) {
+ let statusIndex = q.indexOf('&state')
+ code = q.substring(q.indexOf('code=') + 5, statusIndex)
+ }
+ }
wxAuthorizea({
code: code || this.code,
source: source
@@ -113,35 +112,32 @@
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')
- }
+ setTimeout(() => {
+ if (source == 0) {
+ if (res.data.token) {
+ that.$store.commit('setToken', res.data.token)
+ getUserInfo().then(ress => {
+ that.$store.commit('setDriverInfo', ress.data)
+ })
+ }
+ this.driverLogin(flag)
+ } else if (source == 2) {
+ if (res.data.token) {
+ that.$store.commit('setToken', res.data.token)
+ getUserInfo().then(ress => {
+ that.$store.commit('setUserInfo', ress.data)
+ })
+ }
+ 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)
}
}
}
@@ -149,9 +145,9 @@
<style lang="scss">
.main_app {
- width: 100vw;
- box-sizing: border-box;
- overflow: hidden;
+ width: 100vw;
+ box-sizing: border-box;
+ overflow: hidden;
margin: 0;
height: 100vh;
padding-top: 80rpx;
@@ -161,7 +157,7 @@
.login_bg {
position: absolute;
- top: 0;
+ top: 0;
left: 0;
width: 100%;
z-index: -1;
diff --git a/h5/pages/staff/index.vue b/h5/pages/staff/index.vue
index 15b25ae..369467b 100644
--- a/h5/pages/staff/index.vue
+++ b/h5/pages/staff/index.vue
@@ -1,291 +1,292 @@
-<template>
- <view class="main_app">
- <view class="title_wrap">
- <view class="name" v-if="userInfo.realname"
- >{{ userInfo.realname || "" }}锛屾杩庣櫥褰曪綖</view
- >
- <view class="name" v-else>璇峰厛鐧诲綍</view>
- <view class="btn" @click="loginOut">{{
- userInfo.realname ? "閫�鍑虹櫥褰�" : "鍘荤櫥褰�"
- }}</view>
- </view>
- <view class="banner_wrap">
- <view class="h1">瀹夋嘲鐗╂祦</view>
- <view class="h2">瀹夊叏閲嶄簬娉板北 鏈嶅姟杩芥眰鍗撹秺</view>
- <image
- class="banner"
- src="../../static/banner.jpg"
- mode="widthFix"
- ></image>
- </view>
- <view v-if="list1.filter(i => checkAuth(i.auth)).length > 0" class="title_wrap"><view class="name">涓氬姟鍔炵悊</view></view>
- <view class="container1">
- <view class="list">
- <block v-for="item in list1" :key="item.name">
- <view v-if="checkAuth(item.auth)" class="item" @click="jump(item.url)">
- <image :src="item.img" class="icon" />
- <view class="name">{{item.name}}</view>
- </view>
- </block>
- </view>
-<!-- <view class="left">
- <view class="img_wrap img1" @click="jump('/pages/staff/visitorReport')">
- <image src="@/static/staff/ic_fangkebaobei.png" class="img"></image>
- <view class="h1">璁垮鎶ュ</view>
- <view class="h2">VISITOR REPORTING</view>
- </view>
- <view class="img_wrap img2" @click="jump('/pages/staff/meetingSub')">
- <image src="@/static/staff/ic_yuyuehuiyishi.png" class="img"></image>
- <view class="h1">棰勭害浼氳瀹�</view>
- <view class="h2">BOOK A MEETING ROOM</view>
- </view>
- </view>
- <view class="right">
- <view class="img_wrap img2" @click="jump('/pages/staff/snapshot')">
- <image src="@/static/staff/ic_yinhuansuipai.png" class="img"></image>
- <view class="h1">闅愭偅闅忔墜鎷�</view>
- <view class="h2">HIDDEN DANGER</view>
- </view>
- <view class="img_wrap img2" @click="jump('/pages/staff/vehicle/index')">
- <image
- src="@/static/staff/ic_yongcheshenqing.png"
- class="img"
- ></image>
- <view class="h1">鐢ㄨ溅鐢宠</view>
- <view class="h2">VEHICLE APPLICATION</view>
- </view>
- <view
- class="img_wrap img2"
- @click="jump('/pages/changePassword/changePassword')"
- >
- <image src="@/static/staff/ic_xiugaimima.png" class="img"></image>
- <view class="h1">淇敼瀵嗙爜</view>
- <view class="h2">CHANGE PASSWORD</view>
- </view>
- </view> -->
- </view>
- <!-- -->
- <view v-if="list2.filter(i => checkAuth(i.auth)).length > 0" class="title_wrap"><view class="name">涓氬姟鏌ヨ</view></view>
- <view class="container2">
- <view class="list">
- <block v-for="item in list2" :key="item.name">
- <view v-if="checkAuth(item.auth)" class="item" @click="jump(item.url)">
- <image :src="item.img" class="icon" />
- <view class="name">{{item.name}}</view>
- <view v-if="item.name == '浠诲姟涓績' && taskInfo" class="task_num">{{ taskInfo }}</view>
- </view>
- </block>
- </view>
-
-<!-- <view class="img_wrap" @click="jump('/pages/staff/task/index')">
- <image class="img" src="@/static/staff/ic_renwuzhongxin.png"></image>
- <view class="h1">浠诲姟涓績</view>
- <view class="h2">TASK CENTER</view>
- <view class="task_num">{{
- taskInfo
- }}</view>
- </view>
- <view class="img_wrap" @click="jump('/pages/staff/meetingCalendar')">
- <image class="img" src="@/static/staff/ic_wodehuiyi.png"></image>
- <view class="h1">鎴戠殑浼氳鏃ュ巻</view>
- <view class="h2">MY MEETING CALENDAR</view>
- </view>
- <view class="img_wrap" @click="jump('/pages/staff/vehicle/sendACar')">
- <image class="img" src="@/static/staff/ic_paichejilu.png"></image>
- <view class="h1">娲捐溅璁板綍</view>
- <view class="h2">VEHICLE DISPATCH</view>
- </view>
- <view class="img_wrap" @click="jump('/pages/staff/meetingManager')">
- <image class="img" src="@/static/staff/ic_huiyishiguanli.png"></image>
- <view class="h1">浼氳瀹ょ鐞�</view>
- <view class="h2">MANAGE MEETING ROOMS</view>
- </view> -->
- </view>
- <view class="copyright">
- <image src="@/static/logo_s@2x.png" mode="widthFix" />
- <text>瀹夊窘瀹夋嘲鐗╂祦鏈夐檺璐d换鍏徃鐗堟潈鎵�鏈�</text>
- </view>
- </view>
-</template>
-
-<script>
-import { logoutPost, stagingHead, wxAuthorize, refreshToken } from '@/api'
-export default {
- data() {
- return {
- userInfo: uni.getStorageSync('userInfo') || {permissions: []},
- taskInfo: 0,
- list1: [
- { name: '璁垮鎶ュ', url: '/pages/staff/visitorReport', img: require('@/static/home/ic_fangkebaobei@3x.png'),auth: 'weixin:menu:visitcar' },
- { name: '闅愭偅闅忔墜鎷�', url: '/pages/staff/snapshot', img: require('@/static/home/ic_yinhuansuishoupai@3x.png'),auth: 'weixin:menu:hiddendanger' },
- { 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: '/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' },
- { name: '鎴戠殑浼氳鏃ュ巻', url: '/pages/staff/meetingCalendar', img: require('@/static/home/ic_wodehuiyi@3x.png'),auth: 'weixin:menu:meetingcalendar' },
- { name: '娲捐溅璁板綍', url: '/pages/staff/vehicle/sendACar', img: require('@/static/home/ic_paichejilu@3x.png'),auth: 'weixin:menu:usecarrecord' },
- { name: '浼氳瀹ょ鐞�', url: '/pages/staff/meetingManager', img: require('@/static/home/ic_huiyishiguanli@3x.png'),auth: 'weixin:menu:meetingmanage' }
- ],
-
- }
- },
- onLoad() {
-
- this.getTaskInfo()
- // 鍒锋柊token
- // setTimeout(() => {
- // refreshToken().then(res => {
- // if (res.code && res.code === 200) {
- // this.$store.commit('setToken', res.data)
- // }
- // })
- // }, 3000)
- },
- mounted() {
- this.$eventBus.$on('taskBack', () => {
- console.log('----');
- this.getTaskInfo()
- })
- console.log('aaa', this.userInfo.permissions.indexOf('system:user:create'));
- },
- methods: {
- jump(path) {
- uni.navigateTo({
- url: path
- })
- },
- checkAuth(str) {
- const permissions = this.userInfo.permissions
- return permissions.indexOf(str) > -1
- },
- loginOut() {
- this.$store.commit('empty')
- logoutPost()
- uni.redirectTo({
- url: '/pages/staffLogin/login'
- })
- },
- getTaskInfo() {
- stagingHead({
- isDetail: '1'
- }).then(res => {
- this.taskInfo = res.data.noticeWaitNum + res.data.noticeCopyNum
- if(this.taskInfo && this.taskInfo > 99){
- this.taskInfo = 99
- }
- })
- },
- }
-};
-</script>
-
-<style lang="scss" scoped>
-.title_wrap {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin-bottom: 24rpx;
- padding-top: 10rpx;
- .name {
- font-weight: 600;
- font-size: 34rpx;
- color: #222222;
- }
- .btn {
- width: 144rpx;
- height: 56rpx;
- border-radius: 36rpx;
- border: 1rpx solid $uni-color-primary;
- font-size: 26rpx;
- color: $uni-color-primary;
- display: flex;
- justify-content: center;
- align-items: center;
- }
-}
-.main_app {
- padding-top: 12rpx;
-}
-.list{
- display: flex;
- width: 100%;
- flex-wrap: wrap;
- .item{
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- width: 25%;
- margin-bottom: 40rpx;
- font-size: 26rpx;
- position: relative;
- image{
- width: 88rpx;
- height: 88rpx;
- margin-bottom: 20rpx;
- }
- .task_num{
- position: absolute;
- top: -10rpx;
- right: 28rpx;
- font-size: 24rpx;
- width: 36rpx;
- height: 36rpx;
- background-color: red;
- color: #fff;
- border-radius: 50%;
- display: flex;
- justify-content: center;
- align-items: center;
- }
- }
-}
-.banner_wrap {
- padding: 54rpx 44rpx;
- color: #fff;
- position: relative;
- width: 688rpx;
- height: 270rpx;
- margin-bottom: 40rpx;
- .h1 {
- font-weight: bold;
- line-height: 66rpx;
- font-size: 44rpx;
- margin-bottom: 14rpx;
- }
- .banner {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- z-index: -1;
- }
-}
-.container1 {
- display: flex;
- flex-wrap: wrap;
- padding: 10rpx 0 10rpx;
-}
-.container2 {
- display: flex;
- flex-wrap: wrap;
-}
-.copyright {
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 24rpx;
- color: #666666;
- position: fixed;
- width: 100%;
- left: 0;
- bottom: 48rpx;
- image {
- width: 40rpx;
- height: 40rpx;
- }
-}
-</style>
+<template>
+ <view class="main_app">
+ <view class="title_wrap">
+ <view class="name" v-if="userInfo.realname">{{ userInfo.realname || "" }}锛屾杩庣櫥褰曪綖</view>
+ <view class="name" v-else>璇峰厛鐧诲綍</view>
+ <view class="btn" @click="loginOut">{{
+ userInfo.realname ? "閫�鍑虹櫥褰�" : "鍘荤櫥褰�"
+ }}</view>
+ </view>
+ <view class="banner_wrap">
+ <view class="h1">瀹夋嘲鐗╂祦</view>
+ <view class="h2">瀹夊叏閲嶄簬娉板北 鏈嶅姟杩芥眰鍗撹秺</view>
+ <image class="banner" src="../../static/banner.jpg" mode="widthFix"></image>
+ </view>
+ <view v-if="list1.filter(i => checkAuth(i.auth)).length > 0" class="title_wrap">
+ <view class="name">涓氬姟鍔炵悊</view>
+ </view>
+ <view class="container1">
+ <view class="list">
+ <block v-for="item in list1" :key="item.name">
+ <view v-if="checkAuth(item.auth)" class="item" @click="jump(item.url)">
+ <image :src="item.img" class="icon" />
+ <view class="name">{{ item.name }}</view>
+ </view>
+ </block>
+ </view>
+ </view>
+ <!-- -->
+ <view v-if="list2.filter(i => checkAuth(i.auth)).length > 0" class="title_wrap">
+ <view class="name">涓氬姟鏌ヨ</view>
+ </view>
+ <view class="container2">
+ <view class="list">
+ <block v-for="item in list2" :key="item.name">
+ <view v-if="checkAuth(item.auth)" class="item" @click="jump(item.url)">
+ <image :src="item.img" class="icon" />
+ <view class="name">{{ item.name }}</view>
+ <view v-if="item.name == '浠诲姟涓績' && taskInfo" class="task_num">{{ taskInfo }}</view>
+ </view>
+ </block>
+ </view>
+ </view>
+ <view class="copyright">
+ <image src="@/static/logo_s@2x.png" mode="widthFix" />
+ <text>瀹夊窘瀹夋嘲鐗╂祦鏈夐檺璐d换鍏徃鐗堟潈鎵�鏈�</text>
+ </view>
+ </view>
+</template>
+
+<script>
+import {
+ logoutPost,
+ stagingHead,
+ wxAuthorize,
+ refreshToken,
+ app_url
+} from '@/api'
+export default {
+ data() {
+ return {
+ userInfo: uni.getStorageSync('userInfo') || {
+ permissions: []
+ },
+ taskInfo: 0,
+ list1: [{
+ name: '璁垮鎶ュ',
+ url: '/pages/staff/visitorReport',
+ img: require('@/static/home/ic_fangkebaobei@3x.png'),
+ auth: 'weixin:menu:visitcar'
+ },
+ {
+ name: '闅愭偅闅忔墜鎷�',
+ url: '/pages/staff/snapshot',
+ img: require('@/static/home/ic_yinhuansuishoupai@3x.png'),
+ auth: 'weixin:menu:hiddendanger'
+ },
+ {
+ 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: '/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'
+ },
+ {
+ name: '鎴戠殑浼氳鏃ュ巻',
+ url: '/pages/staff/meetingCalendar',
+ img: require('@/static/home/ic_wodehuiyi@3x.png'),
+ auth: 'weixin:menu:meetingcalendar'
+ },
+ {
+ name: '娲捐溅璁板綍',
+ url: '/pages/staff/vehicle/sendACar',
+ img: require('@/static/home/ic_paichejilu@3x.png'),
+ auth: 'weixin:menu:usecarrecord'
+ },
+ {
+ name: '浼氳瀹ょ鐞�',
+ url: '/pages/staff/meetingManager',
+ img: require('@/static/home/ic_huiyishiguanli@3x.png'),
+ auth: 'weixin:menu:meetingmanage'
+ }
+ ],
+
+ }
+ },
+ mounted() {
+ },
+
+ onShow() {
+ setTimeout(() => {
+ this.getTaskInfo()
+ }, 300)
+ },
+ methods: {
+ jump(path) {
+ if (path == '/pages/staff/signin') {
+ window.open('https://atwl.ahzyssl.com/dps/web/wxAuth/loginV2?oaId=atwl&redirectId=index')
+ } else {
+ uni.navigateTo({
+ url: path
+ })
+ }
+
+ },
+ checkAuth(str) {
+ const permissions = this.userInfo.permissions
+ return permissions.indexOf(str) > -1
+ },
+ loginOut() {
+ logoutPost()
+ this.$store.commit('empty')
+ window.location.href = app_url
+ },
+ getTaskInfo() {
+ stagingHead({
+ isDetail: '1'
+ }).then(res => {
+ this.taskInfo = res.data.noticeWaitNum + res.data.noticeCopyNum
+ if (this.taskInfo && this.taskInfo > 99) {
+ this.taskInfo = 99
+ }
+ })
+ },
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+.title_wrap {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 24rpx;
+ padding-top: 10rpx;
+
+ .name {
+ font-weight: 600;
+ font-size: 34rpx;
+ color: #222222;
+ }
+
+ .btn {
+ width: 144rpx;
+ height: 56rpx;
+ border-radius: 36rpx;
+ border: 1rpx solid $uni-color-primary;
+ font-size: 26rpx;
+ color: $uni-color-primary;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+}
+
+.main_app {
+ padding-top: 12rpx;
+}
+
+.list {
+ display: flex;
+ width: 100%;
+ flex-wrap: wrap;
+
+ .item {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ width: 25%;
+ margin-bottom: 40rpx;
+ font-size: 26rpx;
+ position: relative;
+
+ image {
+ width: 88rpx;
+ height: 88rpx;
+ margin-bottom: 20rpx;
+ }
+
+ .task_num {
+ position: absolute;
+ top: -10rpx;
+ right: 28rpx;
+ font-size: 24rpx;
+ width: 36rpx;
+ height: 36rpx;
+ background-color: red;
+ color: #fff;
+ border-radius: 50%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+ }
+}
+
+.banner_wrap {
+ padding: 54rpx 44rpx;
+ color: #fff;
+ position: relative;
+ width: 688rpx;
+ height: 270rpx;
+ margin-bottom: 40rpx;
+
+ .h1 {
+ font-weight: bold;
+ line-height: 66rpx;
+ font-size: 44rpx;
+ margin-bottom: 14rpx;
+ }
+
+ .banner {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ z-index: -1;
+ }
+}
+
+.container1 {
+ display: flex;
+ flex-wrap: wrap;
+ padding: 10rpx 0 10rpx;
+}
+
+.container2 {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.copyright {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 24rpx;
+ color: #666666;
+ position: fixed;
+ width: 100%;
+ left: 0;
+ bottom: 48rpx;
+
+ image {
+ width: 40rpx;
+ height: 40rpx;
+ }
+}
+</style>
\ No newline at end of file
diff --git a/h5/pages/staff/meetingCalendar.vue b/h5/pages/staff/meetingCalendar.vue
index 46d1239..dab5dd0 100644
--- a/h5/pages/staff/meetingCalendar.vue
+++ b/h5/pages/staff/meetingCalendar.vue
@@ -242,11 +242,11 @@
console.log(total);
console.log(recordList);
if (activeTab == '0') {
- // if(total <= myMeetingList.length) return this.showToast('鏆傛棤鏇村鏁版嵁')
+ if(total <= myMeetingList.length) return this.showToast('鏆傛棤鏇村鏁版嵁')
this.myPage = this.myPage + 1
this.getDayMeeting()
} else {
- // if(total <= recordList.length) return this.showToast('鏆傛棤鏇村鏁版嵁')
+ if(total <= recordList.length) return this.showToast('鏆傛棤鏇村鏁版嵁')
this.recordPage = this.recordPage + 1
this.getRecordList()
}
diff --git a/h5/pages/staff/snapshot.vue b/h5/pages/staff/snapshot.vue
index 1224a70..a7050b6 100644
--- a/h5/pages/staff/snapshot.vue
+++ b/h5/pages/staff/snapshot.vue
@@ -1,17 +1,17 @@
<template>
<view class="main_app">
<view class="main_wrap">
- <!-- -->
- <view class="line">
- <view class="label">
- <text>*</text>
- <text>璐d换閮ㄩ棬</text>
- </view>
- <view class="value" @click="isShowCompany = true">
- <text class="mr6"
- :style="{ color: param.companyName ? '#000000' : '#999999' }">{{ param.companyName ? param.companyName : "璇烽�夋嫨" }}</text>
- <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
- </view>
+ <!-- -->
+ <view class="line">
+ <view class="label">
+ <text>*</text>
+ <text>璐d换閮ㄩ棬</text>
+ </view>
+ <view class="value" @click="isShowCompany = true">
+ <text class="mr6"
+ :style="{ color: param.companyName ? '#000000' : '#999999' }">{{ param.companyName ? param.companyName : "璇烽�夋嫨" }}</text>
+ <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
+ </view>
</view>
<view class="line">
<view class="label">
@@ -105,8 +105,8 @@
<view class="footer_btn" @click="onSubmit">鎻愪氦</view>
</view>
</view>
- <!-- -->
- <u-picker keyName="name" :show="isShowCompany" closeOnClickOverlay :columns="deptList" @confirm="seletedCompany"
+ <!-- -->
+ <u-picker keyName="name" :show="isShowCompany" closeOnClickOverlay :columns="deptList" @confirm="seletedCompany"
@close="isShowCompany = false" @cancel="isShowCompany = false"></u-picker>
<!-- 鍖哄煙 -->
<u-picker keyName="name" :show="isShowArea" closeOnClickOverlay :columns="areaOptions" @confirm="seletedArea"
@@ -130,7 +130,7 @@
import {
uploadUrl,
DangerCreate,
- DangerConfigType,
+ DangerConfigType,
deptListPost
} from '@/api'
import dayjs from 'dayjs'
@@ -140,13 +140,13 @@
param: {},
submitFileList: [],
- isShowCompany: false,
+ isShowCompany: false,
isShowArea: false,
isShowType: false,
isShowTime: false,
showUpload: false,
- deptList: [],
+ deptList: [],
areaOptions: [],
areaType: [],
}
@@ -171,10 +171,10 @@
const {
param,
submitFileList
- } = this
- if (!param.companyName) return uni.showToast({
- title: '璇烽�夋嫨璐d换閮ㄩ棬',
- icon: 'none'
+ } = this
+ if (!param.companyName) return uni.showToast({
+ title: '璇烽�夋嫨璐d换閮ㄩ棬',
+ icon: 'none'
})
if (!param.areaName) return uni.showToast({
title: '璇烽�夋嫨闅愭偅鍖哄煙',
@@ -205,20 +205,20 @@
this.$jump('/pages/staff/snapshotResult')
}
})
- },
- seletedCompany(e) {
- const item = e.value[0]
- this.$set(this.param, 'companyId', item.id)
- this.$set(this.param, 'companyName', item.name)
- this.$set(this.param, 'areaId', '')
- this.$set(this.param, 'areaName', '')
- DangerConfigType({
- type: '0',
- companyId: item.id
- }).then(res => {
- this.areaOptions = [res.data]
- })
- this.isShowCompany = false
+ },
+ seletedCompany(e) {
+ const item = e.value[0]
+ this.$set(this.param, 'companyId', item.id)
+ this.$set(this.param, 'companyName', item.name)
+ this.$set(this.param, 'areaId', '')
+ this.$set(this.param, 'areaName', '')
+ DangerConfigType({
+ type: '0',
+ companyId: item.id
+ }).then(res => {
+ this.areaOptions = [res.data]
+ })
+ this.isShowCompany = false
},
seletedArea(e) {
const item = e.value[0]
@@ -250,9 +250,9 @@
this.$set(this.param, 'submitTime', dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'))
this.isShowTime = false
},
- initConfig() {
- deptListPost({queryHiddenDanger: 1}).then(res => {
- this.deptList = [res.data]
+ initConfig() {
+ deptListPost({queryHiddenDanger: 1}).then(res => {
+ this.deptList = [res.data]
})
DangerConfigType({
type: '1'
@@ -281,7 +281,7 @@
this.showUpload = false
let token = uni.getStorageSync('token') || ''
uni.chooseImage({
- count: 4,
+ count: 9,
success: (chooseImageRes) => {
uni.showLoading({
title: '涓婁紶涓�',
@@ -425,9 +425,9 @@
.adduser_list_item_ipt1_upload {
margin-top: 24rpx;
- width: 120rpx;
- height: 120rpx;
- margin-right: 24rpx;
+ width: 156rpx;
+ height: 156rpx;
+ margin-right: 20rpx;
border: 2rpx solid #e5e5e5;
background: #f7f7f7;
color: #666666;
@@ -437,7 +437,9 @@
align-items: center;
justify-content: center;
position: relative;
-
+ &:nth-of-type(4n){
+ margin-right: 0;
+ }
.close {
position: absolute;
right: -20rpx;
@@ -452,7 +454,7 @@
video {
width: 100%;
- max-height: 120rpx;
+ max-height: 156rpx;
}
}
}
@@ -470,7 +472,7 @@
.footer {
width: 100%;
- padding: 0 30rpx;
+ padding: 0 30rpx;
margin-top: 80rpx;
padding-bottom: env(safe-area-inset-bottom);
box-sizing: border-box;
diff --git a/h5/pages/staff/task/index.vue b/h5/pages/staff/task/index.vue
index 56ed2e0..00a8fb0 100644
--- a/h5/pages/staff/task/index.vue
+++ b/h5/pages/staff/task/index.vue
@@ -535,6 +535,7 @@
font-size: 26rpx;
font-weight: 400;
color: #999999;
+ width: 120rpx;
}
.loading {
color: $uni-color-primary;
diff --git a/h5/pages/staff/task/vDangetAppr.vue b/h5/pages/staff/task/vDangetAppr.vue
index 53f969b..5dd7e69 100644
--- a/h5/pages/staff/task/vDangetAppr.vue
+++ b/h5/pages/staff/task/vDangetAppr.vue
@@ -9,10 +9,14 @@
class="status_img"></image>
<view>{{ info.content }}</view>
<view class="file_list">
- <view class="img_wrap" v-for="item in info.submitFileList" :key="item.id">
+ <view class="img_wrap" v-for="item,i in info.submitFileList" :key="item.id">
<image v-if="item.type == 0" :src="item.fileurlFull" @click="priviewImage(item.fileurlFull)" mode="widthFix"
class="img" />
- <video v-if="item.type == 1" :src="item.fileurlFull" class="video" :controls="false" />
+ <view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
+ <video :id="'id' + i" :show-center-play-btn="false"
+ :src="item.fileurlFull" muted class="video" :controls="false" />
+ <image src="@/static/play.png" class="play" mode=""></image>
+ </view>
</view>
</view>
<view class="text_wrap">
@@ -257,6 +261,11 @@
<u-datetime-picker :minDate="new Date().getTime()" :show="isShowHandleDate" @confirm="confirmHandleDate"
@cancel="isShowHandleDate = false" mode="datetime"></u-datetime-picker>
+ <!-- -->
+
+ <view v-if="videoPlay" class="video_app">
+ <video controls id="myvideo" :src="videoUrl" @fullscreenchange="screenChange"></video>
+ </view>
</view>
</template>
@@ -327,7 +336,11 @@
page: 1,
capacity: 50
},
- memberList: []
+ memberList: [],
+
+ videoPlay: false,
+ videoContext: null,
+ videoUrl: ''
};
},
onLoad(op) {
@@ -340,6 +353,23 @@
uni.previewImage({
urls: [url]
});
+ },
+ screenChange(e) {
+ let fullScreen = e.detail.fullScreen; // 鍊紅rue涓鸿繘鍏ュ叏灞忥紝false涓洪��鍑哄叏灞�
+ if (!fullScreen) {
+ //閫�鍑哄叏灞�
+ this.videoPlay = false; // 闅愯棌鎾斁鐩掑瓙
+ }
+ },
+ videoClick(item, i) {
+ this.videoContext = uni.createVideoContext("myvideo", this); // this杩欎釜鏄疄渚嬪璞� 蹇呬紶
+ console.log(item)
+ this.videoUrl = item.fileurlFull;
+ this.videoContext.requestFullScreen({
+ direction: 90
+ });
+ this.videoContext.play();
+ this.videoPlay = true;
},
handleOpen() {
this.isShowHandle = true;
@@ -482,7 +512,7 @@
this.showUploadBe = false;
let token = uni.getStorageSync('token') || '';
uni.chooseImage({
- count: 4,
+ count: 9,
success: chooseImageRes => {
uni.showLoading({
title: '涓婁紶涓�',
@@ -573,7 +603,7 @@
this.showUploadAf = false;
let token = uni.getStorageSync('token') || '';
uni.chooseImage({
- count: 4,
+ count: 9,
success: chooseImageRes => {
uni.showLoading({
title: '涓婁紶涓�',
@@ -661,7 +691,7 @@
this.showUpload = false;
let token = uni.getStorageSync('token') || '';
uni.chooseImage({
- count: 4,
+ count: 9,
success: chooseImageRes => {
uni.showLoading({
title: '涓婁紶涓�',
@@ -897,9 +927,9 @@
}
.adduser_list_item_ipt1_upload {
- width: 120rpx;
- height: 120rpx;
- margin-right: 24rpx;
+ width: 156rpx;
+ height: 156rpx;
+ margin-right: 20rpx;
border: 2rpx solid #e5e5e5;
background: #f7f7f7;
color: #666666;
@@ -909,6 +939,10 @@
align-items: center;
justify-content: center;
position: relative;
+
+ &:nth-of-type(4n) {
+ margin-right: 0;
+ }
.close {
position: absolute;
@@ -924,7 +958,7 @@
video {
width: 100%;
- max-height: 120rpx;
+ max-height: 156rpx;
}
}
@@ -999,25 +1033,44 @@
.file_list {
display: flex;
margin-bottom: 20rpx;
- overflow-x: auto;
+ flex-wrap: wrap;
.img_wrap {
margin-top: 24rpx;
- min-width: 160rpx;
- height: 160rpx;
+ width: 156rpx;
+ height: 156rpx;
border: 2rpx solid #e5e5e5;
background: #f7f7f7;
color: #666666;
font-size: 22rpx;
- display: flex;
+ display: flex;
+ border-radius: 4rpx;
flex-direction: column;
align-items: center;
justify-content: center;
position: relative;
- margin-right: 16rpx;
+ margin-right: 20rpx;
flex-shrink: 0;
- }
+ &:nth-of-type(4n) {
+ margin-right: 0;
+ }
+ }
+ .video_wrap{
+ position: relative;
+ border: 1px solid;
+ width: 156rpx;
+ height: 156rpx;
+ border-radius: 4rpx;
+ .play{
+ width: 60rpx;
+ height: 60rpx;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ }
+ }
.img {
width: 100%;
max-height: 100%;
@@ -1036,9 +1089,13 @@
margin-top: 20rpx;
.line {
- margin-bottom: 12rpx;
+ margin-bottom: 18rpx;
display: flex;
font-size: 24rpx;
+
+ &:nth-last-child(1) {
+ margin-bottom: 0;
+ }
.label {
color: #999999;
@@ -1055,7 +1112,7 @@
line-height: 60rpx;
padding: 0 32rpx;
border-radius: 0rpx 0rpx 0rpx 30rpx;
- background-color: #e9edff;
+ background: rgba(39, 155, 170, 0.12);
color: $uni-color-primary;
}
@@ -1169,10 +1226,10 @@
}
.adduser_list_item_ipt1_upload {
- margin-top: 24rpx;
- width: 120rpx;
- height: 120rpx;
- margin-right: 24rpx;
+ margin-top: 20rpx;
+ width: 156rpx;
+ height: 156rpx;
+ margin-right: 20rpx;
border: 2rpx solid #e5e5e5;
background: #f7f7f7;
color: #666666;
@@ -1183,6 +1240,10 @@
justify-content: center;
position: relative;
+ &:nth-of-type(4n) {
+ margin-right: 0;
+ }
+
.close {
position: absolute;
right: -20rpx;
diff --git a/h5/pages/staff/vehicle/apply.vue b/h5/pages/staff/vehicle/apply.vue
index 2007cfa..23ad5ae 100644
--- a/h5/pages/staff/vehicle/apply.vue
+++ b/h5/pages/staff/vehicle/apply.vue
@@ -134,8 +134,8 @@
<view class="line"
>4銆佸叕鍙稿�熺粰鐢宠浜虹敤杞︼紝鐢宠鍊熻溅浜轰负绗竴璐d换浜猴紝涓嶅厑璁歌浆鍊熺粰鍏朵粬浜轰娇鐢紝鑻ヨ鍊熺粰浠栦汉浣跨敤銆傝矗浠讳汉瑕佹壙鎷呭叏閮ㄨ矗浠汇��</view
>
+ <view class="sub_btn" @click="handleSub">鎻愪氦</view>
</view>
- <view class="sub_btn" @click="handleSub">鎻愪氦</view>
<!-- -->
<!-- :minDate="new Date(param.startTime).getTime()"
:maxDate="new Date(param.endTime).getTime()" -->
@@ -291,9 +291,10 @@
}
}
.sub_btn {
- position: fixed;
- bottom: 84rpx;
- left: 30rpx;
+ // position: fixed;
+ // bottom: 84rpx;
+ // left: 30rpx;
+ margin-top: 60rpx;
width: 690rpx;
height: 88rpx;
line-height: 88rpx;
diff --git a/h5/pages/staff/vehicle/sendACar.vue b/h5/pages/staff/vehicle/sendACar.vue
index 177ca60..53e9809 100644
--- a/h5/pages/staff/vehicle/sendACar.vue
+++ b/h5/pages/staff/vehicle/sendACar.vue
@@ -90,7 +90,7 @@
carsList: [],
param: {
queryDate: dayjs().format('YYYY-MM-DD'),
- memberId: uni.getStorageSync('userInfo').memberId
+ // memberId: uni.getStorageSync('userInfo').memberId
},
minDate: '',
pagination: {
@@ -133,7 +133,7 @@
},
itemDetail(item) {
uni.navigateTo({
- url: "/pages/staff/vehicle/sendACarDetail?id=" + item.id
+ url: `/pages/staff/vehicle/sendACarDetail?id=${item.id}`
})
},
seletedCar(e) {
diff --git a/h5/pages/staff/vehicle/sendACarDetail.vue b/h5/pages/staff/vehicle/sendACarDetail.vue
index cdd69e7..6e3e649 100644
--- a/h5/pages/staff/vehicle/sendACarDetail.vue
+++ b/h5/pages/staff/vehicle/sendACarDetail.vue
@@ -1,20 +1,16 @@
<template>
<view class="main_app">
- <view class="status_wrap">
- <view class="name">{{ info.createMemberName }}鎻愪氦鐨勭敤杞︾敵璇�</view>
- <view
- class="desc"
- :class="{
- gray: info.status == '2' || info.status == '3' || info.status == '4',
- }"
- >{{ infoStatus }}</view
- >
- <view v-if="info.status == '0' || info.status == '1'" class="status">{{
- statusMap[info.status]
- }}</view>
- <image v-if="info.status == '2'" src="@/static/ic_passed@2x.png" mode="widthFix" class="status_img"></image>
- <image v-if="info.status == '3' || info.status == '6'" src="@/static/ic_refused@2x.png" mode="widthFix"
- class="status_img"></image>
+ <view class="status_wrap">
+ <view class="name">{{ info.createMemberName || info.creatorName || info.memberName}}鎻愪氦鐨勭敤杞︾敵璇�</view>
+ <view class="desc gray">{{ info.companyName }}</view>
+ <view class="desc" style="margin-top: 16rpx;" v-if="info.status == 0">澶勭悊涓�</view>
+ <view v-if="info.status == '0' || info.status == '1'" class="status">{{
+ statusMap[info.status]
+ }}</view>
+ <image v-if="info.status == '2'" src="@/static/ic_passed@2x.png" mode="widthFix" class="status_img"></image>
+ <image v-if="info.status == '4'" src="@/static/ic_cancel.png" mode="widthFix" class="status_img"></image>
+ <image v-if="info.status == '3' || info.status == '6'" src="@/static/ic_refused@2x.png" mode="widthFix"
+ class="status_img"></image>
</view>
<!-- -->
<view class="emyty"></view>
@@ -45,52 +41,52 @@
<view class="label">杞﹁締淇℃伅</view>
<view class="value">{{ info.carCode }}</view>
</view>
- <view class="item">
+ <view class="item" v-if="info.driverName">
<view class="label">鍙告満淇℃伅</view>
- <view class="value">{{ info.driverName }} {{ info.driverPhone }}</view>
+ <view class="value">{{ info.driverName }} {{ info.driverPhone || '' }}</view>
</view>
</view>
<!-- 娴佺▼ -->
<view class="flow_wrap">
<view class="flow_title">娴佺▼</view>
- <view class="list" v-if="
- info.approveDateVO != null && info.approveDateVO.approveList != null
- ">
- <view class="item" v-for="(item, index) in info.approveDateVO.approveList" :key="item.id">
- <view class="separate"></view>
- <view class="avatar">
- <image v-if="item.type == 1" class="img" src="@/static/staff/ic_chaosong@2x.png" />
- <image v-else-if="item.approveType == 1 || item.approveType == 0" class="img"
- src="@/static/staff/ic_shenpiren@2x.png" />
- <image v-else-if="item.faceImg" :src="item.faceImg" class="img"></image>
- <span v-else class="img_name">{{item.memberName && item.memberName.slice(0,1)}}</span>
- <image v-if="item.status == 2" class="status" src="@/static/staff/liucheng_success@2x.png"
- mode="widthFix" />
- <image v-if="item.status == 3" class="status" src="@/static/staff/liucheng_fail@2x.png" mode="widthFix" />
- </view>
- <view class="content">
- <view class="head">
- <view class="event">{{ item.title }}</view>
- <view class="time">{{ item.checkDate }}</view>
- </view>
- <view class="name_wrap">
- <text>{{ item.memberName
- }}<text :class="{ status: item.statusInfo == '澶勭悊涓�' || item.status == '1' }"
- v-if="item.statusInfo">({{ item.statusInfo }})</text></text>
- </view>
- <view v-if="item.checkInfo" class="remark">{{
- item.checkInfo
- }}</view>
- <!-- 鎶勯�佷汉 -->
- <view v-if="item.approveType == 0 || item.type == 1 || item.approveType == 1" class="children">
- <view class="child" v-for="child in item.approveList" :key="child.id">
- <image v-if="child.faceImg" class="child_img" :src="child.faceImg" />
- <view v-else class="child_name">{{ child.memberName && child.memberName.slice(0,1) }}</view>
- <view>{{ child.memberName }}</view>
- </view>
- </view>
- </view>
- </view>
+ <view class="list" v-if="
+ info.approveDateVO != null && info.approveDateVO.approveList != null
+ ">
+ <view class="item" v-for="(item, index) in info.approveDateVO.approveList" :key="item.id">
+ <view class="separate"></view>
+ <view class="avatar">
+ <image v-if="item.type == 1" class="img" src="@/static/staff/ic_chaosong@2x.png" />
+ <image v-else-if="item.approveType == 1 || item.approveType == 0" class="img"
+ src="@/static/staff/ic_shenpiren@2x.png" />
+ <image v-else-if="item.faceImg" :src="item.faceImg" class="img"></image>
+ <span v-else class="img_name">{{item.memberName && item.memberName.slice(0,1)}}</span>
+ <image v-if="item.status == 2" class="status" src="@/static/staff/liucheng_success@2x.png"
+ mode="widthFix" />
+ <image v-if="item.status == 3" class="status" src="@/static/staff/liucheng_fail@2x.png" mode="widthFix" />
+ </view>
+ <view class="content">
+ <view class="head">
+ <view class="event">{{ item.title }}</view>
+ <view class="time">{{ item.checkDate }}</view>
+ </view>
+ <view class="name_wrap">
+ <text>{{ item.memberName
+ }}<text :class="{ status: item.statusInfo == '澶勭悊涓�' || item.status == '1' }"
+ v-if="item.statusInfo">({{ item.statusInfo }})</text></text>
+ </view>
+ <view v-if="item.checkInfo" class="remark">{{
+ item.checkInfo
+ }}</view>
+ <!-- 鎶勯�佷汉 -->
+ <view v-if="item.approveType == 0 || item.type == 1 || item.approveType == 1" class="children">
+ <view class="child" v-for="child in item.approveList" :key="child.id">
+ <image v-if="child.faceImg" class="child_img" :src="child.faceImg" />
+ <view v-else class="child_name">{{ child.memberName && child.memberName.slice(0,1) }}</view>
+ <view>{{ child.memberName }}</view>
+ </view>
+ </view>
+ </view>
+ </view>
</view>
</view>
<view class="emyty"></view>
@@ -103,13 +99,14 @@
<view class="btn" @click="handleSub(3)">鎷掔粷</view>
<view class="btn agree" @click="handleSub(2)">鍚屾剰</view>
</template>
- </view>
- <template v-else>
- <view v-if="(info.approveDateVO.canBeApproved == 1 || userInfo.memberId == info.memberId) && info.status == 0" class="main_footer" @click="isShowBack = true">
- <view class="agree btn">鎾ゅ洖鐢ㄨ溅</view>
- </view>
- </template>
-
+ </view>
+ <template v-else>
+ <view v-if="(info.approveDateVO.canBeApproved == 1 || userInfo.memberId == info.memberId) && info.status == 0"
+ class="main_footer" @click="isShowBack = true">
+ <view class="agree btn">鎾ゅ洖鐢ㄨ溅</view>
+ </view>
+ </template>
+
<!-- 鎾ら攢 -->
<u-popup :show="isShowBack" :round="10" :safeAreaInsetBottom="true" mode="bottom" @close="isShowBack = false">
@@ -127,7 +124,8 @@
<view class="appr_modal">
<view class="title">{{ param.status == 2 ? "鍚屾剰" : "鎷掔粷" }}</view>
<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 :class="{placeholder9: info.approveDateVO.driverParam == 0}"
+ v-if="param.driverName">{{ param.driverName }}</text>
<text v-else class="placeholder9">娲捐溅鍙告満</text>
<u-icon v-if="info.approveDateVO.driverParam == 1" class="ml12" name="arrow-right" color="#999999" />
</view>
@@ -159,7 +157,7 @@
showApprModal: false,
isShowBack: false,
backParam: {},
- isShowDrive: false,
+ isShowDrive: false,
userInfo: uni.getStorageSync('userInfo') || {},
id: '',
appr: '',
@@ -207,11 +205,11 @@
})
}
})
- },
- openModal() {
- if(this.info.approveDateVO.driverParam == 0) return
- this.isShowDrive = true
-
+ },
+ openModal() {
+ if (this.info.approveDateVO.driverParam == 0) return
+ this.isShowDrive = true
+
},
onSubBack() {
carUseBookBack({
@@ -265,20 +263,20 @@
this.getDriveList()
} else {
- }
- if(this.info.driverId && this.info.driverName){
- this.$set(this.param, 'driverId', this.info.driverId)
- this.$set(this.param, 'driverName', this.info.driverName)
+ }
+ if (this.info.driverId && this.info.driverName) {
+ this.$set(this.param, 'driverId', this.info.driverId)
+ this.$set(this.param, 'driverName', this.info.driverName)
}
this.showApprModal = true
},
getDriveList() {
- driveListPost({}).then(res => {
+ driveListPost({}).then(res => {
const temp = res.data || []
- this.driveList = [res.data]
- if(this.param.driverId){
- const item = temp.find(i=>i.id == this.param.driverId)
- this.$set(this.param, 'driverName', item.name)
+ this.driveList = [res.data]
+ if (this.param.driverId) {
+ const item = temp.find(i => i.id == this.param.driverId)
+ this.$set(this.param, 'driverName', item.name)
}
})
},
@@ -505,45 +503,46 @@
}
}
- .status_wrap {
- position: relative;
- padding: 30rpx 0;
-
- .name {
- font-weight: 600;
- font-size: 32rpx;
- margin-bottom: 20rpx;
- color: #222222;
- }
-
- .desc {
- font-size: 26rpx;
- color: #ed4545;
- }
-
- .gray {
- color: #999999;
- }
-
- .status {
- position: absolute;
- right: -30rpx;
- top: 0;
- height: 60rpx;
- line-height: 60rpx;
- padding: 0 32rpx;
- border-radius: 0rpx 0rpx 0rpx 30rpx;
- background-color: #e9edff;
- color: $uni-color-primary;
- }
-
- .status_img {
- position: absolute;
- right: 0rpx;
- top: 20rpx;
- width: 120rpx;
- }
- }
+ .status_wrap {
+ position: relative;
+ padding: 30rpx 0;
+
+ .name {
+ font-weight: 600;
+ font-size: 32rpx;
+ margin-bottom: 20rpx;
+ color: #222222;
+ }
+
+ .desc {
+ font-size: 26rpx;
+ color: #ed4545;
+ }
+
+ .gray {
+ color: #999999;
+ }
+
+ .status {
+ position: absolute;
+ right: -30rpx;
+ top: 0;
+ height: 60rpx;
+ line-height: 60rpx;
+ padding: 0 32rpx;
+ border-radius: 0rpx 0rpx 0rpx 30rpx;
+ background-color: #e9edff;
+ color: $uni-color-primary;
+ }
+
+ .status_img {
+ position: absolute;
+ right: 0rpx;
+ top: 20rpx;
+ width: 120rpx;
+ }
+ }
+
.main_footer {
padding-bottom: 64rpx;
display: flex;
diff --git a/h5/pages/staffLogin/login.vue b/h5/pages/staffLogin/login.vue
index 13adeca..b20464b 100644
--- a/h5/pages/staffLogin/login.vue
+++ b/h5/pages/staffLogin/login.vue
@@ -1,5 +1,5 @@
<template>
- <view class="login">
+ <view class="login" :style="{height: windowHeight + 'px'}">
<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>
@@ -30,7 +30,7 @@
>
</view>
- <view class="deal_wrap" v-show="!showKeyboard">
+ <view class="deal_wrap">
<image
@click="changeFalg"
v-if="ProtocolFlag"
@@ -44,6 +44,7 @@
src="@/static/meeting/icon/ic_choose@2x.png"
mode="widthFix"
class="checked"
+
></image>
<text>鐧诲綍鍗冲悓鎰�</text>
<text class="deal" @click="showContent">銆婂畨娉扮墿娴佺敤鎴峰崗璁��</text>
@@ -52,19 +53,22 @@
<u-popup
:show="isShowProtocol"
@close="isShowProtocol = false"
+ closeable
:round="8"
mode="center"
>
<view class="modal">
<!-- <view v-html="htmlText"></view> -->
- <mp-html :content="htmlText" />
+ <view class="content">
+ <mp-html :content="htmlText" />
+ </view>
</view>
</u-popup>
</view>
</template>
<script>
-import { loginPost, loginCaptcha, getUserInfo, getSystemDictData } from '@/api'
+import { loginPost, loginCaptcha, getUserInfo, getSystemDictData, saveHkUserOpenid } from '@/api'
import { mapState, mapMutations } from 'vuex'
export default {
name: 'login',
@@ -81,12 +85,16 @@
isShowProtocol: false,
ProtocolFlag: false,
captcha: {},
- htmlText: ''
+ htmlText: '',
+ windowHeight: ''
}
},
onLoad() {
this.initCaptcha()
+ const result = uni.getWindowInfo()
+ this.windowHeight = result.windowHeight
+ console.log('result', result);
},
onBackPress(options) {
uni.redirectTo({
@@ -148,6 +156,7 @@
url: "/pages/staff/index"
})
})
+ saveHkUserOpenid({})
}
})
}
@@ -163,6 +172,7 @@
box-sizing: border-box;
align-items: center;
flex-direction: column;
+ position: relative;
background: linear-gradient(
180deg,
rgba(39, 155, 170, 0.2) 0%,
@@ -247,7 +257,7 @@
}
}
.deal_wrap {
- position: fixed;
+ position: absolute;
width: 100%;
left: 0;
text-align: center;
@@ -263,13 +273,20 @@
margin-right: 12rpx;
}
}
+ .rela_wrap{
+ position: relative;
+ margin-top: 360rpx;
+ }
}
.modal {
width: 690rpx;
- min-height: 820rpx;
- max-height: 720px;
+ max-height: 80vh;
border-radius: 24rpx;
- padding: 32rpx;
+ padding: 30rpx 30rpx;
overflow: auto;
+ // .content{
+ // height: 100%;
+ // overflow: auto;
+ // }
}
</style>
diff --git a/h5/pages/userinfo/userinfo.vue b/h5/pages/userinfo/userinfo.vue
index d6ed245..6d579f0 100644
--- a/h5/pages/userinfo/userinfo.vue
+++ b/h5/pages/userinfo/userinfo.vue
@@ -207,7 +207,8 @@
filePath: file.tempFilePath,
name: 'file',
formData: {
- folderCode: 'MEMBER_IMG'
+ folderCode: 'MEMBER_IMG',
+ isFace: 0
},
success: (uploadFileRes) => {
let res = JSON.parse(uploadFileRes.data)
diff --git a/h5/static/ic_cancel.png b/h5/static/ic_cancel.png
new file mode 100644
index 0000000..ce81f0b
--- /dev/null
+++ b/h5/static/ic_cancel.png
Binary files differ
diff --git a/h5/static/play.png b/h5/static/play.png
new file mode 100644
index 0000000..1b4b225
--- /dev/null
+++ b/h5/static/play.png
Binary files differ
diff --git a/h5/static/staff/shenfen_bg@2x.png b/h5/static/staff/shenfen_bg@2x.png
new file mode 100644
index 0000000..32adb01
--- /dev/null
+++ b/h5/static/staff/shenfen_bg@2x.png
Binary files differ
diff --git a/h5/store/index.js b/h5/store/index.js
index 94fb56e..9e5b043 100644
--- a/h5/store/index.js
+++ b/h5/store/index.js
@@ -20,7 +20,6 @@
state: {
openId: openId || '',
- // openId: openId || '123123',
member: member || null,
statusbarHeight: statusbarHeight || '0',
navHeight: navHeight || '0',
@@ -80,12 +79,11 @@
},
// 娓呯┖鐧诲綍缂撳瓨
empty(state) {
+ uni.clearStorageSync()
state.token = ''
+ state.openId = ''
state.userInfo = {}
state.driverInfo = {}
- uni.removeStorageSync('userInfo')
- uni.removeStorageSync('driverInfo')
- uni.removeStorageSync('token')
}
},
actions: {
diff --git a/h5/utils/config.js b/h5/utils/config.js
index f0713f7..53f0fdd 100644
--- a/h5/utils/config.js
+++ b/h5/utils/config.js
@@ -1,8 +1,10 @@
-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/#/'
export const uploadAvatar = `${baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do`
export const uploadUrl = `${baseUrl}visitsAdmin/cloudService/public/uploadBatch`
diff --git a/h5_meeting/manifest.json b/h5_meeting/manifest.json
index 8c272f0..eeba487 100644
--- a/h5_meeting/manifest.json
+++ b/h5_meeting/manifest.json
@@ -96,9 +96,9 @@
"disableHostCheck" : true,
"proxy" : {
"/gateway_interface" : {
- // "target" : "http://10.50.250.253:8088/gateway_interface", // 浠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.173/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
+ // "target" : "http://192.168.0.173/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
"changeOrigin" : true, // 鍏佽璺ㄥ煙
"pathRewrite" : {
"^/gateway_interface" : ""
diff --git a/h5_meeting/utils/config.js b/h5_meeting/utils/config.js
index 1d8ad8b..11dc26e 100644
--- a/h5_meeting/utils/config.js
+++ b/h5_meeting/utils/config.js
@@ -1,6 +1,6 @@
-// export const baseUrl = 'gateway_interface/'/
-export const baseUrl = 'http://192.168.5.13/gateway_interface/'
+export const baseUrl = 'gateway_interface/'
+// export const baseUrl = 'http://192.168.5.13/gateway_interface/'
// export const baseUrl = 'http://192.168.0.173/gateway_interface/'
export const statusMap = {
diff --git a/screen/src/assets/images/SecurityControl/bg@2x.png b/screen/src/assets/images/SecurityControl/bg@2x.png
index 58acee1..b021e5c 100644
--- a/screen/src/assets/images/SecurityControl/bg@2x.png
+++ b/screen/src/assets/images/SecurityControl/bg@2x.png
Binary files differ
diff --git a/screen/src/assets/images/task/bg@2x.png b/screen/src/assets/images/task/bg@2x.png
new file mode 100644
index 0000000..607b4d3
--- /dev/null
+++ b/screen/src/assets/images/task/bg@2x.png
Binary files differ
diff --git a/screen/src/assets/images/task/title@2x.png b/screen/src/assets/images/task/title@2x.png
new file mode 100644
index 0000000..5883494
--- /dev/null
+++ b/screen/src/assets/images/task/title@2x.png
Binary files differ
diff --git a/screen/src/router/index.js b/screen/src/router/index.js
index 337b81d..01f66d0 100644
--- a/screen/src/router/index.js
+++ b/screen/src/router/index.js
@@ -10,6 +10,9 @@
{
path: '/PlatformCall', // 鏈堝彴鍙彿澶у睆
name: 'PlatformCall',
+ meta: {
+ title: '瀹夋嘲鐗╂祦鏈堝彴鍙彿澶у睆'
+ },
component: () => import('../views/PlatformCall.vue')
},
{
@@ -65,7 +68,7 @@
router.beforeEach((to, from, next) => {
- window.document.title = to.meta.title
+ window.document.title = to.meta.title
next()
})
diff --git a/screen/src/views/SecurityControl.vue b/screen/src/views/SecurityControl.vue
index 878f757..1ace36c 100644
--- a/screen/src/views/SecurityControl.vue
+++ b/screen/src/views/SecurityControl.vue
@@ -19,7 +19,7 @@
<img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
<div>瀹炴椂鍥尯杞﹁締</div>
</div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
+ <img src="@/assets/images/task/title@2x.png" class="bg" alt="" />
</div>
<div class="second_title">
<div class="title">
@@ -196,7 +196,7 @@
<img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
<div>鍦ㄥ洯浜哄憳鍒嗘瀽</div>
</div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
+ <img src="@/assets/images/task/title@2x.png" class="bg" alt="" />
</div>
<div class="second_title">
<div class="title">
@@ -287,7 +287,7 @@
<img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
<div>褰撳墠杞﹁締婊炵暀棰勮</div>
</div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
+ <img src="@/assets/images/task/title@2x.png" class="bg" alt="" />
</div>
<div class="table">
<div class="line header">
@@ -322,7 +322,7 @@
<div class="separate"></div>
<div class="tab" :class="{ active: warningTab == '2' }" @click="tasClick('2')">琛屼负鍛婅</div>
</div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
+ <img src="@/assets/images/task/title@2x.png" class="bg" alt="" />
</div>
<div class="one_swiper_wrap">
<div class="list one-swiper">
@@ -382,7 +382,7 @@
<img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
<div>鍥尯瀹夐槻璁惧</div>
</div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
+ <img src="@/assets/images/task/title@2x.png" class="bg" alt="" />
</div>
<div class="monitoring" @click="showJk = !showJk">
<img src="@/assets/images/SecurityControl/ic_jiankong@2x.png" class="icon" alt="">
@@ -445,7 +445,7 @@
<img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
<div>浠婃棩璁垮婊炵暀鎯呭喌</div>
</div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
+ <img src="@/assets/images/task/title@2x.png" class="bg" alt="" />
</div>
<div class="table">
<div class="line header">
@@ -741,7 +741,7 @@
show: true,
position: 'outside',
formatter: (params) => {
- const index = params.dataIndex;
+ const index = params.dataIndex
return `{color${index}|${params.data.name} ${params.data.rate}%}`
// return `<div>${params.data.name}</div>`
},
@@ -1013,6 +1013,8 @@
margin-bottom: 20px;
font-size: 14px;
color: #D2E0FF;
+ background: rgba(0, 86, 255, 0.05);
+ backdrop-filter: blur(5px);
.second_title {
margin-top: 24px;
@@ -1361,6 +1363,8 @@
.right_box_one {
margin-bottom: 20px;
+ background: rgba(0, 86, 255, 0.05);
+ backdrop-filter: blur(5px);
.second_title {
margin-top: 20px;
@@ -1443,9 +1447,15 @@
}
}
- .right_box_two {}
+ .right_box_two {
+ background: rgba(0, 86, 255, 0.05);
+ backdrop-filter: blur(5px);
+ }
- .right_box_three {}
+ .right_box_three {
+ background: rgba(0, 86, 255, 0.05);
+ backdrop-filter: blur(5px);
+ }
}
}
@@ -1571,6 +1581,8 @@
.one_swiper_wrap {
height: 140px;
overflow: hidden;
+ background: rgba(0, 86, 255, 0.05);
+ backdrop-filter: blur(5px);
}
.list {
@@ -1659,6 +1671,8 @@
flex: 1;
margin-right: 20px;
position: relative;
+ background: rgba(0, 86, 255, 0.05);
+ backdrop-filter: blur(5px);
.content {
display: flex;
@@ -1803,6 +1817,8 @@
.visitor_warning {
width: 360px;
+ background: rgba(0, 86, 255, 0.05);
+ backdrop-filter: blur(5px);
.table {
.list {
@@ -1838,13 +1854,6 @@
align-items: center;
font-weight: bold;
font-size: 16px;
- background-image: -webkit-linear-gradient(top,
- #ffffff 0%,
- #c8ddff 66%,
- #85b4ff 72%,
- #74a9ff 100%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
.icon {
width: 16px;
diff --git a/screen/src/views/TaskEfficiency.vue b/screen/src/views/TaskEfficiency.vue
index fac6891..f02d4e1 100644
--- a/screen/src/views/TaskEfficiency.vue
+++ b/screen/src/views/TaskEfficiency.vue
@@ -1,7 +1,7 @@
<template>
<v-scale-screen width="1920" height="960">
<div class="main_app">
- <img src="@/assets/images/FireFighting/bg@2x.png" class="main_bg" alt="" />
+ <img src="@/assets/images/task/bg@2x.png" class="main_bg" alt="" />
<div class="main_header">
<img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" />
<div class="title">瀹夋嘲鏅烘収鐗╂祦鍥尯-浣滀笟鏁堣兘缁熺</div>
@@ -19,7 +19,7 @@
<img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
<div>浠婃棩鏈堝彴瀹屾垚璁㈠崟缁熻</div>
</div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
+ <img src="@/assets/images/task/title@2x.png" class="bg" alt="" />
</div>
<div class="car_static">
<div class="echart_wrap">
@@ -60,7 +60,7 @@
<img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
<div>浠婃棩鏈堝彴宸ヤ綔鏃堕暱瓒嬪娍</div>
</div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
+ <img src="@/assets/images/task/title@2x.png" class="bg" alt="" />
</div>
<div class="list one-swiper">
<div class="swiper-wrapper">
@@ -86,7 +86,7 @@
<div class="separate"></div>
<div class="tab" :class="{ active: activeTab3 == 0 }" @click="tabClick3(0)">鍏ュ簱</div>
</div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
+ <img src="@/assets/images/task/title@2x.png" class="bg" alt="" />
</div>
<div class="echart_wrap">
<div class="echart2" id="echart2"></div>
@@ -201,7 +201,7 @@
<img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
<div>浠婃棩杞﹁締浣滀笟鎯呭喌</div>
</div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
+ <img src="@/assets/images/task/title@2x.png" class="bg" alt="" />
</div>
<div class="static_wrap">
<div class="item">
@@ -249,7 +249,7 @@
<img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
<div>瀹炴椂鍛婅</div>
</div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
+ <img src="@/assets/images/task/title@2x.png" class="bg" alt="" />
</div>
<div class="list three-swiper">
<div class="swiper-wrapper">
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
index 2130b39..5692153 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
@@ -37,7 +37,7 @@
" CONCAT(date_format(a.START_TIME,'%H:%i') , ' ~ ',date_format(a.END_TIME,'%H:%i')) as meetingTime, c.REALNAME as bookingUser ," +
//" CASE WHEN a.START_TIME > now() AND a.`STATUS` = 0 THEN 1 WHEN ( (a.END_TIME < now() AND a.`STATUS` = 0 ) or a.`STATUS` = 2 ) THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE 2 END meetingStatus ," +
" CASE WHEN a.START_TIME_REAL IS NULL AND a.`STATUS` = 0 THEN 1 " +
-// " WHEN ( (a.END_TIME < now() AND a.`STATUS` = 0 ) or a.`STATUS` = 2 ) THEN 3 " +
+ " WHEN ( (a.END_TIME < now() AND a.`STATUS` = 0 ) or a.`STATUS` = 2 ) THEN 3 " +
"WHEN a.`STATUS` = 1 THEN 5 ELSE 2 END meetingStatus ," +
" b.IMGURL as imgUrl ," +
" a.remark " +
@@ -49,7 +49,7 @@
@Select(" select a.id , a.START_TIME , a.END_TIME , b.id as roomId, b.`NAME` as roomName , a.`NAME` as meetingName ,date_format(a.START_TIME,'%Y骞�%m鏈�%d鏃�') as meetingDate ," +
" CONCAT(date_format(a.START_TIME,'%H:%i') , ' ~ ',date_format(a.END_TIME,'%H:%i')) as meetingTime, c.REALNAME as bookingUserName ," +
//" CASE WHEN a.START_TIME > now() AND a.`STATUS` = 0 THEN 1 WHEN a.END_TIME < now() AND a.`STATUS` = 0 THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE 2 END meetingStatus ," +
- " CASE WHEN a.START_TIME_REAL IS NULL AND a.`STATUS` = 0 THEN 1 WHEN a.END_TIME < now() AND a.`STATUS` = 0 THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE 2 END meetingStatus ," +
+ " CASE WHEN a.START_TIME_REAL IS NULL AND a.`STATUS` = 0 THEN 1 WHEN ( (a.END_TIME < now() AND a.`STATUS` = 0 ) or a.status = 2 ) THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE 2 END meetingStatus ," +
" a.CONTENT as meetingContent, c.MOBILE as bookingUserMobile , e.`NAME` as bookingUserDepartment , a.CREATOR as bookingUserId , a.remark " +
" from meeting_book a inner join meeting_rooms b on a.ROOM_ID = b.ID " +
" left join system_user c on a.CREATOR = c.id " +
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java
index c445890..f558446 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java
@@ -71,8 +71,10 @@
String carUseBookAuditSuccess = "carUseBookAuditSuccess";
//鐢ㄨ溅鐢宠-瀹℃壒椹冲洖閫氱煡锛堢粰鐢宠浜猴級锛氥��
String carUseBookAuditFail = "carUseBookAuditFail";
- //鐢ㄨ溅鐢宠-瀹℃壒椹冲洖閫氱煡锛堢粰鐢宠浜猴級锛氥��
+ //鐢ㄨ溅鐢宠-寰呭鎵癸紙缁欑敵璇蜂汉锛夛細銆�
String carUseBookWaitAudit = "carUseBookWaitAudit";
+ //鐢ㄨ溅鐢宠-寰呭鎵癸紙缁欑敵璇蜂汉锛夛細銆�
+ String carUseBookCancel = "carUseBookCancel";
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
index 4f6a7b5..a42e117 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
@@ -272,7 +272,7 @@
List<String> openIds,Integer sendType){
try {
if(CollectionUtils.isNotEmpty(openIds)){
- WxNoticeConfig wxNoticeConfig = wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+ WxNoticeConfig wxNoticeConfig = wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.carUse)
.eq(WxNoticeConfig::getObjCode,objCode)
.eq(WxNoticeConfig::getStatus, Constants.ZERO)
.last(" limit 1")
@@ -289,7 +289,7 @@
Map<String, Object> thing3 = new HashMap<String,Object>();
if(Constants.equalsInteger(sendType,Constants.ONE)){
thing3.put("value","鐢宠寰呮偍瀹℃壒");
- }else{
+ }else if(Constants.equalsInteger(sendType,Constants.ZERO)){
if(Constants.equalsInteger(carUseBook.getStatus(),Constants.ZERO)){
thing3.put("value","鐢宠鎻愪氦鎴愬姛寰呭鏍�");
}else if(Constants.equalsInteger(carUseBook.getStatus(),Constants.TWO)){
@@ -297,6 +297,8 @@
}else{
thing3.put("value","鐢宠宸茶椹冲洖");
}
+ }else{
+ thing3.put("value","鐢宠宸茶鍙栨秷");
}
//鐢宠浜�
Map<String, Object> thing1 = new HashMap<String,Object>();
@@ -315,10 +317,10 @@
dataMap.put("thing1",thing1);
dataMap.put("thing11",thing11);
dataMap.put("time14",time14);
- paramMap.put("template_id", wxNoticeConfig.getTempId());
paramMap.put("data", dataMap);
for (String openId:openIds) {
paramMap.clear();
+ paramMap.put("template_id", wxNoticeConfig.getTempId());
paramMap.put("touser", openId);
paramMap.put("data", dataMap);
String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java
index 1836078..7fdb6dd 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java
@@ -147,6 +147,11 @@
private String companyName;
+ @ApiModelProperty(value = "openid", example = "1")
+ @ExcelColumn(name="openid")
+ @TableField(exist = false)
+ private String systemOpenid;
+
@ApiModelProperty(value = "寰呭鎵硅褰�", example = "1")
@TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
index eea3e40..3bf827a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -27,6 +27,7 @@
import com.doumee.dao.business.join.VisitsJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.vo.ApproveDataVO;
+import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.dto.NoticesDTO;
import com.doumee.dao.system.join.NoticesJoinMapper;
import com.doumee.dao.system.model.Notices;
@@ -84,6 +85,9 @@
@Autowired
private CarUseBookMapper carUseBookMapper;
+
+ @Autowired
+ private SystemUserMapper systemUserMapper;
@Autowired
private CarDriverMapper carDriverMapper;
@@ -637,13 +641,20 @@
);
//鍏紬鍙烽�氱煡
if(StringUtils.isNotBlank(member.getSystemOpenid())){
- wxPlatNotice.sendCarUseBookTemplateNotice(
- wxNoticeConfigMapper,
- carUseBookMapper.selectById(businessId),
- WxPlatConstants.carUseBookContent.carUseBookWaitAudit,
- token,
- Arrays.asList(member.getSystemOpenid().split(",")),
- Constants.ONE);
+ CarUseBook carUseBook = carUseBookMapper.selectById(businessId);
+ if(Objects.nonNull(carUseBook)){
+ SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator());
+ if(Objects.nonNull(systemUser)){
+ carUseBook.setMemberName(systemUser.getRealname());
+ wxPlatNotice.sendCarUseBookTemplateNotice(
+ wxNoticeConfigMapper,
+ carUseBookMapper.selectById(businessId),
+ WxPlatConstants.carUseBookContent.carUseBookWaitAudit,
+ token,
+ Arrays.asList(member.getSystemOpenid().split(",")),
+ Constants.ONE);
+ }
+ }
}
}
}
@@ -1187,6 +1198,7 @@
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
public void approved(ApproveDTO approveDTO){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
if(Objects.isNull(approveDTO)
|| Objects.isNull(approveDTO.getObjId())
|| Objects.isNull(approveDTO.getObjType())
@@ -1326,7 +1338,9 @@
new MPJLambdaWrapper<Approve>()
.selectAll(Approve.class)
.selectAs(Member::getPhone,Approve::getMemberPhone)
+ .selectAs(SystemUser::getOpenid,Approve::getSystemOpenid)
.leftJoin(Member.class,Member::getId,Approve::getChekorId)
+ .leftJoin(SystemUser.class,SystemUser::getMemberId,Member::getId)
.eq(Approve::getStatus,Constants.approveStatus.wait)
.eq(Approve::getObjId,approve.getObjId())
.eq(Approve::getObjType,approve.getObjType())
@@ -1342,41 +1356,17 @@
.eq(Approve::getObjType,approve.getObjType())
.eq(Approve::getLevel,(approve.getLevel()+1))
);
+
//鍙戦�佺煭淇¢�氱煡 涓嬬骇瀹℃壒浜�
List<String> memberPhone = waitAuditList.stream().filter(i->StringUtils.isNotBlank(i.getMemberPhone())).map(i->i.getMemberPhone()).collect(Collectors.toList());
- //鐗╂祦杞﹂绾�
- if(approveDTO.getObjType().equals(Constants.approveObjectType.reason)){
- SmsEmailServiceImpl.sendPlatformBookSms(systemDictDataBiz,
- emayService,smsEmailMapper,smsConfigMapper,platformBooksMapper,approveDTO.getObjId(),
- SmsConstants.platformBookContent.platformBookWaitAudit,
- approveDTO.getCheckInfo(),memberPhone
- );
- }
+ List<String> openIdList =waitAuditList.stream().filter(i->StringUtils.isNotBlank(i.getSystemOpenid())).map(i->i.getSystemOpenid()).collect(Collectors.toList());
- else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)
- || approveDTO.getObjType().equals(Constants.approveObjectType.unCityUseCar)){
- SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
- emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,approveDTO.getObjId(),
- SmsConstants.hiddenDangerContent.hiddenDangerDealUser,
- approveDTO.getCheckInfo(),memberPhone);
- }
+ this.sendNextLvSms(approve,approveDTO,memberPhone,openIdList);
- //璁垮鐢宠/鎶ュ
- if(approveDTO.getObjType().equals(Constants.approveObjectType.unConstructionVisit)
- ||approveDTO.getObjType().equals(Constants.approveObjectType.constructionVisit)
- ||approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)) {
- Visits visits = visitsMapper.selectById(approve.getObjId());
- if(Objects.nonNull(visits)){
- if(Constants.equalsInteger(visits.getStatus(),Constants.ZERO)){
- visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.ONE).eq(Visits::getId,visits.getId()));
- }
- }
- }
-
- if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
- Constants.approveObjectType.unCityUseCar)){
- this.updDriver(approveDTO,approve,false);
- }
+// if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
+// Constants.approveObjectType.unCityUseCar)){
+// this.updDriver(approveDTO,approve,false);
+// }
}else if(approve.getApproveType().equals(Constants.ONE)){
//浼氱 涓旂粓瀹�
//鏃犱粬浜哄鎵圭殑鎯呭喌 鍒欎慨鏀规暟鎹姸鎬�
@@ -1385,6 +1375,20 @@
}else{
if(Constants.equalsInteger(approveList.size(),Constants.ZERO)&&Constants.equalsInteger(approve.getIsEndCheck(),Constants.ZERO)){
/**寮�鍚笅涓�绾у埆鐨勬暟鎹负寰呭鏍�**/
+
+ List<Approve> waitAuditList = approveJoinMapper.selectJoinList(Approve.class,
+ new MPJLambdaWrapper<Approve>()
+ .selectAll(Approve.class)
+ .selectAs(Member::getPhone,Approve::getMemberPhone)
+ .selectAs(SystemUser::getOpenid,Approve::getSystemOpenid)
+ .leftJoin(Member.class,Member::getId,Approve::getChekorId)
+ .leftJoin(SystemUser.class,SystemUser::getMemberId,Member::getId)
+ .eq(Approve::getStatus,Constants.approveStatus.wait)
+ .eq(Approve::getObjId,approve.getObjId())
+ .eq(Approve::getObjType,approve.getObjType())
+ .eq(Approve::getLevel,(approve.getLevel()+1)));
+
+
approveJoinMapper.update(null,new UpdateWrapper<Approve>()
.lambda()
.set(Approve::getStatus,Constants.approveStatus.auditIng)
@@ -1395,11 +1399,19 @@
.eq(Approve::getObjType,approve.getObjType())
.eq(Approve::getLevel,(approve.getLevel()+1))
);
+
+
+ //鍙戦�佺煭淇¢�氱煡 涓嬬骇瀹℃壒浜�
+ List<String> memberPhone = waitAuditList.stream().filter(i->StringUtils.isNotBlank(i.getMemberPhone())).map(i->i.getMemberPhone()).collect(Collectors.toList());
+ List<String> openIdList =waitAuditList.stream().filter(i->StringUtils.isNotBlank(i.getSystemOpenid())).map(i->i.getSystemOpenid()).collect(Collectors.toList());
+
+ this.sendNextLvSms(approve,approveDTO,memberPhone,openIdList);
+
}
- if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
- Constants.approveObjectType.unCityUseCar)){
- this.updDriver(approveDTO,approve,false);
- }
+// if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
+// Constants.approveObjectType.unCityUseCar)){
+// this.updDriver(approveDTO,approve,false);
+// }
}
}
this.passNextNotices(dealBusinessBean,notices,approve,approveList,approveCopyList,approveDTO);
@@ -1409,6 +1421,78 @@
this.dealBusinessData(approveDTO,approve);
}
}
+
+
+
+
+ public void sendNextLvSms(Approve approve ,ApproveDTO approveDTO , List<String> memberPhone ,List<String> openIdList){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ //鐗╂祦杞﹂绾�
+ if(approveDTO.getObjType().equals(Constants.approveObjectType.reason)){
+ SmsEmailServiceImpl.sendPlatformBookSms(systemDictDataBiz,
+ emayService,smsEmailMapper,smsConfigMapper,platformBooksMapper,approveDTO.getObjId(),
+ SmsConstants.platformBookContent.platformBookWaitAudit,
+ approveDTO.getCheckInfo(),memberPhone
+ );
+ //TODO 鍙戦�佷笅绾х殑寰呭鎵圭殑閫氱煡
+
+
+ } else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)
+ || approveDTO.getObjType().equals(Constants.approveObjectType.unCityUseCar)){
+
+ this.updDriver(approveDTO,approve,false);
+
+ SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
+ emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,approveDTO.getObjId(),
+ SmsConstants.carUseBookContent.carUseBookWaitAudit,
+ approveDTO.getCheckInfo(),memberPhone);
+ //鍙戦�佸叕浼楀彿閫氱煡
+ if(CollectionUtils.isNotEmpty(openIdList)){
+ CarUseBook carUseBook = carUseBookMapper.selectById(approve.getObjId());
+ if(Objects.nonNull(carUseBook)){
+ SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator());
+ if(Objects.nonNull(systemUser)){
+ carUseBook.setMemberName(systemUser.getRealname());
+ //鍙戦�佸井淇″叕浼楀彿閫氱煡
+ wxPlatNotice.sendCarUseBookTemplateNotice(
+ wxNoticeConfigMapper,carUseBook,
+ WxPlatConstants.carUseBookContent.carUseBookWaitAudit,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ openIdList,1);
+ }
+ }
+ }
+ }else
+ //璁垮鐢宠/鎶ュ
+ if(approveDTO.getObjType().equals(Constants.approveObjectType.unConstructionVisit)
+ ||approveDTO.getObjType().equals(Constants.approveObjectType.constructionVisit)
+ ||approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)) {
+ Visits visits = visitsMapper.selectById(approve.getObjId());
+ if(Objects.nonNull(visits)){
+ if(Constants.equalsInteger(visits.getStatus(),Constants.ZERO)){
+ visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.ONE).eq(Visits::getId,visits.getId()));
+ }
+ SmsEmailServiceImpl.sendVisitSms(systemDictDataBiz,
+ emayService,smsEmailMapper,smsConfigMapper,visitsMapper,approveDTO.getObjId(),
+ approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)?
+ SmsConstants.visitReportingContent.visitReportingNotice:SmsConstants.visitContent.visitNotice,
+ null,memberPhone
+ );
+ //鍏紬鍙烽�氱煡
+ if(CollectionUtils.isNotEmpty(openIdList)){
+ wxPlatNotice.sendVisitTemplateNotice(
+ wxNoticeConfigMapper,visitsMapper.selectById(approveDTO.getObjId()),
+ approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)?WxPlatConstants.visitReportContent.visitReportWaitAudit:WxPlatConstants.visitContent.visitWaitAudit,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ openIdList
+ );
+ }
+
+ }
+ }
+ }
+
+
/**
* 澶勭悊寰呭姙淇℃伅
@@ -1660,23 +1744,24 @@
this.updDriver(approveDTO,approve,true);
CarUseBook carUseBook = carUseBookJoinMapper.selectById(approveDTO.getObjId());
if(Objects.nonNull(carUseBook)){
- Member member = memberMapper.selectById(carUseBook.getMemberId());
+ SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator());
//鍙戦�侀�氱煡鐭伅
- if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getPhone())){
+ if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getMobile())){
SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,approveDTO.getObjId(),
Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?SmsConstants.carUseBookContent.carUseBookAuditSuccess:
SmsConstants.carUseBookContent.carUseBookAuditFail,
- approveDTO.getCheckInfo(),Arrays.asList(member.getPhone().split(","))
+ approveDTO.getCheckInfo(),Arrays.asList(systemUser.getMobile().split(","))
);
}
- if(StringUtils.isNotBlank(member.getOpenid())){
+ if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getOpenid())){
+ carUseBook.setMemberName(systemUser.getRealname());
//鍙戦�佸井淇″叕浼楀彿閫氱煡
wxPlatNotice.sendCarUseBookTemplateNotice(
wxNoticeConfigMapper,carUseBook,
Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?WxPlatConstants.carUseBookContent.carUseBookAuditSuccess: WxPlatConstants.carUseBookContent.carUseBookAuditFail,
systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
- Arrays.asList(member.getOpenid().split(",")),0);
+ Arrays.asList(systemUser.getOpenid().split(",")),0);
}
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
index b881fa4..70a2761 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -18,9 +18,11 @@
import com.doumee.dao.business.vo.ApproveDataVO;
import com.doumee.dao.business.vo.DateIntervalVO;
+import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.join.NoticesJoinMapper;
import com.doumee.dao.system.model.Notices;
import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.ApproveService;
import com.doumee.service.business.CarUseBookService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -89,6 +91,9 @@
@Autowired
private WxNoticeConfigMapper wxNoticeConfigMapper;
+ @Autowired
+ private SystemUserMapper systemUserMapper;
+
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
public Integer create(CarUseBook carUseBook) throws Exception {
@@ -145,13 +150,14 @@
//鍙戦�佸井淇″叕浼楀彿閫氱煡
//鍙戦�佸井淇″叕浼楀彿閫氱煡
WxPlatNotice wxPlatNotice = new WxPlatNotice();
- Member member = memberMapper.selectById(carUseBook.getMemberId());
- if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+ SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator());
+ if(Objects.nonNull(systemUser) && StringUtils.isNotBlank(systemUser.getOpenid())){
+ carUseBook.setMemberName(systemUser.getRealname());
wxPlatNotice.sendCarUseBookTemplateNotice(
wxNoticeConfigMapper,carUseBook,
WxPlatConstants.carUseBookContent.carUseBookUpload,
systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
- Arrays.asList(member.getOpenid().split(",")),0);
+ Arrays.asList(systemUser.getOpenid().split(",")),0);
}
return carUseBook.getId();
@@ -505,14 +511,26 @@
);
- Member member = memberMapper.selectById(carUseBook.getMemberId());
- if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getPhone())){
+ SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator());
+ if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getMobile())){
//鐢ㄨ溅鐢宠鍙栨秷
SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,carUseBook.getId(),
SmsConstants.carUseBookContent.carUseBookCancel,
- null, Arrays.asList(member.getPhone().split(","))
+ info, Arrays.asList(systemUser.getMobile().split(","))
);
+ if(StringUtils.isNotBlank(systemUser.getOpenid())){
+ carUseBook.setMemberName(systemUser.getRealname());
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendCarUseBookTemplateNotice(
+ wxNoticeConfigMapper,
+ carUseBook,
+ WxPlatConstants.carUseBookContent.carUseBookCancel,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(systemUser.getOpenid().split(",")),
+ Constants.TWO);
+ }
+
}
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
index ab15d31..a35a1b2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -495,6 +495,9 @@
content = content.replace("{鎻愪氦鐨勫嚭鍙戞椂闂磢",DateUtil.getFomartDate(carUseBook.getStartTime(),"yyyy-MM-dd HH:mm"));
}else if(objCode.equals(SmsConstants.carUseBookContent.carUseBookAuditFail) || objCode.equals(SmsConstants.carUseBookContent.carUseBookCancel)){
//鎮ㄧ殑銆愮敤杞︾敵璇枫�戝凡琚┏鍥烇紝椹冲洖鍘熷洜涓猴細{椹冲洖鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯绘淳杞﹀憳銆�
+ if(StringUtils.isBlank(msg)){
+ msg = "鍏朵粬鍘熷洜";
+ }
content = content.replace("{椹冲洖鍘熷洜}",msg);
//鎮ㄧ殑銆愮敤杞︾敵璇枫�戝凡琚彇娑堬紝鍙栨秷鍘熷洜涓猴細{鍙栨秷鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯绘淳杞﹀憳銆�
content = content.replace("{鍙栨秷鍘熷洜}",msg);
--
Gitblit v1.9.3