main
王家东 4 months ago
parent 8fd3ae7e52
commit 98ef5c6bca
  1. 2
      jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/annualCompPoint/entity/AnnualCompPoint.java
  2. 14
      jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/annualCompPoint/service/impl/AnnualCompPointServiceImpl.java
  3. 3
      jeecgboot-vue3-master/src/components/Form/src/hooks/useForm.ts
  4. 54
      jeecgboot-vue3-master/src/router/routes/index.ts
  5. 75
      jeecgboot-vue3-master/src/views/annualCompPoint/committee/AnnualCompPointList.vue
  6. 48
      jeecgboot-vue3-master/src/views/annualCompPoint/department/AnnualCompPointList.vue
  7. 49
      jeecgboot-vue3-master/src/views/annualCompPoint/student/AnnualCompPointList.vue
  8. 2
      jeecgboot-vue3-master/src/views/annualCompPoint/student2/AnnualCompPoint.api.ts
  9. 32
      jeecgboot-vue3-master/src/views/annualCompPoint/student2/AnnualCompPointList2.vue
  10. 37
      jeecgboot-vue3-master/src/views/annualCompPoint/superAdmin/AnnualCompPointListAwaitPass.vue
  11. 4
      jeecgboot-vue3-master/src/views/annualCompPoint/superAdmin/AnnualCompPointListPass.vue
  12. 17
      jeecgboot-vue3-master/src/views/annualcompaward/AnnualCompAwardList.vue
  13. 12
      jeecgboot-vue3-master/src/views/annualcompaward/components/AnnualCompAwardModal.vue
  14. 14
      jeecgboot-vue3-master/src/views/compskill/CompskillList.vue

