更新采购申请文件模版下载

This commit is contained in:
吴红兵
2026-03-09 15:22:19 +08:00
parent 5963bbafd6
commit 03f10180dc
22 changed files with 333 additions and 364 deletions

View File

@@ -200,4 +200,4 @@ const handleImport = () => {
<style scoped lang="scss">
@import '/@/assets/styles/modern-page.scss';
</style>
</style>

View File

@@ -129,14 +129,29 @@
</template>
<script setup lang="ts" name="ActivityInfoSubSignup">
import { reactive, ref, onMounted, computed } from 'vue'
import { BasicTableProps, useTable } from "/@/hooks/table";
import { fetchList, delObj, getActivityInfoList, getActivityInfoSubList } from "/@/api/stuwork/activityinfosubsignup";
import { makeExportActivitySignUpDetailTask } from "/@/api/stuwork/file";
import { useMessage, useMessageBox } from "/@/hooks/message";
import TableColumnControl from '/@/components/TableColumnControl/index.vue'
import { List, Trophy, Document, Files, CreditCard, Avatar, OfficeBuilding, Grid, UserFilled, Phone, Setting, Menu, Search, Document as DocIcon } from '@element-plus/icons-vue'
import { useTableColumnControl } from '/@/hooks/tableColumn'
import { reactive, ref, onMounted, computed } from 'vue';
import { BasicTableProps, useTable } from '/@/hooks/table';
import { fetchList, delObj, getActivityInfoList, getActivityInfoSubList } from '/@/api/stuwork/activityinfosubsignup';
import { makeExportActivitySignUpDetailTask } from '/@/api/stuwork/file';
import { useMessage, useMessageBox } from '/@/hooks/message';
import TableColumnControl from '/@/components/TableColumnControl/index.vue';
import {
List,
Trophy,
Document,
Files,
CreditCard,
Avatar,
OfficeBuilding,
Grid,
UserFilled,
Phone,
Setting,
Menu,
Search,
Document as DocIcon,
} from '@element-plus/icons-vue';
import { useTableColumnControl } from '/@/hooks/tableColumn';
// 定义变量内容
const searchFormRef = ref();
@@ -230,16 +245,16 @@ const handleDelete = async (row: any) => {
// 导出
const handleExport = async () => {
exportLoading.value = true
exportLoading.value = true;
try {
await makeExportActivitySignUpDetailTask(state.queryForm)
useMessage().success('导出任务已创建,请在文件管理中下载')
await makeExportActivitySignUpDetailTask(state.queryForm);
useMessage().success('导出任务已创建,请在文件管理中下载');
} catch (err: any) {
useMessage().error(err.msg || '导出失败')
useMessage().error(err.msg || '导出失败');
} finally {
exportLoading.value = false
exportLoading.value = false;
}
}
};
// 获取活动主题列表
const getActivityInfoListData = async () => {

View File

@@ -269,19 +269,35 @@
</template>
<script setup lang="ts" name="ClassFeeLog">
import { reactive, ref, onMounted, computed } from 'vue'
import { BasicTableProps, useTable } from "/@/hooks/table";
import { fetchList, delObj, getSummary } from "/@/api/stuwork/classfeelog";
import { makeExportClassFundTask } from "/@/api/stuwork/file";
import { getDeptList } from "/@/api/basic/basicclass";
import { queryAllSchoolYear } from "/@/api/basic/basicyear";
import { getClassListByRole } from "/@/api/basic/basicclass";
import { getDicts } from "/@/api/admin/dict";
import { useMessage, useMessageBox } from "/@/hooks/message";
import TableColumnControl from '/@/components/TableColumnControl/index.vue'
import FormDialog from './form.vue'
import { List, Calendar, Clock, OfficeBuilding, Grid, Collection, Money, User, Document, Setting, Menu, Search, FolderAdd, EditPen, DataAnalysis } from '@element-plus/icons-vue'
import { useTableColumnControl } from '/@/hooks/tableColumn'
import { reactive, ref, onMounted, computed } from 'vue';
import { BasicTableProps, useTable } from '/@/hooks/table';
import { fetchList, delObj, getSummary } from '/@/api/stuwork/classfeelog';
import { makeExportClassFundTask } from '/@/api/stuwork/file';
import { getDeptList } from '/@/api/basic/basicclass';
import { queryAllSchoolYear } from '/@/api/basic/basicyear';
import { getClassListByRole } from '/@/api/basic/basicclass';
import { getDicts } from '/@/api/admin/dict';
import { useMessage, useMessageBox } from '/@/hooks/message';
import TableColumnControl from '/@/components/TableColumnControl/index.vue';
import FormDialog from './form.vue';
import {
List,
Calendar,
Clock,
OfficeBuilding,
Grid,
Collection,
Money,
User,
Document,
Setting,
Menu,
Search,
FolderAdd,
EditPen,
DataAnalysis,
} from '@element-plus/icons-vue';
import { useTableColumnControl } from '/@/hooks/tableColumn';
// 定义变量内容
const formDialogRef = ref();
@@ -387,12 +403,12 @@ const handleViewAttachment = (row: any) => {
// 导出
const handleExport = async () => {
try {
await makeExportClassFundTask(state.queryForm)
useMessage().success('导出任务已创建,请在文件管理中下载')
await makeExportClassFundTask(state.queryForm);
useMessage().success('导出任务已创建,请在文件管理中下载');
} catch (err: any) {
useMessage().error(err.msg || '导出失败')
useMessage().error(err.msg || '导出失败');
}
}
};
// 编辑
const handleEdit = (row: any) => {

View File

@@ -224,19 +224,33 @@
</template>
<script setup lang="ts" name="ClassSafeEdu">
import { reactive, ref, onMounted } from 'vue'
import { BasicTableProps, useTable } from "/@/hooks/table";
import { fetchList, delObj, statisticsByYearTerm } from "/@/api/stuwork/classsafeedu";
import { makeExportSafetyEducationTask } from "/@/api/stuwork/file";
import { getClassListByRole } from "/@/api/basic/basicclass";
import { queryAllSchoolYear } from "/@/api/basic/basicyear";
import { getDicts } from "/@/api/admin/dict";
import { useMessage, useMessageBox } from "/@/hooks/message";
import TableColumnControl from '/@/components/TableColumnControl/index.vue'
import FormDialog from './form.vue'
import DetailDialog from './detail.vue'
import { List, Calendar, Clock, Grid, Trophy, User, Location, UserFilled, Setting, Menu, Search, Document, DataAnalysis } from '@element-plus/icons-vue'
import { useTableColumnControl } from '/@/hooks/tableColumn'
import { reactive, ref, onMounted } from 'vue';
import { BasicTableProps, useTable } from '/@/hooks/table';
import { fetchList, delObj, statisticsByYearTerm } from '/@/api/stuwork/classsafeedu';
import { makeExportSafetyEducationTask } from '/@/api/stuwork/file';
import { getClassListByRole } from '/@/api/basic/basicclass';
import { queryAllSchoolYear } from '/@/api/basic/basicyear';
import { getDicts } from '/@/api/admin/dict';
import { useMessage, useMessageBox } from '/@/hooks/message';
import TableColumnControl from '/@/components/TableColumnControl/index.vue';
import FormDialog from './form.vue';
import DetailDialog from './detail.vue';
import {
List,
Calendar,
Clock,
Grid,
Trophy,
User,
Location,
UserFilled,
Setting,
Menu,
Search,
Document,
DataAnalysis,
} from '@element-plus/icons-vue';
import { useTableColumnControl } from '/@/hooks/tableColumn';
// 定义变量内容
const formDialogRef = ref();
@@ -333,12 +347,12 @@ const handleViewImage = (url: string) => {
// 导出
const handleExport = async () => {
try {
await makeExportSafetyEducationTask(state.queryForm)
useMessage().success('导出任务已创建,请在文件管理中下载')
await makeExportSafetyEducationTask(state.queryForm);
useMessage().success('导出任务已创建,请在文件管理中下载');
} catch (err: any) {
useMessage().error(err.msg || '导出失败')
useMessage().error(err.msg || '导出失败');
}
}
};
// 查看详情
const handleView = (row: any) => {

View File

@@ -169,7 +169,14 @@
</el-select>
</el-form-item>
<el-form-item label="月份" prop="month">
<el-date-picker v-model="importForm.month" type="month" placeholder="选择月份" format="YYYY-MM" value-format="YYYY-MM" style="width: 100%" />
<el-date-picker
v-model="importForm.month"
type="month"
placeholder="选择月份"
format="YYYY-MM"
value-format="YYYY-MM"
style="width: 100%"
/>
</el-form-item>
<el-form-item>
<el-button icon="Download" type="success" @click="handleDownloadTemplate"> 下载模板 </el-button>

View File

@@ -183,16 +183,16 @@
</template>
<script setup lang="ts" name="DormHygieneMonthly">
import { ref, reactive, defineAsyncComponent, computed, onMounted, nextTick } from 'vue'
import { useRoute } from 'vue-router'
import { BasicTableProps, useTable } from "/@/hooks/table";
import { fetchList, putObj, delObjs } from "/@/api/stuwork/dormreform";
import { makeExportDormReformTask } from "/@/api/stuwork/file";
import { getBuildingList } from "/@/api/stuwork/dormbuilding";
import { getDormRoomDataByBuildingNo } from "/@/api/stuwork/dormroom";
import { useMessage, useMessageBox } from "/@/hooks/message";
import { getDicts } from "/@/api/admin/dict";
import TableColumnControl from '/@/components/TableColumnControl/index.vue'
import { ref, reactive, defineAsyncComponent, computed, onMounted, nextTick } from 'vue';
import { useRoute } from 'vue-router';
import { BasicTableProps, useTable } from '/@/hooks/table';
import { fetchList, putObj, delObjs } from '/@/api/stuwork/dormreform';
import { makeExportDormReformTask } from '/@/api/stuwork/file';
import { getBuildingList } from '/@/api/stuwork/dormbuilding';
import { getDormRoomDataByBuildingNo } from '/@/api/stuwork/dormroom';
import { useMessage, useMessageBox } from '/@/hooks/message';
import { getDicts } from '/@/api/admin/dict';
import TableColumnControl from '/@/components/TableColumnControl/index.vue';
// 引入组件
const FormDialog = defineAsyncComponent(() => import('./form.vue'));
@@ -347,12 +347,12 @@ const handleDelete = async (row: any) => {
// 导出
const handleExport = async () => {
try {
await makeExportDormReformTask(searchForm)
useMessage().success('导出任务已创建,请在文件管理中下载')
await makeExportDormReformTask(searchForm);
useMessage().success('导出任务已创建,请在文件管理中下载');
} catch (err: any) {
useMessage().error(err.msg || '导出失败')
useMessage().error(err.msg || '导出失败');
}
}
};
// 格式化整改结果
const formatReformStatus = (value: string | number) => {

View File

@@ -163,16 +163,16 @@
</template>
<script setup lang="ts" name="DormRoom">
import { ref, reactive, defineAsyncComponent, onMounted, computed, nextTick } from 'vue'
import { useRoute } from 'vue-router'
import { BasicTableProps, useTable } from "/@/hooks/table";
import { fetchList, delObj, editDept } from "/@/api/stuwork/dormroom";
import { makeExportDormRoomTask } from "/@/api/stuwork/file";
import { getDeptList } from "/@/api/basic/basicclass";
import { getBuildingList } from "/@/api/stuwork/dormbuilding";
import { useMessage, useMessageBox } from "/@/hooks/message";
import { getDicts } from "/@/api/admin/dict";
import TableColumnControl from '/@/components/TableColumnControl/index.vue'
import { ref, reactive, defineAsyncComponent, onMounted, computed, nextTick } from 'vue';
import { useRoute } from 'vue-router';
import { BasicTableProps, useTable } from '/@/hooks/table';
import { fetchList, delObj, editDept } from '/@/api/stuwork/dormroom';
import { makeExportDormRoomTask } from '/@/api/stuwork/file';
import { getDeptList } from '/@/api/basic/basicclass';
import { getBuildingList } from '/@/api/stuwork/dormbuilding';
import { useMessage, useMessageBox } from '/@/hooks/message';
import { getDicts } from '/@/api/admin/dict';
import TableColumnControl from '/@/components/TableColumnControl/index.vue';
// 引入组件
const FormDialog = defineAsyncComponent(() => import('./form.vue'));
@@ -321,12 +321,12 @@ const confirmDeptAssign = async () => {
// 导出
const handleExport = async () => {
try {
await makeExportDormRoomTask(searchForm)
useMessage().success('导出任务已创建,请在文件管理中下载')
await makeExportDormRoomTask(searchForm);
useMessage().success('导出任务已创建,请在文件管理中下载');
} catch (err: any) {
useMessage().error(err.msg || '导出失败')
useMessage().error(err.msg || '导出失败');
}
}
};
// 获取学院列表
const getDeptListData = async () => {

View File

@@ -3,13 +3,7 @@
<div class="layout-padding-auto layout-padding-view">
<!-- 顶部工具栏 -->
<div class="mb10">
<el-button
icon="Download"
type="primary"
plain
@click="handleExport">
导出
</el-button>
<el-button icon="Download" type="primary" plain @click="handleExport"> 导出 </el-button>
</div>
<!-- 表格 -->
<el-table
@@ -17,7 +11,8 @@
v-loading="state.loading"
border
:cell-style="tableStyle.cellStyle"
:header-cell-style="tableStyle.headerCellStyle">
:header-cell-style="tableStyle.headerCellStyle"
>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="deptName" label="学院" show-overflow-tooltip align="center" />
<el-table-column prop="classNo" label="班号" show-overflow-tooltip align="center" />
@@ -29,13 +24,7 @@
<el-table-column prop="teacherPhone" label="班主任电话" show-overflow-tooltip align="center" />
<el-table-column label="操作" width="150" align="center" fixed="right">
<template #default="scope">
<el-button
icon="View"
text
type="primary"
@click="handleView(scope.row)">
查看
</el-button>
<el-button icon="View" text type="primary" @click="handleView(scope.row)"> 查看 </el-button>
</template>
</el-table-column>
</el-table>
@@ -44,11 +33,11 @@
</template>
<script setup lang="ts" name="DormAbnormal">
import { reactive, onMounted } from 'vue'
import { BasicTableProps, useTable } from "/@/hooks/table";
import { queryStudentAbnormal } from "/@/api/stuwork/dormroomstudent";
import { makeExportDormStudentAbnormalTask } from "/@/api/stuwork/file";
import { useMessage } from "/@/hooks/message";
import { reactive, onMounted } from 'vue';
import { BasicTableProps, useTable } from '/@/hooks/table';
import { queryStudentAbnormal } from '/@/api/stuwork/dormroomstudent';
import { makeExportDormStudentAbnormalTask } from '/@/api/stuwork/file';
import { useMessage } from '/@/hooks/message';
// 配置 useTable
const state: BasicTableProps = reactive<BasicTableProps>({
@@ -93,13 +82,13 @@ const handleView = (row: any) => {
// 导出
const handleExport = async () => {
try {
await makeExportDormStudentAbnormalTask()
useMessage().success('导出任务已创建,请在文件管理中下载')
} catch (err: any) {
useMessage().error(err?.msg || '导出失败')
}
}
try {
await makeExportDormStudentAbnormalTask();
useMessage().success('导出任务已创建,请在文件管理中下载');
} catch (err: any) {
useMessage().error(err?.msg || '导出失败');
}
};
// 初始化
onMounted(() => {

View File

@@ -191,20 +191,16 @@
</template>
<script setup lang="ts" name="DormRoomStudent">
import { reactive, ref, onMounted, computed, nextTick } from 'vue'
import { useRoute } from 'vue-router'
import { BasicTableProps, useTable } from "/@/hooks/table";
import { fetchList, delObjs } from "/@/api/stuwork/dormroomstudent";
import {
makeExportDormStudentTask,
makeExportDormStudentAbnormalTask,
makeExportDormStatisticsTask
} from "/@/api/stuwork/file";
import { getDeptList } from "/@/api/basic/basicclass";
import { getBuildingList } from "/@/api/stuwork/dormbuilding";
import { fetchDormRoomTreeList } from "/@/api/stuwork/dormroom";
import { useMessage, useMessageBox } from "/@/hooks/message";
import TableColumnControl from '/@/components/TableColumnControl/index.vue'
import { reactive, ref, onMounted, computed, nextTick } from 'vue';
import { useRoute } from 'vue-router';
import { BasicTableProps, useTable } from '/@/hooks/table';
import { fetchList, delObjs } from '/@/api/stuwork/dormroomstudent';
import { makeExportDormStudentTask, makeExportDormStudentAbnormalTask, makeExportDormStatisticsTask } from '/@/api/stuwork/file';
import { getDeptList } from '/@/api/basic/basicclass';
import { getBuildingList } from '/@/api/stuwork/dormbuilding';
import { fetchDormRoomTreeList } from '/@/api/stuwork/dormroom';
import { useMessage, useMessageBox } from '/@/hooks/message';
import TableColumnControl from '/@/components/TableColumnControl/index.vue';
import FormDialog from './form.vue';
import TransferDialog from './transfer.vue';
import SwapDialog from './swap.vue';
@@ -379,14 +375,14 @@ const handleExport = async () => {
roomNo: searchForm.roomNo || searchForm.roomNoInput,
classNo: searchForm.classNo,
stuNo: searchForm.stuNo,
realName: searchForm.realName
}
await makeExportDormStatisticsTask(params)
useMessage().success('导出任务已创建,请在文件管理中下载')
realName: searchForm.realName,
};
await makeExportDormStatisticsTask(params);
useMessage().success('导出任务已创建,请在文件管理中下载');
} catch (err: any) {
useMessage().error(err?.msg || '导出失败')
useMessage().error(err?.msg || '导出失败');
}
}
};
// 名单导出:住宿学生名单导出
const handleExportList = async () => {
@@ -399,14 +395,14 @@ const handleExportList = async () => {
roomNo: searchForm.roomNo || searchForm.roomNoInput,
classNo: searchForm.classNo,
stuNo: searchForm.stuNo,
realName: searchForm.realName
}
await makeExportDormStudentTask(params)
useMessage().success('导出任务已创建,请在文件管理中下载')
realName: searchForm.realName,
};
await makeExportDormStudentTask(params);
useMessage().success('导出任务已创建,请在文件管理中下载');
} catch (err: any) {
useMessage().error(err?.msg || '导出失败')
useMessage().error(err?.msg || '导出失败');
}
}
};
// 编辑(与转宿共用接口 edit修改房间/床位/是否舍长)
const handleEdit = (row: any) => {

View File

@@ -170,20 +170,7 @@ import { queryAllSchoolYear } from '/@/api/basic/basicyear';
import { getDicts } from '/@/api/admin/dict';
import { useMessage, useMessageBox } from '/@/hooks/message';
import TableColumnControl from '/@/components/TableColumnControl/index.vue';
import {
List,
Calendar,
Clock,
OfficeBuilding,
Grid,
UserFilled,
Trophy,
EditPen,
Setting,
Menu,
Search,
Document,
} from '@element-plus/icons-vue';
import { List, Calendar, Clock, OfficeBuilding, Grid, UserFilled, Trophy, EditPen, Setting, Menu, Search, Document } from '@element-plus/icons-vue';
import { useTableColumnControl } from '/@/hooks/tableColumn';
import FormDialog from './form.vue';
@@ -361,4 +348,4 @@ onMounted(() => {
<style scoped lang="scss">
@import '/@/assets/styles/modern-page.scss';
</style>
</style>