diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java index 22d6f61..a76b18e 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java @@ -84,6 +84,13 @@ public class ShiroConfig { } // 配置不会被拦截的链接 顺序判断 + filterChainDefinitionMap.put("/instrument/instrument/listcms", "anon"); //cms仪器资源接口 + filterChainDefinitionMap.put("/instrument/instrument/queryByIdCms", "anon"); //cms仪器资源接口 + filterChainDefinitionMap.put("/disciplinefieid/disciplineFieid/listcms", "anon"); //cms学科领域接口 + filterChainDefinitionMap.put("/instrumenttype/instrumentType/listcms", "anon"); //cms仪器分类接口 + filterChainDefinitionMap.put("/expert/expert/listadminCMS", "anon"); //cms专家模块不拦截 + filterChainDefinitionMap.put("/expert/expert/directioncalListCMS", "anon"); //cms专家模块不拦截 + filterChainDefinitionMap.put("/expert/expert/CMSexpinfo", "anon"); //cms专家模块不拦截 filterChainDefinitionMap.put("/cms/front/**", "anon"); //cms不拦截 filterChainDefinitionMap.put("/newsWebsocket/**", "anon");//CMS模块 filterChainDefinitionMap.put("/expert/expert/userRegisterexp", "anon"); //专家注册 diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/disciplinefieid/controller/DisciplineFieidController.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/disciplinefieid/controller/DisciplineFieidController.java index ac8767c..9e52820 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/disciplinefieid/controller/DisciplineFieidController.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/disciplinefieid/controller/DisciplineFieidController.java @@ -75,6 +75,16 @@ public class DisciplineFieidController extends JeecgController> listcms() { + QueryWrapper queryWrapper = new QueryWrapper(); + List pageList = disciplineFieidService.list(queryWrapper); + return Result.OK(pageList); + } + + /** * 添加 * diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/controller/ExpertController.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/controller/ExpertController.java index 5170cd5..d219ff0 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/controller/ExpertController.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/controller/ExpertController.java @@ -17,6 +17,9 @@ import org.jeecg.common.system.query.QueryRuleEnum; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.PasswordUtil; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.demo.disciplinefieid.entity.DisciplineFieid; +import org.jeecg.modules.demo.disciplinefieid.service.IDisciplineFieidService; +import org.jeecg.modules.demo.expert.entity.ExpCmsVo; import org.jeecg.modules.demo.expert.entity.Expert; import org.jeecg.modules.demo.expert.service.IExpertService; @@ -63,6 +66,8 @@ public class ExpertController extends JeecgController { private ISysUserService sysUserService; @Autowired private ISysDepartService sysDepartService; + @Autowired + private IDisciplineFieidService disciplineFieidService; /** * 分页列表查询 @@ -681,4 +686,57 @@ public class ExpertController extends JeecgController { expertService.save(expert); return Result.OK("注册成功"); } + + //专家CMS列表 + @ApiOperation(value="专家CMS列表,参数为一个对象Expert,Expert里面就一个参数directioncal。directioncal就是研究方向", notes="专家CMS列表,Expert里面就一个参数directioncal。directioncal就是研究方向") + @GetMapping(value = "/listadminCMS") + public Result> listadminCMS(Expert expert, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + //用于查看所有信息无论是否审核,无论哪个部门 + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(expert, req.getParameterMap()); + if(expert.getDirectioncal()!=null){ + queryWrapper.eq("directioncal",expert.getDirectioncal()); + } + Page page = new Page(pageNo, pageSize); + IPage pageList = expertService.page(page, queryWrapper); + pageList.getRecords().forEach(experttemp -> { + //开始用于修改数据 + SysUser sysUser = sysUserService.query().eq("username",experttemp.getSeusername()).one(); + String depid = expertService.getdeps(sysUser.getId()); + SysDepart sysDepart = sysDepartService.getById(depid); + experttemp.setRealname(sysUser.getRealname()); + experttemp.setWorkon(sysUser.getWorkNo()); + experttemp.setSex(sysUser.getSex()); + experttemp.setTopPic(sysUser.getAvatar()); + experttemp.setPhone(sysUser.getPhone()); + experttemp.setEmails(sysUser.getEmail()); + experttemp.setSsdep(sysDepart.getDepartName()); + experttemp.setPsd(sysUser.getPassword()); + experttemp.setSepsd(sysUser.getPassword()); + experttemp.setAvatar(sysUser.getAvatar()); + }); + + return Result.OK(pageList); + } + + @ApiOperation(value="专家列表研究方向CMS列表", notes="专家列表研究方向CMS列表") + @GetMapping(value = "/directioncalListCMS") + public Result> directioncalListCMS() { + List disciplineFieid =disciplineFieidService.list(); + return Result.OK(disciplineFieid); + } + + @ApiOperation(value="专家CMS详细信息需要的,参数为专家的id", notes="专家CMS详细信息需要的,参数为专家的id") + @GetMapping(value = "/CMSexpinfo") + public Result CMSexpinfo(@RequestParam(name="id",required=true) String id) { + Expert expert = expertService.getById(id); + SysUser sysUser=sysUserService.query().eq("username",expert.getSeusername()).one(); + ExpCmsVo expCmsVo = new ExpCmsVo(); + expCmsVo.setUserinfo(expert.getExpinfo()); + expCmsVo.setAvatar(sysUser.getAvatar()); + expCmsVo.setRealname(sysUser.getRealname()); + return Result.OK(expCmsVo); + } } diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/entity/ExpCmsVo.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/entity/ExpCmsVo.java new file mode 100644 index 0000000..b54d0e3 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/entity/ExpCmsVo.java @@ -0,0 +1,10 @@ +package org.jeecg.modules.demo.expert.entity; + +import lombok.Data; + +@Data +public class ExpCmsVo { + private String realname; + private String avatar; + private String userinfo; +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/entity/Expert.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/entity/Expert.java index 73c868a..77343cd 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/entity/Expert.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/entity/Expert.java @@ -103,6 +103,9 @@ public class Expert implements Serializable { private String emails; @TableField(exist = false) private Integer sex; + @TableField(exist = false) + private String avatar; + /**提交审核*/ // @Excel(name = "提交审核", width = 15,replace = {"是_Y","否_N"} ) diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/instrument/controller/InstrumentController.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/instrument/controller/InstrumentController.java index ee2c50d..b17c65c 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/instrument/controller/InstrumentController.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/instrument/controller/InstrumentController.java @@ -94,6 +94,47 @@ public class InstrumentController extends JeecgController> listcms(Instrument instrument, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(instrument, req.getParameterMap()); + queryWrapper.eq("state","3"); + Page page = new Page(pageNo, pageSize); + IPage pageList = instrumentService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "仪器信息表-通过id查询") + @ApiOperation(value="仪器信息表-通过id查询", notes="仪器信息表-通过id查询") + @GetMapping(value = "/queryByIdCms") + public Result queryByIdCms(@RequestParam(name="id",required=true) String id) { + Instrument instrument = instrumentService.getById(id); + if(instrument==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(instrument); + } + /** * 分页列表查询 * @@ -349,8 +390,7 @@ public class InstrumentController extends JeecgController> listcms() { + QueryWrapper queryWrapper = new QueryWrapper(); + List pageList = instrumentTypeService.list(queryWrapper); + return Result.OK(pageList); + } + /** * 添加 * diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/controller/ProjectController.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/controller/ProjectController.java index 8234ee7..6c4ee57 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/controller/ProjectController.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/controller/ProjectController.java @@ -122,8 +122,7 @@ public class ProjectController extends JeecgController } /** - * @description: - * //('科技主管部门待提交', '1'); + * @description: //('科技主管部门待提交', '1'); * //('科技主管部门已提交', '2'); * //('不受理', '3'); * //('已受理', '4'); @@ -170,19 +169,19 @@ public class ProjectController extends JeecgController //申请单位数据 if ("faren_admin".equals(loginUser.getRoleCode())) { queryWrapper.eq("sys_org_code", loginUser.getOrgCode()); - queryWrapper.in("project_status", 6,1,7,8,9,10); + queryWrapper.in("project_status", 6, 1, 7, 8, 9, 10); } // 区/县管理员数据 if ("quxian_admin".equals(loginUser.getRoleCode())) { queryWrapper.likeRight("sys_org_code", loginUser.getOrgCode()); - queryWrapper.in("project_status", 1,7,8,9,10); + queryWrapper.in("project_status", 1, 7, 8, 9, 10); } if ("kejiju_admin".equals(loginUser.getRoleCode())) { - queryWrapper.in("project_status", 7,8,9,10); + queryWrapper.in("project_status", 7, 8, 9, 10); } if ("caizheng_admin".equals(loginUser.getRoleCode())) { - queryWrapper.in("budget_status", 8,9,10); + queryWrapper.in("budget_status", 8, 9, 10); } IPage pageList = projectService.page(page, queryWrapper); return Result.OK(pageList); @@ -471,7 +470,11 @@ public class ProjectController extends JeecgController log.setOperationTime(new Date()); log.setProjectStatus("5"); log.setBudgetStatus("5"); - log.setOperationMark("审核取回"); + if ("shenbaoren_role".equals(loginUser.getRoleCode())) { + log.setOperationMark("申请人取回项目书,申请人取回预算书"); + } else { + log.setOperationMark("审核驳回"); + } iProjectLogService.save(log); return Result.OK("操作成功!"); } diff --git a/jeecgboot-vue3/src/router/helper/mainOut.ts b/jeecgboot-vue3/src/router/helper/mainOut.ts index a9d1221..23ed634 100644 --- a/jeecgboot-vue3/src/router/helper/mainOut.ts +++ b/jeecgboot-vue3/src/router/helper/mainOut.ts @@ -75,7 +75,7 @@ export const mainOutRoutes: AppRouteModule[] = [ { path: '/main-home/newsList', name: 'NewsList', - component: () => import('/@/views/demo/main-home/components/newsList/index.vue'), + component: () => import('/@/views/demo/main-home/components/NewsList/index.vue'), meta: { title: '新闻列表', ignoreAuth: true, @@ -86,7 +86,7 @@ export const mainOutRoutes: AppRouteModule[] = [ { path: '/main-home/newsInfo', name: 'NewsIndo', - component: () => import('/@/views/demo/main-home/components/newsInFo/index.vue'), + component: () => import('/@/views/demo/main-home/components/newsInfo/index.vue'), meta: { title: '新闻详情', ignoreAuth: true, diff --git a/jeecgboot-vue3/src/views/expert/adminback/Expert.api.ts b/jeecgboot-vue3/src/views/expert/adminback/Expert.api.ts new file mode 100644 index 0000000..0fca733 --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/Expert.api.ts @@ -0,0 +1,87 @@ +import { defHttp } from '/src/utils/http/axios'; +import { useMessage } from "/src/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/expert/expert/listadmin', + save='/expert/expert/add', + edit='/expert/expert/edit', + deleteOne = '/expert/expert/delete', + deleteBatch = '/expert/expert/deleteBatch', + importExcel = '/expert/expert/importExcel', + exportXls = '/expert/expert/exportXls', + handleadminback = '/expert/expert/handleadminback', + handleadminup = '/expert/expert/handleadminup', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const handleadminup = (params) => defHttp.get({ url: Api.handleadminup, params }); + +/** + * 管理员驳回 + * @param params + */ +export const handleadminback = (params) => defHttp.get({ url: Api.handleadminback, params }); + + +/** + * 管理员通过审核 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 删除单个 + * @param params + * @param handleSuccess + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + * @param handleSuccess + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + * @param isUpdate + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} diff --git a/jeecgboot-vue3/src/views/expert/adminback/Expert.data.ts b/jeecgboot-vue3/src/views/expert/adminback/Expert.data.ts new file mode 100644 index 0000000..9039ccf --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/Expert.data.ts @@ -0,0 +1,84 @@ +import {BasicColumn} from '/src/components/Table'; +import {FormSchema} from '/src/components/Table'; +import { rules} from '/src/utils/helper/validator'; +import { render } from '/src/utils/common/renderUtils'; +import { getWeekMonthQuarterYear } from '/src/utils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '用户名', + align: "center", + dataIndex: 'seusername' + }, + { + title: '毕业院校', + align: "center", + dataIndex: 'colleges' + }, + { + title: '专业', + align: "center", + dataIndex: 'major' + }, + { + title: '研究方向', + align: "center", + dataIndex: 'directioncal_dictText' + }, + { + title: '研究类型', + align: "center", + dataIndex: 'research' + }, + { + title: '学历', + align: "center", + dataIndex: 'educationcal' + }, + { + title: '专家简介', + align: "center", + dataIndex: 'expinfo' + }, + + { + title: '部门审核', + align: "center", + dataIndex: 'compopen_dictText' + }, + { + title: '管理员审核', + align: "center", + dataIndex: 'adminopen_dictText' + }, + { + title: '是否完善信息', + align: "center", + dataIndex: 'isdone', + customRender:({text}) => { + return render.renderSwitch(text, [{text:'是',value:'Y'},{text:'否',value:'N'}]); + }, + }, + + { + title: '专家状态', + align: "center", + dataIndex: 'expsture', + customRender:({text}) => { + return render.renderSwitch(text, [{text:'是',value:'Y'},{text:'否',value:'N'}]); + }, + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + seusername: {title: '用户名',order: 0,view: 'text', type: 'string',}, + colleges: {title: '毕业院校',order: 1,view: 'text', type: 'string',}, + major: {title: '专业',order: 2,view: 'text', type: 'string',}, + directioncal: {title: '研究方向',order: 3,view: 'text', type: 'string',}, + research: {title: '研究类型',order: 4,view: 'text', type: 'string',}, + educationcal: {title: '学历',order: 5,view: 'text', type: 'string',}, + expinfo: {title: '专家简介',order: 6,view: 'text', type: 'string',}, + compopen: {title: '部门审核',order: 7,view: 'switch', type: 'string',}, + adminopen: {title: '管理员审核',order: 8,view: 'switch', type: 'string',}, +}; diff --git a/jeecgboot-vue3/src/views/expert/adminback/ExpertList.vue b/jeecgboot-vue3/src/views/expert/adminback/ExpertList.vue new file mode 100644 index 0000000..81274cb --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/ExpertList.vue @@ -0,0 +1,305 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/expert/adminback/V20240926_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/adminback/V20240926_1__menu_insert_Expert.sql new file mode 100644 index 0000000..6883600 --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/V20240926_1__menu_insert_Expert.sql @@ -0,0 +1,26 @@ +-- 注意:该页面对应的前台目录为views/expert文件夹下 +-- 如果你想更改到其他目录,请修改sql中component字段对应的值 + + +INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) +VALUES ('2024092603239210260', NULL, '专家管理', '/expert/expertList', 'expert/ExpertList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2024-09-26 15:23:26', NULL, NULL, 0); + +-- 权限控制sql +-- 新增 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092603239210261', '2024092603239210260', '添加专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-26 15:23:26', NULL, NULL, 0, 0, '1', 0); +-- 编辑 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092603239210262', '2024092603239210260', '编辑专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-26 15:23:26', NULL, NULL, 0, 0, '1', 0); +-- 删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092603239210263', '2024092603239210260', '删除专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-26 15:23:26', NULL, NULL, 0, 0, '1', 0); +-- 批量删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092603239210264', '2024092603239210260', '批量删除专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-26 15:23:26', NULL, NULL, 0, 0, '1', 0); +-- 导出excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092603239210265', '2024092603239210260', '导出excel_专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-26 15:23:26', NULL, NULL, 0, 0, '1', 0); +-- 导入excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092603239210266', '2024092603239210260', '导入excel_专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-26 15:23:26', NULL, NULL, 0, 0, '1', 0); diff --git a/jeecgboot-vue3/src/views/expert/adminback/V20240929_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/adminback/V20240929_1__menu_insert_Expert.sql new file mode 100644 index 0000000..57c53ae --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/V20240929_1__menu_insert_Expert.sql @@ -0,0 +1,26 @@ +-- 注意:该页面对应的前台目录为views/expert文件夹下 +-- 如果你想更改到其他目录,请修改sql中component字段对应的值 + + +INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) +VALUES ('2024092910425270310', NULL, '专家管理', '/expert/expertList', 'expert/ExpertList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2024-09-29 10:42:31', NULL, NULL, 0); + +-- 权限控制sql +-- 新增 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092910425270311', '2024092910425270310', '添加专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-29 10:42:31', NULL, NULL, 0, 0, '1', 0); +-- 编辑 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092910425270312', '2024092910425270310', '编辑专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-29 10:42:31', NULL, NULL, 0, 0, '1', 0); +-- 删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092910425270313', '2024092910425270310', '删除专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-29 10:42:31', NULL, NULL, 0, 0, '1', 0); +-- 批量删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092910425270314', '2024092910425270310', '批量删除专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-29 10:42:31', NULL, NULL, 0, 0, '1', 0); +-- 导出excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092910425270315', '2024092910425270310', '导出excel_专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-29 10:42:31', NULL, NULL, 0, 0, '1', 0); +-- 导入excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092910425270316', '2024092910425270310', '导入excel_专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-29 10:42:31', NULL, NULL, 0, 0, '1', 0); diff --git a/jeecgboot-vue3/src/views/expert/adminback/V20240930_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/adminback/V20240930_1__menu_insert_Expert.sql new file mode 100644 index 0000000..f5859e1 --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/V20240930_1__menu_insert_Expert.sql @@ -0,0 +1,26 @@ +-- 注意:该页面对应的前台目录为views/expert文件夹下 +-- 如果你想更改到其他目录,请修改sql中component字段对应的值 + + +INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) +VALUES ('2024093009506560560', NULL, '专家管理', '/expert/expertList', 'expert/ExpertList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2024-09-30 09:50:56', NULL, NULL, 0); + +-- 权限控制sql +-- 新增 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024093009506560561', '2024093009506560560', '添加专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-30 09:50:56', NULL, NULL, 0, 0, '1', 0); +-- 编辑 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024093009506560562', '2024093009506560560', '编辑专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-30 09:50:56', NULL, NULL, 0, 0, '1', 0); +-- 删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024093009506560563', '2024093009506560560', '删除专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-30 09:50:56', NULL, NULL, 0, 0, '1', 0); +-- 批量删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024093009506560564', '2024093009506560560', '批量删除专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-30 09:50:56', NULL, NULL, 0, 0, '1', 0); +-- 导出excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024093009506560565', '2024093009506560560', '导出excel_专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-30 09:50:56', NULL, NULL, 0, 0, '1', 0); +-- 导入excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024093009506560566', '2024093009506560560', '导入excel_专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-30 09:50:56', NULL, NULL, 0, 0, '1', 0); diff --git a/jeecgboot-vue3/src/views/expert/adminback/components/ExpertForm.vue b/jeecgboot-vue3/src/views/expert/adminback/components/ExpertForm.vue new file mode 100644 index 0000000..286139e --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/components/ExpertForm.vue @@ -0,0 +1,189 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/expert/adminback/components/ExpertModal.vue b/jeecgboot-vue3/src/views/expert/adminback/components/ExpertModal.vue new file mode 100644 index 0000000..9c03def --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/components/ExpertModal.vue @@ -0,0 +1,77 @@ + + + + + + diff --git a/jeecgboot-vue3/src/views/instrument/InstrumentList2.vue b/jeecgboot-vue3/src/views/instrument/InstrumentList2.vue index 5dfa4c7..b2078a7 100644 --- a/jeecgboot-vue3/src/views/instrument/InstrumentList2.vue +++ b/jeecgboot-vue3/src/views/instrument/InstrumentList2.vue @@ -250,6 +250,7 @@ * 操作栏 */ function getTableAction(record) { + const oct = userStore.loginInfo.departs[0].orgCategory; const actions = [ { label: '详情', @@ -257,7 +258,7 @@ } ]; - if(record.state==="1"||record.state==="2"){ + if((oct==="3"&&record.state==="1")||(record.state==="2"&&oct!=="3")){ actions.unshift({ label: '通过', popConfirm: { @@ -266,7 +267,7 @@ } }); } - if(record.state==="1"||record.state==="2"){ + if((oct==="3"&&record.state==="1")||(record.state==="2"&&oct!=="3")){ actions.unshift({ label: '驳回', popConfirm: { diff --git a/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4CaiZhengList.vue b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4CaiZhengList.vue index f7b8e3d..329342b 100644 --- a/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4CaiZhengList.vue +++ b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4CaiZhengList.vue @@ -211,7 +211,12 @@ function getTableAction(record) { { label: '详情', onClick: handleDetail.bind(null, record), - }]; + }, + { + label: '日志查询', + onClick: go_projectLog.bind(null, record), + } + ]; //单位法人审核 if (record.budgetStatus == 9) { actions.unshift({ @@ -236,6 +241,10 @@ function getTableAction(record) { return actions; } +function go_projectLog(record) { + // go('/comp/jeecg/basic?id=' +'666'); + go('/projectLog/projectLogList?id='+record.id); +} diff --git a/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4FaRenList.vue b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4FaRenList.vue index df49f88..d9ac2e0 100644 --- a/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4FaRenList.vue +++ b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4FaRenList.vue @@ -211,7 +211,12 @@ function getTableAction(record) { { label: '详情', onClick: handleDetail.bind(null, record), - }]; + }, + { + label: '日志查询', + onClick: go_projectLog.bind(null, record), + } + ]; //单位法人审核 if (record.projectStatus == 6) { actions.unshift({ @@ -235,7 +240,10 @@ function getTableAction(record) { //('市科技局已提交', '8'); return actions; } - +function go_projectLog(record) { + // go('/comp/jeecg/basic?id=' +'666'); + go('/projectLog/projectLogList?id='+record.id); +} diff --git a/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4KejijuList.vue b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4KejijuList.vue index cfaa11a..b076208 100644 --- a/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4KejijuList.vue +++ b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4KejijuList.vue @@ -211,7 +211,12 @@ function getTableAction(record) { { label: '详情', onClick: handleDetail.bind(null, record), - }]; + }, + { + label: '日志查询', + onClick: go_projectLog.bind(null, record), + } + ]; //单位法人审核 if (record.projectStatus == 7) { actions.unshift({ @@ -236,6 +241,10 @@ function getTableAction(record) { return actions; } +function go_projectLog(record) { + // go('/comp/jeecg/basic?id=' +'666'); + go('/projectLog/projectLogList?id='+record.id); +} diff --git a/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4QuXianList.vue b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4QuXianList.vue index 38b9960..170d059 100644 --- a/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4QuXianList.vue +++ b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4QuXianList.vue @@ -211,7 +211,12 @@ function getTableAction(record) { { label: '详情', onClick: handleDetail.bind(null, record), - }]; + }, + { + label: '日志查询', + onClick: go_projectLog.bind(null, record), + } + ]; if (record.projectStatus == 1) { actions.unshift({ label: '通过', @@ -235,7 +240,10 @@ function getTableAction(record) { return actions; } - +function go_projectLog(record) { + // go('/comp/jeecg/basic?id=' +'666'); + go('/projectLog/projectLogList?id='+record.id); +} \ No newline at end of file +:deep(.ant-picker), :deep(.ant-input-number) { + width: 100%; +} + .button-container { + text-align: center; + } +