11
This commit is contained in:
@@ -8,4 +8,4 @@ VITE_OPEN=true
|
|||||||
ENV=development
|
ENV=development
|
||||||
|
|
||||||
# ADMIN 服务地址
|
# ADMIN 服务地址
|
||||||
VITE_ADMIN_PROXY_PATH = http://localhost:9999
|
VITE_ADMIN_PROXY_PATH = http://scj-v3.zhxy.link/api
|
||||||
|
|||||||
14
src/api/stuwork/dormroomstudentchange.ts
Normal file
14
src/api/stuwork/dormroomstudentchange.ts
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import request from '/@/utils/request';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询宿舍学生异动列表
|
||||||
|
* @param query
|
||||||
|
*/
|
||||||
|
export const fetchList = (query?: any) => {
|
||||||
|
return request({
|
||||||
|
url: '/stuwork/dormroomstudentchange/page',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
@@ -26,6 +26,12 @@
|
|||||||
<span style="margin-left: 4px">管理员工号</span>
|
<span style="margin-left: 4px">管理员工号</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column prop="realName" label="管理员姓名" show-overflow-tooltip align="center">
|
||||||
|
<template #header>
|
||||||
|
<el-icon><UserFilled /></el-icon>
|
||||||
|
<span style="margin-left: 4px">管理员姓名</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="操作" width="100" align="center" fixed="right">
|
<el-table-column label="操作" width="100" align="center" fixed="right">
|
||||||
<template #header>
|
<template #header>
|
||||||
<el-icon><Setting /></el-icon>
|
<el-icon><Setting /></el-icon>
|
||||||
@@ -57,7 +63,7 @@ import { reactive } from 'vue'
|
|||||||
import { BasicTableProps, useTable } from "/@/hooks/table";
|
import { BasicTableProps, useTable } from "/@/hooks/table";
|
||||||
import { fetchList, delObjs } from "/@/api/stuwork/dormbuildingmanger";
|
import { fetchList, delObjs } from "/@/api/stuwork/dormbuildingmanger";
|
||||||
import { useMessage, useMessageBox } from "/@/hooks/message";
|
import { useMessage, useMessageBox } from "/@/hooks/message";
|
||||||
import { List, OfficeBuilding, CreditCard, Setting } from '@element-plus/icons-vue'
|
import { List, OfficeBuilding, CreditCard, UserFilled, Setting } from '@element-plus/icons-vue'
|
||||||
|
|
||||||
// 配置 useTable
|
// 配置 useTable
|
||||||
const state: BasicTableProps = reactive<BasicTableProps>({
|
const state: BasicTableProps = reactive<BasicTableProps>({
|
||||||
|
|||||||
@@ -65,7 +65,8 @@
|
|||||||
v-loading="state.loading"
|
v-loading="state.loading"
|
||||||
border
|
border
|
||||||
:cell-style="tableStyle.cellStyle"
|
:cell-style="tableStyle.cellStyle"
|
||||||
:header-cell-style="tableStyle.headerCellStyle">
|
:header-cell-style="tableStyle.headerCellStyle"
|
||||||
|
@sort-change="sortChangeHandle">
|
||||||
<el-table-column type="index" label="序号" width="60" align="center">
|
<el-table-column type="index" label="序号" width="60" align="center">
|
||||||
<template #header>
|
<template #header>
|
||||||
<el-icon><List /></el-icon>
|
<el-icon><List /></el-icon>
|
||||||
@@ -167,14 +168,20 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
|
<!-- 分页 -->
|
||||||
|
<pagination
|
||||||
|
@size-change="sizeChangeHandle"
|
||||||
|
@current-change="currentChangeHandle"
|
||||||
|
v-bind="state.pagination" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts" name="DormRoomStudentChange">
|
<script setup lang="ts" name="DormRoomStudentChange">
|
||||||
import { reactive, ref, onMounted, computed } from 'vue'
|
import { reactive, ref, onMounted } from 'vue'
|
||||||
import { BasicTableProps, useTable } from "/@/hooks/table";
|
import { BasicTableProps, useTable } from "/@/hooks/table";
|
||||||
import { queryStudentAbnormal } from "/@/api/stuwork/dormroomstudent";
|
import { fetchList } from "/@/api/stuwork/dormroomstudentchange";
|
||||||
import { getDeptList } from "/@/api/basic/basicclass";
|
import { getDeptList } from "/@/api/basic/basicclass";
|
||||||
import { useMessage } from "/@/hooks/message";
|
import { useMessage } from "/@/hooks/message";
|
||||||
import { getDicts } from "/@/api/admin/dict";
|
import { getDicts } from "/@/api/admin/dict";
|
||||||
@@ -185,7 +192,6 @@ const searchFormRef = ref()
|
|||||||
const showSearch = ref(true)
|
const showSearch = ref(true)
|
||||||
const deptList = ref<any[]>([])
|
const deptList = ref<any[]>([])
|
||||||
const changeTypeList = ref<any[]>([])
|
const changeTypeList = ref<any[]>([])
|
||||||
const allDataList = ref<any[]>([])
|
|
||||||
|
|
||||||
// 搜索表单
|
// 搜索表单
|
||||||
const searchForm = reactive({
|
const searchForm = reactive({
|
||||||
@@ -197,30 +203,7 @@ const searchForm = reactive({
|
|||||||
// 配置 useTable
|
// 配置 useTable
|
||||||
const state: BasicTableProps = reactive<BasicTableProps>({
|
const state: BasicTableProps = reactive<BasicTableProps>({
|
||||||
queryForm: searchForm,
|
queryForm: searchForm,
|
||||||
isPage: false, // 接口不支持分页
|
pageList: fetchList,
|
||||||
pageList: async () => {
|
|
||||||
try {
|
|
||||||
const res = await queryStudentAbnormal()
|
|
||||||
let dataList = []
|
|
||||||
if (Array.isArray(res.data)) {
|
|
||||||
dataList = res.data
|
|
||||||
} else if (res.data && Array.isArray(res.data.records)) {
|
|
||||||
dataList = res.data.records
|
|
||||||
} else if (res.data && Array.isArray(res.data.list)) {
|
|
||||||
dataList = res.data.list
|
|
||||||
}
|
|
||||||
allDataList.value = dataList
|
|
||||||
return {
|
|
||||||
...res,
|
|
||||||
data: filterData(dataList)
|
|
||||||
}
|
|
||||||
} catch (err: any) {
|
|
||||||
useMessage().error(err.msg || '获取数据失败')
|
|
||||||
return {
|
|
||||||
data: []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
props: {
|
props: {
|
||||||
item: 'records',
|
item: 'records',
|
||||||
totalCount: 'total'
|
totalCount: 'total'
|
||||||
@@ -228,24 +211,12 @@ const state: BasicTableProps = reactive<BasicTableProps>({
|
|||||||
createdIsNeed: true
|
createdIsNeed: true
|
||||||
})
|
})
|
||||||
|
|
||||||
// 过滤数据
|
|
||||||
const filterData = (data: any[]) => {
|
|
||||||
let filtered = data
|
|
||||||
if (searchForm.deptCode) {
|
|
||||||
filtered = filtered.filter(item => item.deptCode === searchForm.deptCode)
|
|
||||||
}
|
|
||||||
if (searchForm.classNo) {
|
|
||||||
filtered = filtered.filter(item => item.classNo && item.classNo.includes(searchForm.classNo))
|
|
||||||
}
|
|
||||||
if (searchForm.changeType) {
|
|
||||||
filtered = filtered.filter(item => item.changeType === searchForm.changeType)
|
|
||||||
}
|
|
||||||
return filtered
|
|
||||||
}
|
|
||||||
|
|
||||||
// table hook
|
// table hook
|
||||||
const {
|
const {
|
||||||
getDataList,
|
getDataList,
|
||||||
|
currentChangeHandle,
|
||||||
|
sizeChangeHandle,
|
||||||
|
sortChangeHandle,
|
||||||
tableStyle
|
tableStyle
|
||||||
} = useTable(state)
|
} = useTable(state)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user