|
|
|
|
@ -10,11 +10,19 @@
|
|
|
|
|
<span style="vertical-align: middle;"> 新增 </span>
|
|
|
|
|
</el-button> -->
|
|
|
|
|
|
|
|
|
|
<el-button type="warning" style="margin-left: 0.5%;margin-top: 0px;" @click="updateOperators">
|
|
|
|
|
<el-button type="primary" style="margin-left: 0.5%;margin-top: 0px;" @click="updateOperators">
|
|
|
|
|
<el-icon>
|
|
|
|
|
<Edit />
|
|
|
|
|
</el-icon>
|
|
|
|
|
<span style="vertical-align: middle;"> 修改配置信息 </span>
|
|
|
|
|
<span style="vertical-align: middle;">修改</span>
|
|
|
|
|
</el-button>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-button type="warning" style="margin-left: 0.5%;margin-top: 0px;" @click="configClient">
|
|
|
|
|
<el-icon>
|
|
|
|
|
<Edit />
|
|
|
|
|
</el-icon>
|
|
|
|
|
<span style="vertical-align: middle;"> 远程修改配置信息 </span>
|
|
|
|
|
</el-button>
|
|
|
|
|
|
|
|
|
|
<!-- <el-button type="danger" style="margin-top: 0px;" @click="del">
|
|
|
|
|
@ -34,19 +42,20 @@
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<el-table :height=myHeight highlight-current-row="true" v-loading.fullscreen.lock="tableLoading" :data="tableData" border
|
|
|
|
|
style="width: 100%;" @current-change="tableHandleCurrentChange"
|
|
|
|
|
<el-table :height=myHeight highlight-current-row="true" v-loading.fullscreen.lock="tableLoading"
|
|
|
|
|
:data="tableData" border style="width: 100%;" @current-change="tableHandleCurrentChange"
|
|
|
|
|
@selection-change="handleSelectionChange">
|
|
|
|
|
<el-table-column :resizable="false" fixed align="center" type="index" width="80" label="序号" />
|
|
|
|
|
<el-table-column :resizable="false" align="center" prop="clientName" label="客户端别名" />
|
|
|
|
|
<el-table-column :resizable="false" align="center" width="150" prop="clientId" label="客户端MAC地址" />
|
|
|
|
|
<el-table-column :resizable="false" align="center" width="180" prop="connectStartTime" label="客户端创建连接时间" />
|
|
|
|
|
<el-table-column :resizable="false" align="center" width="180" prop="connectStartTime"
|
|
|
|
|
label="客户端创建连接时间" />
|
|
|
|
|
<el-table-column :resizable="false" align="center" prop="passwordKey" label="客户端动态口令私钥" />
|
|
|
|
|
<el-table-column :resizable="false" align="center" width="130" prop="groupName" label="客户端所属群组" />
|
|
|
|
|
<el-table-column :resizable="false" prop="right" label="操作" width="200" align="center">
|
|
|
|
|
<template v-slot="scope">
|
|
|
|
|
<el-button style="width: 48%;margin-left: 1%;margin-top: 2%"
|
|
|
|
|
@click="details(scope.row, scope.$index)" type="danger" size="default" :icon="View">
|
|
|
|
|
<el-button style="width: 48%;margin-left: 1%;margin-top: 2%" @click="unlock(scope.row)"
|
|
|
|
|
type="danger" size="default" :icon="View">
|
|
|
|
|
<span style="vertical-align: middle;"> 解锁屏幕 </span>
|
|
|
|
|
</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
@ -67,13 +76,33 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
|
|
|
|
|
<el-col :span="19" :offset="1">
|
|
|
|
|
<el-form-item label="用户名" :label-width="formLabelWidth" clearable>
|
|
|
|
|
<el-input placeholder="请输入" v-model="searchForm.loginNameQuery" autocomplete="off"></el-input>
|
|
|
|
|
<el-form-item label="客户端别名" :label-width="formLabelWidth">
|
|
|
|
|
<el-input clearable placeholder="请输入" v-model="searchForm.clientNameQuery"
|
|
|
|
|
autocomplete="off"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="19" :offset="1">
|
|
|
|
|
<el-form-item label="客户端MAC地址" :label-width="formLabelWidth">
|
|
|
|
|
<el-input clearable placeholder="请输入" v-model="searchForm.clientIdQuery"
|
|
|
|
|
autocomplete="off"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="19" :offset="1">
|
|
|
|
|
<el-form-item label="群组名称" :label-width="formLabelWidth">
|
|
|
|
|
<el-input clearable placeholder="请输入" v-model="searchForm.groupNameQuery"
|
|
|
|
|
autocomplete="off"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="19" :offset="1">
|
|
|
|
|
<el-form-item label="人员名称" :label-width="formLabelWidth" clearable>
|
|
|
|
|
<el-input placeholder="请输入" v-model="searchForm.userNameQuery" autocomplete="off"></el-input>
|
|
|
|
|
<el-form-item label="核销时间(起始)" :label-width="formLabelWidth">
|
|
|
|
|
<el-date-picker clearable v-model="searchForm.startTime" type="date" format="YYYY-MM-DD"
|
|
|
|
|
value-format="YYYY-MM-DD 00:00:00" style="width: 100%;" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="19" :offset="1">
|
|
|
|
|
<el-form-item label="核销时间(终止)" :label-width="formLabelWidth">
|
|
|
|
|
<el-date-picker clearable v-model="searchForm.endTime" type="date" format="YYYY-MM-DD"
|
|
|
|
|
value-format="YYYY-MM-DD 23:59:59" style="width: 100%;" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
@ -126,6 +155,32 @@
|
|
|
|
|
</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-dialog v-model="configShow" width="40%" top="0.5%" :destroy-on-close="true" :close-on-click-modal="false">
|
|
|
|
|
|
|
|
|
|
<template #header="{ titleAdd, titleClass, warnMessgae }">
|
|
|
|
|
<div class="my-header">
|
|
|
|
|
<span :id="titleAdd" :class="titleClass">客户端远程配置修改</span>
|
|
|
|
|
<span :id="warnMessgae" :class="titleClass" style="color: red;">
|
|
|
|
|
输入要修改的值,点击保存后发送修改指令 </span>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<clientConfigUpdate ref="clientConfigUpdateDom" :rowData="configForm" @addReload="addReload">
|
|
|
|
|
</clientConfigUpdate>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<template #footer>
|
|
|
|
|
<span class="dialog-footer">
|
|
|
|
|
<el-button @click="configShow = false"> 取消</el-button>
|
|
|
|
|
<el-button type="primary" @click="saveConfigData()"> 保存</el-button>
|
|
|
|
|
</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
</el-row>
|
|
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
@ -137,16 +192,25 @@ import pro from '../../../util/tool.js';
|
|
|
|
|
|
|
|
|
|
import { onMounted, reactive, ref, toRefs, warn } from 'vue';
|
|
|
|
|
|
|
|
|
|
import { getLockScreenClientList, addLockScreenGtUser,deleteLockScreenGtUser } from '@/util/api/api.js';
|
|
|
|
|
import { getLockScreenClientList, unLockClient, deleteLockScreenGtUser } from '@/util/api/api.js';
|
|
|
|
|
|
|
|
|
|
import { ElMessage, ElMessageBox } from "element-plus";
|
|
|
|
|
|
|
|
|
|
import clientAddUpdate from './clientAddUpdate.vue'
|
|
|
|
|
|
|
|
|
|
import clientConfigUpdate from './clientConfigUpdate.vue'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//定义子组件dom
|
|
|
|
|
const clientAddUpdateDom = ref(null);
|
|
|
|
|
|
|
|
|
|
//定义子组件dom
|
|
|
|
|
const clientConfigUpdateDom = ref(null);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//定义从父组件传进来的变量值
|
|
|
|
|
const props = defineProps(['checkForm', 'images']);
|
|
|
|
|
|
|
|
|
|
@ -168,14 +232,19 @@ const searchForm = reactive({
|
|
|
|
|
total: 0,
|
|
|
|
|
pageNum: 1,
|
|
|
|
|
pageSize: 20,
|
|
|
|
|
userNameQuery: "", //人员姓名查询条件
|
|
|
|
|
loginNameQuery:"",
|
|
|
|
|
isAntifee:0,
|
|
|
|
|
clientIdQuery: "", //人员姓名查询条件
|
|
|
|
|
clientNameQuery: "",
|
|
|
|
|
groupNameQuery: "",
|
|
|
|
|
startTime: "", //统计数据,默认查询当天的数据
|
|
|
|
|
endTime: "", //统计数据,默认查询当天的数据
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//定义新增修改数据集合
|
|
|
|
|
const addUpdateForm = ref({});
|
|
|
|
|
|
|
|
|
|
//定义新增修改数据集合
|
|
|
|
|
const configForm = ref({});
|
|
|
|
|
|
|
|
|
|
//定义表格数据
|
|
|
|
|
const tableData = ref([]);
|
|
|
|
|
@ -191,6 +260,11 @@ const searchRoleList = ref([]);
|
|
|
|
|
//添加弹窗是否展示 false不展示 true展示
|
|
|
|
|
const addOperatorsShow = ref(false);
|
|
|
|
|
|
|
|
|
|
//添加弹窗是否展示 false不展示 true展示
|
|
|
|
|
const configShow = ref(false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//查询框是否展示 false不展示 true展示
|
|
|
|
|
const searchShow = ref(false);
|
|
|
|
|
|
|
|
|
|
@ -274,16 +348,24 @@ function getOtherData() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//新增按钮点击事件
|
|
|
|
|
function addOperators() {
|
|
|
|
|
addOperatorsShow.value = true;
|
|
|
|
|
//新增标题展示
|
|
|
|
|
addTitle.value = true;
|
|
|
|
|
//修改标题隐藏
|
|
|
|
|
updateTitle.value = false;
|
|
|
|
|
|
|
|
|
|
//新增把addUpdateForm赋值为空,不然还展示修改的数据
|
|
|
|
|
addUpdateForm.value = {};
|
|
|
|
|
function configClient() {
|
|
|
|
|
//判断如果当前行为空,则提示让选择当前行
|
|
|
|
|
if (currentRow.value == null) {
|
|
|
|
|
ElMessage({
|
|
|
|
|
showClose: true,
|
|
|
|
|
message: '请选择要修改的数据!',
|
|
|
|
|
type: 'warning',
|
|
|
|
|
})
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
//浅拷贝给子组件传入值,避免修改值退出后,再次进入还是修改过的值
|
|
|
|
|
let current = { ...currentRow.value };
|
|
|
|
|
|
|
|
|
|
//浅拷贝给子组件传入值,避免修改值退出后,再次进入还是修改过的值
|
|
|
|
|
configForm.value.ClientId = current.clientId;
|
|
|
|
|
configForm.value.PrivateKey = current.passwordKey;
|
|
|
|
|
configForm.value.ClientName = current.clientName;
|
|
|
|
|
configShow.value = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -307,12 +389,30 @@ function saveData() {
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//保存运营人员数据
|
|
|
|
|
function saveConfigData() {
|
|
|
|
|
clientConfigUpdateDom.value.formDom.validate((valid) => {
|
|
|
|
|
if (valid) { // 注意:只有当所有的规则都满足后,此时的 valid 的值才为 true,才能执行下面的值;
|
|
|
|
|
clientConfigUpdateDom.value.saveConfigData();
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//新增或修改重新加载数据
|
|
|
|
|
function addReload() {
|
|
|
|
|
|
|
|
|
|
//关闭新增数据弹窗
|
|
|
|
|
addOperatorsShow.value = false;
|
|
|
|
|
|
|
|
|
|
//关闭远程修改配置弹窗
|
|
|
|
|
configShow.value = false;
|
|
|
|
|
configForm.value = {};
|
|
|
|
|
|
|
|
|
|
//获取数据
|
|
|
|
|
reloadTableData();
|
|
|
|
|
}
|
|
|
|
|
@ -346,6 +446,17 @@ function updateOperators() {
|
|
|
|
|
|
|
|
|
|
//点击搜索,查询数据
|
|
|
|
|
function searchData() {
|
|
|
|
|
//如果统计日期(起始)和统计日期(终止)都有值,需要判断开始日期不能小于结束日期
|
|
|
|
|
if (searchForm.startTime !== "" && searchForm.endTime !== null
|
|
|
|
|
&& searchForm.startTime !== "" && searchForm.endTime !== null) {
|
|
|
|
|
let result = compareDates(searchForm.startTime, searchForm.endTime);
|
|
|
|
|
if (result == -1) {
|
|
|
|
|
ElMessage.warning("核销时间(起始) 不能大于 核销时间(终止)");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
searchForm.pageSize = 20;
|
|
|
|
|
searchForm.pageNum = 1;
|
|
|
|
|
searchForm.total = 0;
|
|
|
|
|
@ -353,11 +464,16 @@ function searchData() {
|
|
|
|
|
reloadTableData();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//搜索条件重置
|
|
|
|
|
function resetSearchData() {
|
|
|
|
|
//搜索条件 重置
|
|
|
|
|
searchForm.userNameQuery = "";
|
|
|
|
|
searchForm.loginNameQuery = "";
|
|
|
|
|
searchForm.startTime = "" //统计数据,默认查询当天的数据
|
|
|
|
|
searchForm.endTime = ""; //统计数据,默认查询当天的数据4
|
|
|
|
|
searchForm.clientIdQuery = "";
|
|
|
|
|
searchForm.clientNameQuery = "";
|
|
|
|
|
searchForm.groupNameQuery = "";
|
|
|
|
|
searchForm.pageSize = 20;
|
|
|
|
|
searchForm.pageNum = 1;
|
|
|
|
|
searchForm.total = 0;
|
|
|
|
|
@ -366,6 +482,22 @@ function resetSearchData() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function unlock(row) {
|
|
|
|
|
//调用接口
|
|
|
|
|
unLockClient(row).then(res => {
|
|
|
|
|
if (res.result == 1) {
|
|
|
|
|
ElMessage.success(res.msg);
|
|
|
|
|
} else if (res.result == -2) {
|
|
|
|
|
ElMessage.error(res.msg);
|
|
|
|
|
} else {
|
|
|
|
|
ElMessage.error(res.msg);
|
|
|
|
|
}
|
|
|
|
|
//获取数据
|
|
|
|
|
reloadTableData();
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function del() {
|
|
|
|
|
if (null == currentRow.value && null == multipleSelection.value) {
|
|
|
|
|
ElMessage({
|
|
|
|
|
@ -433,6 +565,19 @@ function tableFormat(row, column) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//比较日期大小
|
|
|
|
|
function compareDates(beginDate, endDate) {
|
|
|
|
|
let beginTime = new Date(beginDate);
|
|
|
|
|
let endTime = new Date(endDate);
|
|
|
|
|
//开始日期大于结束日期 返回-1
|
|
|
|
|
if (beginTime > endTime) {
|
|
|
|
|
return -1;
|
|
|
|
|
//开始日期小于等于结束日期
|
|
|
|
|
} else if (beginTime <= endTime) {
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//修改分页大小函数
|
|
|
|
|
function handleSizeChange(pageSize) {
|
|
|
|
|
|