举牌验收功能完善

dev_xd
lj7788@126.com 2025-08-14 15:26:04 +08:00
parent 74ecabfab7
commit 0e207834d9
9 changed files with 142 additions and 82 deletions

View File

@ -2011,8 +2011,8 @@ swiper-item video {
padding: 0 6px; padding: 0 6px;
text-align: center; text-align: center;
white-space: nowrap; white-space: nowrap;
margin-left: 110rpx; right: 40rpx;
margin-top: 16rpx; top: 40rpx;
} }
.van-col--18 { .van-col--18 {

View File

@ -31,10 +31,12 @@
<view class="inspect_list_title"> <view class="inspect_list_title">
<view class="inspect_list_title_label inspect_list_title_width"> <view class="inspect_list_title_label inspect_list_title_width">
<view class="edit-icon" catchtap="editClick" data-set="{{ item }}" wx:if="{{item.canEdit}}"> <view class="edit-icon" catchtap="editClick" data-set="{{ item }}" wx:if="{{item.canEdit}}">
<svg-icon src="edit" color="#45affb" size="80" /> <svg-icon src="edit" color="#45affb" size="40" />
<view class="icon-text" style="color:#45affb">编辑</view>
</view> </view>
<view wx:if="{{item.canApprove}}" class="edit-icon" catchtap="approveClick" data-set="{{ item }}"> <view wx:if="{{item.canApprove}}" class="edit-icon" catchtap="approveClick" data-set="{{ item }}">
<svg-icon src="approve" color="#f20d5d" size="80" /> <svg-icon src="approve" color="#45affb" size="40" />
<view class="icon-text" style="color:#45affb">审批</view>
</view> </view>
<view class="inspect_list_title_number">{{ <view class="inspect_list_title_number">{{

View File

@ -1,7 +1,10 @@
.project_checked_list .inspect_for_bgd { .project_checked_list .inspect_for_bgd {
position: relative; position: relative;
} }
.project_checked_list .inspect_for_bgd .edit-icon { .project_checked_list .inspect_for_bgd .edit-icon {
position: absolute; position: absolute;
right: 40rpx; right: 40rpx;
} top: 20rpx;
display: flex;
}

View File

@ -1,23 +1,28 @@
.more_max{ .more_max {
padding:10rpx 30rpx 30rpx; padding: 10rpx 30rpx 30rpx;
} }
.more_manage{
border-radius: 10rpx; .more_manage {
margin-top: 50rpx; border-radius: 10rpx;
} margin-top: 50rpx;
.gd_max{ }
padding:10rpx 50rpx 0;
} .gd_max {
.gd_min{ padding: 10rpx 50rpx 0;
padding: 30rpx 0; }
text-align: center;
} .gd_min {
.gd_min image{ padding: 30rpx 0;
width: 150rpx; text-align: center;
height: 150rpx; position: relative;
} }
.gd_min view{
padding: 10rpx; .gd_min image {
color: #89a4eb; width: 150rpx;
} height: 150rpx;
}
.gd_min view {
padding: 10rpx;
color: #89a4eb;
}

View File

@ -20,6 +20,7 @@ Page({
zlglDb: 0, zlglDb: 0,
todoDB: 0, todoDB: 0,
checkDB: 0, //举牌验收数量 checkDB: 0, //举牌验收数量
menuKey: 0,
checkList: [ checkList: [
{ {
id: 1, id: 1,
@ -207,6 +208,7 @@ Page({
proUserInfo.subDeptType == "1" proUserInfo.subDeptType == "1"
? res.data.dwsh + res.data.rysh ? res.data.dwsh + res.data.rysh
: res.data.todo, : res.data.todo,
menuKey: res.data.menuKey + 1,
}); });
} }
}); });
@ -223,6 +225,7 @@ Page({
if (res.success) { if (res.success) {
this.setData({ this.setData({
checkDB: res.data.cnt || 0, checkDB: res.data.cnt || 0,
menuKey: res.data.menuKey + 1,
}); });
} }
}); });

View File

@ -21,7 +21,7 @@
<view class="max_content"> <view class="max_content">
<project-select init="{{initData}}" bindchange="onProjectSelect"></project-select> <project-select init="{{initData}}" bindchange="onProjectSelect"></project-select>
<view class="gd_max" style="margin-top: 20rpx;"> <view class="gd_max" style="margin-top: 20rpx;">
<van-row class="demo clearfix"> <van-row class="demo clearfix" wx::key="menuKey">
<van-col span="8" wx:for="{{menuList}}" wx:key="unique"> <van-col span="8" wx:for="{{menuList}}" wx:key="unique">
<view class="gd_min" data-id="{{item.menuIdenti}}" data-url="{{item.menuUrl}}" bindtap="goMenu"> <view class="gd_min" data-id="{{item.menuIdenti}}" data-url="{{item.menuUrl}}" bindtap="goMenu">
<span class="tabNum_active" wx:if="{{item.menuIdenti=='ZLYHPC' && zlyhDB>0}}">{{zlyhDB}}</span> <span class="tabNum_active" wx:if="{{item.menuIdenti=='ZLYHPC' && zlyhDB>0}}">{{zlyhDB}}</span>

View File

@ -1,27 +1,28 @@
.more_max { .more_max {
padding: 10rpx 30rpx 30rpx; padding: 10rpx 30rpx 30rpx;
} }
.more_manage { .more_manage {
border-radius: 10rpx; border-radius: 10rpx;
margin-top: 50rpx; margin-top: 50rpx;
} }
.gd_max { .gd_max {
padding: 10rpx 50rpx 0; padding: 10rpx 50rpx 0;
} }
.gd_min { .gd_min {
padding: 30rpx 0; padding: 30rpx 0;
text-align: center; text-align: center;
position: relative;
} }
.gd_min image { .gd_min image {
width: 150rpx; width: 150rpx;
height: 150rpx; height: 150rpx;
} }
.gd_min view { .gd_min view {
padding: 10rpx; padding: 10rpx;
color: #89a4eb; color: #89a4eb;
} }

View File

@ -1,27 +1,28 @@
.more_max { .more_max {
padding: 10rpx 30rpx 30rpx; padding: 10rpx 30rpx 30rpx;
} }
.more_manage { .more_manage {
border-radius: 10rpx; border-radius: 10rpx;
margin-top: 50rpx; margin-top: 50rpx;
} }
.gd_max { .gd_max {
padding: 10rpx 50rpx 0; padding: 10rpx 50rpx 0;
} }
.gd_min { .gd_min {
padding: 30rpx 0; padding: 30rpx 0;
text-align: center; text-align: center;
position: relative;
} }
.gd_min image { .gd_min image {
width: 150rpx; width: 150rpx;
height: 150rpx; height: 150rpx;
} }
.gd_min view { .gd_min view {
padding: 10rpx; padding: 10rpx;
color: #89a4eb; color: #89a4eb;
} }

View File

@ -125,7 +125,7 @@
<script> <script>
import { VideoPlay, VideoPause, Close, Edit, Delete } from '@element-plus/icons-vue' import { VideoPlay, VideoPause, Close, Edit, Delete } from '@element-plus/icons-vue'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox, timeSelectProps } from 'element-plus'
import { roamingAdd, roamingGet, roamingUpdateByName, roamingDeleteById } from '@/api/bim/bim.js' import { roamingAdd, roamingGet, roamingUpdateByName, roamingDeleteById } from '@/api/bim/bim.js'
import useUserStore from '@/store/modules/user' import useUserStore from '@/store/modules/user'
@ -176,6 +176,7 @@ export default {
}, },
data() { data() {
return { return {
isClient: false,
data, data,
data1, data1,
visibleRenamed: false, visibleRenamed: false,
@ -235,7 +236,8 @@ export default {
}, },
mounted() { mounted() {
window.xapp = this window.xapp = this
if (!this.me.bimCfg.clientApi) { this.isClient = this.me.bimCfg?.clientApi == true
if (!this.isClient) {
api.Plugin.addMiniMap() api.Plugin.addMiniMap()
let options = { let options = {
Anchor: 3, Anchor: 3,
@ -285,6 +287,57 @@ export default {
}) })
}) })
}, },
startClientImmersionRoaming() {
api.Camera.EndImmersionRoaming();
api.Camera.PickIrBirthplace(A => {
api.Camera.SetIRConfig({
roamingMode: this.form.roamType,
moveRate: this.form.moveRate,
turnRate: this.form.turnRate,
footerHeight: 1,
onIRStart: () => {
ElMessage.warning('请使用鼠标左键进行操作!')
},
onIREnd: (data) => {
this.doOnIREnd(data);
}
});
this.isRoaming = true
api.Camera.StartImmersionRoaming()
});
},
doOnIREnd(result) {
ElMessage.success('漫游结束')
if (this.stop === 0) {
return
}
let data = {
vo: {
roamingType: 1,
speed: 0,
sort: 0,
time: 0,
projectId: this.currentPrjId,
comId: this.currentComId,
name: this.form.name,
modelId: api.m_model.keys().toArray().join(','),
roamingMode: this.form.roamType,
moveRate: this.form.moveRate,
turnRate: this.form.turnRate,
points: JSON.stringify(result),
pointCount: result.length,
},
}
roamingAdd(data).then((res) => {
if (res.code == 0) {
ElMessage.success('保存成功!')
} else {
ElMessage.error('保存失败!')
}
})
},
startImmersionRoaming(e) { startImmersionRoaming(e) {
this.me && this.me.resetScene() this.me && this.me.resetScene()
e.preventDefault() e.preventDefault()
@ -296,6 +349,10 @@ export default {
this.$refs.ruleForm.validate((valid) => { this.$refs.ruleForm.validate((valid) => {
if (valid) { if (valid) {
ElMessage.info('请点击选择漫游起始点') ElMessage.info('请点击选择漫游起始点')
if (this.isClient) {
this.startClientImmersionRoaming()
return;
}
this.GetObtainCoordinates({ this.GetObtainCoordinates({
clickStatus: true, clickStatus: true,
callback: (data) => { callback: (data) => {
@ -309,34 +366,7 @@ export default {
turnRate: this.form.turnRate, turnRate: this.form.turnRate,
bRecordLocus: true, bRecordLocus: true,
onIREnd: (result) => { onIREnd: (result) => {
ElMessage.success('漫游结束') this.doOnIREnd(result)
if (this.stop === 0) {
return
}
let data = {
vo: {
roamingType: 1,
speed: 0,
sort: 0,
time: 0,
projectId: this.currentPrjId,
comId: this.currentComId,
name: this.form.name,
modelId: api.m_model.keys().toArray().join(','),
roamingMode: this.form.roamType,
moveRate: this.form.moveRate,
turnRate: this.form.turnRate,
points: JSON.stringify(result),
pointCount: result.length,
},
}
roamingAdd(data).then((res) => {
if (res.code == 0) {
ElMessage.success('保存成功!')
} else {
ElMessage.error('保存失败!')
}
})
}, },
}) })
@ -348,6 +378,9 @@ export default {
}) })
}, },
endImmersionRoaming(n) { endImmersionRoaming(n) {
if (this.isClient) {
api.Camera.EndImmersionRoaming();
}
if (n) { if (n) {
this.isStop = 99 this.isStop = 99
} else { } else {
@ -470,12 +503,24 @@ export default {
}, },
beforeUnmount() { beforeUnmount() {
if (this.isRoaming) { if (this.isRoaming) {
api.Camera.stopImmersiveRoam() if (this.isClient) {
api.Camera.EndImmersionRoaming()
} else {
api.Camera.stopImmersiveRoam()
}
} }
if (this.isRoamingHistory) { if (this.isRoamingHistory) {
api.Camera.cancelPlayImmersiveRoam() if (this.isClient) {
api.Camera.EndImmersionRoaming()
} else {
api.Camera.cancelPlayImmersiveRoam()
}
}
if (!this.isClient) {
api.Plugin.deleteMiniMap()
} }
api.Plugin.deleteMiniMap()
api.Model.location(api.m_model.keys().toArray()[0]) api.Model.location(api.m_model.keys().toArray()[0])
}, },
} }