修改bug,添加查询权限

This commit is contained in:
yangjun 2024-09-06 23:04:35 +08:00
parent 5bb9db4e4d
commit f441b1e497
8 changed files with 610 additions and 13 deletions

View File

@ -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){

View File

@ -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);

View File

@ -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);

View File

@ -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');

View File

@ -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";
//ahref .
a.download =downame+".docx";
//.xlsxpdf.fpd
a.style.display = "none"; // a
document.body.appendChild(a);
// a
a.click(); //aahref
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>

View File

@ -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";
//ahref .
a.download ="a.docx";
//.xlsxpdf.fpd
a.style.display = "none"; // a
document.body.appendChild(a);
// a
a.click(); //aahref
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>

View File

@ -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 } });

View File

@ -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">