From cd2d3c65b9af62cbafa57a835b237a9f193148f2 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 20 九月 2024 14:22:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
h5_meeting/unpackage/res/icons/152x152.png | 0
h5_meeting/unpackage/res/icons/29x29.png | 0
h5_meeting/unpackage/res/icons/1024x1024.png | 0
h5_meeting/unpackage/res/icons/58x58.png | 0
admin/src/views/business/visits.vue | 252 +++----
h5_meeting/unpackage/res/icons/192x192.png | 0
admin/src/views/business/strandedPersonnel.vue | 99 --
h5_meeting/utils/config.js | 4
h5_meeting/unpackage/res/icons/96x96.png | 0
h5_meeting/unpackage/res/icons/76x76.png | 0
h5_meeting/unpackage/res/icons/80x80.png | 0
h5_meeting/pages/index/index.vue | 38
h5/pages/staff/memberSel.vue | 23
h5_meeting/package.json | 2
admin/src/views/meeting/bookings.vue | 242 ++-----
h5/manifest.json | 2
admin/.env.development | 2
h5_meeting/unpackage/res/icons/72x72.png | 0
h5_meeting/manifest.json | 66 +
h5_meeting/unpackage/res/icons/180x180.png | 0
h5_meeting/unpackage/res/icons/144x144.png | 0
admin/src/api/meeting/bookings.js | 42
h5_meeting/unpackage/res/icons/120x120.png | 0
h5_meeting/unpackage/res/icons/60x60.png | 0
h5/pages/staff/meetingSel.vue | 751 +++++++++++-----------
h5_meeting/api/index.js | 2
h5_meeting/unpackage/res/icons/40x40.png | 0
h5_meeting/utils/service.js | 3
admin/src/views/meeting/rooms.vue | 5
h5_meeting/package-lock.json | 129 ---
admin/src/views/business/visitorManagement.vue | 4
/dev/null | 3
h5/pages/staff/meetingDetail.vue | 34
h5_meeting/unpackage/res/icons/167x167.png | 0
h5_meeting/unpackage/res/icons/87x87.png | 0
h5_meeting/.hbuilderx/launch.json | 9
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java | 9
h5_meeting/unpackage/res/icons/20x20.png | 0
h5/pages/staff/task/vDangetAppr.vue | 130 ++-
admin/src/views/business/internalMember.vue | 15
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java | 4
h5/api/meeting.js | 16
h5_meeting/pages/index/config.vue | 8
43 files changed, 878 insertions(+), 1,016 deletions(-)
diff --git a/admin/.env.development b/admin/.env.development
index 7ba7bdf..657e1bc 100644
--- a/admin/.env.development
+++ b/admin/.env.development
@@ -2,5 +2,5 @@
NODE_ENV = 'development'
VUE_APP_API_URL = 'http://localhost:10010'
-VUE_APP_API_URL = 'http://192.168.0.139:10010'
+VUE_APP_API_URL = 'http://192.168.137.1:10010'
# VUE_APP_API_URL = 'http://10.50.250.178:8088/gateway_interface'
diff --git a/admin/src/api/meeting/bookings.js b/admin/src/api/meeting/bookings.js
index 544beb4..efd7284 100644
--- a/admin/src/api/meeting/bookings.js
+++ b/admin/src/api/meeting/bookings.js
@@ -1,13 +1,13 @@
import request from '../../utils/request'
// 鏌ヨ
-export function fetchList (data) {
+export function fetchList(data) {
return request.post('/meetingAdmin/cloudService/business/bookings/page', data, {
trim: true
})
}
// 瀵煎嚭Excel
-export function exportExcel (data) {
+export function exportExcel(data) {
return request.post('/meetingAdmin/cloudService/business/bookings/exportExcel', data, {
trim: true,
download: true
@@ -15,41 +15,49 @@
}
// 鍒涘缓
-export function create (data) {
+export function create(data) {
return request.post('/meetingAdmin/cloudService/business/bookings/create', data)
}
// 淇敼
-export function updateById (data) {
+export function updateById(data) {
return request.post('/meetingAdmin/cloudService/business/bookings/updateById', data)
}
// 鍙栨秷
-export function cancelById (data) {
+export function cancelById(data) {
return request.post('/meetingAdmin/cloudService/business/meeting/reservationCancel', data)
}
-// 缁撴潫
-export function overBookById (data) {
+// 寮�濮�
+export function startById(data) {
+ return request.post('/meetingAdmin/cloudService/business/meeting/start', data)
+}
+// 鎻愬墠寮�濮�
+export function startEarlyById(data) {
+ return request.post('/meetingAdmin/cloudService/business/meeting/startEarly', data)
+}
+//
+export function overBookById(data) {
return request.post('/meetingAdmin/cloudService/business/meeting/reservationOver', data)
}
// 棰勫畾璇︽儏
-export function BookDetailById (params) {
+export function BookDetailById(params) {
return request.get('/meetingAdmin/cloudService/web/meeting/meetingDetail', {
params
})
}
// 鍒犻櫎
-export function deleteById (id) {
+export function deleteById(id) {
return request.get(`/meetingAdmin/cloudService/business/bookings/delete/${id}`)
}
// 鏍规嵁ID鏌ヨ
-export function bookingsDetail (id) {
+export function bookingsDetail(id) {
return request.get(`/meetingAdmin/cloudService/business/bookings/${id}`)
}
// 鎵归噺鍒犻櫎
-export function deleteByIdInBatch (ids) {
+export function deleteByIdInBatch(ids) {
return request.get('/meetingAdmin/cloudService/business/bookings/delete/batch', {
params: {
ids
@@ -58,11 +66,11 @@
}
// 浼氳瀹や娇鐢ㄦ椂闀跨粺璁�
-export function getRoomStatistics (yearNum, roomId) {
+export function getRoomStatistics(yearNum, roomId) {
return request.get(`/meetingAdmin/cloudService/business/bookings/getRoomStatistics?yearNum=${yearNum}&roomId=${roomId}`)
}
// 浼氳瀹や娇鐢ㄦ椂闀跨粺璁″鍑篍xcel
-export function exportRoomStatistics (data) {
+export function exportRoomStatistics(data) {
return request.post(`/meetingAdmin/cloudService/business/bookings/exportRoomStatistics`, data, {
trim: true,
download: true
@@ -70,11 +78,11 @@
}
// 浜哄憳鍙傚姞浼氳鏃跺父
-export function getUserStatistics (data) {
+export function getUserStatistics(data) {
return request.post(`/meetingAdmin/cloudService/business/bookings/getUserStatistics`, data)
}
// 浜哄憳鍙備細鏃堕暱缁熻瀵煎嚭Excel
-export function exportUserStatistics (data) {
+export function exportUserStatistics(data) {
return request.post(`/meetingAdmin/cloudService/business/bookings/exportUserStatistics`, data, {
trim: true,
download: true
@@ -82,10 +90,10 @@
}
//
-export function reservationCancel (type) {
+export function reservationCancel(type) {
return request.get(`/meetingAdmin/cloudService/business/bookings/reservationCancel?type=${type}`)
}
//
-export function findMothBookingMeet ({roomId, dateMonth}) {
+export function findMothBookingMeet({ roomId, dateMonth }) {
return request.post(`/meetingAdmin/cloudService/business/bookings/findMothBookingMeet?roomId=${roomId}&dateMonth=${dateMonth}`)
}
diff --git a/admin/src/views/business/internalMember.vue b/admin/src/views/business/internalMember.vue
index 12dce90..8ca8ae6 100644
--- a/admin/src/views/business/internalMember.vue
+++ b/admin/src/views/business/internalMember.vue
@@ -61,7 +61,12 @@
@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="name" label="濮撳悕" min-width="110px">
+ <template slot-scope="{row}">
+ <span>{{ row.name }}</span>
+ <span class="zhuguan" v-if="row.headStatus == 1">涓荤</span>
+ </template>
+ </el-table-column>
<el-table-column prop="phone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
<el-table-column prop="idcardDecode" label="韬唤璇佸彿" min-width="100px"></el-table-column>
<el-table-column label="鎬у埆" min-width="100px">
@@ -381,6 +386,7 @@
</script>
<style lang="scss" scoped>
+ @import '@/assets/style/variables.scss';
.box {
width: 100%;
display: flex;
@@ -395,4 +401,11 @@
height: 100%;
}
}
+ .zhuguan{
+ color: $primary-color;
+ border: 1px solid $primary-color;
+ padding: 0px 3px;
+ border-radius: 4px;
+ margin-left: 6px;
+ }
</style>
diff --git a/admin/src/views/business/strandedPersonnel.vue b/admin/src/views/business/strandedPersonnel.vue
index 596ee84..6a3512b 100644
--- a/admin/src/views/business/strandedPersonnel.vue
+++ b/admin/src/views/business/strandedPersonnel.vue
@@ -1,26 +1,12 @@
<template>
<TableLayout :permissions="['business:member:query']">
<!-- 鎼滅储琛ㄥ崟 -->
- <el-form
- ref="searchForm"
- slot="search-form"
- :model="searchForm"
- label-width="100px"
- inline
- >
+ <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-input v-model="searchForm.name" 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-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ョ粍缁囧悕绉�" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="鐢ㄦ埛绫诲瀷" prop="type">
<el-select v-model="searchForm.type" placeholder="璇烽�夋嫨">
@@ -38,28 +24,11 @@
<!-- <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">-->
<!-- <li><el-button type="primary" v-permissions="['business:member:create']" @click="thaws">绂诲満</el-button></li>-->
<!-- </ul>-->
- <el-table
- v-loading="isWorking.search"
- :data="tableData.list"
- stripe
- @selection-change="handleSelectionChange"
- >
+ <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="phone"
- label="鎵嬫満鍙�"
- min-width="100px"
- ></el-table-column>
- <el-table-column
- prop="companyName"
- label="缁勭粐"
- min-width="100px"
- ></el-table-column>
+ <el-table-column prop="name" label="濮撳悕" min-width="100px"></el-table-column>
+ <el-table-column prop="phone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
+ <el-table-column prop="companyName" 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>
@@ -67,60 +36,34 @@
<span v-if="row.type === 2">鍐呴儴浜哄憳</span>
</template>
</el-table-column>
- <el-table-column
- prop="inDate"
- label="鍦ㄥ洯鏃堕棿"
- min-width="100px"
- ></el-table-column>
- <el-table-column
- prop="outDate"
- label="鎺堟潈鍒版湡鏃堕棿"
- min-width="100px"
- ></el-table-column>
+ <el-table-column prop="inDate" label="鍦ㄥ洯鏃堕棿" min-width="100px"></el-table-column>
+ <el-table-column prop="outDate" label="鎺堟潈鍒版湡鏃堕棿" min-width="100px"></el-table-column>
<el-table-column label="瓒呮椂鏃堕暱" min-width="100px">
<template slot-scope="{ row }">
- <span v-if="row.outStatus === 1"
- >{{ row.timeOut.toString().replace("-", "") }}鍒嗛挓</span
- >
+ <span v-if="row.outStatus === 1">{{ row.timeOut.toString().replace("-", "") }}鍒嗛挓</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column label="鐘舵��" min-width="100px">
<template slot-scope="{ row }">
<span v-if="row.outStatus === 0">鏈秴鏃�</span>
- <span style="color: red" v-else-if="row.outStatus === 1"
- >宸茶秴鏃�</span
- >
+ <span style="color: red" v-else-if="row.outStatus === 1">宸茶秴鏃�</span>
<span v-else-if="row.outStatus === 2">鍗冲皢瓒呮椂</span>
</template>
</el-table-column>
- <el-table-column
- v-if="
- containPermissions([
- 'business:member:update',
- 'business:member:delete',
- ])
- "
- label="鎿嶄綔"
- min-width="120"
- fixed="right"
- >
+ <el-table-column v-if="
+ containPermissions([
+ 'business:member:update',
+ 'business:member:delete',
+ ])
+ " label="鎿嶄綔" min-width="120" fixed="right">
<template slot-scope="{ row }">
- <el-button
- type="text"
- icon="el-icon-edit"
- v-permissions="['business:member:update']"
- @click="departure(row.id)"
- >绂诲巶</el-button
- >
+ <el-button type="text" icon="el-icon-edit" v-permissions="['business:member:update']"
+ @click="departure(row.id)">绂诲巶</el-button>
</template>
</el-table-column>
</el-table>
- <pagination
- @size-change="handleSizeChange"
- @current-change="handlePageChange"
- :pagination="tableData.pagination"
- >
+ <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
</pagination>
</template>
</TableLayout>
@@ -160,7 +103,7 @@
},
methods: {
departure(id) {
- this.$confirm('纭畾绂诲満鍚�, 鏄惁缁х画?', '鎻愮ず', {
+ this.$confirm('纭畾绂诲巶鍚�, 鏄惁缁х画?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
diff --git a/admin/src/views/business/visitorManagement.vue b/admin/src/views/business/visitorManagement.vue
index 15a8e82..04cffad 100644
--- a/admin/src/views/business/visitorManagement.vue
+++ b/admin/src/views/business/visitorManagement.vue
@@ -55,8 +55,8 @@
</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="visitsCount" label="鎷滆娆℃暟" min-width="100px"></el-table-column>
- <el-table-column prop="visitsLastDate" 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>
<pagination
@size-change="handleSizeChange"
diff --git a/admin/src/views/business/visits.vue b/admin/src/views/business/visits.vue
index 6673066..bdb040a 100644
--- a/admin/src/views/business/visits.vue
+++ b/admin/src/views/business/visits.vue
@@ -1,123 +1,115 @@
<template>
- <TableLayout :permissions="['business:visits: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="idcardNo">
- <el-input v-model="searchForm.idcardNo" 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>
- <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-option label="瀹℃牳閫氳繃" value="2"></el-option>
- <el-option label="瀹℃牳涓嶉�氳繃" value="3"></el-option>
- <el-option label="鍙栨秷" value="4"></el-option>
- <el-option label="棰勭害鎴愬姛" value="5"></el-option>
- <el-option label="棰勭害澶辫触" value="6"></el-option>
- <el-option label="鎷滆涓�" value="7"></el-option>
- <el-option label="宸茬绂�" value="8"></el-option>
- <el-option label="宸插け鏁�" value="9"></el-option>
- </el-select>
- </el-form-item>
- <section>
- <el-button type="primary" @click="search">鎼滅储</el-button>
-<!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:visits:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>-->
- <el-button @click="reset">閲嶇疆</el-button>
- </section>
- </el-form>
- <!-- 琛ㄦ牸鍜屽垎椤� -->
- <template v-slot:table-wrap>
- <ul class="toolbar" v-permissions="['business:visits:create', 'business:visits:exportExcel']">
- <li><el-button type="primary" @click="handleEdit()" icon="el-icon-plus" v-permissions="['business:visits:create']">鏂板缓</el-button></li>
- <li><el-button type="primary" :loading="isWorking.export" @click="exportExcel" v-permissions="['business:visits:exportExcel']">瀵煎嚭</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="phone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
- <el-table-column prop="companyName" label="璁垮鍗曚綅" min-width="100px"></el-table-column>
- <el-table-column prop="receptMemberName" label="琚浜�" min-width="100px"></el-table-column>
- <el-table-column prop="reason" label="鎷滆浜嬬敱" min-width="100px"></el-table-column>
- <el-table-column label="棰勭害鏃堕棿" min-width="170px">
- <template slot-scope="{row}">
- <span>璧凤細{{row.starttime}}</span><br/>
- <span>姝細{{row.endtime}}</span>
- </template>
- </el-table-column>
- <el-table-column label="绛惧埌鏃堕棿" min-width="170px">
- <template slot-scope="{row}">
- <div v-if="row.inDate && row.outDate">
- <span>璧凤細{{row.inDate}}</span><br/>
- <span>姝細{{row.outDate}}</span>
- </div>
- <span v-else>-</span>
- </template>
- </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>
- </template>
- </el-table-column>
- <el-table-column label="闅忚杞﹁締" min-width="100px">
- <template slot-scope="{row}">
- <span>{{row.carNos}}</span>
- </template>
- </el-table-column>
- <el-table-column prop="status" fixed="right" label="鐘舵��" min-width="100px">
- <template slot-scope="{row}">
- <span style="color: rgba(245, 154, 35, 0.996);" v-if="row.status === 0">寰呮彁浜ゅ鎵�</span>
- <span v-if="row.status === 1" style="color: rgba(245, 154, 35, 0.996);">澶勭悊涓�</span>
- <span v-if="row.status === 2" style="color: rgba(245, 154, 35, 0.996);">宸插悓鎰�</span>
- <span style="color: gray;" v-if="row.status === 3" >宸叉嫆缁�</span>
- <span v-if="row.status === 4" style="color: gray">鍙栨秷</span>
- <span v-if="row.status === 5" style="color: green">涓嬪彂鎴愬姛</span>
- <span v-if="row.status === 6" style="color: gray">涓嬪彂澶辫触</span>
- <span v-if="row.status === 7" style="color: green">鎷滆涓�</span>
- <span v-if="row.status === 8" style="color: red">宸茬绂�</span>
- <span v-if="row.status === 9" style="color: gray">宸插け鏁�</span>
- </template>
- </el-table-column>
- <el-table-column
- v-if="containPermissions(['business:visits:update', 'business:visits:delete'])"
- label="鎿嶄綔"
- min-width="200"
- fixed="right"
- >
- <template slot-scope="{row}">
- <el-button type="text" @click="departure(row.id)" v-permissions="['business:visits:level']" icon="el-icon-delete" style="color: red" v-if="row.status == 7">绂诲巶</el-button>
- <el-button type="text" @click="cancel(row.id)" v-permissions="['business:visits:cancel']" icon="el-icon-delete" style="color: red" v-if="row.status == 5">鍙栨秷棰勭害</el-button>
- <el-button type="text" @click="resend(row.id)" v-permissions="['business:visits:update']" icon="el-icon-edit" v-if="row.status == 6">閲嶆柊涓嬪彂</el-button>
- <!-- <el-button type="text" @click="$refs.OperaVisitsDesWindow.open('璇︽儏', row.id)" icon="el-icon-view">璇︽儏</el-button> -->
- <el-button type="text" @click="handleDetail(row)" icon="el-icon-view">璇︽儏</el-button>
-<!-- <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:visits:delete']">鏌ヨ瀹℃壒缁撴灉</el-button>-->
- </template>
- </el-table-column>
- </el-table>
- <pagination
- @size-change="handleSizeChange"
- @current-change="handlePageChange"
- :pagination="tableData.pagination"
- >
- </pagination>
- <!-- 璇︽儏 -->
- <!-- <OperaVisitsDesWindow ref="OperaVisitsDesWindow" /> -->
- <TaskDetail v-if="isShowDetail" ref="DetailRef" />
- <!-- 鏂板缓 -->
- <OperaVisitsWindow @close="isShowEdit = false" @success="search" v-if="isShowEdit" ref="operaVisitsWindowRef" />
- </template>
- </TableLayout>
+ <TableLayout :permissions="['business:visits: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="idcardNo">
+ <el-input v-model="searchForm.idcardNo" 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>
+ <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-option label="瀹℃牳閫氳繃" value="2"></el-option>
+ <el-option label="瀹℃牳涓嶉�氳繃" value="3"></el-option>
+ <el-option label="鍙栨秷" value="4"></el-option>
+ <el-option label="棰勭害鎴愬姛" value="5"></el-option>
+ <el-option label="棰勭害澶辫触" value="6"></el-option>
+ <el-option label="鎷滆涓�" value="7"></el-option>
+ <el-option label="宸茬绂�" value="8"></el-option>
+ <el-option label="宸插け鏁�" value="9"></el-option>
+ </el-select>
+ </el-form-item>
+ <section>
+ <el-button type="primary" @click="search">鎼滅储</el-button>
+ <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:visits:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>-->
+ <el-button @click="reset">閲嶇疆</el-button>
+ </section>
+ </el-form>
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+ <ul class="toolbar" v-permissions="['business:visits:create', 'business:visits:exportExcel']">
+ <li><el-button type="primary" @click="handleEdit()" icon="el-icon-plus"
+ v-permissions="['business:visits:create']">鏂板缓</el-button></li>
+ <li><el-button type="primary" :loading="isWorking.export" @click="exportExcel"
+ v-permissions="['business:visits:exportExcel']">瀵煎嚭</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="phone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
+ <el-table-column prop="companyName" label="璁垮鍗曚綅" min-width="100px"></el-table-column>
+ <el-table-column prop="receptMemberName" label="琚浜�" min-width="100px"></el-table-column>
+ <el-table-column prop="reason" label="鎷滆浜嬬敱" min-width="100px"></el-table-column>
+ <el-table-column label="棰勭害鏃堕棿" min-width="170px">
+ <template slot-scope="{row}">
+ <span>璧凤細{{ row.starttime }}</span><br />
+ <span>姝細{{ row.endtime }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="绛惧埌鏃堕棿" min-width="170px">
+ <template slot-scope="{row}">
+ <div v-if="row.inDate && row.outDate">
+ <span>璧凤細{{ row.inDate }}</span><br />
+ <span>姝細{{ row.outDate }}</span>
+ </div>
+ <span v-else>-</span>
+ </template>
+ </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>
+ </template>
+ </el-table-column>
+ <el-table-column label="闅忚杞﹁締" min-width="100px">
+ <template slot-scope="{row}">
+ <span>{{ row.carNos }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="status" fixed="right" label="鐘舵��" min-width="100px">
+ <template slot-scope="{row}">
+ <span style="color: rgba(245, 154, 35, 0.996);" v-if="row.status === 0">寰呮彁浜ゅ鎵�</span>
+ <span v-if="row.status === 1" style="color: rgba(245, 154, 35, 0.996);">澶勭悊涓�</span>
+ <span v-if="row.status === 2" style="color: rgba(245, 154, 35, 0.996);">宸插悓鎰�</span>
+ <span style="color: gray;" v-if="row.status === 3">宸叉嫆缁�</span>
+ <span v-if="row.status === 4" style="color: gray">鍙栨秷</span>
+ <span v-if="row.status === 5" style="color: green">涓嬪彂鎴愬姛</span>
+ <span v-if="row.status === 6" style="color: gray">涓嬪彂澶辫触</span>
+ <span v-if="row.status === 7" style="color: green">鎷滆涓�</span>
+ <span v-if="row.status === 8" style="color: red">宸茬绂�</span>
+ <span v-if="row.status === 9" style="color: gray">宸插け鏁�</span>
+ </template>
+ </el-table-column>
+ <el-table-column v-if="containPermissions(['business:visits:update', 'business:visits:delete'])" label="鎿嶄綔"
+ min-width="200" fixed="right">
+ <template slot-scope="{row}">
+ <el-button type="text" @click="departure(row.id)" v-permissions="['business:visits:level']"
+ icon="el-icon-delete" style="color: red" v-if="row.status == 7">绂诲巶</el-button>
+ <el-button type="text" @click="cancel(row.id)" v-permissions="['business:visits:cancel']"
+ icon="el-icon-delete" style="color: red" v-if="row.status == 5">鍙栨秷棰勭害</el-button>
+ <el-button type="text" @click="resend(row.id)" v-permissions="['business:visits:update']"
+ icon="el-icon-edit" v-if="row.status == 6">閲嶆柊涓嬪彂</el-button>
+ <!-- <el-button type="text" @click="$refs.OperaVisitsDesWindow.open('璇︽儏', row.id)" icon="el-icon-view">璇︽儏</el-button> -->
+ <el-button type="text" @click="handleDetail(row)" icon="el-icon-view">璇︽儏</el-button>
+ <!-- <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:visits:delete']">鏌ヨ瀹℃壒缁撴灉</el-button>-->
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
+ </pagination>
+ <!-- 璇︽儏 -->
+ <!-- <OperaVisitsDesWindow ref="OperaVisitsDesWindow" /> -->
+ <TaskDetail v-if="isShowDetail" ref="DetailRef" />
+ <!-- 鏂板缓 -->
+ <OperaVisitsWindow @close="isShowEdit = false" @success="search" v-if="isShowEdit" ref="operaVisitsWindowRef" />
+ </template>
+ </TableLayout>
</template>
<script>
@@ -132,7 +124,7 @@
name: 'Visits',
extends: BaseTable,
components: { TableLayout, Pagination, TaskDetail, OperaVisitsWindow },
- data () {
+ data() {
return {
isShowEdit: false,
isShowDetail: false,
@@ -146,7 +138,7 @@
}
}
},
- created () {
+ created() {
this.config({
module: '璁垮鐢宠淇℃伅琛�',
api: '/business/visits',
@@ -156,9 +148,9 @@
this.search()
},
methods: {
- handleDetail (row) {
+ handleDetail(row) {
this.isShowDetail = true
- console.log('row', row);
+ console.log('row', row)
this.$nextTick(() => {
this.$refs.DetailRef.id = row.id
this.$refs.DetailRef.type = 0
@@ -166,19 +158,19 @@
this.$refs.DetailRef.isShowModal = true
})
},
- handleEdit () {
+ handleEdit() {
this.isShowEdit = true
this.$nextTick(() => {
this.$refs.operaVisitsWindowRef.isShowModal = true
})
},
- departure (id) {
- this.$confirm('纭畾绂诲満鍚�, 鏄惁缁х画?', '鎻愮ず', {
+ departure(id) {
+ this.$confirm('纭畾绂诲巶鍚�, 鏄惁缁х画?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- level(id)
+ level(id)
.then(res => {
this.page = 1
this.getData()
@@ -187,13 +179,13 @@
})
},
- cancel (id) {
+ cancel(id) {
this.$confirm('纭畾鍙栨秷棰勭害鍚�, 鏄惁缁х画?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- visitCancel(id)
+ visitCancel(id)
.then(res => {
this.page = 1
this.getData()
@@ -202,7 +194,7 @@
})
},
- resend (id) {
+ resend(id) {
this.$confirm('纭畾灏濊瘯閲嶆柊鍙戣捣棰勭害鍚�, 鏄惁缁х画?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
diff --git a/admin/src/views/meeting/bookings.vue b/admin/src/views/meeting/bookings.vue
index f6e4b81..e9e45a1 100644
--- a/admin/src/views/meeting/bookings.vue
+++ b/admin/src/views/meeting/bookings.vue
@@ -1,36 +1,15 @@
<template>
<TableLayout :permissions="['business:bookings:query']">
<!-- 鎼滅储琛ㄥ崟 -->
- <el-form
- ref="searchForm"
- slot="search-form"
- :model="searchForm"
- label-width="100px"
- inline
- >
+ <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
<el-form-item label="浼氳瀹�" prop="roomId">
- <el-select
- v-model="searchForm.roomId"
- filterable
- clearable
- placeholder="璇烽�夋嫨浼氳瀹�"
- >
- <el-option
- v-for="item in rooms"
- :key="item.id"
- :value="item.id"
- :label="item.name"
- />
+ <el-select v-model="searchForm.roomId" filterable clearable placeholder="璇烽�夋嫨浼氳瀹�">
+ <el-option v-for="item in rooms" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="棰勭害閮ㄩ棬" prop="department">
- <el-cascader
- v-model="searchForm.department"
- :options="department"
- :show-all-levels="false"
- clearable
- :props="props"
- ></el-cascader>
+ <el-cascader v-model="searchForm.department" :options="department" :show-all-levels="false" clearable
+ :props="props"></el-cascader>
<!-- @change="handleChange" -->
<!-- <el-select
v-model="searchForm.departmentId"
@@ -42,52 +21,23 @@
</el-select> -->
</el-form-item>
<el-form-item label="浼氳涓婚" prop="name">
- <el-input
- v-model="searchForm.name"
- placeholder="璇疯緭鍏ヤ細璁富棰�"
- @keypress.enter.native="search"
- ></el-input>
+ <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ヤ細璁富棰�" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="棰勭害浜�" prop="realName">
- <el-input
- v-model="searchForm.realName"
- placeholder="璇疯緭鍏ラ绾︿汉"
- @keypress.enter.native="search"
- ></el-input>
+ <el-input v-model="searchForm.realName" placeholder="璇疯緭鍏ラ绾︿汉" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="浼氳鐘舵��" prop="status">
- <el-select
- v-model="searchForm.meetingStatus"
- filterable
- clearable
- placeholder="璇烽�夋嫨鐘舵��"
- >
- <el-option
- v-for="item in status"
- :key="item.id"
- :value="item.id"
- :label="item.name"
- />
+ <el-select v-model="searchForm.meetingStatus" filterable clearable placeholder="璇烽�夋嫨鐘舵��">
+ <el-option v-for="item in status" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="璧锋鏃堕棿" prop="startTime">
- <el-date-picker
- v-model="date"
- type="datetimerange"
- range-separator="鑷�"
- value-format="yyyy-MM-dd HH:mm:ss"
- :default-time="['00:00:00', '23:59:59']"
- start-placeholder="寮�濮嬫椂闂�"
- end-placeholder="缁撴潫鏃堕棿"
- @change="selectDate"
- ></el-date-picker>
+ <el-date-picker v-model="date" type="datetimerange" range-separator="鑷�" value-format="yyyy-MM-dd HH:mm:ss"
+ :default-time="['00:00:00', '23:59:59']" start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿"
+ @change="selectDate"></el-date-picker>
<!-- <el-date-picker v-model="searchForm.startTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ紑濮嬫椂闂�" @change="search"/> -->
</el-form-item>
- <el-radio-group
- v-model="searchForm.radio"
- size="small"
- @input="changeRadio"
- >
+ <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>
@@ -102,73 +52,35 @@
</el-form>
<!-- 琛ㄦ牸鍜屽垎椤� -->
<template v-slot:table-wrap>
- <ul
- class="toolbar"
- v-permissions="[
- 'business:bookings:create',
- 'business:bookings:exportExcel',
- ]"
- >
+ <ul class="toolbar" v-permissions="[
+ 'business:bookings:create',
+ 'business:bookings:exportExcel',
+ ]">
<li>
- <el-button
- type="primary"
- @click="$refs.operaBookingsWindow.open('鏂板缓浼氳')"
- v-permissions="['business:bookings:create']"
- >鏂板缓</el-button
- >
+ <el-button type="primary" @click="$refs.operaBookingsWindow.open('鏂板缓浼氳')"
+ v-permissions="['business:bookings:create']">鏂板缓</el-button>
</li>
<!-- <li><el-button @click="deleteByIdInBatch" v-permissions="['business:bookings:delete']">鍒犻櫎</el-button></li> -->
<li>
- <el-button
- :loading="isWorking.export"
- v-permissions="['business:bookings:exportExcel']"
- @click="exportExcel"
- >瀵煎嚭</el-button
- >
+ <el-button :loading="isWorking.export" v-permissions="['business:bookings:exportExcel']"
+ @click="exportExcel">瀵煎嚭</el-button>
</li>
</ul>
- <el-table
- v-loading="isWorking.search"
- :data="tableData.list"
- stripe
- border
- @selection-change="handleSelectionChange"
- >
+ <el-table v-loading="isWorking.search" :data="tableData.list" stripe border
+ @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" align="center" width="55"></el-table-column> -->
- <el-table-column
- prop="name"
- label="浼氳涓婚"
- align="center"
- min-width="120px"
- show-overflow-tooltip
- >
+ <el-table-column prop="name" label="浼氳涓婚" align="center" min-width="120px" show-overflow-tooltip>
<template slot-scope="{ row }">
<span class="long-title-style">{{ row.name }}</span>
</template>
</el-table-column>
- <el-table-column
- prop="roomName"
- label="浼氳瀹�"
- align="center"
- min-width="120px"
- show-overflow-tooltip
- >
+ <el-table-column prop="roomName" label="浼氳瀹�" align="center" min-width="120px" show-overflow-tooltip>
<template slot-scope="{ row }">
<span class="long-title-style">{{ row.roomName }}</span>
</template>
</el-table-column>
- <el-table-column
- prop="meetingTime"
- label="浼氳鏃堕棿"
- align="center"
- min-width="120px"
- ></el-table-column>
- <el-table-column
- prop="managerInfo"
- label="棰勭害浜�"
- align="center"
- min-width="100px"
- ></el-table-column>
+ <el-table-column prop="meetingTime" label="浼氳鏃堕棿" align="center" min-width="120px"></el-table-column>
+ <el-table-column prop="managerInfo" label="棰勭害浜�" align="center" min-width="100px"></el-table-column>
<el-table-column label="浼氳鐘舵��" align="center" min-width="60px">
<template slot-scope="{ row }">
<span v-if="row.meetingStatus == 1">鏈紑濮�</span>
@@ -179,56 +91,34 @@
<!-- {{ row.status==0 ? '姝e父' : '鍙栨秷' }} -->
</template>
</el-table-column>
- <el-table-column
- prop="createDate"
- label="鍒涘缓鏃堕棿"
- align="center"
- min-width="150px"
- ></el-table-column>
+ <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" align="center" min-width="150px"></el-table-column>
<!-- <el-table-column prop="content" label="浼氳鍐呭" min-width="100px"></el-table-column> -->
- <el-table-column
- v-if="
- containPermissions([
- 'business:bookings:update',
- 'business:bookings:delete',
- ])
- "
- label="鎿嶄綔"
- min-width="100"
- align="center"
- fixed="right"
- >
+ <el-table-column v-if="
+ containPermissions([
+ 'business:bookings:update',
+ 'business:bookings:delete',
+ ])
+ " label="鎿嶄綔" min-width="100" align="center" fixed="right">
<template slot-scope="{ row }">
<template>
- <el-button
- type="text"
- @click="$refs.operaBookingsDetailWindow.open('浼氳璇︽儏', row)"
- >鏌ョ湅璇︽儏</el-button
- >
- <el-button v-if="row.meetingStatus == '1'" type="text" @click="$refs.operaBookingsWindow.open('缂栬緫浼氳棰勭害', row)" v-permissions="['business:bookings:update']">缂栬緫</el-button>
- <!-- <el-button type="text" @click="copy(row)">澶嶅埗</el-button> -->
- <el-button v-if="row.meetingStatus == '1'" type="text" @click="cancelMeeting(row.id)" v-permissions="['business:bookings:update']">鎾ゅ洖</el-button>
+ <el-button type="text" @click="$refs.operaBookingsDetailWindow.open('浼氳璇︽儏', row)">鏌ョ湅璇︽儏</el-button>
+ <el-button v-if="row.meetingStatus == '1'" type="text"
+ @click="$refs.operaBookingsWindow.open('缂栬緫浼氳棰勭害', row)"
+ v-permissions="['business:bookings:update']">缂栬緫</el-button>
+ <el-button type="text" v-if="row.meetingStatus == '1'" @click="handleStart(row)">寮�濮�</el-button>
+ <el-button v-if="row.meetingStatus == '1'" type="text" @click="cancelMeeting(row.id)"
+ v-permissions="['business:bookings:update']">鎾ゅ洖</el-button>
</template>
<!-- <el-button v-else type="text" @click="deleteById(row)" v-permissions="['business:bookings:delete']">鍒犻櫎</el-button> -->
</template>
</el-table-column>
</el-table>
- <pagination
- @size-change="handleSizeChange"
- @current-change="handlePageChange"
- :pagination="tableData.pagination"
- >
+ <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
</pagination>
</template>
<!-- 鏂板缓/淇敼 -->
- <OperaBookingsWindow
- ref="operaBookingsWindow"
- @success="handlePageChange"
- />
- <OperaBookingsDetailWindow
- @success="search"
- ref="operaBookingsDetailWindow"
- />
+ <OperaBookingsWindow ref="operaBookingsWindow" @success="handlePageChange" />
+ <OperaBookingsDetailWindow @success="search" ref="operaBookingsDetailWindow" />
</TableLayout>
</template>
@@ -242,13 +132,13 @@
import { findList } from '@/api/meeting/rooms'
import { getSystemDictData } from '@/api/system/dictData'
import { fetchList } from '@/api/business/company'
-import { cancelById, bookingsDetail } from '@/api/meeting/bookings'
+import { cancelById, bookingsDetail, startEarlyById, startById } from '@/api/meeting/bookings'
import { timeForMat } from '@/utils/util'
export default {
name: 'Bookings',
extends: BaseTable,
components: { TableLayout, Pagination, OperaBookingsWindow, OperaBookingsDetailWindow },
- data () {
+ data() {
return {
date: [],
// 鎼滅储
@@ -290,12 +180,12 @@
link: 'https://dmtest.ahapp.net/meeting_h5/' // H5_LINK_ADDR
}
},
- provide () {
+ provide() {
return {
rooms: () => this.rooms
}
},
- created () {
+ created() {
this.config({
module: '浼氳瀹ら瀹氫俊鎭〃',
api: '/meeting/bookings',
@@ -318,7 +208,7 @@
this.changeRadio('0')
},
methods: {
- changeRadio (e) {
+ changeRadio(e) {
if (e === '0') {
this.searchForm.startTime = timeForMat(0)[0]
this.searchForm.endTime = timeForMat(0)[1]
@@ -334,7 +224,7 @@
}
this.search()
},
- newTree (tree) {
+ newTree(tree) {
if (tree == null) {
return []
}
@@ -351,12 +241,12 @@
return newItem
})
},
- selectDate (v) {
+ selectDate(v) {
this.searchForm.endTime = v[1] + ' 23:59:59'
this.searchForm.startTime = v[0] + ' 00:00:00'
this.searchForm.radio = null
},
- reset () {
+ reset() {
this.$refs.searchForm.resetFields()
this.date = []
this.searchForm.radio = '0'
@@ -364,7 +254,7 @@
this.searchForm.endTime = ''
this.changeRadio('0')
},
- copy (row) {
+ copy(row) {
const text = `${row.realName} 閭�璇锋偍鍔犲叆浼氳\n浼氳涓婚锛�${row.name}\n浼氳瀹わ細${row.roomName}\n浼氳鏃堕棿锛�${row.meetingTime}\n鐐瑰嚮閾炬帴鐩存帴鍔犲叆浼氳锛歕n${this.link}?id=${row.id}`
this.$copyText(text)
.then(() => {
@@ -373,7 +263,20 @@
.catch(e => {
})
},
- cancelMeeting (id) {
+ handleStart(row) {
+ this.$dialog.messageWaring('寮�濮嬩細璁�', '鏄惁寮�濮嬪綋鍓嶄細璁紵')
+ .then(() => {
+ let fn = new Date(row.startTime).getTime() > new Date().getTime() ? startEarlyById : startById
+ fn({ id: row.id })
+ .then(() => {
+ this.$message.success('浼氳宸插紑濮�')
+ this.handlePageChange()
+ })
+ .catch(e => {
+ })
+ })
+ },
+ cancelMeeting(id) {
this.$dialog.messageWaring('鍙栨秷浼氳', '鏄惁鍙栨秷褰撳墠浼氳锛�')
.then(() => {
cancelById({ id })
@@ -385,7 +288,7 @@
})
})
},
- showDetail (id) {
+ showDetail(id) {
bookingsDetail(id)
.then(res => {
this.$refs.operaBookingsDetailWindow.open('浼氳璇︽儏', res)
@@ -393,7 +296,7 @@
.catch(e => {
})
},
- editBookings (id) {
+ editBookings(id) {
bookingsDetail(id)
.then(res => {
this.$refs.operaBookingsWindow.open('缂栬緫浼氳棰勭害', res)
@@ -401,7 +304,7 @@
.catch(e => {
})
},
- handlePageChange (pageIndex) {
+ handlePageChange(pageIndex) {
this.__checkApi()
this.tableData.pagination.pageIndex = pageIndex || this.tableData.pagination.pageIndex
this.isWorking.search = true
@@ -433,24 +336,29 @@
<style lang="scss" scoped>
.detail_modal {
padding: 20px 16px;
+
.title {
text-align: center;
font-weight: 600;
font-size: 16px;
margin-bottom: 20px;
}
+
.h1 {
font-weight: 600;
font-size: 16px;
margin-bottom: 15px;
}
+
.line {
display: flex;
margin-bottom: 10px;
+
.label {
width: 70px;
color: #888888;
}
+
.value {
color: #333333;
}
diff --git a/admin/src/views/meeting/rooms.vue b/admin/src/views/meeting/rooms.vue
index 1779fdf..b701dc7 100644
--- a/admin/src/views/meeting/rooms.vue
+++ b/admin/src/views/meeting/rooms.vue
@@ -45,6 +45,11 @@
@selection-change="handleSelectionChange"
>
<!-- <el-table-column type="selection" width="55"></el-table-column> -->
+ <el-table-column prop="id" label="鍞竴鏍囪瘑" align="center" min-width="80px" show-overflow-tooltip>
+ <template slot-scope="{row}">
+ <span class="long-title-style">{{ row.id }}</span>
+ </template>
+ </el-table-column>
<el-table-column prop="name" label="浼氳瀹ゅ悕绉�" align="center" min-width="120px" show-overflow-tooltip>
<template slot-scope="{row}">
<span class="long-title-style">{{ row.name }}</span>
diff --git a/h5/api/meeting.js b/h5/api/meeting.js
index c9f6413..0eed5fb 100644
--- a/h5/api/meeting.js
+++ b/h5/api/meeting.js
@@ -95,3 +95,19 @@
data
})
}
+// 浼氳瀹� 寮�濮�
+export const startMeetignById = (data) => {
+ return http({
+ url: 'meetingAdmin/cloudService/web/meeting/start',
+ method: 'post',
+ data
+ })
+}
+// 浼氳瀹� 鎻愬墠寮�濮�
+export const startEarlyMeetignById = (data) => {
+ return http({
+ url: 'meetingAdmin/cloudService/web/meeting/startEarly',
+ method: 'post',
+ data
+ })
+}
diff --git a/h5/manifest.json b/h5/manifest.json
index 50678d7..8f1b88c 100644
--- a/h5/manifest.json
+++ b/h5/manifest.json
@@ -91,7 +91,7 @@
"proxy" : {
"/admin_interface" : {
// 杩欎釜瀛楁鍚嶉渶涓庝綘閰嶇疆鐨刡asePrefixUrl涓�鑷达紝绯荤粺璇嗗埆鍒板甫鏈�/dev-api璇锋眰鐨勫湴鍧�鏃讹紝浼氬湪鍓嶉潰鎷兼帴涓婁唬鐞嗘湇鍔″櫒鍦板潃
- "target" : "http://192.168.137.1:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
+ "target" : "http://172.20.10.7:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
// "target" : "http://192.168.31.42:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
// "target" : "http://10.50.250.178:8088/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
"changeOrigin" : true, // 鍏佽璺ㄥ煙
diff --git a/h5/pages/staff/meetingDetail.vue b/h5/pages/staff/meetingDetail.vue
index fd97fcf..3484e31 100644
--- a/h5/pages/staff/meetingDetail.vue
+++ b/h5/pages/staff/meetingDetail.vue
@@ -76,9 +76,10 @@
<view class="empty empty2"></view>
<view class="main_footer" v-if="detail.meetingStatus == '1'">
<view class="btn" @click="openCancel">鎾ゅ洖</view>
- <view class="btn agree" @click="handleEdit">淇敼</view>
+ <view class="btn edit" @click="handleEdit">淇敼</view>
+ <view class="btn agree" @click="handleStart">寮�濮嬩細璁�</view>
</view>
- <view class="main_footer" v-if="detail.meetingStatus == '2'">
+ <view class="main_footer" v-if="detail.meetingStatus == '2' && detail.isAdmin == 1">
<view class="btn agree" @click="openClose">缁撴潫</view>
</view>
<!-- 鎾ゅ洖 -->
@@ -131,7 +132,7 @@
</template>
<script>
-import { meetingDetail, cancelById, closeMeetignById } from '@/api'
+import { meetingDetail, cancelById, closeMeetignById,startMeetignById,startEarlyMeetignById } from '@/api'
export default {
data() {
return {
@@ -171,7 +172,7 @@
setTimeout(() => {
uni.showToast({
title: '鎻愪氦鎴愬姛',
- icon: 'success'
+ icon: 'none'
})
})
setTimeout(() => {
@@ -180,6 +181,23 @@
}
})
},
+ handleStart() {
+ const { id, detail } = this
+ let fn = new Date(detail.startTime).getTime() > new Date().getTime() ? startEarlyMeetignById : startMeetignById
+ fn({ id }).then(res => {
+ if (res.code === 200) {
+ setTimeout(() => {
+ uni.showToast({
+ title: '浼氳宸插紑濮�',
+ icon: 'none'
+ })
+ })
+ setTimeout(() => {
+ uni.navigateBack()
+ })
+ }
+ })
+ },
handleEdit() {
const { id } = this
uni.navigateTo({
@@ -273,7 +291,7 @@
background-color: #fff;
padding: 0 30rpx;
.btn {
- flex: 1;
+ flex: 3;
height: 88rpx;
line-height: 88rpx;
background: #ffffff;
@@ -283,8 +301,12 @@
text-align: center;
margin: 16rpx 8rpx;
}
-
+ .edit{
+ color: $uni-color-primary;
+ border: 1rpx solid $uni-color-primary;
+ }
.agree {
+ flex: 5;
background: $uni-color-primary;
color: #fff;
border: 1rpx solid $uni-color-primary;
diff --git a/h5/pages/staff/meetingSel.vue b/h5/pages/staff/meetingSel.vue
index ba35cde..9fb133c 100644
--- a/h5/pages/staff/meetingSel.vue
+++ b/h5/pages/staff/meetingSel.vue
@@ -1,378 +1,373 @@
-<template>
- <view class="main_app" :class="{ popupShow: isShowSelMem }">
- <view class="search_inp df_ac">
- <image
- class="mr12 search"
- src="../../static/ic_search@2x.png"
- mode="widthFix"
- ></image>
- <input
- v-model="param.keyword"
- @blur="initData()"
- type="text"
- placeholder="鎼滅储"
- placeholder-style="color: #999999;"
- />
- </view>
- <view class="member_list">
- <view v-for="(item, index) in memberList" :key="item.id" class="line">
- <image
- v-if="item.avatar"
- :src="item.prefixUrl + item.avatar"
- class="avatar"
- mode=""
- ></image>
- <view v-else class="avatar">{{ item.realname.slice(0, 1) }}</view>
- <view class="content">
- <view class="info">
- <text class="name">{{ item.realname }}</text>
- <text class="tag" v-if="item.status == '1'">鏈変細璁�</text>
- </view>
- <view class="depart">{{ item.departmentName }}</view>
- </view>
- <image
- @click="changeMem(item, index)"
- v-if="item.checked"
- src="@/static/checkbox_sel@2x.png"
- mode="widthFix"
- class="checked"
- ></image>
- <image
- @click="changeMem(item, index)"
- v-if="!item.checked"
- src="@/static/meeting/icon/ic_choose@2x.png"
- mode="widthFix"
- class="checked"
- ></image>
- <text></text>
- </view>
- <view class="empty"></view>
- </view>
- <!-- -->
- <view class="sub_wrap">
- <view class="sel_mem">
- <text>宸查�夋嫨锛�</text>
- <view class="members">
- <text v-for="(item, i) in selList" :key="i"
- >{{ item.realname }}锛�</text
- >
- </view>
- <image
- @click="isShowSelMem = true"
- class="open_icon"
- src="../../static/staff/renyuan_ic_open.png"
- mode=""
- ></image>
- </view>
- <view class="btn" @click="onSubmit"
- >纭({{ selList.length }}/{{ param.limitNum }})</view
- >
- </view>
- <!-- -->
- <u-popup
- catchtouchmove
- :show="isShowSelMem"
- :round="12"
- mode="bottom"
- @close="closeModal"
- >
- <view class="modal">
- <view class="modal_header">
- <text class="status">宸查�夋嫨锛歿{ selList.length }}浜�</text>
- <text class="btn" @click="subSelMem">纭</text>
- </view>
- <view class="modal_mem_list">
- <view class="line" v-for="(item, i) in selList" :key="i">
- <image
- v-if="item.avatar"
- :src="item.prefixUrl + item.avatar"
- class="avatar"
- mode=""
- ></image>
- <view v-else class="avatar">{{ item.realname.slice(0, 1) }}</view>
- <view class="content">
- <view class="info">
- <text class="name">{{ item.realname }}</text>
- </view>
- <view class="depart">{{ item.departmentName }}</view>
- </view>
- <view class="btn" @click="handleRemove(i)">绉婚櫎</view>
- </view>
- </view>
- </view>
- </u-popup>
- </view>
-</template>
-
-<script>
-import { userPagePost } from '@/api'
-import dayjs from 'dayjs'
-export default {
- data() {
- return {
- memberList: [],
- selList: [],
- param: {
- limitNum: ''
- },
- pagination: {
- page: 1,
- capacity: 20
- },
-
- isShowSelMem: false
- }
- },
- onLoad(option) {
- this.param = {
- limitNum: option.limitNum,
- keyword: '',
- startTime: dayjs(Number(option.startTime)).format('YYYY-MM-DD HH:mm:ss'),
- endTime: dayjs(Number(option.endTime)).format('YYYY-MM-DD HH:mm:ss'),
- }
- this.initData()
- },
- mounted() {
- this.$eventBus.$on('meetingPeoDetail', (res) => {
- setTimeout(() => {
- res.forEach(item => {
- this.memberList.forEach(mem => {
- if (item.id == mem.id) {
- mem.checked = true
- }
- })
- })
- this.selList = this.memberList.filter(i => i.checked)
- this.$nextTick(() => {
- this.$forceUpdate()
- })
- }, 1000)
- })
- },
- methods: {
- onSubmit() {
- this.$eventBus.$emit('meetingPeo', this.selList)
- uni.navigateBack()
- },
- changeMem(item, index) {
- const { selList, param } = this
- if (this.selList.length == param.limitNum && !item.checked) return uni.showToast({
- title: `璇ヤ細璁彲瀹圭撼${param.limitNum}浜篳,
- icon: 'none'
- })
- item.checked = !item.checked
- this.selList = this.memberList.filter(i => i.checked)
- // const arr = e.detail.value
- // let arrTemp = arr.map(item => {
- // let obj = {}
- // this.memberList.forEach(ite => {
- // if (item == ite.id) {
- // obj.name = ite.name.split('-')[0]
- // obj.componey = ite.name.split('-')[1] || ''
- // obj.id = ite.id
- // }
- // })
- // return obj
- // })
- // this.selList = arrTemp
- this.$forceUpdate()
- },
- initData() {
- const { param, pagination } = this
- userPagePost({
- model: { ...param },
- ...pagination,
-
- }).then(res => {
- this.memberList = res.data.records || []
- this.memberList.map(i => {
- i.checked = false
- })
- })
- },
- closeModal() {
- this.selList = this.memberList.filter(i => i.checked)
- this.isShowSelMem = false
- },
- subSelMem() {
- const { selList, memberList } = this
- memberList.forEach(ite => {
- ite.checked = false
- selList.forEach(item => {
- if (ite.id === item.id) {
- ite.checked = true
- } else { }
- })
- })
- this.isShowSelMem = false
- this.$forceUpdate()
- },
- handleRemove(i) {
- this.selList.splice(i, 1)
-
- // console.log(this.memberList);
- this.$forceUpdate()
- },
- }
-};
-</script>
-
-<style lang="scss">
-.modal {
- padding: 40rpx 30rpx;
- max-height: 1000rpx;
- .modal_header {
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding-bottom: 20rpx;
- .status {
- font-weight: 600;
- }
- .btn {
- color: $uni-color-primary;
- }
- }
- .modal_mem_list {
- max-height: 860rpx;
- overflow: auto;
- .line {
- display: flex;
- align-items: center;
- border-bottom: 1rpx solid #e5e5e5;
- padding: 30rpx 0;
- .avatar {
- width: 64rpx;
- height: 64rpx;
- border-radius: 50%;
- overflow: hidden;
- margin-right: 20rpx;
- display: flex;
- justify-content: center;
- align-items: center;
- background-color: $uni-color-primary;
- color: #fff;
- }
- .content {
- flex: 1;
- .depart {
- font-size: 24rpx;
- color: #666666;
- }
- .info {
- display: flex;
- margin-bottom: 16rpx;
- .name {
- font-size: 30rpx;
- }
- }
- }
- .btn {
- width: 80rpx;
- height: 48rpx;
- line-height: 48rpx;
- text-align: center;
- font-size: 24rpx;
- color: #333333;
- border-radius: 4rpx;
- border: 1rpx solid #999999;
- }
- }
- }
-}
-.sub_wrap {
- position: fixed;
- bottom: 0;
- background-color: #fff;
- left: 0;
- width: 100%;
- box-shadow: 0rpx 0rpx 6rpx 0rpx #b2b2b2;
- padding: 30rpx 30rpx 64rpx;
- .sel_mem {
- display: flex;
- align-items: center;
- .members {
- width: 500rpx;
- color: $uni-color-primary;
- white-space: nowrap;
- overflow: hidden; //鏂囨湰瓒呭嚭闅愯棌
- text-overflow: ellipsis;
- margin-right: 20rpx;
- }
- .open_icon {
- width: 44rpx;
- height: 44rpx;
- }
- }
- .btn {
- width: 690rpx;
- height: 88rpx;
- line-height: 88rpx;
- background: $uni-color-primary;
- border-radius: 44rpx;
- color: #fff;
- text-align: center;
- margin-top: 22rpx;
- }
-}
-.member_list {
- .line {
- display: flex;
- align-items: center;
- border-bottom: 1rpx solid #e5e5e5;
- padding: 30rpx 0;
- .avatar {
- width: 64rpx;
- height: 64rpx;
- border-radius: 50%;
- overflow: hidden;
- margin-right: 20rpx;
- }
- .content {
- flex: 1;
- .depart {
- font-size: 24rpx;
- color: #666666;
- }
- .info {
- display: flex;
- margin-bottom: 16rpx;
- .name {
- font-size: 30rpx;
- }
- .tag {
- font-size: 24rpx;
- border-radius: 4rpx;
- border: 1rpx solid #f62710;
- color: #f62710;
- padding: 0rpx 6rpx;
- margin-left: 8rpx;
- display: flex;
- align-items: center;
- }
- }
- }
- .checked {
- width: 48rpx;
- }
- }
- .empty {
- width: 100%;
- height: 280rpx;
- }
-}
-.search_inp {
- height: 72rpx;
- background: #f7f7f7;
- border-radius: 4rpx;
- padding-left: 16rpx;
- .search {
- width: 28rpx;
- }
- input {
- flex: 1;
- font-size: 28rpx;
- color: #333333;
- }
-}
-</style>
+<template>
+ <view class="main_app" :class="{ popupShow: isShowSelMem }">
+ <view class="search_inp df_ac">
+ <image class="mr12 search" src="../../static/ic_search@2x.png" mode="widthFix"></image>
+ <input v-model="param.keyword" @blur="initData()" type="text" placeholder="鎼滅储"
+ placeholder-style="color: #999999;" />
+ </view>
+ <view class="member_list">
+ <view v-for="(item, index) in memberList" :key="item.id" class="line">
+ <image v-if="item.avatar" :src="item.prefixUrl + item.avatar" class="avatar" mode=""></image>
+ <view v-else class="avatar">{{ item.realname.slice(0, 1) }}</view>
+ <view class="content">
+ <view class="info">
+ <text class="name">{{ item.realname }}</text>
+ <text class="tag" v-if="item.status == '1'">鏈変細璁�</text>
+ </view>
+ <view class="depart">{{ item.departmentName }}</view>
+ </view>
+ <image @click="changeMem(item, index)" v-if="item.checked" src="@/static/checkbox_sel@2x.png" mode="widthFix"
+ class="checked"></image>
+ <image @click="changeMem(item, index)" v-if="!item.checked" src="@/static/meeting/icon/ic_choose@2x.png"
+ mode="widthFix" class="checked"></image>
+ <text></text>
+ </view>
+ <view class="empty"></view>
+ </view>
+ <!-- -->
+ <view class="sub_wrap">
+ <view class="sel_mem">
+ <text>宸查�夋嫨锛�</text>
+ <view class="members">
+ <text v-for="(item, i) in selList" :key="i">{{ item.realname }}锛�</text>
+ </view>
+ <image @click="openSeleter" class="open_icon" src="../../static/staff/renyuan_ic_open.png" mode=""></image>
+ </view>
+ <view class="btn" @click="onSubmit">纭({{ selList.length }}/{{ param.limitNum }})</view>
+ </view>
+ <!-- -->
+ <u-popup catchtouchmove :show="isShowSelMem" :round="12" mode="bottom" @close="closeModal">
+ <view class="modal">
+ <view class="modal_header">
+ <text class="status">宸查�夋嫨锛歿{ selList.filter(i => i.checkedTemp).length }}浜�</text>
+ <text class="btn" @click="subSelMem">纭</text>
+ </view>
+ <view class="modal_mem_list">
+ <template v-for="(item, i) in selList">
+ <view class="line" v-if="item.checkedTemp">
+ <image v-if="item.avatar" :src="item.prefixUrl + item.avatar" class="avatar" mode=""></image>
+ <view v-else class="avatar">{{ item.realname.slice(0, 1) }}</view>
+ <view class="content">
+ <view class="info">
+ <text class="name">{{ item.realname }}</text>
+ </view>
+ <view class="depart">{{ item.departmentName }}</view>
+ </view>
+ <view class="btn" @click="handleRemove(i)">绉婚櫎</view>
+ </view>
+ </template>
+ </view>
+ </view>
+ </u-popup>
+ </view>
+</template>
+
+<script>
+ import {
+ userPagePost
+ } from '@/api'
+ import dayjs from 'dayjs'
+ export default {
+ data() {
+ return {
+ memberList: [],
+ selList: [],
+ param: {
+ limitNum: ''
+ },
+ pagination: {
+ page: 1,
+ capacity: 20
+ },
+
+ isShowSelMem: false
+ }
+ },
+ onLoad(option) {
+ this.param = {
+ limitNum: option.limitNum,
+ keyword: '',
+ startTime: dayjs(Number(option.startTime)).format('YYYY-MM-DD HH:mm:ss'),
+ endTime: dayjs(Number(option.endTime)).format('YYYY-MM-DD HH:mm:ss'),
+ }
+ this.initData()
+ },
+ mounted() {
+ this.$eventBus.$on('meetingPeoDetail', (res) => {
+ setTimeout(() => {
+ res.forEach(item => {
+ this.memberList.forEach(mem => {
+ if (item.id == mem.id) {
+ mem.checked = true
+ }
+ })
+ })
+ this.selList = this.memberList.filter(i => i.checked)
+ this.$nextTick(() => {
+ this.$forceUpdate()
+ })
+ }, 1000)
+ })
+ },
+ methods: {
+ onSubmit() {
+ this.$eventBus.$emit('meetingPeo', this.selList)
+ uni.navigateBack()
+ },
+ changeMem(item, index) {
+ // const { selList, param } = this
+ // if (this.selList.length == param.limitNum && !item.checked) return uni.showToast({
+ // title: `璇ヤ細璁彲瀹圭撼${param.limitNum}浜篳,
+ // icon: 'none'
+ // })
+ // item.checked = !item.checked
+ // this.selList = this.memberList.filter(i => i.checked)
+ // //
+ item.checked = !item.checked
+ const i = this.selList.findIndex(a => a.id === item.id)
+ if (item.checked && i === -1) {
+ this.selList.push(item)
+ } else {
+ this.selList.splice(i, 1)
+ }
+ this.$forceUpdate()
+ },
+ openSeleter() {
+ this.isShowSelMem = true
+ this.selList.forEach(item => {
+ item.checkedTemp = true
+ })
+ this.$forceUpdate()
+ },
+ initData() {
+ const {
+ param,
+ pagination
+ } = this
+ userPagePost({
+ model: {
+ ...param
+ },
+ ...pagination,
+
+ }).then(res => {
+ this.memberList = res.data.records || []
+ this.memberList.forEach(i => {
+ const index = this.selList.findIndex(ite => ite.id === i.id)
+ i.checked = index > -1
+ })
+ })
+ },
+ closeModal() {
+ this.selList.forEach(item => {
+ item.checkedTemp = true
+ })
+ this.isShowSelMem = false
+ },
+ subSelMem() {
+ const {
+ memberList
+ } = this
+ this.selList = this.selList.filter(i => i.checkedTemp)
+ memberList.forEach(ite => {
+ const index = this.selList.findIndex(i => i.id === ite.id)
+ ite.checked = index > -1
+ })
+ this.isShowSelMem = false
+ this.$forceUpdate()
+ },
+ handleRemove(i) {
+ this.selList[i].checkedTemp = false
+ this.$forceUpdate()
+ },
+ }
+ };
+</script>
+
+<style lang="scss">
+ .modal {
+ padding: 40rpx 30rpx;
+ max-height: 1000rpx;
+
+ .modal_header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding-bottom: 20rpx;
+
+ .status {
+ font-weight: 600;
+ }
+
+ .btn {
+ color: $uni-color-primary;
+ }
+ }
+
+ .modal_mem_list {
+ max-height: 860rpx;
+ overflow: auto;
+
+ .line {
+ display: flex;
+ align-items: center;
+ border-bottom: 1rpx solid #e5e5e5;
+ padding: 30rpx 0;
+
+ .avatar {
+ width: 64rpx;
+ height: 64rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ margin-right: 20rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background-color: $uni-color-primary;
+ color: #fff;
+ }
+
+ .content {
+ flex: 1;
+
+ .depart {
+ font-size: 24rpx;
+ color: #666666;
+ }
+
+ .info {
+ display: flex;
+ margin-bottom: 16rpx;
+
+ .name {
+ font-size: 30rpx;
+ }
+ }
+ }
+
+ .btn {
+ width: 80rpx;
+ height: 48rpx;
+ line-height: 48rpx;
+ text-align: center;
+ font-size: 24rpx;
+ color: #333333;
+ border-radius: 4rpx;
+ border: 1rpx solid #999999;
+ }
+ }
+ }
+ }
+
+ .sub_wrap {
+ position: fixed;
+ bottom: 0;
+ background-color: #fff;
+ left: 0;
+ width: 100%;
+ box-shadow: 0rpx 0rpx 6rpx 0rpx #b2b2b2;
+ padding: 30rpx 30rpx 64rpx;
+
+ .sel_mem {
+ display: flex;
+ align-items: center;
+
+ .members {
+ width: 500rpx;
+ color: $uni-color-primary;
+ white-space: nowrap;
+ overflow: hidden; //鏂囨湰瓒呭嚭闅愯棌
+ text-overflow: ellipsis;
+ margin-right: 20rpx;
+ }
+
+ .open_icon {
+ width: 44rpx;
+ height: 44rpx;
+ }
+ }
+
+ .btn {
+ width: 690rpx;
+ height: 88rpx;
+ line-height: 88rpx;
+ background: $uni-color-primary;
+ border-radius: 44rpx;
+ color: #fff;
+ text-align: center;
+ margin-top: 22rpx;
+ }
+ }
+
+ .member_list {
+ .line {
+ display: flex;
+ align-items: center;
+ border-bottom: 1rpx solid #e5e5e5;
+ padding: 30rpx 0;
+
+ .avatar {
+ width: 64rpx;
+ height: 64rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ margin-right: 20rpx;
+ }
+
+ .content {
+ flex: 1;
+
+ .depart {
+ font-size: 24rpx;
+ color: #666666;
+ }
+
+ .info {
+ display: flex;
+ margin-bottom: 16rpx;
+
+ .name {
+ font-size: 30rpx;
+ }
+
+ .tag {
+ font-size: 24rpx;
+ border-radius: 4rpx;
+ border: 1rpx solid #f62710;
+ color: #f62710;
+ padding: 0rpx 6rpx;
+ margin-left: 8rpx;
+ display: flex;
+ align-items: center;
+ }
+ }
+ }
+
+ .checked {
+ width: 48rpx;
+ }
+ }
+
+ .empty {
+ width: 100%;
+ height: 280rpx;
+ }
+ }
+
+ .search_inp {
+ height: 72rpx;
+ background: #f7f7f7;
+ border-radius: 4rpx;
+ padding-left: 16rpx;
+
+ .search {
+ width: 28rpx;
+ }
+
+ input {
+ flex: 1;
+ font-size: 28rpx;
+ color: #333333;
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/h5/pages/staff/memberSel.vue b/h5/pages/staff/memberSel.vue
index d4d2c99..8405ca0 100644
--- a/h5/pages/staff/memberSel.vue
+++ b/h5/pages/staff/memberSel.vue
@@ -17,15 +17,8 @@
<view class="member_list">
<checkbox-group @change="changeMem">
<view v-for="item in memberList" :key="item.id" class="line">
- <image
- :src="
- item.faceImgFull
- ? item.faceImgFull
- : require('@/static/default_avatar.png')
- "
- class="avatar"
- mode=""
- ></image>
+ <image v-if="item.faceImgFull" :src="item.faceImgFull" class="avatar" ></image>
+ <span v-else class="img_name">{{item.name && item.name.slice(0,1)}}</span>
<view class="content">
<view class="info">
<text class="name">{{ item.name }}</text>
@@ -234,6 +227,18 @@
overflow: hidden;
margin-right: 20rpx;
}
+ .img_name{
+ width: 64rpx;
+ height: 64rpx;
+ line-height: 64rpx;
+ text-align: center;
+ border-radius: 50%;
+ overflow: hidden;
+ margin-right: 20rpx;
+ background: $uni-color-primary;
+ color: #fff;
+ border: 1rpx solid $uni-color-primary;
+ }
.content {
flex: 1;
.depart {
diff --git a/h5/pages/staff/task/vDangetAppr.vue b/h5/pages/staff/task/vDangetAppr.vue
index 6a3b311..53f969b 100644
--- a/h5/pages/staff/task/vDangetAppr.vue
+++ b/h5/pages/staff/task/vDangetAppr.vue
@@ -12,7 +12,7 @@
<view class="img_wrap" v-for="item in info.submitFileList" :key="item.id">
<image v-if="item.type == 0" :src="item.fileurlFull" @click="priviewImage(item.fileurlFull)" mode="widthFix"
class="img" />
- <video v-if="item.type == 1" :src="item.fileurlFull" class="video" controls />
+ <video v-if="item.type == 1" :src="item.fileurlFull" class="video" :controls="false" />
</view>
</view>
<view class="text_wrap">
@@ -28,8 +28,8 @@
</view>
<!-- -->
<view class="emyty"></view>
- <view v-if="info.status == 1 || info.status == 2" class="module_list">
- <view class="flow_title">澶勭悊缁撴灉</view>
+ <view v-if="info.status == 1 || info.status == 2" class="module_list">
+ <view class="title">澶勭悊缁撴灉</view>
<view class="item">
<view class="label">澶勭悊缁撴灉</view>
<view class="value primaryColor" :class="{ red: info.status == 2 }">{{ statusMap[info.status] }}</view>
@@ -39,7 +39,7 @@
<view class="value">
<view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.dealBeforeFileList" :key="i">
<image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
- <video v-if="item.type == 1" :src="item.fileurlFull"></video>
+ <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video>
</view>
</view>
</view>
@@ -48,7 +48,7 @@
<view class="value">
<view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.dealAfterFileList" :key="i">
<image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
- <video v-if="item.type == 1" :src="item.fileurlFull"></video>
+ <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video>
</view>
</view>
</view>
@@ -68,7 +68,7 @@
v-if="info.status == 1 || index < flowList.length - 1" />
<image src="@/static/staff/liucheng_fail@2x.png" class="status"
v-if="info.status == 2 && index == flowList.length - 1" />
- <image v-if="item.avatar != null && item.avatar != ''" :src="item.avatar" class="img" alt="" />
+ <image v-if="item.avatar != null && item.avatar != ''" :src="item.avatar" class="img" alt="" />
<!-- <image v-else src="@/static/default_avatar.png" class="img" mode=""></image> -->
<span v-if="item.avatar == null || item.avatar == ''"
class="img_name">{{ item.createUserName && item.createUserName.slice(0, 1) }}</span>
@@ -76,7 +76,7 @@
<view class="content">
<view class="head">
<view class="event">{{ item.title }}</view>
- <view class="time">{{ item.createDate }}</view>
+ <view class="time" v-if="item.createDate">{{ item.createDate.slice(0,16) }}</view>
</view>
<view class="line">
<view class="company">
@@ -97,9 +97,11 @@
</view>
<view class="emyty"></view>
<view class="main_footer">
- <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn" @click="handleBack">閫�鍥�</view>
- <view v-if="info.status==0 && info.checkUserId == userInfo.memberId" class="btn transfer" @click="handleTransfer">杞氦</view>
- <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn handle" @click="handleOpen">澶勭悊</view>
+ <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn" @click="handleBack">閫�鍥�</view>
+ <view v-if="info.status==0 && info.checkUserId == userInfo.memberId" class="btn transfer" @click="handleTransfer">
+ 杞氦</view>
+ <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn handle" @click="handleOpen">澶勭悊
+ </view>
</view>
<!-- 閫�鍥� -->
@@ -128,7 +130,7 @@
<u-icon class="close" size="20" name="close-circle-fill" color="red"
@click="fileDel('dealBeforeFileList', i)"></u-icon>
<image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
- <video v-if="item.type == 1" :src="item.fileurlFull"></video>
+ <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video>
</view>
</view>
<view class="label">閫�鍥炶鏄�</view>
@@ -168,7 +170,7 @@
<u-icon class="close" size="20" name="close-circle-fill" color="red"
@click="fileDel('dealBeforeFileList', i)"></u-icon>
<image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
- <video v-if="item.type == 1" :src="item.fileurlFull"></video>
+ <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video>
</view>
</view>
<view class="label">
@@ -184,7 +186,7 @@
<u-icon class="close" size="20" name="close-circle-fill" color="red"
@click="fileDel('dealAfterFileList', i)"></u-icon>
<image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
- <video v-if="item.type == 1" :src="item.fileurlFull"></video>
+ <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video>
</view>
</view>
<view class="label">鏁存敼璇存槑</view>
@@ -226,8 +228,8 @@
<view class="member_list">
<view class="mt24 placeholder6">鍏眥{ memberList.length }}鏉℃暟鎹�</view>
<view v-for="item in memberList" :key="item.id" class="line">
- <image :src="item.faceImgFull ? item.faceImgFull : require('@/static/meeting/common/default_user@2x.png')"
- class="avatar" mode=""></image>
+ <image v-if="item.faceImgFull" :src="item.faceImgFull" class="avatar"></image>
+ <span v-else class="img_name">{{item.name && item.name.slice(0,1)}}</span>
<view class="content">
<view class="info">
<text class="name">{{ item.name }}</text>
@@ -235,10 +237,9 @@
</view>
<view class="depart">{{ item.companyName }}</view>
</view>
- <image @click="changeMem(item)" v-if="transferParam.id == item.id"
- src="@/static/checkbox_sel@2x.png" mode="widthFix" class="checked"></image>
- <image @click="changeMem(item)" v-else src="@/static/video@2x.png" mode="widthFix"
- class="checked"></image>
+ <image @click="changeMem(item)" v-if="transferParam.id == item.id" src="@/static/checkbox_sel@2x.png"
+ mode="widthFix" class="checked"></image>
+ <image @click="changeMem(item)" v-else src="@/static/video@2x.png" mode="widthFix" class="checked"></image>
<text></text>
</view>
<view class="empty"></view>
@@ -250,7 +251,8 @@
</view>
</u-popup>
<!-- 閫�鍥炴椂闂� -->
- <u-datetime-picker :show="isShowBackDate" @confirm="confirmBackDate" @cancel="isShowBackDate = false"
+ <u-datetime-picker :show="isShowBackDate" :minDate="new Date().getTime()" :closeOnClickOverlay="false"
+ @confirm="confirmBackDate" @close="isShowBackDate = false" @cancel="isShowBackDate = false"
mode="datetime"></u-datetime-picker>
<u-datetime-picker :minDate="new Date().getTime()" :show="isShowHandleDate" @confirm="confirmHandleDate"
@@ -273,7 +275,7 @@
return {
isShowBack: false,
param: {},
- info: {},
+ info: {},
userInfo: this.$store.state.userInfo,
flowList: [],
@@ -341,14 +343,14 @@
},
handleOpen() {
this.isShowHandle = true;
- const submitFileList = this.info.submitFileList || []
+ const submitFileList = this.info.submitFileList || []
this.submitFileList = [...submitFileList];
this.$set(this.handleParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'));
},
handleBack() {
- this.isShowBack = true;
+ this.isShowBack = true;
// const submitFileList = this.info.submitFileList || []
- // this.submitFileList = [...submitFileList];
+ // this.submitFileList = [...submitFileList];
this.dealBeforeFileList = []
this.$set(this.backParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'));
},
@@ -435,10 +437,8 @@
},
getMemList() {
findHiddenAreaMemberList({
- model: {
- ...this.transferModel,
- id: this.info.areaId
- },
+ ...this.transferModel,
+ id: this.info.areaId,
...this.pagination
}).then(res => {
this.memberList = res.data || [];
@@ -748,21 +748,27 @@
}
};
</script>
-<style>
+
+<style lang="scss">
page {
background-color: #f7f7f7;
+
+ ::v-deep .u-popup__content {
+ border-top: 1rpx solid #cccccc;
+ }
}
-</style>
-<style lang="scss">
+
.main_app {
background-color: #fff;
padding-bottom: 0;
- .flow_title {
- font-weight: 600;
- font-size: 32rpx;
- color: #222222;
- margin-bottom: 24rpx;
+
+ .flow_title {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #222222;
+ margin-bottom: 24rpx;
}
+
.flow_wrap {
padding: 30rpx 0;
@@ -831,17 +837,19 @@
}
}
- .line{
- .company{
- font-size: 26rpx;
- color: #777777;
- }
- .status-green{
- color: $uni-color-primary;
- }
- .status-red{
- color: red;
- }
+ .line {
+ .company {
+ font-size: 26rpx;
+ color: #777777;
+ }
+
+ .status-green {
+ color: $uni-color-primary;
+ }
+
+ .status-red {
+ color: red;
+ }
}
.remark {
@@ -920,10 +928,14 @@
}
}
- .module_list {
- .title{
-
+ .module_list {
+ .title {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #222222;
+ padding-top: 28rpx;
}
+
.item {
padding: 30rpx 0;
border-bottom: 1rpx solid #e5e5e5;
@@ -1012,7 +1024,8 @@
}
.video {
- height: 160rpx;
+ width: 100%;
+ max-height: 100%;
}
}
@@ -1184,7 +1197,7 @@
video {
width: 100%;
- max-height: 120rpx;
+ height: 100%;
}
}
}
@@ -1227,6 +1240,19 @@
margin-right: 20rpx;
}
+ .img_name {
+ width: 64rpx;
+ height: 64rpx;
+ line-height: 64rpx;
+ text-align: center;
+ border-radius: 50%;
+ overflow: hidden;
+ margin-right: 20rpx;
+ background: $uni-color-primary;
+ color: #fff;
+ border: 1rpx solid $uni-color-primary;
+ }
+
.content {
flex: 1;
diff --git a/h5_meeting/.hbuilderx/launch.json b/h5_meeting/.hbuilderx/launch.json
index f5c1c0b..8e2b38a 100644
--- a/h5_meeting/.hbuilderx/launch.json
+++ b/h5_meeting/.hbuilderx/launch.json
@@ -4,6 +4,13 @@
{
"openVueDevtools" : false,
"type" : "uni-app:h5"
- }
+ },
+ {
+ "app-plus" :
+ {
+ "launchtype" : "local"
+ },
+ "type" : "uniCloud"
+ }
]
}
diff --git a/h5_meeting/api/index.js b/h5_meeting/api/index.js
index 773ed18..455b1d6 100644
--- a/h5_meeting/api/index.js
+++ b/h5_meeting/api/index.js
@@ -5,7 +5,7 @@
//
export const meetScreenData = (data) => {
return http({
- url: 'cloudService/web/meeting/meetScreenData',
+ url: '/meetingAdmin/cloudService/web/meeting/meetScreenData',
method: 'get',
data
})
diff --git a/h5_meeting/manifest.json b/h5_meeting/manifest.json
index 52ecdd7..56005ca 100644
--- a/h5_meeting/manifest.json
+++ b/h5_meeting/manifest.json
@@ -1,34 +1,10 @@
{
- "name" : "h5_meeting",
+ "name" : "瀹夋嘲浼氳瀹�",
"appid" : "__UNI__EF8BAA7",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "100",
"transformPx" : false,
- "h5": {
- "router": {
- "mode": "hash",
- "base": "./"
- },
- // "base" : "/h5/"
- "devServer": {
- "port": 8090,
- "historyApiFallback": true,
- "disableHostCheck": true,
- "proxy": {
- "/meetingAdmin": {
- // 杩欎釜瀛楁鍚嶉渶涓庝綘閰嶇疆鐨刡asePrefixUrl涓�鑷达紝绯荤粺璇嗗埆鍒板甫鏈�/dev-api璇锋眰鐨勫湴鍧�鏃讹紝浼氬湪鍓嶉潰鎷兼帴涓婁唬鐞嗘湇鍔″櫒鍦板潃
- // "target" : "http://192.168.0.173/admin_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
- "target": "http://192.168.137.1:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
- "changeOrigin": true, // 鍏佽璺ㄥ煙
- "pathRewrite": {
- "^/meetingAdmin": "" // 閲嶅啓鍦板潃锛屽鏋滃疄闄呮帴鍙d腑鏄笉甯�/dev-api锛岄渶瑕佸皢杩欎釜鍓嶇紑缃┖锛屽洜涓鸿繖涓墠缂�鍙槸涓轰簡璇嗗埆鐢紝璇嗗埆瀹屼箣鍚庡氨娌$敤浜�
- }
- }
- },
- "https": false
- }
- },
/* 5+App鐗规湁鐩稿叧 */
"app-plus" : {
"usingComponents" : true,
@@ -65,9 +41,45 @@
]
},
/* ios鎵撳寘閰嶇疆 */
- "ios" : {},
+ "ios" : {
+ "dSYMs" : false
+ },
/* SDK閰嶇疆 */
- "sdkConfigs" : {}
+ "sdkConfigs" : {
+ "ad" : {}
+ },
+ "icons" : {
+ "android" : {
+ "xxhdpi" : "unpackage/res/icons/144x144.png",
+ "xhdpi" : "unpackage/res/icons/96x96.png",
+ "hdpi" : "unpackage/res/icons/72x72.png",
+ "xxxhdpi" : "unpackage/res/icons/192x192.png"
+ },
+ "ios" : {
+ "appstore" : "unpackage/res/icons/1024x1024.png",
+ "ipad" : {
+ "app" : "unpackage/res/icons/76x76.png",
+ "app@2x" : "unpackage/res/icons/152x152.png",
+ "notification" : "unpackage/res/icons/20x20.png",
+ "notification@2x" : "unpackage/res/icons/40x40.png",
+ "proapp@2x" : "unpackage/res/icons/167x167.png",
+ "settings" : "unpackage/res/icons/29x29.png",
+ "settings@2x" : "unpackage/res/icons/58x58.png",
+ "spotlight" : "unpackage/res/icons/40x40.png",
+ "spotlight@2x" : "unpackage/res/icons/80x80.png"
+ },
+ "iphone" : {
+ "app@2x" : "unpackage/res/icons/120x120.png",
+ "app@3x" : "unpackage/res/icons/180x180.png",
+ "notification@2x" : "unpackage/res/icons/40x40.png",
+ "notification@3x" : "unpackage/res/icons/60x60.png",
+ "settings@2x" : "unpackage/res/icons/58x58.png",
+ "settings@3x" : "unpackage/res/icons/87x87.png",
+ "spotlight@2x" : "unpackage/res/icons/80x80.png",
+ "spotlight@3x" : "unpackage/res/icons/120x120.png"
+ }
+ }
+ }
}
},
/* 蹇簲鐢ㄧ壒鏈夌浉鍏� */
diff --git a/h5_meeting/package-lock.json b/h5_meeting/package-lock.json
index 41a7d26..8b1c85c 100644
--- a/h5_meeting/package-lock.json
+++ b/h5_meeting/package-lock.json
@@ -2,130 +2,15 @@
"requires": true,
"lockfileVersion": 1,
"dependencies": {
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "requires": {
- "balanced-match": "^1.0.0"
- }
- },
"dayjs": {
- "version": "1.11.13"
+ "version": "1.11.13",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
+ "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
},
- "decompress-response": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
- "requires": {
- "mimic-response": "^3.1.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
- },
- "glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "js-binary-schema-parser": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/js-binary-schema-parser/-/js-binary-schema-parser-2.0.3.tgz",
- "integrity": "sha512-xezGJmOb4lk/M1ZZLTR/jaBHQ4gG/lqQnJqdIv4721DMggsa1bDVlHXNeHYogaIEHD9vCRv0fcL4hMA+Coarkg=="
- },
- "mimic-response": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="
- },
- "minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "requires": {
- "wrappy": "1"
- }
- },
- "parenthesis": {
- "version": "3.1.8",
- "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz",
- "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw=="
- },
- "simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="
- },
- "simple-get": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
- "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
- "requires": {
- "decompress-response": "^6.0.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
- "string-split-by": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/string-split-by/-/string-split-by-1.0.0.tgz",
- "integrity": "sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==",
- "requires": {
- "parenthesis": "^3.1.5"
- }
- },
- "vue-qr": {
- "version": "4.0.9",
- "resolved": "https://registry.npmjs.org/vue-qr/-/vue-qr-4.0.9.tgz",
- "integrity": "sha512-pAISV94T0MNEYA3NGjykUpsXRE2QfaNxlu9ZhEL6CERgqNc21hJYuP3hRVzAWfBQlgO18DPmZTbrFerJC3+Ikw==",
- "requires": {
- "glob": "^8.0.1",
- "js-binary-schema-parser": "^2.0.2",
- "simple-get": "^4.0.1",
- "string-split-by": "^1.0.0"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ "uqrcodejs": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/uqrcodejs/-/uqrcodejs-4.0.7.tgz",
+ "integrity": "sha512-84+aZmD2godCVI+93lxE3YUAPNY8zAJvNA7xRS7R7U+q57KzMDepBSfNCwoRUhWOfR6eHFoAOcHRPwsP6ka1cA=="
}
}
}
diff --git a/h5_meeting/package.json b/h5_meeting/package.json
index c2ce703..2728378 100644
--- a/h5_meeting/package.json
+++ b/h5_meeting/package.json
@@ -1,6 +1,6 @@
{
"dependencies": {
"dayjs": "^1.11.13",
- "vue-qr": "^4.0.9"
+ "uqrcodejs": "^4.0.7"
}
}
diff --git a/h5_meeting/pages/index/config.vue b/h5_meeting/pages/index/config.vue
index e17d074..f75c39c 100644
--- a/h5_meeting/pages/index/config.vue
+++ b/h5_meeting/pages/index/config.vue
@@ -11,14 +11,14 @@
<view class="item">
<view class="title">鎺ュ彛鍦板潃</view>
<view class="line">
- <input type="text" v-model="param.addr" />
+ <input type="text" placeholder="http://10.50.250.178:8088/gateway_interface" v-model="param.baseUrl" />
<image src="../../static/icon/right.svg" class="icon"></image>
</view>
</view>
<view class="item">
<view class="title">鎺ュ彛璋冪敤闂撮殧(绉�)</view>
<view class="line">
- <input type="text" v-model="param.time" />
+ <input type="text" placeholder="60" v-model="param.time" />
<image src="../../static/icon/right.svg" class="icon"></image>
</view>
</view>
@@ -48,7 +48,9 @@
})
})
setTimeout(()=>{
- uni.navigateBack()
+ uni.redirectTo({
+ url:'/pages/index/index'
+ })
}, 400)
}
}
diff --git a/h5_meeting/pages/index/index.vue b/h5_meeting/pages/index/index.vue
index 91910e4..b93eb84 100644
--- a/h5_meeting/pages/index/index.vue
+++ b/h5_meeting/pages/index/index.vue
@@ -28,7 +28,8 @@
<text>棰勭害浜猴細{{meetingInfo.bookingUser }}</text>
</view>
</view>
- <vueQr v-if="meetingInfo.id" :text="meetingInfo.id" class="qrcode" />
+ <canvas id="qrcode" canvas-id="qrcode" class="qrcode"></canvas>
+ <!-- <vueQr v-if="meetingInfo.id" :text="meetingInfo.id" class="qrcode" /> -->
</view>
<view class="meeting_wrap">
<view class="title">浠婃棩浼氳锛坽{ info.meetingListResponseList && info.meetingListResponseList.length > 0 ? info.meetingListResponseList.length : 0 }}锛�</view>
@@ -63,12 +64,13 @@
<script>
import dayjs from 'dayjs'
- import vueQr from 'vue-qr/src/packages/vue-qr.vue'
+ // import vueQr from 'vue-qr/src/packages/vue-qr.vue'
+ import UQRCode from 'uqrcodejs'
import {
meetScreenData
} from '@/api/index.js'
export default {
- components: {vueQr},
+ // components: {vueQr},
data() {
return {
time: '',
@@ -87,7 +89,7 @@
meetingInfo: {}
}
},
- onLoad() {
+ onShow() {
this.initDatetime()
this.param = uni.getStorageSync('param') || {}
if (!this.param.code) {
@@ -96,6 +98,8 @@
})
}
this.getData()
+ },
+ onReady() {
},
methods: {
getData() {
@@ -105,9 +109,25 @@
this.info = res.data
if(this.info.meetingListResponseList && this.info.meetingListResponseList.length > 0){
this.meetingInfo = this.info.meetingListResponseList[0]
- this.$forceUpdate()
+ this.qrcodeCreate()
}
})
+ },
+ qrcodeCreate(){
+ // 鑾峰彇uQRCode瀹炰緥
+ var qr = new UQRCode();
+ // 璁剧疆浜岀淮鐮佸唴瀹�
+ qr.data = "https://uqrcode.cn/doc";
+ // 璁剧疆浜岀淮鐮佸ぇ灏忥紝蹇呴』涓巆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++
@@ -169,7 +189,7 @@
display: flex;
flex-direction: column;
justify-content: space-between;
- padding-bottom: 35rpx;
+ padding-bottom: 42rpx;
color: #fff;
overflow: hidden;
.meeting_wrap {
@@ -260,8 +280,8 @@
}
.qrcode {
- width: 166rpx;
- height: 166rpx;
+ width: 83px;
+ height: 83px;
}
}
@@ -285,7 +305,7 @@
}
.header_wrap {
- padding: 34rpx 34rpx 0 0;
+ padding: 42rpx 34rpx 0 0;
display: flex;
justify-content: space-between;
align-items: center;
diff --git a/h5_meeting/unpackage/dist/cache/.vite/deps/_metadata.json b/h5_meeting/unpackage/dist/cache/.vite/deps/_metadata.json
deleted file mode 100644
index e195b09..0000000
--- a/h5_meeting/unpackage/dist/cache/.vite/deps/_metadata.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "hash": "7c90d9b3",
- "configHash": "8347bd5a",
- "lockfileHash": "102ea5b9",
- "browserHash": "defb2146",
- "optimized": {
- "dayjs": {
- "src": "../../../../../node_modules/dayjs/dayjs.min.js",
- "file": "dayjs.js",
- "fileHash": "84c9bd87",
- "needsInterop": true
- }
- },
- "chunks": {}
-}
\ No newline at end of file
diff --git a/h5_meeting/unpackage/dist/cache/.vite/deps/dayjs.js b/h5_meeting/unpackage/dist/cache/.vite/deps/dayjs.js
deleted file mode 100644
index 3241bd1..0000000
--- a/h5_meeting/unpackage/dist/cache/.vite/deps/dayjs.js
+++ /dev/null
@@ -1,300 +0,0 @@
-var __getOwnPropNames = Object.getOwnPropertyNames;
-var __commonJS = (cb, mod) => function __require() {
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
-};
-
-// ../../../../../../Users/niannian/Desktop/working/璞嗙背绉戞妧/dmvisit/h5_meeting/node_modules/dayjs/dayjs.min.js
-var require_dayjs_min = __commonJS({
- "../../../../../../Users/niannian/Desktop/working/璞嗙背绉戞妧/dmvisit/h5_meeting/node_modules/dayjs/dayjs.min.js"(exports, module) {
- !function(t, e) {
- "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs = e();
- }(exports, function() {
- "use strict";
- var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", c = "month", f = "quarter", h = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t2) {
- var e2 = ["th", "st", "nd", "rd"], n2 = t2 % 100;
- return "[" + t2 + (e2[(n2 - 20) % 10] || e2[n2] || e2[0]) + "]";
- } }, m = function(t2, e2, n2) {
- var r2 = String(t2);
- return !r2 || r2.length >= e2 ? t2 : "" + Array(e2 + 1 - r2.length).join(n2) + t2;
- }, v = { s: m, z: function(t2) {
- var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60;
- return (e2 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0");
- }, m: function t2(e2, n2) {
- if (e2.date() < n2.date())
- return -t2(n2, e2);
- var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, c), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), c);
- return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0);
- }, a: function(t2) {
- return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2);
- }, p: function(t2) {
- return { M: c, y: h, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: f }[t2] || String(t2 || "").toLowerCase().replace(/s$/, "");
- }, u: function(t2) {
- return void 0 === t2;
- } }, g = "en", D = {};
- D[g] = M;
- var p = "$isDayjsObject", S = function(t2) {
- return t2 instanceof _ || !(!t2 || !t2[p]);
- }, w = function t2(e2, n2, r2) {
- var i2;
- if (!e2)
- return g;
- if ("string" == typeof e2) {
- var s2 = e2.toLowerCase();
- D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);
- var u2 = e2.split("-");
- if (!i2 && u2.length > 1)
- return t2(u2[0]);
- } else {
- var a2 = e2.name;
- D[a2] = e2, i2 = a2;
- }
- return !r2 && i2 && (g = i2), i2 || !r2 && g;
- }, O = function(t2, e2) {
- if (S(t2))
- return t2.clone();
- var n2 = "object" == typeof e2 ? e2 : {};
- return n2.date = t2, n2.args = arguments, new _(n2);
- }, b = v;
- b.l = w, b.i = S, b.w = function(t2, e2) {
- return O(t2, { locale: e2.$L, utc: e2.$u, x: e2.$x, $offset: e2.$offset });
- };
- var _ = function() {
- function M2(t2) {
- this.$L = w(t2.locale, null, true), this.parse(t2), this.$x = this.$x || t2.x || {}, this[p] = true;
- }
- var m2 = M2.prototype;
- return m2.parse = function(t2) {
- this.$d = function(t3) {
- var e2 = t3.date, n2 = t3.utc;
- if (null === e2)
- return /* @__PURE__ */ new Date(NaN);
- if (b.u(e2))
- return /* @__PURE__ */ new Date();
- if (e2 instanceof Date)
- return new Date(e2);
- if ("string" == typeof e2 && !/Z$/i.test(e2)) {
- var r2 = e2.match($);
- if (r2) {
- var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3);
- return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2);
- }
- }
- return new Date(e2);
- }(t2), this.init();
- }, m2.init = function() {
- var t2 = this.$d;
- this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds();
- }, m2.$utils = function() {
- return b;
- }, m2.isValid = function() {
- return !(this.$d.toString() === l);
- }, m2.isSame = function(t2, e2) {
- var n2 = O(t2);
- return this.startOf(e2) <= n2 && n2 <= this.endOf(e2);
- }, m2.isAfter = function(t2, e2) {
- return O(t2) < this.startOf(e2);
- }, m2.isBefore = function(t2, e2) {
- return this.endOf(e2) < O(t2);
- }, m2.$g = function(t2, e2, n2) {
- return b.u(t2) ? this[e2] : this.set(n2, t2);
- }, m2.unix = function() {
- return Math.floor(this.valueOf() / 1e3);
- }, m2.valueOf = function() {
- return this.$d.getTime();
- }, m2.startOf = function(t2, e2) {
- var n2 = this, r2 = !!b.u(e2) || e2, f2 = b.p(t2), l2 = function(t3, e3) {
- var i2 = b.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2);
- return r2 ? i2 : i2.endOf(a);
- }, $2 = function(t3, e3) {
- return b.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2);
- }, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : "");
- switch (f2) {
- case h:
- return r2 ? l2(1, 0) : l2(31, 11);
- case c:
- return r2 ? l2(1, M3) : l2(0, M3 + 1);
- case o:
- var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;
- return l2(r2 ? m3 - D2 : m3 + (6 - D2), M3);
- case a:
- case d:
- return $2(v2 + "Hours", 0);
- case u:
- return $2(v2 + "Minutes", 1);
- case s:
- return $2(v2 + "Seconds", 2);
- case i:
- return $2(v2 + "Milliseconds", 3);
- default:
- return this.clone();
- }
- }, m2.endOf = function(t2) {
- return this.startOf(t2, false);
- }, m2.$set = function(t2, e2) {
- var n2, o2 = b.p(t2), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n2 = {}, n2[a] = f2 + "Date", n2[d] = f2 + "Date", n2[c] = f2 + "Month", n2[h] = f2 + "FullYear", n2[u] = f2 + "Hours", n2[s] = f2 + "Minutes", n2[i] = f2 + "Seconds", n2[r] = f2 + "Milliseconds", n2)[o2], $2 = o2 === a ? this.$D + (e2 - this.$W) : e2;
- if (o2 === c || o2 === h) {
- var y2 = this.clone().set(d, 1);
- y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
- } else
- l2 && this.$d[l2]($2);
- return this.init(), this;
- }, m2.set = function(t2, e2) {
- return this.clone().$set(t2, e2);
- }, m2.get = function(t2) {
- return this[b.p(t2)]();
- }, m2.add = function(r2, f2) {
- var d2, l2 = this;
- r2 = Number(r2);
- var $2 = b.p(f2), y2 = function(t2) {
- var e2 = O(l2);
- return b.w(e2.date(e2.date() + Math.round(t2 * r2)), l2);
- };
- if ($2 === c)
- return this.set(c, this.$M + r2);
- if ($2 === h)
- return this.set(h, this.$y + r2);
- if ($2 === a)
- return y2(1);
- if ($2 === o)
- return y2(7);
- var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[$2] || 1, m3 = this.$d.getTime() + r2 * M3;
- return b.w(m3, this);
- }, m2.subtract = function(t2, e2) {
- return this.add(-1 * t2, e2);
- }, m2.format = function(t2) {
- var e2 = this, n2 = this.$locale();
- if (!this.isValid())
- return n2.invalidDate || l;
- var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = b.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, c2 = n2.months, f2 = n2.meridiem, h2 = function(t3, n3, i3, s3) {
- return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].slice(0, s3);
- }, d2 = function(t3) {
- return b.s(s2 % 12 || 12, t3, "0");
- }, $2 = f2 || function(t3, e3, n3) {
- var r3 = t3 < 12 ? "AM" : "PM";
- return n3 ? r3.toLowerCase() : r3;
- };
- return r2.replace(y, function(t3, r3) {
- return r3 || function(t4) {
- switch (t4) {
- case "YY":
- return String(e2.$y).slice(-2);
- case "YYYY":
- return b.s(e2.$y, 4, "0");
- case "M":
- return a2 + 1;
- case "MM":
- return b.s(a2 + 1, 2, "0");
- case "MMM":
- return h2(n2.monthsShort, a2, c2, 3);
- case "MMMM":
- return h2(c2, a2);
- case "D":
- return e2.$D;
- case "DD":
- return b.s(e2.$D, 2, "0");
- case "d":
- return String(e2.$W);
- case "dd":
- return h2(n2.weekdaysMin, e2.$W, o2, 2);
- case "ddd":
- return h2(n2.weekdaysShort, e2.$W, o2, 3);
- case "dddd":
- return o2[e2.$W];
- case "H":
- return String(s2);
- case "HH":
- return b.s(s2, 2, "0");
- case "h":
- return d2(1);
- case "hh":
- return d2(2);
- case "a":
- return $2(s2, u2, true);
- case "A":
- return $2(s2, u2, false);
- case "m":
- return String(u2);
- case "mm":
- return b.s(u2, 2, "0");
- case "s":
- return String(e2.$s);
- case "ss":
- return b.s(e2.$s, 2, "0");
- case "SSS":
- return b.s(e2.$ms, 3, "0");
- case "Z":
- return i2;
- }
- return null;
- }(t3) || i2.replace(":", "");
- });
- }, m2.utcOffset = function() {
- return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
- }, m2.diff = function(r2, d2, l2) {
- var $2, y2 = this, M3 = b.p(d2), m3 = O(r2), v2 = (m3.utcOffset() - this.utcOffset()) * e, g2 = this - m3, D2 = function() {
- return b.m(y2, m3);
- };
- switch (M3) {
- case h:
- $2 = D2() / 12;
- break;
- case c:
- $2 = D2();
- break;
- case f:
- $2 = D2() / 3;
- break;
- case o:
- $2 = (g2 - v2) / 6048e5;
- break;
- case a:
- $2 = (g2 - v2) / 864e5;
- break;
- case u:
- $2 = g2 / n;
- break;
- case s:
- $2 = g2 / e;
- break;
- case i:
- $2 = g2 / t;
- break;
- default:
- $2 = g2;
- }
- return l2 ? $2 : b.a($2);
- }, m2.daysInMonth = function() {
- return this.endOf(c).$D;
- }, m2.$locale = function() {
- return D[this.$L];
- }, m2.locale = function(t2, e2) {
- if (!t2)
- return this.$L;
- var n2 = this.clone(), r2 = w(t2, e2, true);
- return r2 && (n2.$L = r2), n2;
- }, m2.clone = function() {
- return b.w(this.$d, this);
- }, m2.toDate = function() {
- return new Date(this.valueOf());
- }, m2.toJSON = function() {
- return this.isValid() ? this.toISOString() : null;
- }, m2.toISOString = function() {
- return this.$d.toISOString();
- }, m2.toString = function() {
- return this.$d.toUTCString();
- }, M2;
- }(), k = _.prototype;
- return O.prototype = k, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", c], ["$y", h], ["$D", d]].forEach(function(t2) {
- k[t2[1]] = function(e2) {
- return this.$g(e2, t2[0], t2[1]);
- };
- }), O.extend = function(t2, e2) {
- return t2.$i || (t2(e2, _, O), t2.$i = true), O;
- }, O.locale = w, O.isDayjs = S, O.unix = function(t2) {
- return O(1e3 * t2);
- }, O.en = D[g], O.Ls = D, O.p = {}, O;
- });
- }
-});
-export default require_dayjs_min();
-//# sourceMappingURL=dayjs.js.map
diff --git a/h5_meeting/unpackage/dist/cache/.vite/deps/dayjs.js.map b/h5_meeting/unpackage/dist/cache/.vite/deps/dayjs.js.map
deleted file mode 100644
index 904b1a0..0000000
--- a/h5_meeting/unpackage/dist/cache/.vite/deps/dayjs.js.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "version": 3,
- "sources": ["../../../../../node_modules/dayjs/dayjs.min.js"],
- "sourcesContent": ["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));"],
- "mappings": "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",
- "names": ["t", "e", "n", "r", "i", "s", "u", "a", "M", "m", "f", "l", "$", "y", "v", "g", "D", "o", "d", "c", "h"]
-}
diff --git a/h5_meeting/unpackage/dist/cache/.vite/deps/package.json b/h5_meeting/unpackage/dist/cache/.vite/deps/package.json
deleted file mode 100644
index 3dbc1ca..0000000
--- a/h5_meeting/unpackage/dist/cache/.vite/deps/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "type": "module"
-}
diff --git a/h5_meeting/unpackage/res/icons/1024x1024.png b/h5_meeting/unpackage/res/icons/1024x1024.png
new file mode 100644
index 0000000..8e5ccd4
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/1024x1024.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/120x120.png b/h5_meeting/unpackage/res/icons/120x120.png
new file mode 100644
index 0000000..650cc00
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/120x120.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/144x144.png b/h5_meeting/unpackage/res/icons/144x144.png
new file mode 100644
index 0000000..1b2fc49
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/144x144.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/152x152.png b/h5_meeting/unpackage/res/icons/152x152.png
new file mode 100644
index 0000000..0bc20ba
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/152x152.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/167x167.png b/h5_meeting/unpackage/res/icons/167x167.png
new file mode 100644
index 0000000..bd290e8
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/167x167.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/180x180.png b/h5_meeting/unpackage/res/icons/180x180.png
new file mode 100644
index 0000000..93ab56f
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/180x180.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/192x192.png b/h5_meeting/unpackage/res/icons/192x192.png
new file mode 100644
index 0000000..e6e6595
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/192x192.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/20x20.png b/h5_meeting/unpackage/res/icons/20x20.png
new file mode 100644
index 0000000..ceaeb7c
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/20x20.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/29x29.png b/h5_meeting/unpackage/res/icons/29x29.png
new file mode 100644
index 0000000..154fa02
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/29x29.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/40x40.png b/h5_meeting/unpackage/res/icons/40x40.png
new file mode 100644
index 0000000..d1c2b47
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/40x40.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/58x58.png b/h5_meeting/unpackage/res/icons/58x58.png
new file mode 100644
index 0000000..a4cc188
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/58x58.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/60x60.png b/h5_meeting/unpackage/res/icons/60x60.png
new file mode 100644
index 0000000..d42638d
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/60x60.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/72x72.png b/h5_meeting/unpackage/res/icons/72x72.png
new file mode 100644
index 0000000..f6ef39e
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/72x72.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/76x76.png b/h5_meeting/unpackage/res/icons/76x76.png
new file mode 100644
index 0000000..afed12c
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/76x76.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/80x80.png b/h5_meeting/unpackage/res/icons/80x80.png
new file mode 100644
index 0000000..e0b8ee0
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/80x80.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/87x87.png b/h5_meeting/unpackage/res/icons/87x87.png
new file mode 100644
index 0000000..09839e1
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/87x87.png
Binary files differ
diff --git a/h5_meeting/unpackage/res/icons/96x96.png b/h5_meeting/unpackage/res/icons/96x96.png
new file mode 100644
index 0000000..dcccdbc
--- /dev/null
+++ b/h5_meeting/unpackage/res/icons/96x96.png
Binary files differ
diff --git a/h5_meeting/utils/config.js b/h5_meeting/utils/config.js
index 8b7806b..ce04ab2 100644
--- a/h5_meeting/utils/config.js
+++ b/h5_meeting/utils/config.js
@@ -1,6 +1,6 @@
-export const baseUrl = 'meetingAdmin/'
-// export const baseUrl = 'http://192.168.0.139:10010/admin_interface/'
+// export const baseUrl = 'meetingAdmin/'
+export const baseUrl = 'http://10.50.250.178:8088/gateway_interface/'
export const uploadAvatar = `${baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do`
export const uploadUrl = `${baseUrl}visitsAdmin/cloudService/public/uploadBatch`
diff --git a/h5_meeting/utils/service.js b/h5_meeting/utils/service.js
index 92da23d..69029d9 100644
--- a/h5_meeting/utils/service.js
+++ b/h5_meeting/utils/service.js
@@ -12,8 +12,9 @@
title: '鍔犺浇涓�',
mask: true
})
+ const param = uni.getStorageSync('param') || {}
uni.request({
- url: baseUrl + options.url,
+ url: param.baseUrl || baseUrl + options.url,
data: options.data || {},
method: options.method || 'GET',
header: options.header || {
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
index 6b9bda1..a9d2dde 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
@@ -143,7 +143,7 @@
String result = hkSyncPushService.dealVisitEventIccm(param,response);
return ApiResponse.success(result);
}
- @ApiOperation("銆愭捣搴枫�戣瀹CCM浜嬩欢璁㈤槄鎺ㄩ�佸鎺ュ鐞嗘帴鍙�")
+ @ApiOperation("銆愭捣搴枫�戞祴璇昄ED鏄剧ず灞�")
@PostMapping("/testLed")
@LoginNoRequired
public ApiResponse<BaseResponse> testLed(@RequestBody TransparentChannelBodyRequest request, HttpServletResponse response) {
@@ -151,9 +151,14 @@
head.setAbility("cld");//鍥哄畾鍊�
head.setTreatyType("haixuan_led_net");//鍥哄畾鍊�
head.setDeviceIndexCode("6a5498e9df924befbb9530e467e5e809");
- HKService.transparentchannel(head,request);
return ApiResponse.success(HKService.transparentchannel(head,request));
}
+ @ApiOperation("銆愭捣搴枫�戞祴璇曞箍鎾挱鎶�")
+ @PostMapping("/testBroadcast")
+ @LoginNoRequired
+ public ApiResponse<BaseResponse> testBroadcast(@RequestBody CustomBroadcastRequest request, HttpServletResponse response) {
+ return ApiResponse.success( HKService.customBroadcast(request));
+ }
// @PreventRepeat
@ApiOperation("銆愭捣搴枫�戝仠杞﹀満浜嬩欢璁㈤槄鎺ㄩ�佸鎺ュ鐞嗘帴鍙�")
@PostMapping("/push/parks")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java
index 33ea271..20c3a9f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java
@@ -692,7 +692,7 @@
private boolean isDeletedLedDevice(Device device, List<LedRecordsInfoResponse> allHkList) {
if(allHkList.size()>0){
for(LedRecordsInfoResponse r : allHkList){
- if(StringUtils.equals(device.getDoorId(), r.getModel_data_id())){
+ if(StringUtils.equals(device.getHkId(), r.getModel_data_id())){
//琛ㄧず鏈垹闄�
return false;
}
@@ -704,7 +704,7 @@
private boolean isDeletedBroadcastDevice(Device device, List<FetchAudioChannelInfoResponse> allHkList) {
if(allHkList.size()>0){
for(FetchAudioChannelInfoResponse r : allHkList){
- if(StringUtils.equals(device.getDoorId(), r.getAudioChannelIndexCode())){
+ if(StringUtils.equals(device.getHkId(), r.getAudioChannelIndexCode())){
//琛ㄧず鏈垹闄�
return false;
}
--
Gitblit v1.9.3