@ -88,7 +88,7 @@ public class AnnualCompPoint implements Serializable {
* 项目层次
*/
@Excel(name = "项目层次", width = 15)
@Dict(dictTable = "obj_level", dicCode = "id", dicText = "level_name")
@Dict(dictTable = "projectlevel", dicCode = "id", dicText = "name")
@ApiModelProperty(value = "项目层次")
private String objLevel;
/**

@ -13,6 +13,8 @@ import org.jeecg.modules.demo.annualcomp.entity.AnnualComp;
import org.jeecg.modules.demo.annualcomp.service.impl.AnnualCompServiceImpl;
import org.jeecg.modules.demo.objLevel.entity.ObjLevel;
import org.jeecg.modules.demo.objLevel.service.impl.ObjLevelServiceImpl;
import org.jeecg.modules.demo.projectlevel.entity.Projectlevel;
import org.jeecg.modules.demo.projectlevel.service.IProjectlevelService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -33,6 +35,8 @@ import java.util.stream.Collectors;
@Service
public class AnnualCompPointServiceImpl extends ServiceImpl<AnnualCompPointMapper, AnnualCompPoint> implements IAnnualCompPointService {
@Autowired
private IProjectlevelService projectlevelService;
@Autowired
private ObjLevelServiceImpl objLevelService;
@Autowired
@ -83,7 +87,7 @@ public class AnnualCompPointServiceImpl extends ServiceImpl<AnnualCompPointMappe
return Result.error("比赛项目名称重复");
}
// 项目层次
ObjLevel level = objLevelService.getById(annualCompPoint.getObjLevel());
Projectlevel level = projectlevelService.getById(annualCompPoint.getObjLevel());
if (level == null) {
return Result.error("项目层次错误");
}
@ -242,7 +246,7 @@ public class AnnualCompPointServiceImpl extends ServiceImpl<AnnualCompPointMappe
@Override
public Result<IPage<AnnualCompPoint>> pageList(AnnualCompPoint annualCompPoint, Integer pageNo, Integer pageSize, HttpServletRequest req) {
List<ObjLevel> levelList = objLevelService.list();
List<Projectlevel> levelList = projectlevelService.list();
QueryWrapper<AnnualCompPoint> queryWrapper = QueryGenerator.initQueryWrapper(annualCompPoint, req.getParameterMap());
Page<AnnualCompPoint> page = new Page<>(pageNo, pageSize);
IPage<AnnualCompPoint> pageList = this.page(page, queryWrapper);
@ -250,9 +254,9 @@ public class AnnualCompPointServiceImpl extends ServiceImpl<AnnualCompPointMappe
List<AnnualCompPoint> collect = list.stream().map(new Function<AnnualCompPoint, AnnualCompPoint>() {
@Override
public AnnualCompPoint apply(AnnualCompPoint annualCompPoint) {
for (ObjLevel objLevel : levelList) {
if (annualCompPoint.getObjLevel().equals(objLevel.getId().toString())) {
annualCompPoint.setObjLevel(objLevel.getLevelName());
for (Projectlevel objLevel : levelList) {
if (annualCompPoint.getObjLevel().equals(objLevel.getId())) {
annualCompPoint.setObjLevel(objLevel.getName());
break;
}
}

@ -22,7 +22,7 @@ export function useForm(props?: Props): UseFormReturnType {
add("OnlineSelectCascade", OnlineSelectCascade)
add("LinkTableCard", LinkTableCard)
add("LinkTableSelect", LinkTableSelect)
async function getForm() {
const form = unref(formRef);
if (!form) {
@ -111,6 +111,7 @@ export function useForm(props?: Props): UseFormReturnType {
},
setFieldsValue: async <T>(values: T) => {
console.log(values,'values')
const form = await getForm();
form.setFieldsValue<T>(values);
},

@ -85,6 +85,58 @@ export const comprehensiveEvaluation = {
},
]
}
/*用于比赛及其比赛项目的基础路由*/
export const compcom = {
path:'/compp',
name:'Compp',
// redirect:'/compp/compp',
component: () => import('/@/views/annualCompPoint/committee/index.vue'),
meta:{
title:'年度比赛项目',
},
children:[
{
path:'annualcompaward',
name:'annualcompaward',
component: ()=> import('/@/views/annualcompaward/AnnualCompAwardList.vue'),
meta:{
title:'比赛奖项管理'
}
},
{
path:'compskill',
name:'compskill',
component: ()=> import('/@/views/compskill/CompskillList.vue'),
meta:{
title:'项目能力管理'
}
},
{
path:'topic',
name:'topic',
component: ()=> import('/@/views/topic/TopicList.vue'),
meta:{
title:'项目题目管理'
}
},
{
path:'organizingCommittee',
name:'OrganizingCommittee',
component: ()=> import('/@/views/comprehensiveEvaluation/organizingCommittee.vue'),
meta:{
title:'组委会报告'
}
},
]
}
//update-begin---author:wangshuai ---date:20220629 for:auth2登录页面路由------------
export const Oauth2LoginRoute: AppRouteRecordRaw = {
path: '/oauth2-app/login',
@ -112,4 +164,4 @@ export const TokenLoginRoute: AppRouteRecordRaw = {
};
// Basic routing without permission
export const basicRoutes = [LoginRoute,comprehensiveEvaluation, RootRoute, ...mainOutRoutes, REDIRECT_ROUTE, PAGE_NOT_FOUND_ROUTE, TokenLoginRoute, Oauth2LoginRoute];
export const basicRoutes = [LoginRoute,compcom,comprehensiveEvaluation, RootRoute, ...mainOutRoutes, REDIRECT_ROUTE, PAGE_NOT_FOUND_ROUTE, TokenLoginRoute, Oauth2LoginRoute];

@ -57,6 +57,8 @@
<!-- 表单区域 -->
<AnnualCompPointModal ref="registerModal" @success="handleSuccess"></AnnualCompPointModal>
<AnnualCompPointModalscgl ref="registerModalscgl" @success="handleSuccess"></AnnualCompPointModalscgl>
<!-- 项目题目-->
</div>
</template>
@ -79,8 +81,8 @@
tongfenfuping,
} from './AnnualCompPoint.api';
import {downloadFile} from '/@/utils/common/renderUtils';
import AnnualCompPointModal from './components/AnnualCompPointModal.vue'
import AnnualCompPointModalscgl from './components/AnnualCompPointModalscgl.vue'
import AnnualCompPointModal from './components/AnnualCompPointModal.vue';
import AnnualCompPointModalscgl from './components/AnnualCompPointModalscgl.vue';
import JSwitch from '/@/components/Form/src/jeecg/components/JSwitch.vue';
import JSelectMultiple from '/@/components/Form/src/jeecg/components/JSelectMultiple.vue';
import JPopup from '/@/components/Form/src/jeecg/components/JPopup.vue';
@ -95,6 +97,7 @@
const toggleSearchStatus = ref<boolean>(false);
const registerModal = ref();
const registerModalscgl = ref();
const annualCompAwardModal = ref();
const { createMessage } = useMessage();
//table
const {prefixCls, tableContext, onExportXls,onExportXlsMb} = useListPage({
@ -162,6 +165,36 @@
registerModalscgl.value.edit(record);
}
/* /!**
* 比赛奖项管理事件
*!/
function handleEditbsjx(record: Recordable) {
console.log(annualCompAwardModal.value)
annualCompAwardModal.value.disableSubmit = false;
annualCompAwardModal.value.edit(record);
}*/
/**
* 项目能力管理事件
*/
function handleEditxmnl(record: Recordable) {
router.push({
path: '/compp/compskill',
query: {id: record.id}
});
}
/**
* 项目题目管理事件
*/
function handleEdittopic(record: Recordable) {
router.push({
path: '/compp/topic',
query: {id: record.id}
});
}
function onImportXls(d) {
if(selectedRowKeys.value.length===1){
handleImportXls(d, '/AnnualCompPoint/annualCompPoint/importExcel?ndbsxmid='+selectedRowKeys.value[0],() => {
@ -185,7 +218,7 @@
const router = useRouter()
function pingjiang(record: Recordable) {
router.push({
path: '/award/AwardManagementList',
path: '/compp/annualcompaward',
query: {id: record.id}
});
}
@ -208,6 +241,15 @@
query: {acpid: record.id}
});
}
/**
* 比赛奖项管理
*/
function bsjxgl(record: Recordable) {
router.push({
path: '/compp/annualcompaward',
query: {acpid: record.id}
});
}
/**
* 个人积分汇总
@ -288,6 +330,23 @@
label: '项目赛程管理',
onClick: handleEditscgl.bind(null, record),
},
/* {
label: '比赛奖项管理',
onClick: handleEditbsjx.bind(null, record),
},*/
{
label: '项目能力管理',
onClick: handleEditxmnl.bind(null, record),
},
{
label: '题目管理',
onClick: handleEdittopic.bind(null, record),
},
{
label: '详情',
onClick: handleDetail.bind(null, record),
@ -374,10 +433,18 @@
label: '作品管理',
onClick: workManage.bind(null, record),
});
actions.unshift({
/* actions.unshift({
label: '评分标准',
onClick: pfbz.bind(null, record),
});*/
actions.unshift({
label: '比赛奖项管理',
onClick: bsjxgl.bind(null, record),
});
// if (record.requireUploadWorks === 'Y' && record.annualCompState === "2") {
// actions.unshift({
// label: '',

@ -208,7 +208,21 @@ function getTableAction(record) {
{
label: '详情',
onClick: handleDetail.bind(null, record),
}
},
{
label: '项目能力管理',
onClick: handleEditxmnl.bind(null, record),
},
{
label: '题目管理',
onClick: handleEdittopic.bind(null, record),
},
{
label: '比赛奖项管理',
onClick: handleEditbsjx.bind(null, record),
},
];
return actions;
}
@ -240,6 +254,38 @@ function setFieldsValue(map) {
});
}
/**
* 项目能力管理事件
*/
function handleEditxmnl(record: Recordable) {
router.push({
path: '/compp/compskill',
query: {id: record.id}
});
}
/**
* 项目题目管理事件
*/
function handleEdittopic(record: Recordable) {
router.push({
path: '/compp/topic',
query: {id: record.id}
});
}
/**
* 比赛奖项管理
*/
function handleEditbsjx(record: Recordable) {
router.push({
path: '/compp/annualcompaward',
query: {acpid: record.id}
});
}
</script>

