From 8f2ad5eb040a2f3f1cae62a9c099c8f5f66750e1 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 09 十月 2024 16:18:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
h5/static/driver/ic_dangqian.png | 0
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 1
admin/src/views/vehicle/category.vue | 120 +++
admin/src/views/statistics/platformRecord.vue | 20
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformEventMapper.java | 3
admin/src/assets/style/style.scss | 5
admin/src/views/vehicle/components/OperaCategoryWindow.vue | 79 ++
h5/static/driver/ic_mostarted.png | 0
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformEventCloudController.java | 91 ++
admin/.env.production | 2
screen/src/views/PlatformCall.vue | 46
admin/src/api/business/category.js | 11
admin/src/views/vehicle/cars.vue | 250 ++++---
h5_meeting/pages/index/index.vue | 248 ++++---
admin/src/views/business/platformEvent.vue | 161 +++++
admin/src/api/business/platformEvent.js | 18
h5_meeting/unpackage/release/apk/__UNI__EF8BAA7__20241008151948.apk | 0
admin/.env.development | 2
admin/src/views/vehicle/parkBook.vue | 4
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncLoginAuthServiceImpl.java | 2
h5/pages.json | 7
admin/src/components/business/OperaTrainTimeImportWindow.vue | 2
h5/pages/waybill/waybillDetail.vue | 207 ++++++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformEvent.java | 24
admin/src/views/platform/queueUp.vue | 40
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 1
admin/src/api/platform/index.js | 4
admin/src/views/platform/LogisticsRecord/leaveAuth.vue | 7
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PlatformCameraInfoResponse.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java | 36 +
h5/static/driver/wuliuche_bg@2x.png | 0
admin/src/components/system/user/RoleConfigWindow.vue | 6
server/system_service/src/main/java/com/doumee/core/utils/HttpsUtil.java | 36 +
/dev/null | 93 --
admin/src/views/business/visitorManagement.vue | 6
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformDeviceCloudController.java | 28
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 19
admin/.env.test | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java | 111 ++-
admin/src/views/business/relativeMember.vue | 2
admin/src/views/platform/index.vue | 6
admin/src/api/business/company.js | 4
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java | 8
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsStatusInfoRequest.java | 2
admin/src/components/business/OperaCarsWindow.vue | 158 +++-
h5_meeting/pages/index/config.vue | 10
47 files changed, 1,390 insertions(+), 496 deletions(-)
diff --git a/admin/.env.development b/admin/.env.development
index f279109..8dd310d 100644
--- a/admin/.env.development
+++ b/admin/.env.development
@@ -2,6 +2,6 @@
NODE_ENV = 'development'
VUE_APP_API_URL = 'http://localhost:10010'
-# VUE_APP_API_URL = 'http://192.168.0.101:10010'
+# VUE_APP_API_URL = 'http://192.168.0.103:10010'
VUE_APP_API_URL = 'http://10.50.250.253:8088/gateway_interface'
diff --git a/admin/.env.production b/admin/.env.production
index 5a7a449..7406b0f 100644
--- a/admin/.env.production
+++ b/admin/.env.production
@@ -1,4 +1,4 @@
# 鐢熶骇鐜閰嶇疆
NODE_ENV = 'production'
-VUE_APP_API_URL = 'http://10.50.250.178:8088/gateway_interface'
+# VUE_APP_API_URL = 'http://10.50.250.178:8088/gateway_interface'
diff --git a/admin/.env.test b/admin/.env.test
index 0e7cb4a..2d37af3 100644
--- a/admin/.env.test
+++ b/admin/.env.test
@@ -1,4 +1,4 @@
# 娴嬭瘯鐜閰嶇疆
NODE_ENV = 'production'
-VUE_APP_API_URL = 'http://192.168.5.13/gateway_interface'
+# VUE_APP_API_URL = 'http://192.168.5.13/gateway_interface'
diff --git a/admin/src/api/business/category.js b/admin/src/api/business/category.js
index f912616..76cddde 100644
--- a/admin/src/api/business/category.js
+++ b/admin/src/api/business/category.js
@@ -6,12 +6,21 @@
trim: true
})
}
+// 涓�绾у垎绫绘煡璇�
+export function fetchCateList (data) {
+ return request.post('/visitsAdmin/cloudService/business/category/list', data, {
+ trim: true
+ })
+}
// 鍒涘缓
export function create (data) {
return request.post('/visitsAdmin/cloudService/business/category/create', data)
}
-
+// 璇︽儏
+export function getInfoById (id) {
+ return request.get('/visitsAdmin/cloudService/business/category/' + id)
+}
// 淇敼
export function updateById (data) {
return request.post('/visitsAdmin/cloudService/business/category/updateById', data)
diff --git a/admin/src/api/business/company.js b/admin/src/api/business/company.js
index b1b1863..dd0434d 100644
--- a/admin/src/api/business/company.js
+++ b/admin/src/api/business/company.js
@@ -37,6 +37,10 @@
export function companySync (data) {
return request.post('/visitsAdmin/cloudService/business/company/syncAll', data)
}
+// 鍒嗛〉鏌ヨ
+export function companyGetList (data) {
+ return request.post('/visitsAdmin/cloudService/business/company/page', data)
+}
// 鍒犻櫎
export function deleteById (id) {
diff --git a/admin/src/api/business/platformEvent.js b/admin/src/api/business/platformEvent.js
new file mode 100644
index 0000000..8dc388c
--- /dev/null
+++ b/admin/src/api/business/platformEvent.js
@@ -0,0 +1,18 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+ return request.post('/visitsAdmin/cloudService/business/platformEvent/page', data, {
+ trim: true
+ })
+}
+
+// 瀵煎嚭Excel
+export function exportExcel (data) {
+ return request.post('/visitsAdmin/cloudService/business/platformEvent/exportExcel', data, {
+ trim: true,
+ download: true
+ })
+}
+
+
diff --git a/admin/src/api/platform/index.js b/admin/src/api/platform/index.js
index fc0eaa6..4e85937 100644
--- a/admin/src/api/platform/index.js
+++ b/admin/src/api/platform/index.js
@@ -97,6 +97,10 @@
export function platformJobPage(data) {
return request.post('/visitsAdmin/cloudService/business/platformJob/page', data)
}
+// 缁熻鏈堝彴浣滀笟浠诲姟 鍒嗛〉鍒楄〃
+export function platformLogPage(data) {
+ return request.post('/visitsAdmin/cloudService/business/platformLog/page', data)
+}
// 鏈堝彴浣滀笟缁熻 鍒嗛〉鍒楄〃
export function platformWorkReportPage(data) {
return request.post('/visitsAdmin/cloudService/business/platform/platformWorkReportPage', data)
diff --git a/admin/src/assets/style/style.scss b/admin/src/assets/style/style.scss
index 0bcff9d..f6a469f 100644
--- a/admin/src/assets/style/style.scss
+++ b/admin/src/assets/style/style.scss
@@ -291,6 +291,11 @@
.df{
display: flex;
}
+.df_center{
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
.df_ac{
display: flex;
align-items: center;
diff --git a/admin/src/components/business/OperaCarsWindow.vue b/admin/src/components/business/OperaCarsWindow.vue
index 966e8f2..f8bfc58 100644
--- a/admin/src/components/business/OperaCarsWindow.vue
+++ b/admin/src/components/business/OperaCarsWindow.vue
@@ -1,45 +1,52 @@
<template>
- <GlobalWindow
- :title="title"
- width="500px"
- :visible.sync="visible"
- :confirm-working="isWorking"
- @confirm="confirm"
- >
- <el-form :model="form" ref="form" :rules="rules">
- <el-form-item label="杞︾墝鍙�" prop="code">
- <el-input v-model="form.code" placeholder="璇疯緭鍏ヨ溅鐗屽彿" v-trim/>
- </el-form-item>
- <el-form-item label="杞﹁締绫诲瀷" prop="type">
- <el-radio-group v-model="form.type" >
- <el-radio :label="0" >瀹夋嘲鍏姟杞�</el-radio>
- <el-radio :label="1" >瀹夋嘲鐗╂祦杞�</el-radio>
- <el-radio :label="2" >鍏朵粬</el-radio>
- </el-radio-group>
- </el-form-item>
- <el-form-item label="閫夋嫨杞︿富锛�" prop="memberId">
- <el-select v-model="form.memberId" clearable filterable placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in memberList"
- :key="item.id"
- :label="item.name"
- :value="item.id">
- </el-option>
- </el-select>
- </el-form-item>
- </el-form>
- </GlobalWindow>
+ <GlobalWindow :title="title" width="500px" @close="close" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm">
+ <el-form :model="form" ref="form" :rules="rules">
+ <el-form-item label="杞︾墝鍙�" prop="code">
+ <el-input v-model="form.code" placeholder="璇疯緭鍏ヨ溅鐗屽彿" v-trim />
+ </el-form-item>
+ <el-form-item label="杞﹁締绫诲瀷" prop="type">
+ <el-radio-group v-model="form.type">
+ <el-radio :label="0">瀹夋嘲鍏姟杞�</el-radio>
+ <el-radio :label="1">瀹夋嘲鐗╂祦杞�</el-radio>
+ <el-radio :label="2">鍏朵粬</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="閫夋嫨鍒嗙被锛�" prop="type">
+ <el-cascader v-model="form.cateId" @change="changeSel" :options="cateList" :props="{
+ label: 'name',
+ value: 'id',
+ children: 'childCategoryList',
+ }"></el-cascader>
+ </el-form-item>
+ <el-form-item label="閫夋嫨缁勭粐锛�" prop="groupId">
+ <el-select v-model="form.groupId" @change="changeSel" clearable filterable placeholder="璇烽�夋嫨">
+ <el-option v-for="item in companyList" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="閫夋嫨杞︿富锛�" prop="memberId">
+ <el-select v-model="form.memberId" clearable filterable placeholder="璇烽�夋嫨">
+ <el-option v-for="item in memberList" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-form>
+ </GlobalWindow>
</template>
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import { allList } from '@/api/business/member'
+import { fetchList } from '@/api/business/category.js'
+import { create, updateById } from '@/api/business/cars'
+import { companyGetList } from '@/api/business/company'
+import { Message } from 'element-ui'
export default {
name: 'OperaInternalCompanyWindow',
extends: BaseOpera,
components: { GlobalWindow },
- data () {
+ data() {
return {
// 琛ㄥ崟鏁版嵁
memberList: [],
@@ -47,49 +54,112 @@
id: null,
code: null,
memberId: null,
- type: 0
+ type: 0,
+ groupId: null,
+ cateId: [],
},
+ cateList: [],
+ companyList: [],
// 楠岃瘉瑙勫垯
rules: {
- code: [
- { required: true, message: '璇疯緭鍏ヨ溅鐗屽彿' }
- ],
+ code: [{ required: true, message: '璇疯緭鍏ヨ溅鐗屽彿' }],
+ groupId: [{ required: true, message: '璇烽�夋嫨缁勭粐' }],
type: [
{ required: true, message: '璇烽�夋嫨杞﹁締绫诲瀷' }
]
}
}
},
- created () {
+ created() {
this.config({
api: '/business/cars',
'field.id': 'id'
})
},
methods: {
- open (title, target) {
+ open(title, target) {
this.title = title
this.visible = true
- this.loadMember()
+ this.getCate()
+ this.getCompany()
// 鏂板缓缁勭粐
if (target == null) {
this.$nextTick(() => {
this.$refs.form.resetFields()
this.form[this.configData['field.id']] = null
- this.form.type=0
+ this.form.type = 0
})
return
}
// 缂栬緫
- this.$nextTick(() => {
- for (const key in this.form) {
- this.form[key] = target[key]
+ // this.$nextTick(() => {
+ // for (const key in this.form) {
+ // this.form[key] = target[key]
+ // }
+ // })
+ },
+ changeSel() {
+ const { form } = this
+ if (form.groupId) {
+ this.loadMember()
+ }
+ },
+ confirm() {
+ console.log('form', this.form.cateId)
+ const { form } = this
+ if(form.cateId && form.cateId.length == 2){
+
+ }else{
+ return Message.error('璇烽�夋嫨浜岀骇鍒嗙被')
+ }
+ this.$refs['form'].validate((valid) => {
+ if (valid) {
+ let fn = form.id ? updateById : create
+ fn({
+ ...form,
+ cateId: form.cateId[1]
+ }).then(res => {
+ Message.success('淇濆瓨鎴愬姛')
+ this.visible = false
+ this.$emit('success')
+ })
}
})
+
},
- loadMember () {
+ close() {
+ this.visible = false
+ this.$emit('close')
+ },
+ handleChange(val) {
+
+ },
+ getCate() {
+ fetchList({
+ model: {},
+ capacity: 1000,
+ page: 1,
+ }).then(res => {
+ this.cateList = res.records || []
+
+ })
+ },
+ getCompany() {
+ companyGetList({
+ model: {},
+ capacity: 1000,
+ page: 1,
+ }).then(res => {
+ this.companyList = res.records || []
+
+ })
+ },
+ loadMember() {
+ const { form } = this
allList({
- type: 2
+ type: 2,
+ companyId: form.groupId,
+
})
.then(res => {
this.memberList = res
diff --git a/admin/src/components/business/OperaCategoryWindow.vue b/admin/src/components/business/OperaCategoryWindow.vue
deleted file mode 100644
index d170a56..0000000
--- a/admin/src/components/business/OperaCategoryWindow.vue
+++ /dev/null
@@ -1,59 +0,0 @@
-<template>
- <GlobalWindow
- :title="title"
- :visible.sync="visible"
- :confirm-working="isWorking"
- @confirm="confirm"
- >
- <el-form :model="form" ref="form" :rules="rules">
- <el-form-item label="缁勭粐绫诲瀷" prop="name">
- <el-input v-model="form.name" placeholder="璇疯緭鍏ョ粍缁囩被鍨�" v-trim/>
- </el-form-item>
- <el-form-item label="鐘舵��" prop="status">
- <el-select v-model="form.status" placeholder="璇烽�夋嫨">
- <el-option label="鍚敤" value="0"></el-option>
- <el-option label="绂佺敤" value="1"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="澶囨敞" prop="remark">
- <el-input type="textarea" v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" v-trim/>
- </el-form-item>
- </el-form>
- </GlobalWindow>
-</template>
-
-<script>
-import BaseOpera from '@/components/base/BaseOpera'
-import GlobalWindow from '@/components/common/GlobalWindow'
-export default {
- name: 'OperaCategoryWindow',
- extends: BaseOpera,
- components: { GlobalWindow },
- data () {
- return {
- // 琛ㄥ崟鏁版嵁
- form: {
- id: null,
- name: '',
- remark: '',
- status: ''
- },
- // 楠岃瘉瑙勫垯
- rules: {
- name: [
- { required: true, message: '璇疯緭鍏ョ粍缁囩被鍨�', trigger: 'blur' }
- ],
- status: [
- { required: true, message: '璇烽�夋嫨鏄惁鍚敤', trigger: 'change' }
- ]
- }
- }
- },
- created () {
- this.config({
- api: '/business/category',
- 'field.id': 'id'
- })
- }
-}
-</script>
diff --git a/admin/src/components/business/OperaTrainTimeImportWindow.vue b/admin/src/components/business/OperaTrainTimeImportWindow.vue
index 07bdf26..7e578bf 100644
--- a/admin/src/components/business/OperaTrainTimeImportWindow.vue
+++ b/admin/src/components/business/OperaTrainTimeImportWindow.vue
@@ -12,7 +12,7 @@
1.璇峰厛涓嬭浇鏂囦欢妯℃澘锛屽苟鎸夌収妯℃澘瑕佸幓濉啓琛ㄦ牸鍐呭;<br>
</p>
<el-form class="demo-form-inline" >
- <el-form-item label="浜哄憳鍩硅鏈熷悕鍗�" required>
+ <el-form-item label="浜哄憳鍚嶅崟" required>
<div style="width: 100%;display: flex;align-items: center;">
<el-button type="primary" :loading="importing" @click="clickRef">鐐瑰嚮涓婁紶</el-button>
<el-button type="text" @click="exportTemplate">鐐瑰嚮涓嬭浇妯$増.EXCEL</el-button>
diff --git a/admin/src/components/system/user/RoleConfigWindow.vue b/admin/src/components/system/user/RoleConfigWindow.vue
index 5b029f7..35fb877 100644
--- a/admin/src/components/system/user/RoleConfigWindow.vue
+++ b/admin/src/components/system/user/RoleConfigWindow.vue
@@ -2,13 +2,14 @@
<GlobalWindow
:visible.sync="visible"
:confirm-working="isWorking"
- width="582px"
+ width="620px"
title="閰嶇疆鐢ㄦ埛瑙掕壊"
@confirm="confirm"
>
<p class="tip" v-if="user != null">涓虹敤鎴� <em>{{user.realname}}</em> 閰嶇疆瑙掕壊</p>
<p class="tip-warn"><i class="el-icon-warning"></i>鎻愰啋锛氳鑹查厤缃悗闇�閲嶆柊鐧诲綍鍚庣敓鏁�</p>
- <el-transfer
+ <div class="df_center">
+ <el-transfer
v-model="selectedIds"
:titles="['鏈巿鏉冭鑹�', '宸叉巿鏉冭鑹�']"
:props="{
@@ -17,6 +18,7 @@
}"
:data="roles">
</el-transfer>
+ </div>
</GlobalWindow>
</template>
diff --git a/admin/src/views/business/category.vue b/admin/src/views/business/category.vue
deleted file mode 100644
index fda2f2b..0000000
--- a/admin/src/views/business/category.vue
+++ /dev/null
@@ -1,93 +0,0 @@
-<template>
- <TableLayout :permissions="['business:category:query']">
- <!-- 鎼滅储琛ㄥ崟 -->
- <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
- <el-form-item label="鍚嶇О" prop="name">
- <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ悕绉�" @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="鐘舵��" prop="status">
- <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨">
- <el-option label="鍚敤" value="0"></el-option>
- <el-option label="绂佺敤" value="1"></el-option>
- </el-select>
- </el-form-item>
- <section>
- <el-button type="primary" @click="search">鎼滅储</el-button>
- <el-button @click="reset">閲嶇疆</el-button>
- </section>
- </el-form>
- <!-- 琛ㄦ牸鍜屽垎椤� -->
- <template v-slot:table-wrap>
- <ul class="toolbar" v-permissions="['business:category:create', 'business:category:delete']">
- <li><el-button type="primary" @click="$refs.operaCategoryWindow.open('鏂板缓鍒嗙被淇℃伅琛�')" icon="el-icon-plus" v-permissions="['business:category:create']">鏂板缓</el-button></li>
- <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:category:delete']">鍒犻櫎</el-button></li>
- </ul>
- <el-table
- v-loading="isWorking.search"
- :data="tableData.list"
- stripe
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55"></el-table-column>
- <el-table-column prop="name" label="缁勭粐绫诲瀷" min-width="100px"></el-table-column>
- <el-table-column prop="remark" label="澶囨敞" min-width="100px"></el-table-column>
- <el-table-column prop="status" label="鐘舵��" min-width="100px">
- <template slot-scope="{row}">
- <span v-if="row.status === 0">鍚敤</span>
- <span v-if="row.status === 1">绂佺敤</span>
- </template>
- </el-table-column>
- <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
- <el-table-column
- v-if="containPermissions(['business:category:update', 'business:category:delete'])"
- label="鎿嶄綔"
- min-width="120"
- fixed="right"
- >
- <template slot-scope="{row}">
- <el-button type="text" @click="$refs.operaCategoryWindow.open('缂栬緫鍒嗙被淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:category:update']">缂栬緫</el-button>
- <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:category:delete']">鍒犻櫎</el-button>
- </template>
- </el-table-column>
- </el-table>
- <pagination
- @size-change="handleSizeChange"
- @current-change="handlePageChange"
- :pagination="tableData.pagination"
- >
- </pagination>
- </template>
- <!-- 鏂板缓/淇敼 -->
- <OperaCategoryWindow ref="operaCategoryWindow" @success="handlePageChange"/>
- </TableLayout>
-</template>
-
-<script>
-import BaseTable from '@/components/base/BaseTable'
-import TableLayout from '@/layouts/TableLayout'
-import Pagination from '@/components/common/Pagination'
-import OperaCategoryWindow from '@/components/business/OperaCategoryWindow'
-export default {
- name: 'Category',
- extends: BaseTable,
- components: { TableLayout, Pagination, OperaCategoryWindow },
- data () {
- return {
- // 鎼滅储
- searchForm: {
- name: '',
- status: ''
- }
- }
- },
- created () {
- this.config({
- module: '鍒嗙被淇℃伅琛�',
- api: '/business/category',
- 'field.id': 'id',
- 'field.main': 'id'
- })
- this.search()
- }
-}
-</script>
diff --git a/admin/src/views/business/platformEvent.vue b/admin/src/views/business/platformEvent.vue
new file mode 100644
index 0000000..d0b6bc8
--- /dev/null
+++ b/admin/src/views/business/platformEvent.vue
@@ -0,0 +1,161 @@
+<template>
+ <TableLayout :permissions="['business:interfacelog:query']">
+ <!-- 鎼滅储琛ㄥ崟 -->
+ <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+ <el-form-item label="" prop="platformName">
+ <el-input v-model="searchForm.platformName" placeholder="璇疯緭鍏ユ湀鍙板悕绉�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="" prop="channelName">
+ <el-input v-model="searchForm.channelName" placeholder="璇疯緭鍏ョ洃鎺х偣鍚嶇О" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="" prop="plateNo">
+ <el-input v-model="searchForm.plateNo" placeholder="璇疯緭鍏ヨ溅鐗屽彿" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="" prop="eventType">
+ <el-select v-model="searchForm.motionStatus" placeholder="璇烽�夋嫨杩涘嚭绫诲瀷">
+ <el-option label="绂诲紑" value="leave"></el-option>
+ <el-option label="杩涘叆" value="enter"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="璧锋鏃堕棿" prop="startDate">
+ <el-date-picker
+ @change="seleTime"
+ v-model="time"
+ type="datetimerange"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫椂闂�"
+ end-placeholder="缁撴潫鏃堕棿">
+ </el-date-picker>
+ </el-form-item>
+ <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio">
+ <el-radio-button label="0">褰撳ぉ</el-radio-button>
+ <el-radio-button label="1">杩�7澶�</el-radio-button>
+ <el-radio-button label="2">杩�30澶�</el-radio-button>
+ </el-radio-group>
+ <section>
+ <el-button type="primary" @click="search">鎼滅储</el-button>
+ <el-button @click="reset">閲嶇疆</el-button>
+ </section>
+ </el-form>
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+ <el-table
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ stripe
+ >
+ <el-table-column prop="platformName" label="鏈堝彴鍚嶇О" min-width="180px"></el-table-column>
+ <el-table-column prop="channelName" label="鐩戞帶鐐瑰悕绉�" min-width="180px"></el-table-column>
+ <el-table-column prop="plateNo" label="杞︾墝鍙�" min-width="180px"></el-table-column>
+ <el-table-column label="杞﹁締杩涘嚭绫诲瀷" min-width="180px">
+ <template slot-scope="{row}">
+ <span v-if="row.motionStatus == 'enter'">杩涘叆span>
+ <span v-if="row.motionStatus == 'leave'">绂诲紑</span>
+ <span v-if="row.motionStatus != 'leave' && row.motionStatus != 'enter'">{{ row.motionStatus }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍓嶅悗鏍囪瘑" min-width="180px">
+ <template slot-scope="{row}">
+ <span v-if="row.stockStatus == 'rear'">杞﹀熬</span>
+ <span v-if="row.stockStatus == 'front'">杞﹀ご</span>
+ <span v-if="row.stockStatus != 'rear' && row.stockStatus != 'front'">{{ row.stockStatus }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="stockStatus" label="杞﹂棬鐘舵��" min-width="180px"></el-table-column>
+ <el-table-column label="杞﹂棬鐘舵��" min-width="100px">
+ <template slot-scope="{row}">
+ <span v-if="row.vehicleDoorStatus == 'open'">寮�闂�</span>
+ <span v-if="row.vehicleDoorStatus == 'close'">鍏抽棬</span>
+ <span v-if="row.vehicleDoorStatus != 'open' && row.vehicleDoorStatus != 'close'">{{ row.vehicleDoorStatus }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="deviceId" label="璁惧缂栫爜" min-width="150px"></el-table-column>
+ <el-table-column prop="ipAddress" label="IP鍦板潃" min-width="100px"></el-table-column>
+ <el-table-column prop="portNo" label="绔彛" min-width="100px"></el-table-column>
+ <el-table-column fixed="right" label="鎶撴媿鍥�" min-width="100px">
+ <template slot-scope="{row}">
+ <el-image v-if="row.backgroundImageDown" style="width: 60px; height: 60px" :src="row.backgroundImageDown"
+ :preview-src-list="[row.backgroundImageDown]">
+ </el-image>
+ </template>
+ </el-table-column>
+ <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
+ </el-table>
+ <pagination
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
+ >
+ </pagination>
+ </template>
+ </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import { timeForMat } from '@/utils/util'
+export default {
+ name: 'platformEvent',
+ extends: BaseTable,
+ components: { TableLayout, Pagination },
+ data () {
+ return {
+ // 鎼滅储
+ searchForm: {
+ plateNo: '',
+ motionStatus: '',
+ channelName: '',
+ platformName: '',
+ endDate: '',
+ startDate: '',
+ radio: '0'
+ },
+ time: []
+ }
+ },
+ created () {
+ this.config({
+ module: '鏈堝彴杞﹁締鐘舵�佷簨浠朵氦浜掕褰�',
+ api: '/business/platformEvent',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.changeRadio('0')
+ },
+ methods: {
+ changeRadio (e) {
+ if (e === '0') {
+ this.searchForm.startDate = timeForMat(0)[0]
+ this.searchForm.endDate = timeForMat(0)[1]
+ this.time = timeForMat(0)
+ } else if (e === '1') {
+ this.searchForm.startDate = timeForMat(6)[0]
+ this.searchForm.endDate = timeForMat(6)[1]
+ this.time = timeForMat(6)
+ } else if (e === '2') {
+ this.searchForm.startDate = timeForMat(29)[0]
+ this.searchForm.endDate = timeForMat(29)[1]
+ this.time = timeForMat(29)
+ }
+ this.search()
+ },
+ seleTime (e) {
+ this.searchForm.startDate = e[0]
+ this.searchForm.endDate = e[1]
+ this.searchForm.radio = null
+ this.search()
+ },
+ reset () {
+ this.$refs.searchForm.resetFields()
+ this.searchForm.startDate = ''
+ this.searchForm.endDate = ''
+ this.time = []
+ this.search()
+ }
+ }
+}
+</script>
diff --git a/admin/src/views/business/relativeMember.vue b/admin/src/views/business/relativeMember.vue
index 8baf6ad..5452250 100644
--- a/admin/src/views/business/relativeMember.vue
+++ b/admin/src/views/business/relativeMember.vue
@@ -61,7 +61,7 @@
<li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('浜哄憳瀵煎叆', searchForm.companyType)"
icon="el-icon-plus" v-permissions="['business:member:create']">浜哄憳瀵煎叆</el-button></li>
<li><el-button type="primary"
- @click="$refs.OperaTrainTimeImportWindow.open('鍩硅鏈熷鍏�', department, searchForm.companyType)"
+ @click="$refs.OperaTrainTimeImportWindow.open('鍩硅鏈夋晥鏈熷鍏�', department, searchForm.companyType)"
icon="el-icon-plus" v-permissions="['business:traintime:create']">鍩硅鏈熷鍏�</el-button></li>
<li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete"
v-permissions="['business:member:delete']">鎵归噺鍒犻櫎</el-button></li>
diff --git a/admin/src/views/business/visitorManagement.vue b/admin/src/views/business/visitorManagement.vue
index 04cffad..fe0cd12 100644
--- a/admin/src/views/business/visitorManagement.vue
+++ b/admin/src/views/business/visitorManagement.vue
@@ -8,8 +8,8 @@
<el-form-item label="鎵嬫満鍙�" prop="phone">
<el-input v-model="searchForm.phone" placeholder="璇疯緭鍏ユ墜鏈哄彿" @keypress.enter.native="search"></el-input>
</el-form-item>
- <el-form-item label="缁勭粐鍚嶇О" prop="companyName">
- <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ョ粍缁囧悕绉�" @keypress.enter.native="search"></el-input>
+ <el-form-item label="鍏徃鍚嶇О" prop="companyName">
+ <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ュ叕鍙稿悕绉�" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="韬唤璇佸彿" prop="idcardNo">
<el-input v-model="searchForm.idcardNo" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" @keypress.enter.native="search"></el-input>
@@ -54,7 +54,7 @@
</template>
</el-table-column>
<el-table-column prop="idcardDecode" label="韬唤璇佸彿" width="150px"></el-table-column>
- <el-table-column prop="visitCompanyName" label="缁勭粐" min-width="100px"></el-table-column>
+ <el-table-column prop="visitCompanyName" label="鍏徃" min-width="100px"></el-table-column>
<el-table-column prop="visitTimes" label="鎷滆娆℃暟" min-width="100px"></el-table-column>
<el-table-column prop="lastVisitDate" label="鏈�鍚庢嫓璁挎椂闂�" min-width="100px"></el-table-column>
</el-table>
diff --git a/admin/src/views/platform/LogisticsRecord/leaveAuth.vue b/admin/src/views/platform/LogisticsRecord/leaveAuth.vue
index 5a0dfa0..688c2ef 100644
--- a/admin/src/views/platform/LogisticsRecord/leaveAuth.vue
+++ b/admin/src/views/platform/LogisticsRecord/leaveAuth.vue
@@ -50,8 +50,9 @@
<el-table-column prop="remark" label="澶囨敞" min-width="150" show-overflow-tooltip />
<el-table-column label="鎿嶄綔" align="center" fixed="right" min-width="100" show-overflow-tooltip>
<template v-slot="scope">
- <el-button type="text" v-permissions="['business:platformbooks:detail']"
+ <el-button v-if="scope.row.status == 6" type="text" v-permissions="['business:platformbooks:detail']"
@click="handleAuth(scope.row)">绂诲洯鎺堟潈</el-button>
+ <span v-else>-</span>
</template>
</el-table-column>
</el-table>
@@ -178,8 +179,8 @@
this.$prompt('澶囨敞', '绂诲洯鎺堟潈', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
- }).then(({ remark }) => {
- platformPowerLevel({ jobId: row.id, remark }).then(res => {
+ }).then(({ value }) => {
+ platformPowerLevel({ jobId: row.id, remark: value }).then(res => {
Message.success('绂诲洯鎺堟潈鎴愬姛')
this.getList()
})
diff --git a/admin/src/views/platform/index.vue b/admin/src/views/platform/index.vue
index 6be4435..8f4bacf 100644
--- a/admin/src/views/platform/index.vue
+++ b/admin/src/views/platform/index.vue
@@ -314,6 +314,12 @@
this.$nextTick(() => {
this.$refs.PlatformQueuingRef.isShowModal = true
this.$refs.PlatformQueuingRef.callType = callType
+ this.$refs.PlatformQueuingRef.carCodeFront = ''
+ this.$refs.PlatformQueuingRef.pagination = {
+ total: 0,
+ pageSize: 10,
+ page: 1
+ }
this.$refs.PlatformQueuingRef.activePlat = { ...item }
this.$refs.PlatformQueuingRef.getList()
this.$refs.PlatformQueuingRef.title = item.name
diff --git a/admin/src/views/platform/queueUp.vue b/admin/src/views/platform/queueUp.vue
index b19f7ea..20aff75 100644
--- a/admin/src/views/platform/queueUp.vue
+++ b/admin/src/views/platform/queueUp.vue
@@ -21,7 +21,7 @@
<span></span>
</div>
</div>
- <el-table class="mb20" v-loading="loading" :data="dataList" stripe row-key="id" default-expand-all>
+ <el-table v-if="activeGroup.type == 2" class="mb20" v-loading="loading" :data="dataList" stripe row-key="id" default-expand-all>
<el-table-column type="index" label="搴忓彿" width="80" />
<el-table-column label="杞︾墝鍙�" width="130">
<template slot-scope="{ row }">
@@ -33,13 +33,9 @@
</div>
</template>
</el-table-column>
- <el-table-column v-if="activeGroup.type == 2" prop="contractNum" label="鍚堝悓鍗曞彿" min-width="120" />
- <template v-else>
- <el-table-column prop="carrierName" label="杩愯緭鍏徃" min-width="120" />
- <el-table-column prop="billCode" label="杩愬崟鍙�" min-width="120" />
- </template>
+ <el-table-column prop="contractNum" label="鍚堝悓鍗曞彿" min-width="120" />
<el-table-column prop="totalNum" label="鎬昏繍杈撻噺(涓囨敮)" min-width="110" />
- <el-table-column prop="driverName" label="椹鹃┒鍛�" min-width="130">
+ <el-table-column label="椹鹃┒鍛�" min-width="130">
<template slot-scope="{ row }">
<span class="mr10">{{ row.driverName }}</span>
<span>{{ row.drivierPhone }}</span>
@@ -48,12 +44,38 @@
<el-table-column prop="signDate" label="绛惧埌鏃堕棿" min-width="150" />
<el-table-column label="鎿嶄綔" align="center" width="100" fixed="right">
<template slot-scope="{ row }">
- <el-button v-if="activeGroup.type != 2" type="text" @click="handleDetail(row)"
- v-permissions="['business:company:update']">杩愬崟璇︽儏</el-button>
<el-button v-if="activeGroup.type == 2" type="text" @click="subDetail(row)">棰勭害璇︽儏</el-button>
</template>
</el-table-column>
</el-table>
+ <el-table v-else class="mb20" v-loading="loading" :data="dataList" stripe row-key="id" default-expand-all>
+ <el-table-column type="index" label="搴忓彿" width="80" />
+ <el-table-column label="杞︾墝鍙�" width="130">
+ <template slot-scope="{ row }">
+ <div class="plate_id">
+ <span>{{ row.carCodeFront.slice(0, 1) }}</span>
+ <span>{{ row.carCodeFront.slice(1, 2) }}</span>
+ <span>路</span>
+ <span>{{ row.carCodeFront.slice(2) }}</span>
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column prop="carrierName" label="杩愯緭鍏徃" min-width="120" />
+ <el-table-column prop="totalNum" label="鎬昏繍杈撻噺(涓囨敮)" min-width="110" />
+ <el-table-column label="椹鹃┒鍛�" min-width="130">
+ <template slot-scope="{ row }">
+ <span class="mr10">{{ row.driverName }}</span>
+ <span>{{ row.drivierPhone }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="signDate" label="绛惧埌鏃堕棿" min-width="150" />
+ <el-table-column label="鎿嶄綔" align="center" width="100" fixed="right">
+ <template slot-scope="{ row }">
+ <el-button type="text" @click="handleDetail(row)"
+ v-permissions="['business:company:update']">杩愬崟璇︽儏</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
<pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="pagination" />
<!-- -->
diff --git a/admin/src/views/statistics/platformRecord.vue b/admin/src/views/statistics/platformRecord.vue
index 1d71124..49f98e1 100644
--- a/admin/src/views/statistics/platformRecord.vue
+++ b/admin/src/views/statistics/platformRecord.vue
@@ -6,9 +6,10 @@
<el-table-column prop="platformGroupName" label="鏈堝彴缁�" min-width="100" show-overflow-tooltip />
<el-table-column prop="carCodeFront" label="杞﹀墠鐗岀収鍙�" min-width="100" show-overflow-tooltip />
<el-table-column prop="carCodeBack" label="杞﹀悗鐗岀収鍙�" min-width="100" show-overflow-tooltip />
- <el-table-column prop="startDate" label="浣滀笟寮�濮�" min-width="100" show-overflow-tooltip />
- <el-table-column prop="doneDate" label="浣滀笟缁撴潫" min-width="100" show-overflow-tooltip />
- <el-table-column prop="workTime" label="浣滀笟鏃堕暱" min-width="100" show-overflow-tooltip /><el-table-column prop="name"
+ <el-table-column prop="param1" label="浣滀笟寮�濮�" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="param2" label="浣滀笟缁撴潫" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="workTime" label="浣滀笟鏃堕暱" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="name"
label="杩愯緭鍗曞彿/鍚堝悓鍙�" min-width="100" show-overflow-tooltip>
<template v-slot="scope">
<span>{{ scope.row.billCode || scope.row.contractNum }}</span>
@@ -26,8 +27,8 @@
import QueryForm from '@/components/common/QueryForm'
import dayjs from 'dayjs'
import duration from 'dayjs/plugin/duration'
-dayjs.extend(duration);
-import { platformJobPage, getPlatformGroupList } from '@/api'
+dayjs.extend(duration)
+import { platformLogPage, getPlatformGroupList } from '@/api'
export default {
components: {
Pagination,
@@ -86,7 +87,7 @@
})
},
getGroupList() {
- getPlatformGroupList({queryData: 0,queryType: 0}).then(res => {
+ getPlatformGroupList({ queryData: 0, queryType: 0 }).then(res => {
this.queryFormConfig.formItems[1].options = res.map(i => {
return {
value: i.id,
@@ -99,13 +100,14 @@
getList(page) {
const { pagination, filters } = this
this.loading = true
- platformJobPage({
+ platformLogPage({
model: {
...filters,
- queryStatus: '5,6,9,10',
+ queryStatus: '6,7,8',
beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
},
+ sorts: [{ direction: 'DESC', property: 'param1' }],
capacity: pagination.pageSize,
page: page || pagination.page,
}).then(res => {
@@ -114,7 +116,7 @@
this.list.forEach(item => {
item.inTypeTemp = item.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'
item.taskOrigin = 'WMS鑾峰彇'
- item.workTime = dayjs.duration(item.workTime, 'seconds').format('H鏃秏鍒唖绉�');
+ item.workTime = dayjs.duration(item.param3, 'seconds').format('H鏃秏鍒唖绉�')
})
this.pagination.total = res.total || 0
}, () => {
diff --git a/admin/src/views/vehicle/cars.vue b/admin/src/views/vehicle/cars.vue
index 55d2b4e..2477ce4 100644
--- a/admin/src/views/vehicle/cars.vue
+++ b/admin/src/views/vehicle/cars.vue
@@ -1,113 +1,116 @@
<template>
- <TableLayout :permissions="['business:member:query']">
- <!-- 鎼滅储琛ㄥ崟 -->
- <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
- <el-form-item label="" prop="code" title="杞︾墝鍙�">
- <el-input v-model="searchForm.code" clearable placeholder="杞︾墝鍙�" @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="" prop="memberName" title="杞︿富濮撳悕/鎵嬫満鍙�">
- <el-input v-model="searchForm.memberName" clearable placeholder="杞︿富濮撳悕/鎵嬫満鍙�" @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="" prop="companyName" title="杞︿富閮ㄩ棬鍚嶇О">
- <el-input v-model="searchForm.companyName" clearable placeholder="杞︿富閮ㄩ棬鍚嶇О" @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="" prop="authStatus" title="鏄惁鎺堟潈">
- <el-select v-model="searchForm.authStatus" @change="search" clearable placeholder="鏄惁鎺堟潈">
- <el-option label="宸叉巿鏉�" value="1"></el-option>
- <el-option label="鏈巿鏉�" value="0"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="" prop="type" title="杞﹁締绫诲瀷">
- <el-select v-model="searchForm.type" @change="search" clearable placeholder="杞﹁締绫诲瀷">
- <el-option label="瀹夋嘲鍏姟杞�" value="0"></el-option>
- <el-option label="瀹夋嘲鑷湁鐗╂祦杞�" value="1"></el-option>
- <el-option label="鍏朵粬" value="2"></el-option>
- </el-select>
- </el-form-item>
- <section>
- <el-button type="primary" @click="search">鎼滅储</el-button>
- <el-button @click="reset">閲嶇疆</el-button>
- </section>
- </el-form>
- <!-- 琛ㄦ牸鍜屽垎椤� -->
- <template v-slot:table-wrap>
- <ul class="toolbar" v-permissions="['business:cars:create', 'business:parkBook:create']">
- <li><el-button type="primary" @click="$refs.operaCarsWindow.open('鏂板缓杞﹁締')" icon="el-icon-plus" v-permissions="['business:cars:create']">鏂板缓</el-button></li>
- <li><el-button type="primary" @click="startEmpowerBatch" icon="el-icon-plus" v-permissions="['business:parkbook:create']">涓嬪彂鎺堟潈</el-button></li>
- </ul>
- <el-table
- v-loading="isWorking.search"
- :data="tableData.list"
- stripe
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55"></el-table-column>
- <el-table-column prop="code" label="杞︾墝鍙�" min-width="100px"></el-table-column>
- <el-table-column label="杞﹁締绫诲瀷" min-width="100px">
- <template slot-scope="{row}">
- <span v-if="row.type == 0" >瀹夋嘲鍏姟杞�</span>
- <span v-if="row.type == 1">瀹夋嘲鑷湁鐗╂祦杞�</span>
- <span v-if="row.type == 2" >鍏朵粬</span>
- </template>
- </el-table-column>
- <el-table-column prop="memberName" label="杞︿富濮撳悕" min-width="100px"></el-table-column>
- <el-table-column prop="memberPhone" label="杞︿富鎵嬫満鍙�" min-width="100px"></el-table-column>
- <el-table-column prop="companyName" label="杞︿富缁勭粐" min-width="200px"></el-table-column>
- <el-table-column label="鏄惁鎺堟潈" align="center" min-width="100px">
- <template slot-scope="{row}">
- <span v-if="row.authStatus == 1" style="color: green">鏄�</span>
- <span v-else style="color: red">鍚�</span>
- </template>
- </el-table-column>
- <el-table-column prop="parksName" align="center" label="宸叉巿鏉冨仠杞﹀満" min-width="200px">
- <template slot-scope="{row}">
- <div v-if="row.parkBookList && row.parkBookList.length" >
- <span v-for="item in row.parkBookList" :key="item.id" style="display: block">
- <span :style="(item.hkStatus== 0?'color:#2080f7':(item.hkStatus== 1?'color:green':(item.hkStatus== 2?'color:red':'')))">銆恵{item.hkStatus== 0?'绛夊緟涓嬪彂':(item.hkStatus== 1?'涓嬪彂鎴愬姛':(item.hkStatus== 2?'涓嬪彂澶辫触':''))}}銆� </span>{{item.parksName}}
- </span>
- </div>
- <span v-if="row.parkBookList ==null ||row.parkBookList.length ==0">-</span>
- </template>
- </el-table-column>
- <el-table-column label="涓嬪彂鏈夋晥鏈�" align="center" min-width="170px">
- <template slot-scope="{row}">
- <div v-if="row.authStatus !=null && row.authStatus == 1 && row.parkBookList!=null && row.parkBookList.length>0">
- <div v-if="!row.startTime || !row.endTime">闀挎湡鏈夋晥</div>
- <div v-else>
- <span style="color: green">璧凤細{{row.startTime}}</span><br/>
- <span style="color: red">姝細{{row.endTime}}</span>
- </div>
- </div>
- <div v-else >-</div>
- </template>
- </el-table-column>
- <el-table-column prop="editorName" label="鎿嶄綔浜�" min-width="100px"></el-table-column>
- <el-table-column prop="editDate" label="鎿嶄綔鏃堕棿" min-width="140px"></el-table-column>
- <el-table-column
- v-if="containPermissions(['business:member:update', 'business:member:delete','business:empower:create'])"
- label="鎿嶄綔"
- min-width="200"
- align="center"
- fixed="right"
- >
- <template slot-scope="{row}">
- <el-button type="text" icon="el-icon-edit" @click="$refs.operaCarsWindow.open('缂栬緫杞﹁締淇℃伅',row)" v-permissions="['business:cars:update']">缂栬緫</el-button>
- <el-button type="text" icon="el-icon-edit" @click="$refs.operaCarAuthWindow.open('涓嬪彂鎺堟潈',[row.id],[row.code])" v-permissions="['business:parkbook:create']">涓嬪彂鎺堟潈</el-button>
- <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:empower:delete']">鍒犻櫎</el-button>
- </template>
- </el-table-column>
- </el-table>
- <pagination
- @size-change="handleSizeChange"
- @current-change="handlePageChange"
- :pagination="tableData.pagination"
- >
- </pagination>
- </template>
- <!-- 鏂板缓/淇敼 -->
- <OperaCarAuthWindow ref="operaCarAuthWindow" @success="handlePageChange"/>
- <OperaCarsWindow ref="operaCarsWindow" @success="handlePageChange"/>
- </TableLayout>
+ <TableLayout :permissions="['business:member:query']">
+ <!-- 鎼滅储琛ㄥ崟 -->
+ <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+ <el-form-item label="" prop="code" title="杞︾墝鍙�">
+ <el-input v-model="searchForm.code" clearable placeholder="杞︾墝鍙�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="" prop="memberName" title="杞︿富淇℃伅">
+ <el-input v-model="searchForm.memberName" clearable placeholder="杞︿富淇℃伅"
+ @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <!-- <el-form-item label="" prop="cateName" title="杞﹁締鍒嗙被鍚嶇О">
+ <el-input v-model="searchForm.cateName" clearable placeholder="杞﹁締鍒嗙被鍚嶇О"
+ @keypress.enter.native="search"></el-input>
+ </el-form-item> -->
+ <el-form-item label="" prop="companyName" title="杞︿富缁勭粐鍚嶇О">
+ <el-input v-model="searchForm.companyName" clearable placeholder="杞︿富缁勭粐鍚嶇О"
+ @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="" prop="authStatus" title="鏄惁鎺堟潈">
+ <el-select v-model="searchForm.authStatus" @change="search" clearable placeholder="鏄惁鎺堟潈">
+ <el-option label="宸叉巿鏉�" value="1"></el-option>
+ <el-option label="鏈巿鏉�" value="0"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="" prop="type" title="杞﹁締绫诲瀷">
+ <el-select v-model="searchForm.type" @change="search" clearable placeholder="杞﹁締绫诲瀷">
+ <el-option label="瀹夋嘲鍏姟杞�" value="0"></el-option>
+ <el-option label="瀹夋嘲鑷湁鐗╂祦杞�" value="1"></el-option>
+ <el-option label="鍏朵粬" value="2"></el-option>
+ </el-select>
+ </el-form-item>
+ <section>
+ <el-button type="primary" @click="search">鎼滅储</el-button>
+ <el-button @click="reset">閲嶇疆</el-button>
+ </section>
+ </el-form>
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+ <ul class="toolbar" v-permissions="['business:cars:create', 'business:parkBook:create']">
+ <li><el-button type="primary" @click="handleEdit" icon="el-icon-plus"
+ v-permissions="['business:cars:create']">鏂板缓</el-button></li>
+ <li><el-button type="primary" @click="startEmpowerBatch" icon="el-icon-plus"
+ v-permissions="['business:parkbook:create']">涓嬪彂鎺堟潈</el-button></li>
+ </ul>
+ <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
+ <el-table-column type="selection" width="55"></el-table-column>
+ <el-table-column prop="code" label="杞︾墝鍙�" min-width="100px"></el-table-column>
+ <el-table-column label="杞﹁締绫诲瀷" min-width="120px">
+ <template slot-scope="{row}">
+ <span v-if="row.type == 0">瀹夋嘲鍏姟杞�</span>
+ <span v-if="row.type == 1">瀹夋嘲鑷湁鐗╂祦杞�</span>
+ <span v-if="row.type == 2">鍏朵粬</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="memberName" label="杞︿富濮撳悕" min-width="100px"></el-table-column>
+ <el-table-column prop="memberPhone" label="杞︿富鎵嬫満鍙�" min-width="100px"></el-table-column>
+ <el-table-column prop="cateName" label="杞﹁締鍒嗙被" min-width="160px"></el-table-column>
+ <el-table-column prop="companyName" label="杞︿富缁勭粐" min-width="200px"></el-table-column>
+ <el-table-column label="鏄惁鎺堟潈" align="center" min-width="100px">
+ <template slot-scope="{row}">
+ <span v-if="row.authStatus == 1" style="color: green">鏄�</span>
+ <span v-else style="color: red">鍚�</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="parksName" align="center" label="宸叉巿鏉冨仠杞﹀満" min-width="200px">
+ <template slot-scope="{row}">
+ <div v-if="row.parkBookList && row.parkBookList.length">
+ <span v-for="item in row.parkBookList" :key="item.id" style="display: block">
+ <span
+ :style="(item.hkStatus == 0 ? 'color:#2080f7' : (item.hkStatus == 1 ? 'color:green' : (item.hkStatus == 2 ? 'color:red' : '')))">銆恵{ item.hkStatus ==
+ 0 ? '绛夊緟涓嬪彂' : (item.hkStatus == 1 ? '涓嬪彂鎴愬姛' : (item.hkStatus == 2?'涓嬪彂澶辫触':''))}}銆� </span>{{ item.parksName }}
+ </span>
+ </div>
+ <span v-if="row.parkBookList == null || row.parkBookList.length == 0">-</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="涓嬪彂鏈夋晥鏈�" align="center" min-width="170px">
+ <template slot-scope="{row}">
+ <div
+ v-if="row.authStatus != null && row.authStatus == 1 && row.parkBookList != null && row.parkBookList.length > 0">
+ <div v-if="!row.startTime || !row.endTime">闀挎湡鏈夋晥</div>
+ <div v-else>
+ <span style="color: green">璧凤細{{ row.startTime }}</span><br />
+ <span style="color: red">姝細{{ row.endTime }}</span>
+ </div>
+ </div>
+ <div v-else>-</div>
+ </template>
+ </el-table-column>
+ <el-table-column prop="editorName" label="鎿嶄綔浜�" min-width="100px"></el-table-column>
+ <el-table-column prop="editDate" label="鎿嶄綔鏃堕棿" min-width="140px"></el-table-column>
+ <el-table-column
+ v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])"
+ label="鎿嶄綔" min-width="200" align="center" fixed="right">
+ <template slot-scope="{row}">
+ <el-button type="text" icon="el-icon-edit" @click="handleEdit(row)"
+ v-permissions="['business:cars:update']">缂栬緫</el-button>
+ <el-button type="text" icon="el-icon-edit"
+ @click="$refs.operaCarAuthWindow.open('涓嬪彂鎺堟潈', [row.id], [row.code])"
+ v-permissions="['business:parkbook:create']">涓嬪彂鎺堟潈</el-button>
+ <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red"
+ v-permissions="['business:empower:delete']">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
+ </pagination>
+ </template>
+ <!-- 鏂板缓/淇敼 -->
+ <OperaCarAuthWindow ref="operaCarAuthWindow" @success="handlePageChange" />
+ <OperaCarsWindow v-if="isShowEdit" ref="operaCarsWindow" @close="isShowEdit = false" @success="handlePageChange" />
+ </TableLayout>
</template>
<script>
@@ -119,20 +122,21 @@
export default {
name: 'Cars',
extends: BaseTable,
- components: { TableLayout, Pagination, OperaCarsWindow,OperaCarAuthWindow },
- data () {
+ components: { TableLayout, Pagination, OperaCarsWindow, OperaCarAuthWindow },
+ data() {
return {
// 鎼滅储
searchForm: {
code: '',
memberName: '',
companyName: '',
- type:null,
- authStatus:null
- }
+ type: null,
+ authStatus: null
+ },
+ isShowEdit: false
}
},
- created () {
+ created() {
this.config({
module: '杞﹁締淇℃伅琛�',
api: '/business/cars',
@@ -142,8 +146,22 @@
this.search()
},
methods: {
+ handleEdit(row) {
+ this.isShowEdit = true
+ let str = row && row.id ? '缂栬緫杞﹁締' : '鏂板缓杞﹁締'
+ this.$nextTick(() => {
+ this.$refs.operaCarsWindow.open(str, row)
+ if (row && row.id) {
+ let form = { ...row, cateId: []}
+ if(row.catePId){ form.cateId.push(row.catePId) }
+ if(row.cateId){ form.cateId.push(row.cateId) }
+ this.$refs.operaCarsWindow.form = form
+ this.$refs.operaCarsWindow.loadMember()
+ }
+ })
+ },
// 鍚屾淇℃伅
- startEmpowerBatch () {
+ startEmpowerBatch() {
if (this.tableData.selectedRows.length === 0) {
this.$tip.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�')
return
diff --git a/admin/src/views/vehicle/category.vue b/admin/src/views/vehicle/category.vue
new file mode 100644
index 0000000..73b3540
--- /dev/null
+++ b/admin/src/views/vehicle/category.vue
@@ -0,0 +1,120 @@
+<template>
+ <TableLayout>
+ <!-- 鎼滅储琛ㄥ崟 -->
+ <!-- <el-form ref="searchForm" slot="search-form" label-width="100px" inline>
+ <el-form-item label="鐘舵��" prop="status">
+ <el-select v-model="filters.status" placeholder="璇烽�夋嫨">
+ <el-option label="鍚敤" value="0"></el-option>
+ <el-option label="绂佺敤" value="1"></el-option>
+ </el-select>
+ </el-form-item>
+ <section>
+ <el-button type="primary" @click="search">鎼滅储</el-button>
+ <el-button @click="reset">閲嶇疆</el-button>
+ </section>
+ </el-form> -->
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+ <ul class="toolbar" v-permissions="['business:category:create', 'business:category:delete']">
+ <li><el-button type="primary" @click="handleEdit()" icon="el-icon-plus"
+ v-permissions="['business:category:create']">鏂板缓</el-button></li>
+ </ul>
+ <el-table row-key="id" :tree-props="{children: 'childCategoryList'}" v-loading="isWorking.search" :data="dataList" stripe @selection-change="handleSelectionChange">
+ <el-table-column prop="name" label="鍒嗙被鍚嶇О" min-width="100px"></el-table-column>
+ <el-table-column prop="remark" label="澶囨敞" min-width="100px"></el-table-column>
+ <!-- <el-table-column prop="status" label="鐘舵��" min-width="100px">
+ <template slot-scope="{row}">
+ <span v-if="row.status === 0">鍚敤</span>
+ <span v-if="row.status === 1">绂佺敤</span>
+ </template>
+ </el-table-column> -->
+ <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
+ <el-table-column v-if="containPermissions(['business:category:update', 'business:category:delete'])"
+ label="鎿嶄綔" min-width="120" fixed="right">
+ <template slot-scope="{row}">
+ <el-button type="text" @click="handleEdit(row)" icon="el-icon-edit"
+ v-permissions="['business:category:update']">缂栬緫</el-button>
+ <el-button type="text" @click="deleteById(row)" icon="el-icon-delete"
+ v-permissions="['business:category:delete']">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="tableData.pagination">
+ </pagination>
+ </template>
+ <!-- 鏂板缓/淇敼 -->
+ <OperaCategoryWindow v-if="isShowEdit" @close="isShowEdit = false" ref="operaCategoryWindow" @success="getList" />
+ </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaCategoryWindow from './components/OperaCategoryWindow'
+import { fetchList, deleteById } from '@/api/business/category.js'
+export default {
+ name: 'Category',
+ extends: BaseTable,
+ components: { TableLayout, Pagination, OperaCategoryWindow },
+ data() {
+ return {
+ // 鎼滅储
+ filters: {
+ parentId: ''
+ },
+ isShowEdit: false,
+ loading: false,
+ pagination: {
+ pageSize: 10,
+ page: 1,
+ total: 0,
+ },
+ dataList: []
+ }
+ },
+ created() {
+ this.getList()
+ },
+ methods: {
+ handleEdit(row) {
+ this.isShowEdit = true
+ let str = row && row.id ? '缂栬緫杞﹁締鍒嗙被' : '鏂板缓杞﹁締鍒嗙被'
+ this.$nextTick(() => {
+ this.$refs.operaCategoryWindow.open(str)
+ this.$refs.operaCategoryWindow.getList()
+ if(row && row.id){
+ this.$refs.operaCategoryWindow.getDetail(row.id)
+ }
+ })
+ },
+ deleteById(row) {
+ this.$confirm(`鎮ㄧ‘璁よ鍒犻櫎璇ュ垎绫诲悧`, '娓╅Θ鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ deleteById(row.id).then(res => {
+ this.getList()
+ })
+ })
+
+ },
+ getList() {
+ const { pagination, filters } = this
+ this.loading = true
+ fetchList({
+ model: { ...filters },
+ capacity: pagination.pageSize,
+ page: pagination.page,
+ }).then(res => {
+ this.loading = false
+ this.dataList = res.records || []
+ this.pagination.total = res.total || 0
+ }, () => {
+ this.loading = false
+ })
+ },
+ }
+}
+</script>
diff --git a/admin/src/views/vehicle/components/OperaCategoryWindow.vue b/admin/src/views/vehicle/components/OperaCategoryWindow.vue
new file mode 100644
index 0000000..feaead6
--- /dev/null
+++ b/admin/src/views/vehicle/components/OperaCategoryWindow.vue
@@ -0,0 +1,79 @@
+<template>
+ <GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" width="600px" @close="close" @confirm="confirm">
+ <el-form :model="form" ref="form" :rules="rules">
+ <el-form-item label="涓�绾у垎绫�" prop="parentId">
+ <el-select v-model="form.parentId" placeholder="涓嶅~涓哄垯涓�绾у垎绫�">
+ <el-option v-for="op in dataList" :key="op.id" :label="op.name" :value="op.id"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="浜岀骇鍒嗙被" prop="name">
+ <el-input v-model="form.name" placeholder="璇疯緭鍏ヤ簩绾у垎绫�" v-trim />
+ </el-form-item>
+ <!-- <el-form-item label="鐘舵��" prop="status">
+ <el-select v-model="form.status" placeholder="璇烽�夋嫨">
+ <el-option label="鍚敤" value="0"></el-option>
+ <el-option label="绂佺敤" value="1"></el-option>
+ </el-select>
+ </el-form-item> -->
+ <el-form-item label="澶囨敞" prop="remark">
+ <el-input type="textarea" v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" v-trim />
+ </el-form-item>
+ </el-form>
+ </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import { create, fetchCateList, getInfoById } from '@/api/business/category.js'
+export default {
+ name: 'OperaCategoryWindow',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data() {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ parentId: null,
+ name: '',
+ remark: '',
+ status: '',
+ type: 1
+ },
+ // 楠岃瘉瑙勫垯
+ rules: {
+ name: [
+ { required: true, message: '璇疯緭鍏ヤ簩绾у垎绫诲悕绉�', trigger: 'blur' }
+ ],
+ status: [
+ { required: true, message: '璇烽�夋嫨鏄惁鍚敤', trigger: 'change' }
+ ]
+ },
+ dataList: []
+ }
+ },
+ created() {
+ this.config({
+ api: '/business/category',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ getList() {
+ fetchCateList({}).then(res => {
+ this.dataList = res || []
+
+ })
+ },
+ close() {
+ this.visible = false
+ this.$emit('close')
+ },
+ getDetail(id) {
+ getInfoById(id).then(res => {
+ this.form = res
+ })
+ },
+ }
+}
+</script>
diff --git a/admin/src/views/vehicle/parkBook.vue b/admin/src/views/vehicle/parkBook.vue
index ee74c48..5902ae2 100644
--- a/admin/src/views/vehicle/parkBook.vue
+++ b/admin/src/views/vehicle/parkBook.vue
@@ -5,8 +5,8 @@
<el-form-item title="杞︾墝鍙�" prop="carCode">
<el-input v-model="searchForm.carCode" placeholder="杞︾墝鍙�" @keypress.enter.native="search"></el-input>
</el-form-item>
- <el-form-item title="杞︿富濮撳悕/鎵嬫満鍙�" prop="memberName">
- <el-input v-model="searchForm.memberName" placeholder="鍛樺伐濮撳悕/鎵嬫満鍙�" @keypress.enter.native="search"></el-input>
+ <el-form-item title="杞︿富淇℃伅" prop="memberName">
+ <el-input v-model="searchForm.memberName" placeholder="杞︿富淇℃伅" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item title="杞︿富缁勭粐" prop="companyName">
<el-input v-model="searchForm.companyName" placeholder="杞︿富缁勭粐鍚嶇О" @keypress.enter.native="search"></el-input>
diff --git a/h5/pages.json b/h5/pages.json
index 7a5fc0f..cc71d51 100644
--- a/h5/pages.json
+++ b/h5/pages.json
@@ -447,6 +447,13 @@
{
"navigationBarTitleText" : "鍏ュ洯椤荤煡"
}
+ },
+ {
+ "path" : "pages/waybill/waybillDetail",
+ "style" :
+ {
+ "navigationBarTitleText" : "杩愬崟鏌ヨ"
+ }
}
],
"subPackages": [
diff --git a/h5/pages/waybill/waybillDetail.vue b/h5/pages/waybill/waybillDetail.vue
new file mode 100644
index 0000000..da8e896
--- /dev/null
+++ b/h5/pages/waybill/waybillDetail.vue
@@ -0,0 +1,207 @@
+<template>
+ <view class="main_app">
+ <image src="@/static/driver/wuliuche_bg@2x.png" class="main_bg"></image>
+ <view class="form_wrap">
+ <view class="item">
+ <view class="label">鍚堝悓缂栧彿</view>
+ <view class="line">
+ <view class="input_wrap"><input v-model="param.aa" placeholder="璇疯緭鍏ュ悎鍚岀紪鍙�" placeholder-class="place" type="text" /></view>
+ </view>
+ </view>
+ <view class="item">
+ <view class="label">闇�鏂圭紪鍙�</view>
+ <view class="line">
+ <view class="input_wrap"><input v-model="param.aa" placeholder="璇疯緭鍏ュ悎鍚屼腑闇�鏂圭紪鍙�" placeholder-class="place" type="text" /></view>
+ </view>
+ </view>
+ <view class="item">
+ <view class="label">楠岃瘉鐮�</view>
+ <view class="line">
+ <view class="input_wrap"><input v-model="param.aa" placeholder="璇疯緭鍏ラ獙璇佺爜" placeholder-class="place" type="text" /></view>
+ <image src="" class="auth_code" mode=""></image>
+ </view>
+ </view>
+ <view class="query">鏌ヨ</view>
+ </view>
+ <view class="title">鏌ヨ缁撴灉</view>
+ <view class="drive_info">
+ <view class="title">鍚堝悓缂栧彿</view>
+ <view class="line">
+ <view class="label">杩愯緭杞﹁締</view>
+ <view class="val">11</view>
+ </view>
+ <view class="line">
+ <view class="label">鍙告満淇℃伅</view>
+ <view class="val">11</view>
+ </view>
+ <view class="line">
+ <view class="label">杞﹁締浣嶇疆</view>
+ <view class="val">11</view>
+ </view>
+ </view>
+ <view class="drive_info">
+ <view class="title">鐗╂祦淇℃伅</view>
+ <view class="item">
+ <view class="h2">
+ <view class="icon_wrap"><image src="@/static/driver/ic_mostarted.png" class="icon"></image></view>
+ <view class="text">鍒拌揪鍗歌揣鍦�</view>
+ </view>
+ <view class="time">202422222222</view>
+ <view class="separate"></view>
+ </view>
+ <view class="item">
+ <view class="h2 h1">
+ <view class="icon_wrap"><image src="@/static/driver/ic_dangqian.png" class="icon"></image></view>
+ <view class="text">鍒拌揪鍗歌揣鍦�</view>
+ </view>
+ <view class="time">202422222222</view>
+ <view class="separate separate_ac"></view>
+ </view>
+ <view class="item">
+ <view class="h2">
+ <view class="icon_wrap"><image src="@/static/driver/ic_mostarted.png" class="icon"></image></view>
+ <view class="text">鍒拌揪鍗歌揣鍦�</view>
+ </view>
+ <view class="time">202422222222</view>
+ <view class="separate"></view>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ param: {}
+ };
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .form_wrap {
+ width: 690rpx;
+ height: 646rpx;
+ background: #FFFFFF;
+ box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(39,155,170,0.16);
+ border-radius: 16rpx;
+ padding: 10rpx 30rpx;
+ margin-bottom: 40rpx;
+ .item{
+ height: 154rpx;
+ padding: 30rpx 0 8rpx;
+ border-bottom: 1rpx solid #E5E5E5;
+ .label{}
+ .line{
+ display: flex;
+ .input_wrap{
+ padding: 18rpx 0;
+ flex: 1;
+ .place{
+ color: #999999;
+ font-size: 28rpx;
+ }
+ }
+ .auth_code{
+ width: 160rpx;
+ height: 64rpx;
+ border: 2px solid;
+ }
+ }
+ }
+ .query{
+ width: 630rpx;
+ height: 88rpx;
+ background: $uni-color-primary;
+ border-radius: 44rpx;
+ margin-top: 40rpx;
+ color: #fff;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 30rpx;
+ }
+ }
+ .main_app{
+ padding-top: 218rpx;
+ .title{
+ font-weight: 500;
+ font-size: 32rpx;
+ margin-bottom: 30rpx;
+ }
+ .drive_info{
+ background: #F7F7F7;
+ border-radius: 16rpx;
+ padding: 30rpx;
+ margin-bottom: 20rpx;
+ .line{
+ display: flex;
+ margin-bottom: 24rpx;
+ .label{
+ color: #666666;
+ margin-right: 40rpx;
+ }
+ .val{
+
+ }
+ }
+ .item{
+ position: relative;
+ color: #999999;
+ margin-bottom: 30rpx;
+ .h2{
+ display: flex;
+ align-items: center;
+ height: 48rpx;
+ .icon_wrap{
+ width: 48rpx;
+ margin-right: 30rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ .icon{
+ width: 24rpx;
+ height: 24rpx;
+ position: relative;
+ z-index: 2;
+ }
+ }
+ }
+ .h1{
+ .icon_wrap{
+ .icon{
+ width: 48rpx;
+ height: 48rpx;
+ }
+ }
+ }
+ .time{
+ padding-left: 78rpx;
+ font-size: 24rpx;
+ margin-top: 6rpx;
+ }
+ .separate{
+ height: calc( 100% );
+ width: 2rpx;
+ border: 2rpx dashed red;
+ position: absolute;
+ left: 22rpx;
+ top: 24rpx;
+ z-index: 1;
+ }
+ .separate_ac{
+ top: 48rpx;
+ }
+ }
+ }
+ }
+ .main_bg {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ z-index: -1;
+ color: #222222;
+ }
+</style>
\ No newline at end of file
diff --git a/h5/static/driver/ic_dangqian.png b/h5/static/driver/ic_dangqian.png
new file mode 100644
index 0000000..774a4fb
--- /dev/null
+++ b/h5/static/driver/ic_dangqian.png
Binary files differ
diff --git a/h5/static/driver/ic_mostarted.png b/h5/static/driver/ic_mostarted.png
new file mode 100644
index 0000000..e5e966d
--- /dev/null
+++ b/h5/static/driver/ic_mostarted.png
Binary files differ
diff --git a/h5/static/driver/wuliuche_bg@2x.png b/h5/static/driver/wuliuche_bg@2x.png
new file mode 100644
index 0000000..227c21f
--- /dev/null
+++ b/h5/static/driver/wuliuche_bg@2x.png
Binary files differ
diff --git a/h5_meeting/pages/index/config.vue b/h5_meeting/pages/index/config.vue
index b2578aa..58301ed 100644
--- a/h5_meeting/pages/index/config.vue
+++ b/h5_meeting/pages/index/config.vue
@@ -11,7 +11,7 @@
<view class="item">
<view class="title">鎺ュ彛鍦板潃</view>
<view class="line">
- <input type="text" placeholder="http://10.50.250.178:8088/gateway_interface/" v-model="param.baseUrl" />
+ <input type="text" v-model="param.baseUrl" />
<image src="../../static/icon/right.svg" class="icon"></image>
</view>
</view>
@@ -31,11 +31,15 @@
export default {
data() {
return {
- param: {}
+ param: {
+ baseUrl: 'http://192.168.5.13/gateway_interface/'
+ }
};
},
onLoad(){
- const param = uni.getStorageSync('param') || {}
+ const param = uni.getStorageSync('param') || {
+ baseUrl: 'http://192.168.5.13/gateway_interface/'
+ }
this.param = { ...param }
},
methods: {
diff --git a/h5_meeting/pages/index/index.vue b/h5_meeting/pages/index/index.vue
index 6682e3c..6f01181 100644
--- a/h5_meeting/pages/index/index.vue
+++ b/h5_meeting/pages/index/index.vue
@@ -8,13 +8,18 @@
<view class="date">{{date}}</view>
</view>
</view>
- <view class="home_status">
- <text v-if="!info.meetingListResponseList || info.meetingListResponseList.length == 0">绌洪棽涓�</text>
- <text v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 4">鍗冲皢寮�濮�</text>
- <text class="orange" v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 2">浼氳涓�</text>
- <text v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 1">鏈紑濮�</text>
- <text v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 3">宸茬粨鏉�</text>
- <text v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 5">宸叉挙閿�</text>
+ <view class="home_status">
+ <text v-if="!info.meetingListResponseList || info.meetingListResponseList.length == 0">绌洪棽涓�</text>
+ <text
+ v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 4">鍗冲皢寮�濮�</text>
+ <text class="orange"
+ v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 2">浼氳涓�</text>
+ <text
+ v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 1">鏈紑濮�</text>
+ <text
+ v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 3">宸茬粨鏉�</text>
+ <text
+ v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 5">宸叉挙閿�</text>
</view>
<view v-if="meetingInfo.meetingName" class="meeting_name">{{meetingInfo.meetingName}}</view>
<view v-if="meetingInfo.meetingTime && meetingInfo.bookingUser" class="meeting_con">
@@ -27,13 +32,15 @@
<image src="@/static/ic_people@2x.png"></image>
<text>棰勭害浜猴細{{meetingInfo.bookingUser }}</text>
</view>
- </view>
- <view v-if="meetingInfo.meetingTime" class="qrcode_wrap">
- <canvas id="qrcode" canvas-id="qrcode" class="qrcode"></canvas>
+ </view>
+ <view v-if="showQrbg" class="qrcode_wrap">
+ <canvas id="qrcode" canvas-id="qrcode" class="qrcode"></canvas>
</view>
</view>
<view class="meeting_wrap">
- <view class="title">浠婃棩浼氳锛坽{ info.meetingListResponseList && info.meetingListResponseList.length > 0 ? info.meetingListResponseList.length : 0 }}锛�</view>
+ <view class="title">
+ 浠婃棩浼氳锛坽{ info.meetingListResponseList && info.meetingListResponseList.length > 0 ? info.meetingListResponseList.length : 0 }}锛�
+ </view>
<view class="list">
<view class="item" v-for="item in info.meetingListResponseList">
<view class="name">{{item.meetingName}}</view>
@@ -51,42 +58,46 @@
</view>
<!-- -->
- <swiper v-if="info.fileType == 0 && (info.meetingListResponseList == null || info.meetingListResponseList.length == 0)" class="swiper" circular autoplay indicator-dots>
+ <swiper
+ v-if="info.fileType == 0 && (info.meetingListResponseList == null || info.meetingListResponseList.length == 0)"
+ class="swiper" circular autoplay indicator-dots>
<swiper-item v-for="item in info.multifileList">
<image class="swiper_item" :src="item.fileurlFull" mode="aspectFill"></image>
</swiper-item>
- </swiper>
- <!-- -->
- <template v-if="info.fileType == 1 && info.multifileList && info.multifileList.length > 0 && (info.meetingListResponseList == null || info.meetingListResponseList.length == 0)">
- <video :src="info.multifileList[0].fileurlFull" class="app_video" :autoplay="true" loop :controls="false"></video>
+ </swiper>
+ <!-- -->
+ <template
+ v-if="info.fileType == 1 && info.multifileList && info.multifileList.length > 0 && (info.meetingListResponseList == null || info.meetingListResponseList.length == 0)">
+ <video :src="info.multifileList[0].fileurlFull" class="app_video" :autoplay="true" loop :controls="false"></video>
</template>
</view>
</template>
<script>
- import dayjs from 'dayjs'
- // import vueQr from 'vue-qr/src/packages/vue-qr.vue'
+ import dayjs from 'dayjs'
+ // import vueQr from 'vue-qr/src/packages/vue-qr.vue'
import UQRCode from 'uqrcodejs'
import {
meetScreenData
} from '@/api/index.js'
- export default {
+ export default {
// components: {vueQr},
data() {
return {
time: '',
date: '',
+ showQrbg: false,
timer: null,
touchNum: 0,
- param: {},
- info: {},
- statusMap: {
- 1: '鏈紑濮�',
- 2: '杩涜涓�',
- 3: '宸茬粨鏉�',
- 4: '鍗冲皢寮�濮�',
- 5: '宸叉挙閿�',
- },
+ param: {},
+ info: {},
+ statusMap: {
+ 1: '鏈紑濮�',
+ 2: '杩涜涓�',
+ 3: '宸茬粨鏉�',
+ 4: '鍗冲皢寮�濮�',
+ 5: '宸叉挙閿�',
+ },
meetingInfo: {}
}
},
@@ -99,40 +110,47 @@
})
}
this.getData()
- },
- onReady() {
},
+ onReady() {},
methods: {
getData() {
+ this.showQrbg = false
meetScreenData({
roomId: this.param.code
- }).then(res => {
- this.info = res.data
- if(this.info.meetingListResponseList && this.info.meetingListResponseList.length > 0){
- this.meetingInfo = this.info.meetingListResponseList[0]
- this.$nextTick(() => {
- this.qrcodeCreate()
- this.$forceUpdate()
- })
- }
+ }).then(res => {
+ this.info = res.data
+ if (this.info.meetingListResponseList && this.info.meetingListResponseList.length > 0) {
+ this.meetingInfo = this.info.meetingListResponseList[0]
+ this.$nextTick(() => {
+ this.qrcodeCreate()
+ this.$forceUpdate()
+ })
+ } else {
+ this.showQrbg = false
+ this.meetingInfo = {}
+ }
})
- },
- qrcodeCreate(){
- // 鑾峰彇uQRCode瀹炰緥
- var qr = new UQRCode();
- // 璁剧疆浜岀淮鐮佸唴瀹�
- // qr.data = "https://uqrcode.cn/doc";
- qr.data = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxac2a80c2144c4ee0&redirect_uri=http://192.168.0.109:8080/redirect.html&response_type=code&scope=snsapi_base&state=1#wechat_redirect";
- // 璁剧疆浜岀淮鐮佸ぇ灏忥紝蹇呴』涓巆anvas璁剧疆鐨勫楂樹竴鑷�
- qr.size = 83;
- // 璋冪敤鍒朵綔浜岀淮鐮佹柟娉�
- qr.make();
- // 鑾峰彇canvas涓婁笅鏂�
- var canvasContext = uni.createCanvasContext('qrcode', this); // 濡傛灉鏄粍浠讹紝this蹇呴』浼犲叆
- // 璁剧疆uQRCode瀹炰緥鐨刢anvas涓婁笅鏂�
- qr.canvasContext = canvasContext;
- // 璋冪敤缁樺埗鏂规硶灏嗕簩缁寸爜鍥炬缁樺埗鍒癱anvas涓�
- qr.drawCanvas();
+ },
+ qrcodeCreate() {
+ this.showQrbg = true
+ this.$nextTick(() => {
+ // 鑾峰彇uQRCode瀹炰緥
+ var qr = new UQRCode();
+ // 璁剧疆浜岀淮鐮佸唴瀹�
+ // qr.data = "https://uqrcode.cn/doc";
+ qr.data =
+ "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxac2a80c2144c4ee0&redirect_uri=http://192.168.0.109:8080/redirect.html&response_type=code&scope=snsapi_base&state=1#wechat_redirect";
+ // 璁剧疆浜岀淮鐮佸ぇ灏忥紝蹇呴』涓巆anvas璁剧疆鐨勫楂樹竴鑷�
+ qr.size = 83;
+ // 璋冪敤鍒朵綔浜岀淮鐮佹柟娉�
+ qr.make();
+ // 鑾峰彇canvas涓婁笅鏂�
+ var canvasContext = uni.createCanvasContext('qrcode', this); // 濡傛灉鏄粍浠讹紝this蹇呴』浼犲叆
+ // 璁剧疆uQRCode瀹炰緥鐨刢anvas涓婁笅鏂�
+ qr.canvasContext = canvasContext;
+ // 璋冪敤缁樺埗鏂规硶灏嗕簩缁寸爜鍥炬缁樺埗鍒癱anvas涓�
+ qr.drawCanvas();
+ })
},
touchend() {
this.touchNum++
@@ -155,44 +173,53 @@
this.timer = setInterval(() => {
this.time = dayjs().format('HH:mm')
this.date = dayjs().format('YYYY-MM-DD') + ' ' + weeks[new Date().getDay()]
- }, 1000)
- setInterval(() => {
- this.getData()
- },this.param.time ? this.param.time * 1000 : 60 * 1000)
+ }, 1000)
+ setInterval(() => {
+ this.getData()
+ }, this.param.time ? this.param.time * 1000 : 60 * 1000)
}
}
}
</script>
-<style lang="scss" scoped>
- page,body{
- overflow: hidden;
- }
- .swiper{
- position: fixed;
- top: 0;
- left: 0;
- z-index: 999;
- width: 100%;
- height: 100vh;
- .swiper_item{
- background-color: #0095AC;
- width: 100%;
- height: 100vh;
- }
- }
- .app_video{
- width: 100%;
- height: 100vh;
- position: fixed;
- top: 0;
- left: 0;
- z-index: 999;
+<style lang="scss" scoped>
+ page,
+ body {
+ overflow: hidden;
}
+
+ .swiper {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 999;
+ width: 100%;
+ height: 100vh;
+
+ .swiper_item {
+ background-color: #0095AC;
+ width: 100%;
+ height: 100vh;
+ }
+ }
+
+ .app_video {
+ width: 100%;
+ height: 100vh;
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 999;
+ }
+
.main_app {
width: 100%;
height: 100vh;
- position: relative;
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
font-size: 28rpx;
display: flex;
flex-direction: column;
@@ -230,14 +257,16 @@
flex-shrink: 0;
flex-direction: column;
width: 403rpx;
- height: 315rpx;
- background: linear-gradient( 90deg, #0080FF 0%, #00B0FF 100%);
+ height: 315rpx;
+ background: linear-gradient(90deg, #0080FF 0%, #00B0FF 100%);
border-radius: 7rpx;
margin-right: 28rpx;
position: relative;
- &:nth-of-type(1){
- background: linear-gradient(90deg, #0095AC 0%, #00B5D1 100%);
+
+ &:nth-of-type(1) {
+ background: linear-gradient(90deg, #0095AC 0%, #00B5D1 100%);
}
+
.item_bg {
position: absolute;
width: 178rpx;
@@ -250,13 +279,14 @@
.name {
flex: 1;
font-weight: bold;
- font-size: 39rpx;
- width: 100%;
- word-break: break-all;
- text-overflow: ellipsis;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 3; /* 瓒呭嚭鍑犺鐪佺暐 */
+ font-size: 39rpx;
+ width: 100%;
+ word-break: break-all;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 3;
+ /* 瓒呭嚭鍑犺鐪佺暐 */
}
.line {
@@ -292,19 +322,21 @@
}
}
}
- .qrcode_wrap{
- width: 92px;
- height: 92px;
- display: flex;
- align-items: center;
- justify-content: center;
- background-color: #fff;
- .qrcode {
- width: 84px;
- height: 84px;
- }
+
+ .qrcode_wrap {
+ width: 92px;
+ height: 92px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background-color: #fff;
+
+ .qrcode {
+ width: 84px;
+ height: 84px;
+ }
}
-
+
}
.meeting_name {
diff --git a/h5_meeting/unpackage/release/apk/__UNI__EF8BAA7__20241008151948.apk b/h5_meeting/unpackage/release/apk/__UNI__EF8BAA7__20241008151948.apk
new file mode 100644
index 0000000..eff3492
--- /dev/null
+++ b/h5_meeting/unpackage/release/apk/__UNI__EF8BAA7__20241008151948.apk
Binary files differ
diff --git a/screen/src/views/PlatformCall.vue b/screen/src/views/PlatformCall.vue
index 9d2a827..a3ed50c 100644
--- a/screen/src/views/PlatformCall.vue
+++ b/screen/src/views/PlatformCall.vue
@@ -106,7 +106,7 @@
var qr = new UQRCode()
// 璁剧疆浜岀淮鐮佸唴瀹�
qr.data = qrcode.value
- qr.size = 254
+ qr.size = 220
// 璋冪敤鍒朵綔浜岀淮鐮佹柟娉�
qr.make()
var canvas = document.getElementById("qrcode")
@@ -174,7 +174,7 @@
</div>
<div class="item">{{ item.platformName || '-' }}</div>
<div class="item">
- <div class="time_place">棰勮瀹屾垚鏃堕棿</div>
+ <div v-if="item.optTimeTemp" class="time_place">棰勮瀹屾垚鏃堕棿</div>
<div>{{ item.optTimeTemp || '-' }}</div>
</div>
</div>
@@ -203,7 +203,7 @@
</div>
<div class="qrcode_wrap">
<div class="qrcode">
- <canvas id="qrcode" width="254" height="254"></canvas>
+ <canvas id="qrcode" width="220" height="220"></canvas>
</div>
<div class="title">璇锋壂鐮佺鍒�</div>
</div>
@@ -218,16 +218,23 @@
</template>
<style lang="scss" scoped>
+div{
+ box-sizing: border-box;
+}
.main_app {
color: #fff;
+ position: fixed;
+ top: 0;
+ left: 0;
width: 100%;
height: 100vh;
+ overflow: hidden;
background-color: #092030;
position: relative;
z-index: -2;
display: flex;
flex-direction: column;
-
+ justify-content: space-between;
.main_header {
width: 100%;
height: 112px;
@@ -281,16 +288,15 @@
display: flex;
padding: 30px 20px;
position: relative;
-
.list {
flex: 5;
margin-right: 20px;
-
+ display: flex;
+ flex-direction: column;
.line {
display: flex;
align-items: center;
- height: 100px;
-
+ flex: 1;
&:nth-of-type(2n) {
background: rgba(255, 255, 255, 0);
}
@@ -307,13 +313,15 @@
font-weight: 500;
font-size: 36px;
flex: 10;
+ height: 100%;
.time_place{
font-weight: 500;
font-size: 24px;
}
.status {
- width: 174px;
- height: 76px;
+ /* padding: 0 28px; */
+ width: 170px;
+ height: 72%;
border-radius: 8px;
display: flex;
justify-content: center;
@@ -351,14 +359,13 @@
flex: 2;
display: flex;
flex-direction: column;
-
+ border: 1px solid red;
.tip_wrap {
margin-bottom: 20px;
width: 100%;
position: relative;
- flex-shrink: 0;
+ /* flex-shrink: 0; */
flex: 1;
-
.current_plat {
display: flex;
flex-direction: column;
@@ -369,18 +376,18 @@
.id_card {
font-weight: bold;
- font-size: 86px;
+ font-size: 68px;
}
.no {
margin: 10px 0;
font-weight: 500;
- font-size: 58px;
+ font-size: 52px;
}
.place {
font-weight: 500;
- font-size: 42px;
+ font-size: 36px;
}
.plat {
@@ -426,23 +433,22 @@
.qrcode_wrap {
width: 100%;
flex: 1;
- flex-shrink: 0;
+ /* flex-shrink: 0; */
background-color: #51b2ce;
- padding: 36px 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.qrcode {
- padding: 12px;
+ padding: 6px;
background-color: #fff;
}
.title {
margin-top: 20px;
font-weight: bold;
- font-size: 38px;
+ font-size: 34px;
color: #111111;
}
}
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 1c38558..8417fc0 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -71,6 +71,7 @@
// 璁垮鏉ヨ閰嶇疆
public static final String VISIT_CONFIG = "VISIT_CONFIG";
public static final String MEMBER_IMG = "MEMBER_IMG";
+ public static final String PLATFORM_EVENT_IMG = "PLATFORM_EVENT_IMG";
public static final String VISIT_NOTICE = "VISIT_NOTICE";
//鍋ュ悍璇侀厤缃�
public static final String LW_HEALTH_CARD = "LW_HEALTH_CARD";
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/HttpsUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/HttpsUtil.java
index c74af73..d0025db 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/HttpsUtil.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/HttpsUtil.java
@@ -1,5 +1,7 @@
package com.doumee.core.utils;
+import org.springframework.http.HttpMethod;
+
import javax.net.ssl.*;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
@@ -87,6 +89,40 @@
}
return null;
}
+ public static InputStream connectionInputsteam(String url,String method,String data,String contentType ){
+ HttpURLConnection connection = null;
+ try {
+ URL _url = new URL(url);
+ connection = (HttpURLConnection) _url.openConnection();
+ connection.setRequestMethod(method);
+ connection.setDoOutput(true);
+ connection.setDoInput(true);
+ connection.setUseCaches(false);
+ if(contentType != null){
+ connection.setRequestProperty("Content-Type", contentType);
+ }
+
+ connection.connect();
+
+ if(data != null){
+ OutputStream outputStream = connection.getOutputStream();
+ outputStream.write(data.getBytes("utf-8"));
+ outputStream.close();
+ }
+
+ int responseCode = connection.getResponseCode();
+ if (responseCode == HttpsURLConnection.HTTP_OK) {
+ return connection.getInputStream();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ if(connection != null){
+ connection.disconnect();
+ }
+ }
+ return null;
+ }
public static String connectionHttp(String url,String method,String data,String contentType ){
HttpURLConnection connection = null;
try {
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformDeviceCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformDeviceCloudController.java
index 4104693..986896f 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformDeviceCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformDeviceCloudController.java
@@ -1,21 +1,21 @@
package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.PlatformDevice;
import com.doumee.service.business.PlatformDeviceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
@@ -34,14 +34,14 @@
@PreventRepeat
@ApiOperation("鏂板缓")
@PostMapping("/create")
- @RequiresPermissions("business:platformdevice:create")
+ @CloudRequiredPermission("business:platformdevice:create")
public ApiResponse create(@RequestBody PlatformDevice platformDevice) {
return ApiResponse.success(platformDeviceService.create(platformDevice));
}
@ApiOperation("鏍规嵁ID鍒犻櫎")
@GetMapping("/delete/{id}")
- @RequiresPermissions("business:platformdevice:delete")
+ @CloudRequiredPermission("business:platformdevice:delete")
public ApiResponse deleteById(@PathVariable Integer id) {
platformDeviceService.deleteById(id);
return ApiResponse.success(null);
@@ -49,7 +49,7 @@
@ApiOperation("鎵归噺鍒犻櫎")
@GetMapping("/delete/batch")
- @RequiresPermissions("business:platformdevice:delete")
+ @CloudRequiredPermission("business:platformdevice:delete")
public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
String [] idArray = ids.split(",");
List<Integer> idList = new ArrayList<>();
@@ -62,30 +62,30 @@
@ApiOperation("鏍规嵁ID淇敼")
@PostMapping("/updateById")
- @RequiresPermissions("business:platformdevice:update")
- public ApiResponse updateById(@RequestBody PlatformDevice platformDevice) {
+ @CloudRequiredPermission("business:platformdevice:update")
+ public ApiResponse updateById(@RequestBody PlatformDevice platformDevice,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
platformDeviceService.updateById(platformDevice);
return ApiResponse.success(null);
}
@ApiOperation("鍒嗛〉鏌ヨ")
@PostMapping("/page")
- @RequiresPermissions("business:platformdevice:query")
- public ApiResponse<PageData<PlatformDevice>> findPage (@RequestBody PageWrap<PlatformDevice> pageWrap) {
+ @CloudRequiredPermission("business:platformdevice:query")
+ public ApiResponse<PageData<PlatformDevice>> findPage (@RequestBody PageWrap<PlatformDevice> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
return ApiResponse.success(platformDeviceService.findPage(pageWrap));
}
@ApiOperation("瀵煎嚭Excel")
@PostMapping("/exportExcel")
- @RequiresPermissions("business:platformdevice:exportExcel")
- public void exportExcel (@RequestBody PageWrap<PlatformDevice> pageWrap, HttpServletResponse response) {
+ @CloudRequiredPermission("business:platformdevice:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<PlatformDevice> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
ExcelExporter.build(PlatformDevice.class).export(platformDeviceService.findPage(pageWrap).getRecords(), "鏈堝彴_鍏宠仈鐩戞帶鐐筁ED鍜屽箍鎾俊鎭〃", response);
}
@ApiOperation("鏍规嵁ID鏌ヨ")
@GetMapping("/{id}")
- @RequiresPermissions("business:platformdevice:query")
- public ApiResponse findById(@PathVariable Integer id) {
+ @CloudRequiredPermission("business:platformdevice:query")
+ public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
return ApiResponse.success(platformDeviceService.findById(id));
}
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformEventCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformEventCloudController.java
new file mode 100644
index 0000000..90ad9d4
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformEventCloudController.java
@@ -0,0 +1,91 @@
+package com.doumee.cloud.admin;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.PlatformEvent;
+import com.doumee.service.business.PlatformEventService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/08/28 17:24
+ */
+@Api(tags = "鏈堝彴_杞﹁締杩涘嚭浜嬩欢鎺ㄩ�佽褰曡〃")
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business//platformEvent")
+public class PlatformEventCloudController extends BaseController {
+
+ @Autowired
+ private PlatformEventService platformEventService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @CloudRequiredPermission("business:platformevent:create")
+ public ApiResponse create(@RequestBody PlatformEvent platformEvent,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ return ApiResponse.success(platformEventService.create(platformEvent));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @CloudRequiredPermission("business:platformevent:delete")
+ public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ platformEventService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @CloudRequiredPermission("business:platformevent:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ platformEventService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @CloudRequiredPermission("business:platformevent:update")
+ public ApiResponse updateById(@RequestBody PlatformEvent platformEvent,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ platformEventService.updateById(platformEvent);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @CloudRequiredPermission("business:platformevent:query")
+ public ApiResponse<PageData<PlatformEvent>> findPage (@RequestBody PageWrap<PlatformEvent> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ return ApiResponse.success(platformEventService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @CloudRequiredPermission("business:platformevent:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<PlatformEvent> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ ExcelExporter.build(PlatformEvent.class).export(platformEventService.findPage(pageWrap).getRecords(), "鏈堝彴杞﹁締杩涘嚭浜嬩欢鎺ㄩ�佽褰曡〃", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @CloudRequiredPermission("business:platformevent:query")
+ public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ return ApiResponse.success(platformEventService.findById(id));
+ }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsStatusInfoRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsStatusInfoRequest.java
index ae2e55d..73b7235 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsStatusInfoRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsStatusInfoRequest.java
@@ -15,7 +15,7 @@
private String motionStatus;//'leave',杩愬姩鐘舵�� enter#杩涘叆,leave#绂诲紑
private String plateNo;//'A12345',杞︾墝鍙�
private String vehicleDoorStatus;//'open',杞﹂棬鐘舵�伮� open-寮�闂紝close-鍏抽棬
- private String stockStatus;//'rear',杞﹀ご杞﹀熬鐘舵�伮� 聽front#杞﹀ご,rear#杞﹀熬
+ private String stockStatus;//'rear',杞﹀ご杞﹀熬鐘舵�� front#杞﹀ご,rear#杞﹀熬
@JSONField(name="BackgroundImage")
@JsonProperty(value = "BackgroundImage")
private EventImageInfoRequest backgroundImage;//鏈堝彴鑳屾櫙澶у浘
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PlatformCameraInfoResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PlatformCameraInfoResponse.java
index 993861a..c02b729 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PlatformCameraInfoResponse.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PlatformCameraInfoResponse.java
@@ -6,6 +6,6 @@
public class PlatformCameraInfoResponse {
- private String cameraIdompan;// String false 鐩戞帶鐐笽D
+ private String cameraId;// String false 鐩戞帶鐐笽D
private String cameraName ;//String false 鐩戞帶鐐瑰悕绉�
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformEventMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformEventMapper.java
index a7ebd19..17ff953 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformEventMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformEventMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.PlatformEvent;
+import com.github.yulichang.base.MPJBaseMapper;
/**
* @author 姹熻箘韫�
* @date 2024/08/28 17:24
*/
-public interface PlatformEventMapper extends BaseMapper<PlatformEvent> {
+public interface PlatformEventMapper extends MPJBaseMapper<PlatformEvent> {
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformEvent.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformEvent.java
index 3f39246..ade66f6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformEvent.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformEvent.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -46,6 +47,9 @@
@ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
@ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
private Integer isdeleted;
+ @ApiModelProperty(value = "鏈堝彴缂栫爜,鍏宠仈platform琛�", example = "1")
+ @ExcelColumn(name="鏈堝彴缂栫爜,鍏宠仈platform琛�")
+ private Integer platformId;
@ApiModelProperty(value = "澶囨敞")
@ExcelColumn(name="澶囨敞")
@@ -158,8 +162,8 @@
@ExcelColumn(name="杞﹂棬鐘舵�伮� open-寮�闂紝close-鍏抽棬")
private String vehicleDoorStatus;
- @ApiModelProperty(value = "杞﹀ご杞﹀熬鐘舵�伮� 聽front#杞﹀ご,rear#杞﹀熬", example = "1")
- @ExcelColumn(name="杞﹀ご杞﹀熬鐘舵�伮� 聽front#杞﹀ご,rear#杞﹀熬")
+ @ApiModelProperty(value = "杞﹀ご杞﹀熬鐘舵�乫ront#杞﹀ご,rear#杞﹀熬", example = "1")
+ @ExcelColumn(name="杞﹀ご杞﹀熬鐘舵�乫ront#杞﹀ご,rear#杞﹀熬")
private String stockStatus;
@ApiModelProperty(value = "杞︾墝璇勫垎[0-100]", example = "1")
@@ -173,5 +177,21 @@
@ApiModelProperty(value = "杞︾墝鍥�", example = "1")
@ExcelColumn(name="杞︾墝鍥�")
private String platePictureContent;
+ @ApiModelProperty(value = "鏈堝彴鑳屾櫙澶у浘鏈湴涓嬭浇", example = "1")
+ @ExcelColumn(name="鏈堝彴鑳屾櫙澶у浘鏈湴涓嬭浇")
+ private String backgroundImageDown;
+ @ApiModelProperty(value = "杞︾墝鍥炬湰鍦颁笅杞�", example = "1")
+ @ExcelColumn(name="杞︾墝鍥炬湰鍦颁笅杞�")
+ private String platePictureDown;
+ @ApiModelProperty(value = "鏈堝彴鍚嶇ū", example = "1")
+ @TableField(exist = false)
+ private String platformName;
+
+ @ApiModelProperty(value = "寮�濮嬫椂闂�")
+ @TableField(exist = false)
+ private String startDate;
+ @ApiModelProperty(value = "缁撴潫鏃堕棿")
+ @TableField(exist = false)
+ private String endDate;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index ff8ceb5..a79a985 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -74,11 +74,11 @@
throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝缁勭粐绫诲瀷涓嶆纭紝璇锋寜瑕佹眰濉啓~");
}
//鏌ヨ鍚嶇О涓嶈兘閲嶅
- /* if(companyMapper.selectCount(new QueryWrapper<Company>().lambda()
+ if(companyMapper.selectCount(new QueryWrapper<Company>().lambda()
.eq(Company::getName,company.getName())
.eq(Company::getIsdeleted,Constants.ZERO)) >0){
throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝缁勭粐鍚嶇О涓嶈兘閲嶅~");
- }*/
+ }
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
if(user ==null){
user = company.getLoginUserInfo();
@@ -275,12 +275,12 @@
throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝缁勭粐绫诲瀷涓嶆纭紝璇锋寜瑕佹眰濉啓~");
}
//鏌ヨ鍚嶇О涓嶈兘閲嶅
- /* if(companyMapper.selectCount(new QueryWrapper<Company>().lambda()
+ if(companyMapper.selectCount(new QueryWrapper<Company>().lambda()
.eq(Company::getName,company.getName())
.ne(Company::getId,company.getId())
.eq(Company::getIsdeleted,Constants.ZERO)) >0){
throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝缁勭粐鍚嶇О涓嶈兘閲嶅~");
- }*/
+ }
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
if(user == null){
user = company.getLoginUserInfo();
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index f71435f..7a0a0f7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -154,6 +154,7 @@
}
}catch (Exception e){
//濡傛灉鍙戠敓寮傚父锛屽垹闄ゅ凡缁忓垱寤虹殑浜哄憳淇℃伅
+ e.printStackTrace();
deleteHkUserBiz(new String[]{insert.getHkId()});
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅鏂板缓澶辫触锛岃绋嶅悗閲嶈瘯锛�");
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java
index cddc0f2..1b631ea 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java
@@ -1,20 +1,27 @@
package com.doumee.service.business.impl;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.PlatformEventMapper;
+import com.doumee.dao.business.model.Empower;
+import com.doumee.dao.business.model.Platform;
import com.doumee.dao.business.model.PlatformEvent;
import com.doumee.service.business.PlatformEventService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
+import java.util.Objects;
/**
* 鏈堝彴杞﹁締杩涘嚭浜嬩欢鎺ㄩ�佽褰曡〃Service瀹炵幇
@@ -24,6 +31,8 @@
@Service
public class PlatformEventServiceImpl implements PlatformEventService {
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
@Autowired
private PlatformEventMapper platformEventMapper;
@@ -87,129 +96,139 @@
@Override
public PageData<PlatformEvent> findPage(PageWrap<PlatformEvent> pageWrap) {
IPage<PlatformEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<PlatformEvent> queryWrapper = new QueryWrapper<>();
+ MPJLambdaWrapper<PlatformEvent> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(PlatformEvent.class)
+ .selectAs(Platform::getName,PlatformEvent::getPlatformName)
+ .leftJoin(Platform.class, Platform::getId,PlatformEvent::getPlatformId);
Utils.MP.blankToNull(pageWrap.getModel());
if (pageWrap.getModel().getId() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getId, pageWrap.getModel().getId());
+ queryWrapper.eq(PlatformEvent::getId, pageWrap.getModel().getId());
}
if (pageWrap.getModel().getCreator() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getCreator, pageWrap.getModel().getCreator());
+ queryWrapper.eq(PlatformEvent::getCreator, pageWrap.getModel().getCreator());
}
if (pageWrap.getModel().getCreateDate() != null) {
- queryWrapper.lambda().ge(PlatformEvent::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
- queryWrapper.lambda().le(PlatformEvent::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+ queryWrapper.ge(PlatformEvent::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+ queryWrapper.le(PlatformEvent::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
}
if (pageWrap.getModel().getEditor() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getEditor, pageWrap.getModel().getEditor());
+ queryWrapper.eq(PlatformEvent::getEditor, pageWrap.getModel().getEditor());
}
if (pageWrap.getModel().getEditDate() != null) {
- queryWrapper.lambda().ge(PlatformEvent::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
- queryWrapper.lambda().le(PlatformEvent::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+ queryWrapper.ge(PlatformEvent::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+ queryWrapper.le(PlatformEvent::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
}
if (pageWrap.getModel().getIsdeleted() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getIsdeleted, pageWrap.getModel().getIsdeleted());
+ queryWrapper.eq(PlatformEvent::getIsdeleted, pageWrap.getModel().getIsdeleted());
}
if (pageWrap.getModel().getRemark() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getRemark, pageWrap.getModel().getRemark());
+ queryWrapper.eq(PlatformEvent::getRemark, pageWrap.getModel().getRemark());
}
if (pageWrap.getModel().getEventId() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getEventId, pageWrap.getModel().getEventId());
+ queryWrapper.eq(PlatformEvent::getEventId, pageWrap.getModel().getEventId());
}
if (pageWrap.getModel().getEventType() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getEventType, pageWrap.getModel().getEventType());
+ queryWrapper.eq(PlatformEvent::getEventType, pageWrap.getModel().getEventType());
}
if (pageWrap.getModel().getSrcType() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getSrcType, pageWrap.getModel().getSrcType());
+ queryWrapper.eq(PlatformEvent::getSrcType, pageWrap.getModel().getSrcType());
}
if (pageWrap.getModel().getHappenTime() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getHappenTime, pageWrap.getModel().getHappenTime());
+ queryWrapper.eq(PlatformEvent::getHappenTime, pageWrap.getModel().getHappenTime());
}
if (pageWrap.getModel().getSrcIndex() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getSrcIndex, pageWrap.getModel().getSrcIndex());
+ queryWrapper.eq(PlatformEvent::getSrcIndex, pageWrap.getModel().getSrcIndex());
}
if (pageWrap.getModel().getSrcName() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getSrcName, pageWrap.getModel().getSrcName());
+ queryWrapper.eq(PlatformEvent::getSrcName, pageWrap.getModel().getSrcName());
}
if (pageWrap.getModel().getStatus() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getStatus, pageWrap.getModel().getStatus());
+ queryWrapper.eq(PlatformEvent::getStatus, pageWrap.getModel().getStatus());
}
if (pageWrap.getModel().getTimeout() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getTimeout, pageWrap.getModel().getTimeout());
+ queryWrapper.eq(PlatformEvent::getTimeout, pageWrap.getModel().getTimeout());
}
if (pageWrap.getModel().getDataType() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getDataType, pageWrap.getModel().getDataType());
+ queryWrapper.eq(PlatformEvent::getDataType, pageWrap.getModel().getDataType());
}
if (pageWrap.getModel().getSendTime() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getSendTime, pageWrap.getModel().getSendTime());
+ queryWrapper.eq(PlatformEvent::getSendTime, pageWrap.getModel().getSendTime());
}
if (pageWrap.getModel().getDateTime() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getDateTime, pageWrap.getModel().getDateTime());
+ queryWrapper.eq(PlatformEvent::getDateTime, pageWrap.getModel().getDateTime());
}
if (pageWrap.getModel().getIpAddress() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getIpAddress, pageWrap.getModel().getIpAddress());
+ queryWrapper.eq(PlatformEvent::getIpAddress, pageWrap.getModel().getIpAddress());
}
if (pageWrap.getModel().getIpv6Address() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getIpv6Address, pageWrap.getModel().getIpv6Address());
+ queryWrapper.eq(PlatformEvent::getIpv6Address, pageWrap.getModel().getIpv6Address());
}
if (pageWrap.getModel().getPortNo() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getPortNo, pageWrap.getModel().getPortNo());
+ queryWrapper.eq(PlatformEvent::getPortNo, pageWrap.getModel().getPortNo());
}
if (pageWrap.getModel().getProtocol() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getProtocol, pageWrap.getModel().getProtocol());
+ queryWrapper.eq(PlatformEvent::getProtocol, pageWrap.getModel().getProtocol());
}
if (pageWrap.getModel().getMacAddress() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getMacAddress, pageWrap.getModel().getMacAddress());
+ queryWrapper.eq(PlatformEvent::getMacAddress, pageWrap.getModel().getMacAddress());
}
if (pageWrap.getModel().getChannelId() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getChannelId, pageWrap.getModel().getChannelId());
+ queryWrapper.eq(PlatformEvent::getChannelId, pageWrap.getModel().getChannelId());
}
if (pageWrap.getModel().getActivePostCount() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getActivePostCount, pageWrap.getModel().getActivePostCount());
+ queryWrapper.eq(PlatformEvent::getActivePostCount, pageWrap.getModel().getActivePostCount());
}
if (pageWrap.getModel().getEventState() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getEventState, pageWrap.getModel().getEventState());
+ queryWrapper.eq(PlatformEvent::getEventState, pageWrap.getModel().getEventState());
}
if (pageWrap.getModel().getEventDescription() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getEventDescription, pageWrap.getModel().getEventDescription());
+ queryWrapper.eq(PlatformEvent::getEventDescription, pageWrap.getModel().getEventDescription());
}
if (pageWrap.getModel().getChannelName() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getChannelName, pageWrap.getModel().getChannelName());
+ queryWrapper.like(PlatformEvent::getChannelName, pageWrap.getModel().getChannelName());
}
if (pageWrap.getModel().getDeviceId() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getDeviceId, pageWrap.getModel().getDeviceId());
+ queryWrapper.eq(PlatformEvent::getDeviceId, pageWrap.getModel().getDeviceId());
}
if (pageWrap.getModel().getHpno() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getHpno, pageWrap.getModel().getHpno());
+ queryWrapper.eq(PlatformEvent::getHpno, pageWrap.getModel().getHpno());
}
if (pageWrap.getModel().getMotionStatus() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getMotionStatus, pageWrap.getModel().getMotionStatus());
+ queryWrapper.eq(PlatformEvent::getMotionStatus, pageWrap.getModel().getMotionStatus());
}
if (pageWrap.getModel().getPlateNo() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getPlateNo, pageWrap.getModel().getPlateNo());
+ queryWrapper.like(PlatformEvent::getPlateNo, pageWrap.getModel().getPlateNo());
}
if (pageWrap.getModel().getVehicleDoorStatus() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getVehicleDoorStatus, pageWrap.getModel().getVehicleDoorStatus());
+ queryWrapper.eq(PlatformEvent::getVehicleDoorStatus, pageWrap.getModel().getVehicleDoorStatus());
}
if (pageWrap.getModel().getStockStatus() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getStockStatus, pageWrap.getModel().getStockStatus());
+ queryWrapper.eq(PlatformEvent::getStockStatus, pageWrap.getModel().getStockStatus());
}
if (pageWrap.getModel().getPlateScore() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getPlateScore, pageWrap.getModel().getPlateScore());
+ queryWrapper.eq(PlatformEvent::getPlateScore, pageWrap.getModel().getPlateScore());
}
if (pageWrap.getModel().getBackgroundImageContent() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getBackgroundImageContent, pageWrap.getModel().getBackgroundImageContent());
+ queryWrapper.eq(PlatformEvent::getBackgroundImageContent, pageWrap.getModel().getBackgroundImageContent());
}
if (pageWrap.getModel().getPlatePictureContent() != null) {
- queryWrapper.lambda().eq(PlatformEvent::getPlatePictureContent, pageWrap.getModel().getPlatePictureContent());
+ queryWrapper.eq(PlatformEvent::getPlatePictureContent, pageWrap.getModel().getPlatePictureContent());
}
- for(PageWrap.SortData sortData: pageWrap.getSorts()) {
- if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
- queryWrapper.orderByDesc(sortData.getProperty());
- } else {
- queryWrapper.orderByAsc(sortData.getProperty());
+ queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getPlatformName()), Platform::getName,pageWrap.getModel().getPlatformName());
+ queryWrapper.ge(Objects.nonNull(pageWrap.getModel().getStartDate()), PlatformEvent::getCreateDate,pageWrap.getModel().getStartDate());
+ queryWrapper.le(Objects.nonNull(pageWrap.getModel().getEndDate()),PlatformEvent::getCreateDate,pageWrap.getModel().getEndDate());
+ queryWrapper.orderByDesc(PlatformEvent::getCreateDate);
+ PageData<PlatformEvent> result = PageData.from(platformEventMapper.selectJoinPage(page, PlatformEvent.class,queryWrapper));
+ if(result!=null && result.getRecords()!=null){
+ String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+ for(PlatformEvent model : result.getRecords()){
+ if(StringUtils.isNotBlank(model.getBackgroundImageContent())){
+ model.setBackgroundImageDown(prefixUrl + model.getBackgroundImageContent());
+ }
}
}
- return PageData.from(platformEventMapper.selectPage(page, queryWrapper));
+ return result;
}
@Override
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java
index 302bf9b..d37efcd 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java
@@ -8,6 +8,7 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.FtpUtil;
+import com.doumee.core.utils.HttpsUtil;
import com.doumee.dao.business.*;
import com.doumee.dao.business.model.*;
import lombok.extern.slf4j.Slf4j;
@@ -34,6 +35,8 @@
@Autowired
private MemberMapper memberMapper;
@Autowired
+ private PlatformEventMapper platformEventMapper;
+ @Autowired
private DeviceEventMapper deviceEventMapper;
@Autowired
private VisitEventMapper visitEventMapper;
@@ -54,6 +57,8 @@
startDealDeviceImg();
//鏌ヨ鎵�鏈変汉鍛樹汉鑴哥収鐗�
startDealMemberImg();
+ //鏌ヨ鎵�鏈夋湀鍙颁簨浠朵腑鎶撴媿鍥剧収鐗�
+ startDealPlatformEventImg();
}catch (Exception e){
e.printStackTrace();
}finally {
@@ -87,6 +92,33 @@
}
}
memberMapper.updateById(event);
+ }
+ }
+
+ }
+ private void startDealPlatformEventImg() {
+ List<PlatformEvent> list = platformEventMapper.selectList(new QueryWrapper<PlatformEvent>().lambda()
+ .eq(PlatformEvent::getIsdeleted,Constants.ZERO)
+ .isNotNull(PlatformEvent::getBackgroundImageContent)
+ .notLikeRight(PlatformEvent::getBackgroundImageContent, HKConstants.IMG_INDEX_ERROR)
+ .isNull(PlatformEvent::getBackgroundImageDown));
+ Date date= new Date();
+ if(list !=null && list.size()>0){
+ for(PlatformEvent model:list){
+ String rs1 = null;
+ PlatformEvent event = new PlatformEvent();
+ event.setId(model.getId());
+ event.setEditDate(date);
+ if(StringUtils.isNotBlank(model.getBackgroundImageContent())){
+ String img1 = model.getBackgroundImageContent();
+ rs1 = downHkImgToFtp(img1,"",Constants.PLATFORM_EVENT_IMG);
+ if(StringUtils.isNotBlank(rs1)){
+ event.setBackgroundImageDown(rs1);
+ }else{
+ event.setBackgroundImageContent(HKConstants.IMG_INDEX_ERROR+model.getBackgroundImageContent());
+ }
+ }
+ platformEventMapper.updateById(event);
}
}
@@ -251,11 +283,13 @@
param.setPicUri(img1.replace(HKConstants.IMG_INDEX_ERROR,"").replace(HKConstants.IMG_INDEX,""));
param.setServerIndexCode(serverIndex);
is = HKService.getFaceInputStream(param);
+ }else if(StringUtils.equals(folder_code,Constants.PLATFORM_EVENT_IMG)){
+ //鏈堝彴浜嬩欢鍥剧墖
+ is = HttpsUtil.connectionInputsteam(img1,"GET",null,null);
}
if(is ==null){
return null;
}
-
try {
if(ftp == null){
ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(),
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncLoginAuthServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncLoginAuthServiceImpl.java
index d971291..c6cadc8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncLoginAuthServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncLoginAuthServiceImpl.java
@@ -27,7 +27,6 @@
@Autowired
private DeviceMapper deviceMapper;
-
@Autowired
private RedisTemplate<String, Object> redisTemplate;
@Autowired
@@ -76,7 +75,6 @@
}catch (Exception e){
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鐧诲綍缁勪欢澶辫触锛岃绋嶅悗閲嶈瘯锛�");
}
-
}else{
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鐧诲綍缁勪欢澶辫触锛岃绋嶅悗閲嶈瘯锛�");
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java
index b418e56..10e2a89 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java
@@ -188,7 +188,7 @@
d.setCreateDate(model.getCreateDate());
d.setPlatformId(model.getId());
d.setIsdeleted(Constants.ZERO);
- d.setDeviceId(param.getCameraIdompan());
+ d.setDeviceId(param.getCameraId());
d.setName(param.getCameraName());
d.setType(Constants.ONE);
list.add(d);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index 8dbd506..6800469 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -867,17 +867,23 @@
}
//鍚勮溅閬撹溅杈嗙姸鎬�
EventPlatformCarsStatusInfoRequest status = data.getHPVehicleStatus();
- eventList.add(initPlatformEventModel(request,data,status));//灏佽浜嬩欢锛堝凡鏈堝彴閫氶亾涓虹淮搴︼級
+ PlatformEvent event = initPlatformEventModel(request,data,status);
+ if(StringUtils.isBlank(status.getPlateNo())){
+ eventList.add(event);//灏佽浜嬩欢锛堝凡鏈堝彴閫氶亾涓虹淮搴︼級
+ continue;//濡傛灉杞﹁締淇℃伅涓虹┖锛屼笉澶勭悊鐩存帴璺宠繃
+ }
PlatformDevice model = platformDeviceMapper.selectOne(new QueryWrapper<PlatformDevice>().lambda()
.eq(PlatformDevice::getDeviceId,request.getSrcIndex())
.eq(PlatformDevice::getIsdeleted,Constants.ZERO)
.last("limit 1"));
if(model ==null){
+ eventList.add(event);//灏佽浜嬩欢锛堝凡鏈堝彴閫氶亾涓虹淮搴︼級
continue;//鐩戞帶鐐规湭鍚屾锛岃烦杩囧鐞�
}
- if(StringUtils.isBlank(status.getPlateNo())){
- continue;//濡傛灉杞﹁締淇℃伅涓虹┖锛屼笉澶勭悊鐩存帴璺宠繃
- }
+ event.setPlatformId(model.getPlatformId());//鏈堝彴缂栫爜
+ eventList.add(event);//灏佽浜嬩欢锛堝凡鏈堝彴閫氶亾涓虹淮搴︼級
+ //鎴帀绗竴涓鑹叉眽瀛�,鍘绘帀鈥滄寕鈥濆瓧
+ status.setPlateNo(status.getPlateNo().substring(1,status.getPlateNo().length()).replace("鎸�",""));
PlatformJob job = platformJobMapper.selectJoinOne(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>()
.selectAll(PlatformJob.class)
.selectAs(Platform::getName,PlatformJob::getPlatformName)
@@ -886,12 +892,15 @@
.eq(!StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeBack,status.getPlateNo() )//鍚庤溅鐗屽彿
.eq(PlatformJob::getIsdeleted,Constants.ZERO )
.last("limit 1 "));
+ if(job == null){
+ continue;//濡傛灉浣滀笟涓虹┖锛岃烦杩囧鐞�
+ }
PlatformJob update = new PlatformJob();
update.setId(job.getId());
update.setEditDate(new Date());
if(StringUtils.equals(status.getMotionStatus(),"leave")){
//濡傛灉鏄溅杈嗙寮�,涓嶅仛鐩稿叧鑷姩瀹屾垚浣滀笟涓氬姟澶勭悊
- /* if(job ==null && !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
+ /* if(job ==null && !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
continue;//濡傛灉娌℃煡鍒板搴旂殑浣滀笟鎴栬�呬綔涓氬苟闈炰綔涓氫腑锛屼笉鍋氫笟鍔″鐞�
}
if(Constants.equalsInteger(job.getType(), Constants.THREE) || Constants.equalsInteger(job.getType(), Constants.TWO)){
--
Gitblit v1.9.3