|
@@ -11,14 +11,16 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="部门:" prop="dept" style="margin-top: 15px;">
|
|
<el-form-item label="部门:" prop="dept" style="margin-top: 15px;">
|
|
|
- <el-select v-model="ruleForm.dept" placeholder="请选择部门" style="width: 100px ;">
|
|
|
|
|
- <el-option v-for="item in BoardDeptList" :key="item.value" :value="item.value"
|
|
|
|
|
- :label="item.label"></el-option>
|
|
|
|
|
|
|
+ <el-select v-model="ruleForm.dept" placeholder="请选择部门" style="width: 200px ;">
|
|
|
|
|
+ <el-option v-for="item in departmentList" :key="item.deptId" :value="item.deptName"
|
|
|
|
|
+ :label="item.deptName"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
- <el-button type="primary" @click="submitForm(ruleFormRef)" style="width: 100px;">搜索</el-button>
|
|
|
|
|
- <el-button @click="resetForm(ruleFormRef)" style="width: 100px;">重置</el-button>
|
|
|
|
|
|
|
+ <el-button type="primary" @click="submitForm(ruleFormRef)"
|
|
|
|
|
+ style="width: 110px;position: absolute;margin-top: 15px;right:120px">搜索</el-button>
|
|
|
|
|
+ <el-button @click="resetForm(ruleFormRef)"
|
|
|
|
|
+ style="position: absolute;right:0;width: 110px;margin-top: 15px">重置</el-button>
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -26,28 +28,30 @@
|
|
|
</el-form>
|
|
</el-form>
|
|
|
|
|
|
|
|
<div>
|
|
<div>
|
|
|
- <el-tag size="large">数据总表</el-tag>
|
|
|
|
|
|
|
+ <el-button type="primary">数据总表</el-button>
|
|
|
|
|
+
|
|
|
</div>
|
|
</div>
|
|
|
<el-table style="width: 100%;margin-top: 20px;" :data="tableData" highlight-current-row
|
|
<el-table style="width: 100%;margin-top: 20px;" :data="tableData" highlight-current-row
|
|
|
:default-sort="{ prop: 'todayVisits', order: 'descending' }">
|
|
:default-sort="{ prop: 'todayVisits', order: 'descending' }">
|
|
|
- <el-table-column label="序号" width="60" type="index"></el-table-column>
|
|
|
|
|
- <el-table-column label="姓名" width="100" prop="nickName"></el-table-column>
|
|
|
|
|
- <el-table-column label="工号" width="100" prop="staffNo"></el-table-column>
|
|
|
|
|
- <el-table-column label="部门" width="120" prop="deptName"></el-table-column>
|
|
|
|
|
- <el-table-column :label="`当日` + props.type" width="140" prop="todayVisits" sortable></el-table-column>
|
|
|
|
|
- <el-table-column :label="`本月` + props.type" width="140" prop="monthVisits" sortable></el-table-column>
|
|
|
|
|
- <el-table-column :label="`累计` + props.type" width="140" prop="totalVisits" sortable></el-table-column>
|
|
|
|
|
- <el-table-column :label="props.type + '柱状图'" width="150">
|
|
|
|
|
|
|
+
|
|
|
|
|
+ <el-table-column label="姓名" prop="nickName"></el-table-column>
|
|
|
|
|
+ <el-table-column label="工号" prop="staffNo"></el-table-column>
|
|
|
|
|
+ <el-table-column label="部门" prop="deptName"></el-table-column>
|
|
|
|
|
+ <el-table-column :label="`当日` + props.type" prop="todayVisits" sortable></el-table-column>
|
|
|
|
|
+ <el-table-column :label="`本月` + props.type" prop="monthVisits" sortable></el-table-column>
|
|
|
|
|
+ <el-table-column :label="`累计` + props.type" prop="totalVisits" sortable></el-table-column>
|
|
|
|
|
+ <el-table-column :label="props.type + '柱状图'">
|
|
|
<template #default="scoped">
|
|
<template #default="scoped">
|
|
|
- <el-button type="primary" :icon="TrendCharts" @click="openDialog(scoped.row)"></el-button>
|
|
|
|
|
|
|
+ <img :src="platformData" alt="" @click="openDialog(scoped.row)">
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
<el-pagination v-model="currentPage" v-model:currentPageSize="currentPageSize" :page-sizes="[10, 20, 50, 100, 200]"
|
|
<el-pagination v-model="currentPage" v-model:currentPageSize="currentPageSize" :page-sizes="[10, 20, 50, 100, 200]"
|
|
|
- layout="total,sizes,prev,pager,next,jumper" :total="total" @size-change="handeSizeChange"
|
|
|
|
|
- @current-change="handleCurrentPageChange" style="margin-left: 500px;" />
|
|
|
|
|
|
|
+ layout="->, total,sizes,prev,pager,next,jumper" :total="total" @size-change="handeSizeChange"
|
|
|
|
|
+ @current-change="handleCurrentPageChange" />
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
@@ -62,10 +66,9 @@
|
|
|
|
|
|
|
|
import { ref, onMounted } from 'vue';
|
|
import { ref, onMounted } from 'vue';
|
|
|
import { FormInstance } from 'element-plus';
|
|
import { FormInstance } from 'element-plus';
|
|
|
-import { BoardDeptEnum, BoardDeptList } from './config'
|
|
|
|
|
import TableEcharts from './TableEcharts.vue';
|
|
import TableEcharts from './TableEcharts.vue';
|
|
|
-import { TrendCharts } from '@element-plus/icons-vue'
|
|
|
|
|
-import { Records, Visits, VisitsModel } from '../../../api/datamanagement/dataplatform';
|
|
|
|
|
|
|
+import platformData from '@/assets/icons/platformdata.png';
|
|
|
|
|
+import { DepartMentModel, Records, Visits, VisitsModel, getDeptList } from '../../../api/datamanagement/dataplatform';
|
|
|
|
|
|
|
|
export interface TableModel {
|
|
export interface TableModel {
|
|
|
deptId: number,
|
|
deptId: number,
|
|
@@ -97,26 +100,35 @@ const tableData = ref<TableModel[]>()
|
|
|
const userId = ref(10014);
|
|
const userId = ref(10014);
|
|
|
|
|
|
|
|
export interface FormModelCommon {
|
|
export interface FormModelCommon {
|
|
|
- dept: number,
|
|
|
|
|
|
|
+ dept: string,
|
|
|
nickName: string,
|
|
nickName: string,
|
|
|
staffNo: string,
|
|
staffNo: string,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const ruleForm = ref<FormModelCommon>({
|
|
const ruleForm = ref<FormModelCommon>({
|
|
|
- dept: BoardDeptEnum.all,
|
|
|
|
|
|
|
+ dept: '',
|
|
|
nickName: '',
|
|
nickName: '',
|
|
|
staffNo: '',
|
|
staffNo: '',
|
|
|
})
|
|
})
|
|
|
const ruleFormRef = ref<FormInstance>();
|
|
const ruleFormRef = ref<FormInstance>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+const departmentList = ref<DepartMentModel[]>([]);
|
|
|
|
|
+const getDepartmentList = () => {
|
|
|
|
|
+ getDeptList().then((res) => {
|
|
|
|
|
+ departmentList.value = res;
|
|
|
|
|
+ console.log('department:', res)
|
|
|
|
|
+ });
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
// 查询数据列表
|
|
// 查询数据列表
|
|
|
-function queryData() {
|
|
|
|
|
- return props.queryData(currentPage.value, currentPageSize.value).then(res => {
|
|
|
|
|
- console.log('tablecommon-querydata:', res)
|
|
|
|
|
- tableData.value = res.records;
|
|
|
|
|
- total.value = res.totalRow;
|
|
|
|
|
- })
|
|
|
|
|
|
|
+async function queryData() {
|
|
|
|
|
+ const res = await props.queryData(currentPage.value, currentPageSize.value);
|
|
|
|
|
+ console.log('tablecommon-querydata:', res);
|
|
|
|
|
+ tableData.value = res.records;
|
|
|
|
|
+ console.log('tablecommon-querydata1:', tableData.value);
|
|
|
|
|
+ total.value = res.totalRow;
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -135,7 +147,7 @@ function queryData() {
|
|
|
|
|
|
|
|
// 搜索数据
|
|
// 搜索数据
|
|
|
function submitForm(formE1: FormInstance | undefined) {
|
|
function submitForm(formE1: FormInstance | undefined) {
|
|
|
-
|
|
|
|
|
|
|
+ console.log('搜索数据')
|
|
|
if (!formE1) return
|
|
if (!formE1) return
|
|
|
formE1.validate((valid, fields) => {
|
|
formE1.validate((valid, fields) => {
|
|
|
if (valid) {
|
|
if (valid) {
|
|
@@ -206,13 +218,21 @@ function currentAllData(userId: number) {
|
|
|
|
|
|
|
|
// 查询个人访问次数-搜索数据
|
|
// 查询个人访问次数-搜索数据
|
|
|
function getPersonalVisits(data: FormModelCommon) {
|
|
function getPersonalVisits(data: FormModelCommon) {
|
|
|
|
|
+ const departId = ref();
|
|
|
|
|
+ departmentList.value.forEach(item => {
|
|
|
|
|
+ if (item.deptName === data.dept) {
|
|
|
|
|
+ departId.value = item.deptId;
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
const newParam = {
|
|
const newParam = {
|
|
|
pageNumber: currentPage.value,
|
|
pageNumber: currentPage.value,
|
|
|
pageSize: currentPageSize.value,
|
|
pageSize: currentPageSize.value,
|
|
|
nickName: data.nickName,
|
|
nickName: data.nickName,
|
|
|
- deptId: data.dept === BoardDeptEnum.all ? undefined : data.dept,
|
|
|
|
|
|
|
+ // deptId: data.dept === BoardDeptEnum.all ? undefined : data.dept,
|
|
|
|
|
+ deptId: departId.value,
|
|
|
staffNo: data.staffNo,
|
|
staffNo: data.staffNo,
|
|
|
}
|
|
}
|
|
|
|
|
+ console.log('getPersonalVisits:', newParam);
|
|
|
props.getPersonalVisits(newParam.deptId, newParam.nickName, newParam.pageNumber, newParam.pageSize, newParam.staffNo).then(res => {
|
|
props.getPersonalVisits(newParam.deptId, newParam.nickName, newParam.pageNumber, newParam.pageSize, newParam.staffNo).then(res => {
|
|
|
console.log('table-common-getPersonalVisits:', res)
|
|
console.log('table-common-getPersonalVisits:', res)
|
|
|
tableData.value = res.records;
|
|
tableData.value = res.records;
|
|
@@ -235,6 +255,7 @@ function openDialog(row: TableModel) {
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
queryData()
|
|
queryData()
|
|
|
|
|
+ getDepartmentList();
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
</script>
|
|
</script>
|
|
@@ -250,4 +271,4 @@ onMounted(() => {
|
|
|
.el-pagination {
|
|
.el-pagination {
|
|
|
margin-top: 30px;
|
|
margin-top: 30px;
|
|
|
}
|
|
}
|
|
|
-</style>
|
|
|
|
|
|
|
+</style>
|