@ -221,6 +221,22 @@
label: '详情',
onClick: handleDetail.bind(null, record),
},
{
label: '项目能力管理',
onClick: handleEditxmnl.bind(null, record),
},
{
label: '题目管理',
onClick: handleEdittopic.bind(null, record),
},
{
label: '比赛奖项管理',
onClick: handleEditbsjx.bind(null, record),
},
];
// if (record.annualCompState === '2') {
// actions.unshift({
@ -269,6 +285,39 @@
queryParam[key] = map[key];
});
}
/**
* 项目能力管理事件
*/
function handleEditxmnl(record: Recordable) {
router.push({
path: '/compp/compskill',
query: {id: record.id}
});
}
/**
* 项目题目管理事件
*/
function handleEdittopic(record: Recordable) {
router.push({
path: '/compp/topic',
query: {id: record.id}
});
}
/**
* 比赛奖项管理
*/
function handleEditbsjx(record: Recordable) {
router.push({
path: '/compp/annualcompaward',
query: {acpid: record.id}
});
}
</script>
<style lang="less" scoped>

@ -4,7 +4,7 @@ import { useMessage } from "/@/hooks/web/useMessage";
const { createConfirm } = useMessage();
enum Api {
list = '/AnnualCompPoint/annualCompPoint/listStudent',
list = '/AnnualCompPoint/annualCompPoint/listZJ',
save='/AnnualCompPoint/annualCompPoint/add',
edit='/AnnualCompPoint/annualCompPoint/edit',
deleteOne = '/AnnualCompPoint/annualCompPoint/delete',

@ -254,16 +254,28 @@ function handleSignUpSettings(record) {
*/
function getTableAction(record) {
const actions = [
{
/* {
label: '报名',
// onClick: application.bind(null, record),
onClick: handleSignUpSettings.bind(null, record),
},
},*/
{
label: '详情',
onClick: handleDetail.bind(null, record),
},
{
label: '题目管理',
onClick: handleEdittopic.bind(null, record),
},
];
// if (record.annualCompState === '2') {
// actions.unshift({
@ -271,12 +283,12 @@ function getTableAction(record) {
// onClick: handleSubmitandApply.bind(null, record),
// });
// }
if (record.requireUploadWorks === 'Y') {
/* if (record.requireUploadWorks === 'Y') {
actions.unshift({
label: '作品管理',
onClick: workManage.bind(null, record),
});
}
}*/
/*if (record.requireTopic === 'Y' && record.annualCompState === '2') {
actions.unshift({
label: '选题',
@ -312,6 +324,18 @@ function setFieldsValue(map) {
queryParam[key] = map[key];
});
}
/**
* 项目题目管理事件
*/
function handleEdittopic(record: Recordable) {
router.push({
path: '/compp/topic',
query: {id: record.id}
});
}
</script>
<style lang="less" scoped>

@ -142,6 +142,27 @@ function handleDetail(record: Recordable) {
registerModal.value.edit(record);
}
/**
* 比赛奖项管理事件
*/
function handleEditbsjx(record: Recordable) {
router.push({
path: '/compp/annualcompaward',
});
}
/**
* 项目能力管理事件
*/
function handleEditxmnl(record: Recordable) {
router.push({
path: '/compp/compskill',
query: {id: record.id}
});
}
/**
* 年度项目管理 评奖
*/
@ -216,6 +237,22 @@ function getTableAction(record) {
label: '驳回',
onClick: handleReject.bind(null, record),
},
{
label: '项目赛程管理',
onClick: handleDetail.bind(null, record),
},
{
label: '比赛奖项管理',
onClick: handleEditbsjx.bind(null, record),
},
{
label: '项目能力管理',
onClick: handleEditxmnl.bind(null, record),
},
];
return actions;
}

@ -253,7 +253,7 @@ function handleSuccess() {
*/
function getTableAction(record) {
const actions = [
{
/* {
label: '报名',
onClick: applicationManage.bind(null, record),
},
@ -272,7 +272,7 @@ function getTableAction(record) {
{
label: '评奖',
onClick: awardManage.bind(null, record),
},
},*/
{
label: '详情',
onClick: handleDetail.bind(null, record),

@ -40,12 +40,12 @@
</template>
</BasicTable>
<!-- 表单区域 -->
<AnnualCompAwardModal @register="registerModal" @success="handleSuccess" />
<AnnualCompAwardModal @register="registerModal" @success="handleSuccess" :annucompid="annucompid"/>
</div>
</template>
<script lang="ts" name="annualcompaward-annualCompAward" setup>
import { ref, computed, unref } from 'vue';
import { ref, computed, unref,onMounted } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { useModal } from '/@/components/Modal';
import { useListPage } from '/@/hooks/system/useListPage';
@ -53,6 +53,8 @@
import { columns, searchFormSchema } from './AnnualCompAward.data';
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './AnnualCompAward.api';
import { downloadFile } from '/@/utils/common/renderUtils';
import {useRoute} from "vue-router";
const checkedKeys = ref<Array<string | number>>([]);
//model
const [registerModal, { openModal }] = useModal();
@ -87,19 +89,26 @@
});
const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext;
const route = useRoute()
/**
* 新增事件
*/
function handleAdd() {
openModal(true, {
isUpdate: false,
record:{annucompid: annucompid.value},
isUpdate: true,
showFooter: true,
});
}
/**
* 编辑事件
*/
const annucompid = ref((''))
onMounted(() => {
annucompid.value = route.query.acpid
console.log(annucompid.value,'annucompid')
handleAdd()
})
function handleEdit(record: Recordable) {
openModal(true, {
record,

@ -5,13 +5,20 @@
</template>
<script lang="ts" setup>
import {ref, computed, unref} from 'vue';
import {ref, computed, unref,watch} from 'vue';
import {BasicModal, useModalInner} from '/@/components/Modal';
import {BasicForm, useForm} from '/@/components/Form/index';
import {formSchema} from '../AnnualCompAward.data';
import {saveOrUpdate} from '../AnnualCompAward.api';
// Emits
const emit = defineEmits(['register','success']);
const props = defineProps(['annucompid'])
console.log(props.annucompid,'props')
const annucompid = ref('')
watch(() => props.data,(newVal) => {
console.log(newVal)
annucompid.value = newVal
})
const isUpdate = ref(true);
//
const [registerForm, {setProps,resetFields, setFieldsValue, validate}] = useForm({
@ -22,6 +29,7 @@
});
//
const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
console.log(data,'data')
//
await resetFields();
setModalProps({confirmLoading: false,showCancelBtn:!!data?.showFooter,showOkBtn:!!data?.showFooter});
@ -63,4 +71,4 @@
:deep(.ant-calendar-picker){
width: 100%
}
</style>
</style>

@ -45,7 +45,7 @@
</template>
<script lang="ts" name="compskill-compskill" setup>
import { ref, computed, unref } from 'vue';
import {ref, computed, unref, onMounted} from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { useModal } from '/@/components/Modal';
import { useListPage } from '/@/hooks/system/useListPage';
@ -53,6 +53,7 @@
import { columns, searchFormSchema } from './Compskill.data';
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './Compskill.api';
import { downloadFile } from '/@/utils/common/renderUtils';
import {useRoute} from "vue-router";
const checkedKeys = ref<Array<string | number>>([]);
//model
const [registerModal, { openModal }] = useModal();
@ -91,9 +92,18 @@
/**
* 新增事件
*/
const route = useRoute();
const annucompid = ref((''))
onMounted(() => {
annucompid.value = route.query.acpid
console.log(annucompid.value,'annucompid')
handleAdd()
})
function handleAdd() {
openModal(true, {
isUpdate: false,
record:{annucompid: annucompid.value},
isUpdate: true,
isUpdate: true,
showFooter: true,
});
}

Loading…
Cancel
Save