修改大屏劳务管理

dev_xd
haha 2025-06-01 21:13:55 +08:00
parent a01534c6dc
commit 9e3205060a
7 changed files with 263 additions and 263 deletions

View File

@ -577,6 +577,7 @@ export default {
}
this.$api.project.getProjectInfo(this.selProject.id).then((d) => {
this.prjInfo = d.data || {}
this.prjInfo.vendorsCode = 'uni'
let tmps = this.prjInfo.projectDeptsList || []
const func = (t) => {
let objs = tmps.filter((it) => it.deptType == t)
@ -613,12 +614,11 @@ export default {
})
this.getWeatherNowInfo()
}
this.loadAttendanceData()
this.loadMilestoneData()
this.loadCostOutput()
this.initPhotographyList()
})
this.loadAttendanceData()
this.loadMilestoneData()
this.loadCostOutput()
this.initPhotographyList()
},
initPhotographyList() {
this.$api.detail.photographyList(this.selProject.id).then((d) => {

View File

@ -62,7 +62,7 @@
<module-one-1-1 label="工种占比分布" class="chart-module4" :key="chartKey">
<project-overview-chart
:htmlShow="true"
:key="'ai4' + overview+chartKey"
:key="'ai4' +chartKey"
:sp="''"
:fn="changeChart4"
:maintitle="workerTotal"
@ -233,12 +233,13 @@ export default {
this.$api.labor.getWorkerCountGroupByType(this.selProject.vendorsCode, this.selProject.id).then((d) => {
let sum = 0
d.data.forEach((item) => {
item.id = item.id || item.comId
sum += item.id ? item.id : 0
})
this.workerTotal = sum
this.workerGroupList = d.data.map((item) => {
return {
name: item.workTypeName,
name: item.workTypeName || item.craftPostName,
value: item.id ? item.id : 0,
}
})

View File

@ -420,7 +420,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
)
</select>
<select id="groupWorkderNative" resultMap="ProProjectInfoSubdeptsUsersResult">
<select id="groupWorkderNative" resultType="com.yanzhu.manage.domain.ProProjectInfoSubdeptsUsers">
select psu.card_code cardCode,nav.address comName
from pro_project_info_subdepts_users psu
left join sys_native nav on left(psu.card_code,6)=nav.id
@ -431,7 +431,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="getWorkerCountGroupByType" resultMap="ProProjectInfoSubdeptsUsersResult">
select dic2.dict_label as craft_post_name,
count(1) comId
count(1) id
from pro_project_info_subdepts_users psu
join sys_dict_data dic2 on psu.`craft_post` = dic2.`dict_value` and dic2.`dict_type` = 'pro_craft_post'
where psu.is_del!=2

View File

@ -1707,6 +1707,9 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
List<ProProjectInfoSubdeptsUsers> list=proProjectInfoSubdeptsUsersMapper.groupWorkderNative(prjId);
list.stream().forEach(d->{
String nav=d.getComName();
if(StringUtils.isEmpty(nav)){
nav="";
}
if(nav.contains("省")){
nav=nav.substring(0,nav.indexOf("省"));
}
@ -1719,7 +1722,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
d.setComName(nav);
String code=d.getCardCode();
if(StringUtils.isNotEmpty(code) && code.length()>=10){
String strY=code.substring(6-10);
String strY=code.substring(6,10);
if(NumberUtil.isNumber(strY)){
int y=DateUtils.calculatedAgeByBirthDay(strY+"-1-1");
// 1.18-30 2.30-40 3.40-55 4.55

View File

@ -288,7 +288,7 @@ export default {
})
},
startImmersionRoaming(e) {
this.me.resetScene()
this.me && this.me.resetScene()
e.preventDefault()
if (!this.form.name) {
ElMessage.warning('请输入漫游名称!')
@ -351,7 +351,7 @@ export default {
}
if (this.isRoaming) {
this.isRoaming = false
this.me.resetScene()
this.me && this.me.resetScene()
} else {
ElMessage.warning('请先开启漫游')
}
@ -410,7 +410,7 @@ export default {
}
api.Camera.cancelPlayImmersiveRoam()
this.isRoamingHistory = false
this.me.resetScene()
this.me && this.me.resetScene()
},
renamed(record) {
this.visibleRenamed = true

View File

@ -34,7 +34,8 @@
<el-icon @click="doToolsClose" style="color:#fff" class="tools-close">
<Close />
</el-icon>
<person-roaming v-if="activeMenu===1" ref="personRoaming" :me="this"></person-roaming>
<person-roaming v-if="activeMenu==1" ref="personRoaming" :me="this"></person-roaming>
<custom-viewpoint v-if="activeMenu==2" ref="customViewpoint" :me="this"></custom-viewpoint>
</div>
</div>
</template>
@ -44,11 +45,13 @@ import useUserStore from '@/store/modules/user'
import { listBimModel } from '@/api/bim/bimModel'
import ModelFloorTree from './ModelFloorTree.vue'
import PersonRoaming from './PersonRoaming.vue'
import CustomViewpoint from './CustomViewpoint.vue'
export default {
components: {
ModelFloorTree,
PersonRoaming,
CustomViewpoint,
},
data() {
return {
@ -93,6 +96,7 @@ export default {
api.Plugin.deleteMiniMap()
},
doMenu(n) {
debugger
if (n == this.activeMenu) {
if (n == 0) {
this.resetScene()
@ -106,6 +110,9 @@ export default {
if (n == 1) {
this.param.title = '第一人称漫游'
}
if (n == 2) {
this.param.title = '自定义视点漫游'
}
},
NotificationPopup(parameter) {
this.param = parameter

View File

@ -1,50 +1,47 @@
<template>
<div class="app-container">
<el-form v-if="false" :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="${comment}" prop="comId">
<el-input v-model="queryParams.comId" placeholder="请输入${comment}" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="${comment}" prop="projectId">
<el-input v-model="queryParams.projectId" placeholder="请输入${comment}" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="监控名称" prop="monitorName">
<el-input v-model="queryParams.monitorName" placeholder="请输入监控名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="AppKey" prop="appkey">
<el-input v-model="queryParams.appkey" placeholder="请输入AppKey" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="Secret" prop="secret">
<el-input v-model="queryParams.secret" placeholder="请输入Secret" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="设备厂商" prop="manufacturer">
<el-input v-model="queryParams.manufacturer" placeholder="请输入设备厂商" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="是否关键点" prop="keyPoint">
<el-input v-model="queryParams.keyPoint" placeholder="请输入是否关键点" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="${comment}" prop="state">
<el-input v-model="queryParams.state" placeholder="请输入${comment}" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="${comment}" prop="isDel">
<el-input v-model="queryParams.isDel" placeholder="请输入${comment}" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="${comment}" prop="upadteTime">
<el-date-picker clearable v-model="queryParams.upadteTime" type="date" value-format="YYYY-MM-DD"
placeholder="请选择${comment}">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<div class="app-container">
<el-form v-if="false" :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="${comment}" prop="comId">
<el-input v-model="queryParams.comId" placeholder="请输入${comment}" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="${comment}" prop="projectId">
<el-input v-model="queryParams.projectId" placeholder="请输入${comment}" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="监控名称" prop="monitorName">
<el-input v-model="queryParams.monitorName" placeholder="请输入监控名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="AppKey" prop="appkey">
<el-input v-model="queryParams.appkey" placeholder="请输入AppKey" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="Secret" prop="secret">
<el-input v-model="queryParams.secret" placeholder="请输入Secret" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="设备厂商" prop="manufacturer">
<el-input v-model="queryParams.manufacturer" placeholder="请输入设备厂商" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="是否关键点" prop="keyPoint">
<el-input v-model="queryParams.keyPoint" placeholder="请输入是否关键点" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="${comment}" prop="state">
<el-input v-model="queryParams.state" placeholder="请输入${comment}" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="${comment}" prop="isDel">
<el-input v-model="queryParams.isDel" placeholder="请输入${comment}" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="${comment}" prop="upadteTime">
<el-date-picker clearable v-model="queryParams.upadteTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择${comment}"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd"
v-hasPermi="['manage:videoMonitor:add']">新增</el-button>
</el-col>
<!--
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['manage:videoMonitor:add']"></el-button>
</el-col>
<!--
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate"
v-hasPermi="['manage:videoMonitor:edit']">修改</el-button>
@ -58,263 +55,255 @@
v-hasPermi="['manage:videoMonitor:export']">导出</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
-->
</el-row>
-->
</el-row>
<el-table v-loading="loading" :data="videoMonitorList" @selection-change="handleSelectionChange">
<el-table-column label="监控名称" align="center" prop="monitorName" />
<el-table-column label="项目名称" align="center" prop="projectName" />
<el-table-column label="链接" align="center" prop="url" />
<el-table-column label="萤石云AppKey" align="center" prop="appkey" />
<el-table-column label="萤石云Secret" align="center" prop="secret" />
<el-table-column label="设备厂商" align="center" prop="manufacturer" />
<el-table-column label="是否重点" align="center" prop="keyPoint">
<template #default="scope">{{scope.row.keyPoint==1?'是':'否' }}</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="160px">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
v-hasPermi="['manage:videoMonitor:edit']">修改</el-button>
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
v-hasPermi="['manage:videoMonitor:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-table v-loading="loading" :data="videoMonitorList" @selection-change="handleSelectionChange">
<el-table-column label="监控名称" align="center" prop="monitorName" />
<el-table-column label="项目名称" align="center" prop="projectName" />
<el-table-column label="链接" align="center" prop="url" />
<el-table-column label="萤石云AppKey" align="center" prop="appkey" />
<el-table-column label="萤石云Secret" align="center" prop="secret" />
<el-table-column label="设备厂商" align="center" prop="manufacturer" />
<el-table-column label="是否重点" align="center" prop="keyPoint">
<template #default="scope">{{scope.row.keyPoint==1?'是':'否' }}</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="160px">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['manage:videoMonitor:edit']"></el-button>
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['manage:videoMonitor:remove']"></el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改延迟摄影管理对话框 -->
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
<el-form ref="videoMonitorRef" :model="form" :rules="rules" label-width="80px">
<el-form-item label="${comment}" prop="comId">
<el-input v-model="form.comId" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="projectId">
<el-input v-model="form.projectId" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="监控名称" prop="monitorName">
<el-input v-model="form.monitorName" placeholder="请输入监控名称" />
</el-form-item>
<el-form-item label="监控连接" prop="url">
<el-input v-model="form.url" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="AppKey" prop="appkey">
<el-input v-model="form.appkey" placeholder="请输入AppKey" />
</el-form-item>
<el-form-item label="Secret" prop="secret">
<el-input v-model="form.secret" placeholder="请输入Secret" />
</el-form-item>
<el-form-item label="设备厂商" prop="manufacturer">
<el-input v-model="form.manufacturer" placeholder="请输入设备厂商" />
</el-form-item>
<el-form-item label="是否关键点" prop="keyPoint">
<el-input v-model="form.keyPoint" placeholder="请输入是否关键点" />
</el-form-item>
<el-form-item label="${comment}" prop="remark">
<el-input v-model="form.remark" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="state">
<el-input v-model="form.state" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="isDel">
<el-input v-model="form.isDel" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="upadteTime">
<el-date-picker clearable v-model="form.upadteTime" type="date" value-format="YYYY-MM-DD"
placeholder="请选择${comment}">
</el-date-picker>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
<videoMonitorDrawer ref="videoDrawer" @success="doSuccess"/>
</div>
<!-- 添加或修改延迟摄影管理对话框 -->
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
<el-form ref="videoMonitorRef" :model="form" :rules="rules" label-width="80px">
<el-form-item label="${comment}" prop="comId">
<el-input v-model="form.comId" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="projectId">
<el-input v-model="form.projectId" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="监控名称" prop="monitorName">
<el-input v-model="form.monitorName" placeholder="请输入监控名称" />
</el-form-item>
<el-form-item label="监控连接" prop="url">
<el-input v-model="form.url" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="AppKey" prop="appkey">
<el-input v-model="form.appkey" placeholder="请输入AppKey" />
</el-form-item>
<el-form-item label="Secret" prop="secret">
<el-input v-model="form.secret" placeholder="请输入Secret" />
</el-form-item>
<el-form-item label="设备厂商" prop="manufacturer">
<el-input v-model="form.manufacturer" placeholder="请输入设备厂商" />
</el-form-item>
<el-form-item label="是否关键点" prop="keyPoint">
<el-input v-model="form.keyPoint" placeholder="请输入是否关键点" />
</el-form-item>
<el-form-item label="${comment}" prop="remark">
<el-input v-model="form.remark" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="state">
<el-input v-model="form.state" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="isDel">
<el-input v-model="form.isDel" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="upadteTime">
<el-date-picker clearable v-model="form.upadteTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择${comment}"></el-date-picker>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
<videoMonitorDrawer ref="videoDrawer" @success="doSuccess" />
</div>
</template>
<script setup name="VideoMonitor">
import {
listVideoMonitor,
getVideoMonitor,
delVideoMonitor,
addVideoMonitor,
updateVideoMonitor,
} from "@/api/manage/videoMonitor";
import videoMonitorDrawer from "./videoMonitorDrawer.vue";
const { proxy } = getCurrentInstance();
const videoMonitorList = ref([]);
const open = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const title = ref("");
const videoDrawer = ref();
import { listVideoMonitor, getVideoMonitor, delVideoMonitor, addVideoMonitor, updateVideoMonitor } from '@/api/manage/videoMonitor'
import useUserStore from '@/store/modules/user'
import videoMonitorDrawer from './videoMonitorDrawer.vue'
const { proxy } = getCurrentInstance()
const userStore = useUserStore()
const videoMonitorList = ref([])
const open = ref(false)
const loading = ref(true)
const showSearch = ref(true)
const ids = ref([])
const single = ref(true)
const multiple = ref(true)
const total = ref(0)
const title = ref('')
const videoDrawer = ref()
const data = reactive({
form: {},
queryParams: {
pageNum: 1,
pageSize: 10,
comId: null,
projectId: null,
monitorName: null,
monitorType: null,
url: null,
appkey: null,
secret: null,
manufacturer: null,
keyPoint: null,
state: null,
isDel: null,
upadteTime: null,
},
rules: {},
});
form: {},
queryParams: {
pageNum: 1,
pageSize: 10,
comId: null,
projectId: null,
monitorName: null,
monitorType: null,
url: null,
appkey: null,
secret: null,
manufacturer: null,
keyPoint: null,
state: null,
isDel: null,
upadteTime: null,
},
rules: {},
})
const { queryParams, form, rules } = toRefs(data);
const { queryParams, form, rules } = toRefs(data)
/** 查询延迟摄影管理列表 */
function getList() {
loading.value = true;
listVideoMonitor(queryParams.value).then((response) => {
videoMonitorList.value = response.rows;
total.value = response.total;
loading.value = false;
});
loading.value = true
queryParams.value.projectId = userStore.currentPrjId
queryParams.value.comId = userStore.currentComId
listVideoMonitor(queryParams.value).then((response) => {
videoMonitorList.value = response.rows
total.value = response.total
loading.value = false
})
}
//
function cancel() {
open.value = false;
reset();
open.value = false
reset()
}
//
function reset() {
form.value = {
id: null,
comId: null,
projectId: null,
monitorName: null,
monitorType: null,
url: null,
appkey: null,
secret: null,
manufacturer: null,
keyPoint: null,
remark: null,
state: null,
isDel: null,
createBy: null,
createTime: null,
updateBy: null,
upadteTime: null,
};
proxy.resetForm("videoMonitorRef");
form.value = {
id: null,
comId: null,
projectId: null,
monitorName: null,
monitorType: null,
url: null,
appkey: null,
secret: null,
manufacturer: null,
keyPoint: null,
remark: null,
state: null,
isDel: null,
createBy: null,
createTime: null,
updateBy: null,
upadteTime: null,
}
proxy.resetForm('videoMonitorRef')
}
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNum = 1;
getList();
queryParams.value.pageNum = 1
getList()
}
/** 重置按钮操作 */
function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
proxy.resetForm('queryRef')
handleQuery()
}
function doSuccess(){
handleQuery();
function doSuccess() {
handleQuery()
}
//
function handleSelectionChange(selection) {
ids.value = selection.map((item) => item.id);
single.value = selection.length != 1;
multiple.value = !selection.length;
ids.value = selection.map((item) => item.id)
single.value = selection.length != 1
multiple.value = !selection.length
}
/** 新增按钮操作 */
function handleAdd() {
//reset();
//open.value = true;
//title.value = "";
videoDrawer.value.showDrawer({
type: "add",
});
//reset();
//open.value = true;
//title.value = "";
videoDrawer.value.showDrawer({
type: 'add',
})
}
/** 修改按钮操作 */
function handleUpdate(row) {
reset();
const _id = row.id || ids.value;
getVideoMonitor(_id).then((response) => {
//form.value = response.data;
//open.value = true;
//title.value = "";
videoDrawer.value.showDrawer({
row: response.data,
type: "edit",
});
});
reset()
const _id = row.id || ids.value
getVideoMonitor(_id).then((response) => {
//form.value = response.data;
//open.value = true;
//title.value = "";
videoDrawer.value.showDrawer({
row: response.data,
type: 'edit',
})
})
}
/** 提交按钮 */
function submitForm() {
proxy.$refs["videoMonitorRef"].validate((valid) => {
if (valid) {
if (form.value.id != null) {
updateVideoMonitor(form.value).then((response) => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
});
} else {
addVideoMonitor(form.value).then((response) => {
proxy.$modal.msgSuccess("新增成功");
open.value = false;
getList();
});
}
}
});
proxy.$refs['videoMonitorRef'].validate((valid) => {
if (valid) {
if (form.value.id != null) {
updateVideoMonitor(form.value).then((response) => {
proxy.$modal.msgSuccess('修改成功')
open.value = false
getList()
})
} else {
addVideoMonitor(form.value).then((response) => {
proxy.$modal.msgSuccess('新增成功')
open.value = false
getList()
})
}
}
})
}
/** 删除按钮操作 */
function handleDelete(row) {
const _ids = row.id || ids.value;
proxy.$modal
.confirm('是否确认删除延迟摄影名称为【' + row.monitorName + '】的数据项?')
.then(function () {
return delVideoMonitor(_ids);
})
.then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");
})
.catch(() => { });
const _ids = row.id || ids.value
proxy.$modal
.confirm('是否确认删除延迟摄影名称为【' + row.monitorName + '】的数据项?')
.then(function () {
return delVideoMonitor(_ids)
})
.then(() => {
getList()
proxy.$modal.msgSuccess('删除成功')
})
.catch(() => {})
}
/** 导出按钮操作 */
function handleExport() {
proxy.download(
"manage/videoMonitor/export",
{
...queryParams.value,
},
`videoMonitor_${new Date().getTime()}.xlsx`
);
proxy.download(
'manage/videoMonitor/export',
{
...queryParams.value,
},
`videoMonitor_${new Date().getTime()}.xlsx`
)
}
getList();
getList()
</script>