修改bug,添加查询权限
This commit is contained in:
parent
5bb9db4e4d
commit
f441b1e497
|
@ -95,6 +95,7 @@ public class KcKetangbiaoController extends JeecgController<KcKetangbiao, IKcKet
|
|||
QueryWrapper<ZjSqxx> zjSqxxQueryWrapper = new QueryWrapper<>();
|
||||
zjSqxxQueryWrapper.eq("user_id",sysUser.getId());
|
||||
zjSqxxQueryWrapper.eq("sqfw","1");
|
||||
zjSqxxQueryWrapper.eq("sqzt","0");
|
||||
ZjSqxx zjSqxx = zjSqxxService.getOne(zjSqxxQueryWrapper);
|
||||
String sfjx = "0";
|
||||
if(zjSqxx!=null){
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package org.jeecg.modules.demo.xxhbjwxtjxrw.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
@ -9,8 +10,12 @@ import java.io.UnsupportedEncodingException;
|
|||
import java.net.URLDecoder;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
import org.jeecg.common.util.oConvertUtils;
|
||||
import org.jeecg.modules.demo.xxhbjwxtjxrw.entity.Xxhbjwxtjxrw;
|
||||
import org.jeecg.modules.demo.xxhbjwxtjxrw.service.IXxhbjwxtjxrwService;
|
||||
|
@ -20,6 +25,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import org.jeecg.modules.demo.zjSqxx.entity.ZjSqxx;
|
||||
import org.jeecg.modules.demo.zjSqxx.service.IZjSqxxService;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
|
@ -50,7 +57,9 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|||
public class XxhbjwxtjxrwController extends JeecgController<Xxhbjwxtjxrw, IXxhbjwxtjxrwService> {
|
||||
@Autowired
|
||||
private IXxhbjwxtjxrwService xxhbjwxtjxrwService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private IZjSqxxService zjSqxxService;
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
|
@ -68,6 +77,40 @@ public class XxhbjwxtjxrwController extends JeecgController<Xxhbjwxtjxrw, IXxhbj
|
|||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<Xxhbjwxtjxrw> queryWrapper = QueryGenerator.initQueryWrapper(xxhbjwxtjxrw, req.getParameterMap());
|
||||
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
QueryWrapper<ZjSqxx> zjSqxxQueryWrapper = new QueryWrapper<>();
|
||||
zjSqxxQueryWrapper.eq("user_id",sysUser.getId());
|
||||
zjSqxxQueryWrapper.eq("sqfw","0");
|
||||
zjSqxxQueryWrapper.eq("sqzt","0");
|
||||
ZjSqxx zjSqxx = zjSqxxService.getOne(zjSqxxQueryWrapper);
|
||||
String sfjx = "0";
|
||||
if(zjSqxx!=null){
|
||||
Date date = new Date();
|
||||
if(zjSqxx.getSqStartTime()!=null&&zjSqxx.getSqStartTime().getTime()>=date.getTime()){
|
||||
sfjx = "1";
|
||||
}
|
||||
if(zjSqxx.getSqEndTime()!=null&&zjSqxx.getSqEndTime().getTime()<=date.getTime()){
|
||||
sfjx = "1";
|
||||
}
|
||||
// if(StringUtils.isNotBlank(zjSqxx.getXnxq())){
|
||||
// queryWrapper.in("xn",zjSqxx.getXnxq().split(","));
|
||||
// }
|
||||
if(StringUtils.isNotBlank(zjSqxx.getKkdw())){
|
||||
queryWrapper.in("kkyxmc",zjSqxx.getKkdw().split(","));
|
||||
}
|
||||
if(StringUtils.isNotBlank(zjSqxx.getKcmc())){
|
||||
queryWrapper.in("kcmc",zjSqxx.getKcmc().split(","));
|
||||
}
|
||||
if(StringUtils.isNotBlank(zjSqxx.getKclb())){
|
||||
queryWrapper.in("kclb",zjSqxx.getKclb().split(","));
|
||||
}
|
||||
}
|
||||
if(StringUtils.equals("1",sfjx)){
|
||||
return Result.error("您未在授权期限内,不能进行查询!");
|
||||
}
|
||||
|
||||
|
||||
Page<Xxhbjwxtjxrw> page = new Page<Xxhbjwxtjxrw>(pageNo, pageSize);
|
||||
IPage<Xxhbjwxtjxrw> pageList = xxhbjwxtjxrwService.page(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package org.jeecg.modules.demo.zyHuizong.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
@ -9,9 +10,15 @@ import java.io.UnsupportedEncodingException;
|
|||
import java.net.URLDecoder;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
import org.jeecg.common.util.oConvertUtils;
|
||||
import org.jeecg.modules.demo.zjSqxx.entity.ZjSqxx;
|
||||
import org.jeecg.modules.demo.zjSqxx.service.IZjSqxxService;
|
||||
import org.jeecg.modules.demo.zyHuizong.entity.ZyHuizong;
|
||||
import org.jeecg.modules.demo.zyHuizong.service.IZyHuizongService;
|
||||
|
||||
|
@ -50,7 +57,9 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|||
public class ZyHuizongController extends JeecgController<ZyHuizong, IZyHuizongService> {
|
||||
@Autowired
|
||||
private IZyHuizongService zyHuizongService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private IZjSqxxService zjSqxxService;
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
|
@ -68,6 +77,37 @@ public class ZyHuizongController extends JeecgController<ZyHuizong, IZyHuizongSe
|
|||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<ZyHuizong> queryWrapper = QueryGenerator.initQueryWrapper(zyHuizong, req.getParameterMap());
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
QueryWrapper<ZjSqxx> zjSqxxQueryWrapper = new QueryWrapper<>();
|
||||
zjSqxxQueryWrapper.eq("user_id",sysUser.getId());
|
||||
zjSqxxQueryWrapper.eq("sqfw","0");
|
||||
zjSqxxQueryWrapper.eq("sqzt","0");
|
||||
ZjSqxx zjSqxx = zjSqxxService.getOne(zjSqxxQueryWrapper);
|
||||
String sfjx = "0";
|
||||
if(zjSqxx!=null){
|
||||
Date date = new Date();
|
||||
if(zjSqxx.getSqStartTime()!=null&&zjSqxx.getSqStartTime().getTime()>=date.getTime()){
|
||||
sfjx = "1";
|
||||
}
|
||||
if(zjSqxx.getSqEndTime()!=null&&zjSqxx.getSqEndTime().getTime()<=date.getTime()){
|
||||
sfjx = "1";
|
||||
}
|
||||
if(StringUtils.isNotBlank(zjSqxx.getXnxq())){
|
||||
queryWrapper.in("xnxq",zjSqxx.getXnxq().split(","));
|
||||
}
|
||||
if(StringUtils.isNotBlank(zjSqxx.getKkdw())){
|
||||
queryWrapper.in("xymc",zjSqxx.getKkdw().split(","));
|
||||
}
|
||||
if(StringUtils.isNotBlank(zjSqxx.getKcmc())){
|
||||
queryWrapper.in("kcmc",zjSqxx.getKcmc().split(","));
|
||||
}
|
||||
// if(StringUtils.isNotBlank(zjSqxx.getKclb())){
|
||||
// queryWrapper.in("kclb",zjSqxx.getKclb().split(","));
|
||||
// }
|
||||
}
|
||||
if(StringUtils.equals("1",sfjx)){
|
||||
return Result.error("您未在授权期限内,不能进行查询!");
|
||||
}
|
||||
Page<ZyHuizong> page = new Page<ZyHuizong>(pageNo, pageSize);
|
||||
IPage<ZyHuizong> pageList = zyHuizongService.page(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
import { ref } from 'vue';
|
||||
import ZyHuizongList from '/@/views/bl/zyHuizong/ZyHuizongList.vue';
|
||||
import ZyHuizongXiangxiList from '/@/views/bl/zyHuizongXiangxi/ZyHuizongXiangxiList.vue';
|
||||
import XxhbjwxtjxrwList from '/@/views/bl/xxhbjwxtjxrw/XxhbjwxtjxrwList.vue';
|
||||
import XxhbjwxtxsmdList from '/@/views/bl/xxhbjwxtxsmd/XxhbjwxtxsmdList.vue';
|
||||
import XxhbjwxtjxrwList from '/@/views/bl/xxhbjwxtjxrw/XxhbjwxtjxrwList2.vue';
|
||||
import XxhbjwxtxsmdList from '/@/views/bl/xxhbjwxtxsmd/XxhbjwxtxsmdList2.vue';
|
||||
|
||||
|
||||
const activeKey = ref('1');
|
||||
|
|
|
@ -0,0 +1,275 @@
|
|||
<template>
|
||||
<div class="p-2">
|
||||
<!--查询区域-->
|
||||
<div class="jeecg-basic-table-form-container">
|
||||
<a-form ref="formRef" @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24" style="text-align: right;">
|
||||
模板下载:
|
||||
<a-popover placement="topRight" type="primary">
|
||||
<template #content>
|
||||
<a-button type="primary" style="margin-left: 10px;margin-top: 10px" @click="textDown('a1','课堂教学评价表')">课堂教学评价表</a-button>
|
||||
<a-button type="primary" style="margin-left: 10px;margin-top: 10px" @click="textDown('a2','试卷评价表')">试卷评价表</a-button>
|
||||
<a-button type="primary" style="margin-left: 10px;margin-top: 10px" @click="textDown('a3','本科毕业论文(设计)评价表')">本科毕业论文(设计)评价表</a-button>
|
||||
</template>
|
||||
<template #title>
|
||||
<span>专家用评价表</span>
|
||||
</template>
|
||||
<a-button>专家用评价表</a-button>
|
||||
</a-popover>
|
||||
|
||||
<!-- <a-button type="primary" style="margin-left: 10px;">专家用评价表</a-button>
|
||||
<a-button type="primary" style="margin-left: 10px;">专家工作量统计</a-button> -->
|
||||
</a-col>
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="xn">
|
||||
<template #label><span title="学年">学年</span></template>
|
||||
<j-dict-select-tag placeholder="请选择学年" v-model:value="queryParam.xn" :dictCode="`v_xn,xn,xn`" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="xqmc">
|
||||
<template #label><span title="学期">学期</span></template>
|
||||
<j-dict-select-tag placeholder="请选择学期" v-model:value="queryParam.xqmc" dictCode="cjxq" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
|
||||
<template v-if="toggleSearchStatus">
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="kcmc">
|
||||
<template #label><span title="课程名称">课程名称</span></template>
|
||||
<j-input placeholder="请输入课程名称" v-model:value="queryParam.kcmc" allow-clear ></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="kkyxmc">
|
||||
<template #label><span title="开课单位名称">开课单位名称</span></template>
|
||||
<j-dict-select-tag placeholder="请选择开课单位名称" v-model:value="queryParam.kkyxmc" :dictCode="`v_kkdw,kkyxmc,kkyxmc`" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="kcmc">
|
||||
<template #label><span title="任课教师">任课教师</span></template>
|
||||
<j-input placeholder="请输入任课教师" v-model:value="queryParam.teaxm" allow-clear ></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</template>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
|
||||
<a-col :lg="6">
|
||||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls" style="margin-left: 8px"> 导出</a-button>
|
||||
<a @click="toggleSearchStatus = !toggleSearchStatus" style="margin-left: 8px">
|
||||
{{ toggleSearchStatus ? '收起' : '展开' }}
|
||||
<Icon :icon="toggleSearchStatus ? 'ant-design:up-outlined' : 'ant-design:down-outlined'" />
|
||||
</a>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!--引用表格-->
|
||||
<BasicTable @register="registerTable" >
|
||||
<!--操作栏-->
|
||||
<template #action="{ record }">
|
||||
<TableAction :actions="getTableAction(record)" />
|
||||
</template>
|
||||
</BasicTable>
|
||||
<!-- 表单区域 -->
|
||||
<XxhbjwxtjxrwModal ref="registerModal" @success="handleSuccess"></XxhbjwxtjxrwModal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" name="xxhbjwxtjxrw-xxhbjwxtjxrw" setup>
|
||||
import { ref, reactive } from 'vue';
|
||||
import { BasicTable, useTable, TableAction } from '/@/components/Table';
|
||||
import { useListPage } from '/@/hooks/system/useListPage';
|
||||
import { columns, superQuerySchema } from './Xxhbjwxtjxrw.data';
|
||||
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './Xxhbjwxtjxrw.api';
|
||||
import { downloadFile } from '/@/utils/common/renderUtils';
|
||||
import XxhbjwxtjxrwModal from './components/XxhbjwxtjxrwModal.vue'
|
||||
import { useUserStore } from '/@/store/modules/user';
|
||||
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
|
||||
import JInput from "/@/components/Form/src/jeecg/components/JInput.vue";
|
||||
|
||||
const formRef = ref();
|
||||
const queryParam = reactive<any>({});
|
||||
const toggleSearchStatus = ref<boolean>(false);
|
||||
const registerModal = ref();
|
||||
const userStore = useUserStore();
|
||||
const emit = defineEmits(['callback']);
|
||||
//注册table数据
|
||||
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
||||
tableProps: {
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
useSearchForm: false,
|
||||
actionColumn: {
|
||||
width: 120,
|
||||
fixed: 'right',
|
||||
},
|
||||
beforeFetch: async (params) => {
|
||||
return Object.assign(params, queryParam);
|
||||
},
|
||||
},
|
||||
exportConfig: {
|
||||
name: "教务系统教学任务",
|
||||
url: getExportUrl,
|
||||
params: queryParam,
|
||||
},
|
||||
importConfig: {
|
||||
url: getImportUrl,
|
||||
success: handleSuccess
|
||||
},
|
||||
});
|
||||
const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { rowSelection, selectedRowKeys }] = tableContext;
|
||||
const labelCol = reactive({
|
||||
xs:24,
|
||||
sm:6,
|
||||
xl:6,
|
||||
xxl:6
|
||||
});
|
||||
const wrapperCol = reactive({
|
||||
xs: 24,
|
||||
sm: 18,
|
||||
});
|
||||
|
||||
// 高级查询配置
|
||||
const superQueryConfig = reactive(superQuerySchema);
|
||||
|
||||
|
||||
function textDown(type,downame){
|
||||
var a = document.createElement("a"); //创建一个<a></a>标签
|
||||
a.href = "/download/"+type+".docx";
|
||||
//给a标签的href属性值加上地址,注意,这里是绝对路径,不用加 点.
|
||||
a.download =downame+".docx";
|
||||
//设置下载文件文件名,这里加上.xlsx指定文件类型,pdf文件就指定.fpd即可
|
||||
a.style.display = "none"; // 障眼法藏起来a标签
|
||||
document.body.appendChild(a);
|
||||
// 将a标签追加到文档对象中
|
||||
a.click(); //模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
|
||||
a.remove();
|
||||
// 一次性的,用完就删除a标签
|
||||
}
|
||||
|
||||
/**
|
||||
* 高级查询事件
|
||||
*/
|
||||
function handleSuperQuery(params) {
|
||||
Object.keys(params).map((k) => {
|
||||
queryParam[k] = params[k];
|
||||
});
|
||||
searchQuery();
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增事件
|
||||
*/
|
||||
function handleAdd() {
|
||||
registerModal.value.disableSubmit = false;
|
||||
registerModal.value.add();
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑事件
|
||||
*/
|
||||
function handleEdit(record: Recordable) {
|
||||
registerModal.value.disableSubmit = false;
|
||||
registerModal.value.edit(record);
|
||||
}
|
||||
|
||||
/**
|
||||
* 详情
|
||||
*/
|
||||
function handleDetail(record: Recordable) {
|
||||
// registerModal.value.disableSubmit = true;
|
||||
// registerModal.value.edit(record);
|
||||
|
||||
emit('callback',record)
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除事件
|
||||
*/
|
||||
async function handleDelete(record) {
|
||||
await deleteOne({ id: record.id }, handleSuccess);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除事件
|
||||
*/
|
||||
async function batchHandleDelete() {
|
||||
await batchDelete({ ids: selectedRowKeys.value }, handleSuccess);
|
||||
}
|
||||
|
||||
/**
|
||||
* 成功回调
|
||||
*/
|
||||
function handleSuccess() {
|
||||
(selectedRowKeys.value = []) && reload();
|
||||
}
|
||||
|
||||
/**
|
||||
* 操作栏
|
||||
*/
|
||||
function getTableAction(record) {
|
||||
return [
|
||||
{
|
||||
label: '详情',
|
||||
onClick: handleDetail.bind(null, record),
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询
|
||||
*/
|
||||
function searchQuery() {
|
||||
reload();
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置
|
||||
*/
|
||||
function searchReset() {
|
||||
formRef.value.resetFields();
|
||||
selectedRowKeys.value = [];
|
||||
//刷新数据
|
||||
reload();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.jeecg-basic-table-form-container {
|
||||
padding: 0;
|
||||
.table-page-search-submitButtons {
|
||||
display: block;
|
||||
margin-bottom: 24px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.query-group-cust{
|
||||
min-width: 100px !important;
|
||||
}
|
||||
.query-group-split-cust{
|
||||
width: 30px;
|
||||
display: inline-block;
|
||||
text-align: center
|
||||
}
|
||||
.ant-form-item:not(.ant-form-item-with-help){
|
||||
margin-bottom: 16px;
|
||||
height: 32px;
|
||||
}
|
||||
:deep(.ant-picker),:deep(.ant-input-number){
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,235 @@
|
|||
<template>
|
||||
<div class="p-2">
|
||||
<!--查询区域-->
|
||||
<div class="jeecg-basic-table-form-container">
|
||||
<a-form ref="formRef" @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
<a-row :gutter="24">
|
||||
<div style="width:100%;">
|
||||
<div style="text-align: right">
|
||||
模板下载:
|
||||
<a-button type="primary" style="margin-left: 10px;">课程考核合理性评价单</a-button>
|
||||
<a-button type="primary" style="margin-left: 10px;">成绩单</a-button>
|
||||
<a-button type="primary" style="margin-left: 10px;">课程目标达成评价报告</a-button>
|
||||
<a-button type="primary" style="margin-left: 10px;">专家用评价表</a-button>
|
||||
</div>
|
||||
<div style="text-align: center;font-size: 16px;font-weight: 700;line-height: 50px;" v-if="jxrwInfo.value">
|
||||
{{jxrwInfo?.value.xn}}{{jxrwInfo?.value.xqmc}}学期《{{jxrwInfo?.value.kcmc}}》课程考核材料
|
||||
</div>
|
||||
<div v-if="jxrwInfo.value">
|
||||
<div>概要信息</div>
|
||||
<a-row>
|
||||
<a-col :span="5">
|
||||
<span style="margin-left: 15px;">开课单位</span> :<span>{{jxrwInfo?.value.kkyxmc}}</span>
|
||||
</a-col>
|
||||
<a-col :span="5">
|
||||
<span style="margin-left: 15px;">课程类别</span> :<span>{{jxrwInfo?.value.kclb}}</span>
|
||||
</a-col>
|
||||
<a-col :span="5">
|
||||
<span style="margin-left: 15px;">课程名称</span> :<span>{{jxrwInfo?.value.kcmc}}</span>
|
||||
</a-col>
|
||||
<a-col :span="5">
|
||||
<span style="margin-left: 15px;">课程负责人</span> :<span>{{jxrwInfo?.value.teaxm}}</span>
|
||||
</a-col>
|
||||
<a-col :span="4">
|
||||
<span style="margin-left: 15px;">考试性质</span> :<span>{{jxrwInfo?.value.khfsmc}}</span>
|
||||
</a-col>
|
||||
<!-- <a-col :span="6">-->
|
||||
<!-- <span style="margin-left: 15px;">成绩方式</span> :<span></span>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- <a-col :span="6">-->
|
||||
<!-- <span style="margin-left: 15px;">修读方式</span> :<span></span>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- <a-col :span="6">-->
|
||||
<!-- <span style="margin-left: 15px;">任课教师职称</span> :<span>{{jxrwInfo?.value.teaxm.substring(jxrwInfo?.value.teaxm.indexOf("[")+1,jxrwInfo?.value.teaxm.indexOf("]"))}}</span>-->
|
||||
<!-- </a-col>-->
|
||||
</a-row>
|
||||
</div>
|
||||
</div>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- <div>
|
||||
详细信息
|
||||
</div> -->
|
||||
<!--引用表格-->
|
||||
<BasicTable @register="registerTable" >
|
||||
<!--操作栏-->
|
||||
<template #action="{ record }">
|
||||
<TableAction :actions="getTableAction(record)" />
|
||||
</template>
|
||||
</BasicTable>
|
||||
<!-- 表单区域 -->
|
||||
<XxhbjwxtxsmdModal ref="registerModal" @success="handleSuccess"></XxhbjwxtxsmdModal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" name="xxhbjwxtxsmd-xxhbjwxtxsmd" setup>
|
||||
import { ref, reactive,defineExpose } from 'vue';
|
||||
import { BasicTable, useTable, TableAction } from '/@/components/Table';
|
||||
import { useListPage } from '/@/hooks/system/useListPage';
|
||||
import { columns, superQuerySchema } from './Xxhbjwxtxsmd.data';
|
||||
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './Xxhbjwxtxsmd.api';
|
||||
import { downloadFile } from '/@/utils/common/renderUtils';
|
||||
import XxhbjwxtxsmdModal from './components/XxhbjwxtxsmdModal.vue'
|
||||
import { useUserStore } from '/@/store/modules/user';
|
||||
import { downloadFile as ajaxDownloadFileFn } from '/@/api/common/api';
|
||||
|
||||
const formRef = ref();
|
||||
const queryParam = reactive<any>({});
|
||||
const toggleSearchStatus = ref<boolean>(false);
|
||||
const registerModal = ref();
|
||||
const userStore = useUserStore();
|
||||
const spinning = ref<boolean>(false);
|
||||
|
||||
const jxrwInfo = reactive<any>({});
|
||||
//注册table数据
|
||||
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
||||
tableProps: {
|
||||
title:'详细信息',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
useSearchForm: false,
|
||||
actionColumn: {
|
||||
width: 120,
|
||||
fixed: 'right',
|
||||
},
|
||||
beforeFetch: async (params) => {
|
||||
return Object.assign(params, queryParam);
|
||||
},
|
||||
},
|
||||
exportConfig: {
|
||||
name: "教务系统学生名单",
|
||||
url: getExportUrl,
|
||||
params: queryParam,
|
||||
},
|
||||
importConfig: {
|
||||
url: getImportUrl,
|
||||
success: handleSuccess
|
||||
},
|
||||
});
|
||||
const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { rowSelection, selectedRowKeys }] = tableContext;
|
||||
const labelCol = reactive({
|
||||
xs:24,
|
||||
sm:4,
|
||||
xl:6,
|
||||
xxl:4
|
||||
});
|
||||
const wrapperCol = reactive({
|
||||
xs: 24,
|
||||
sm: 20,
|
||||
});
|
||||
|
||||
function textDown(){
|
||||
var a = document.createElement("a"); //创建一个<a></a>标签
|
||||
a.href = "/download/a.docx";
|
||||
//给a标签的href属性值加上地址,注意,这里是绝对路径,不用加 点.
|
||||
a.download ="a.docx";
|
||||
//设置下载文件文件名,这里加上.xlsx指定文件类型,pdf文件就指定.fpd即可
|
||||
a.style.display = "none"; // 障眼法藏起来a标签
|
||||
document.body.appendChild(a);
|
||||
// 将a标签追加到文档对象中
|
||||
a.click(); //模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
|
||||
a.remove();
|
||||
// 一次性的,用完就删除a标签
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑事件
|
||||
*/
|
||||
function handleEdit(record: Recordable) {
|
||||
registerModal.value.disableSubmit = false;
|
||||
registerModal.value.edit(record);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 成功回调
|
||||
*/
|
||||
function handleSuccess() {
|
||||
(selectedRowKeys.value = []) && reload();
|
||||
}
|
||||
|
||||
/**
|
||||
* 操作栏
|
||||
*/
|
||||
function getTableAction(record) {
|
||||
if(record.studentPath){
|
||||
return [
|
||||
{
|
||||
label: '预览',
|
||||
onClick: handleEdit.bind(null, record),
|
||||
},
|
||||
{
|
||||
label: '下载',
|
||||
onClick: handleEdit.bind(null, record),
|
||||
},
|
||||
];
|
||||
|
||||
}else{
|
||||
return [
|
||||
{
|
||||
label: '暂无文件',
|
||||
disabled:true,
|
||||
},];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询
|
||||
*/
|
||||
function searchQuery() {
|
||||
reload();
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置
|
||||
*/
|
||||
function searchReset() {
|
||||
formRef.value.resetFields();
|
||||
selectedRowKeys.value = [];
|
||||
//刷新数据
|
||||
reload();
|
||||
}
|
||||
|
||||
function init(record) {
|
||||
console.log('🧞', record);
|
||||
queryParam.kcrwdm = record.kcrwdm;
|
||||
jxrwInfo.value = record;
|
||||
reload();
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
init,
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.jeecg-basic-table-form-container {
|
||||
padding: 0;
|
||||
.table-page-search-submitButtons {
|
||||
display: block;
|
||||
margin-bottom: 24px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.query-group-cust{
|
||||
min-width: 100px !important;
|
||||
}
|
||||
.query-group-split-cust{
|
||||
width: 30px;
|
||||
display: inline-block;
|
||||
text-align: center
|
||||
}
|
||||
.ant-form-item:not(.ant-form-item-with-help){
|
||||
margin-bottom: 16px;
|
||||
height: 32px;
|
||||
}
|
||||
:deep(.ant-picker),:deep(.ant-input-number){
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -51,11 +51,11 @@
|
|||
<JSelectMultiple v-model:value="formData.kkdw" placeholder="请选择开课单位" :dictCode="`v_kkdw,KKYXMC,KKYXMC`"></JSelectMultiple>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<!-- <a-col :span="24">
|
||||
<a-form-item label="校内专业(大类)" v-bind="validateInfos.zydl" id="ZjSqxxForm-zydl" name="zydl">
|
||||
<a-input v-model:value="formData.zydl" placeholder="请输入校内专业(大类)" allow-clear></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-col> -->
|
||||
<a-col :span="24">
|
||||
<a-form-item label="课程类别" id="ZjSqxxForm-kclb" name="kclb">
|
||||
<JSelectMultiple v-model:value="formData.kclb" placeholder="请选择开课单位" dictCode="kcxz"></JSelectMultiple>
|
||||
|
@ -151,11 +151,11 @@
|
|||
<JSelectMultiple v-model:value="formData.kkdw" placeholder="请选择开课单位" :dictCode="`v_kkdw,KKYXMC,KKYXMC`"></JSelectMultiple>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<!-- <a-col :span="24">
|
||||
<a-form-item label="所属校内专业(大类)名称" v-bind="validateInfos.zydl" id="ZjSqxxForm-zydl" name="zydl">
|
||||
<a-input v-model:value="formData.zydl" placeholder="请输入所属校内专业(大类)名称" allow-clear></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-col> -->
|
||||
<a-col :span="24">
|
||||
<a-form-item label="毕业论文(设计)类别" id="ZjSqxxForm-kcmc" name="kcmc">
|
||||
<JSelectMultiple v-model:value="formData.kclb" placeholder="请选择开课单位" dictCode="kcxz"></JSelectMultiple>
|
||||
|
@ -198,11 +198,11 @@
|
|||
<JSelectMultiple v-model:value="formData.kkdw" placeholder="请选择开课单位" :dictCode="`v_kkdw,KKYXMC,KKYXMC`"></JSelectMultiple>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<!-- <a-col :span="24">
|
||||
<a-form-item label="校内专业(大类)" v-bind="validateInfos.zydl" id="ZjSqxxForm-zydl" name="zydl">
|
||||
<a-input v-model:value="formData.zydl" placeholder="请输入校内专业(大类)" allow-clear></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-col> -->
|
||||
<a-col :span="24">
|
||||
<a-form-item label="课程类别" id="ZjSqxxForm-kclb" name="kclb">
|
||||
<JSelectMultiple v-model:value="formData.kclb" placeholder="请选择开课单位" dictCode="kcxz"></JSelectMultiple>
|
||||
|
@ -259,6 +259,7 @@
|
|||
kcmc: '',
|
||||
kkdw: '',
|
||||
sqzt: '',
|
||||
kclb: '',
|
||||
});
|
||||
const { createMessage } = useMessage();
|
||||
const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 5 } });
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-item label="学年学期" id="ZjSqxxForm-xnxq" name="xnxq">
|
||||
<j-dict-select-tag v-model:value="item.xnxq" dictCode="xqxn" placeholder="请选择学年学期" allow-clear />
|
||||
<JSelectMultiple v-model:value="item.xnxq" placeholder="请选择学年学期" dictCode="xqxn"></JSelectMultiple>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
|
@ -103,6 +103,7 @@
|
|||
<a-col :span="24">
|
||||
<a-form-item label="学年学期" id="ZjSqxxForm-xnxq" name="xnxq">
|
||||
<j-dict-select-tag v-model:value="item.xnxq" dictCode="xqxn" placeholder="请选择学年学期" allow-clear />
|
||||
<JSelectMultiple v-model:value="item.xnxq" placeholder="请选择学年学期" dictCode="xqxn"></JSelectMultiple>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
|
@ -147,7 +148,7 @@
|
|||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-item label="毕业年份" id="ZjSqxxForm-xnxq" name="xnxq">
|
||||
<j-dict-select-tag v-model:value="item.xnxq" dictCode="xnxq" placeholder="请选择毕业年份" allow-clear />
|
||||
<JSelectMultiple v-model:value="item.xnxq" placeholder="请选择毕业年份" dictCode="xnxq"></JSelectMultiple>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
|
@ -172,7 +173,8 @@
|
|||
<a-row>
|
||||
<a-col :span="24">
|
||||
<a-form-item label="学年学期" id="ZjSqxxForm-xnxq" name="xnxq">
|
||||
<j-dict-select-tag v-model:value="item.xnxq" dictCode="xqxn" placeholder="请选择学年学期" allow-clear />
|
||||
<!-- <j-dict-select-tag v-model:value="item.xnxq" dictCode="xqxn" placeholder="请选择学年学期" allow-clear /> -->
|
||||
<JSelectMultiple v-model:value="item.xnxq" placeholder="请选择学年学期" dictCode="xnxq"></JSelectMultiple>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
|
|
Loading…
Reference in New Issue