喻忠伟 1 week ago
commit 1365f582ad
  1. 2
      jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
  2. 20
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/innovationvoucher/controller/InnovationVoucherController.java
  3. 17
      jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java
  4. 16
      jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/QuXianDepartVo.java
  5. 17
      jeecgboot-vue3/src/api/sys/user.ts
  6. 37
      jeecgboot-vue3/src/views/declarant/declarantList.vue
  7. 5
      jeecgboot-vue3/src/views/declarantUnit/declarantUnitList.vue
  8. 2
      jeecgboot-vue3/src/views/declarantUnit/depart.user.data.ts
  9. 6
      jeecgboot-vue3/src/views/innovationvoucher/InnovationVoucherList1.vue
  10. 6
      jeecgboot-vue3/src/views/innovationvoucher/InnovationVoucherList5.vue
  11. 29
      jeecgboot-vue3/src/views/system/loginmini/MiniRegister4faren.vue

@ -86,6 +86,7 @@ public class ShiroConfig {
// 配置不会被拦截的链接 顺序判断 // 配置不会被拦截的链接 顺序判断
filterChainDefinitionMap.put("/innovationvoucher/innovationVoucher/listcms", "anon"); //创新券 filterChainDefinitionMap.put("/innovationvoucher/innovationVoucher/listcms", "anon"); //创新券
filterChainDefinitionMap.put("/innovationvoucher/innovationVoucher/queryByIdCms", "anon"); //创新券 filterChainDefinitionMap.put("/innovationvoucher/innovationVoucher/queryByIdCms", "anon"); //创新券
filterChainDefinitionMap.put("/innovationvoucher/innovationVoucher/listcmssy", "anon"); //创新券
filterChainDefinitionMap.put("/sys/cas/client/validateLogin", "anon"); //cas验证登录 filterChainDefinitionMap.put("/sys/cas/client/validateLogin", "anon"); //cas验证登录
filterChainDefinitionMap.put("/sys/randomImage/**", "anon"); //登录验证码接口排除 filterChainDefinitionMap.put("/sys/randomImage/**", "anon"); //登录验证码接口排除
filterChainDefinitionMap.put("/sys/checkCaptcha", "anon"); //登录验证码接口排除 filterChainDefinitionMap.put("/sys/checkCaptcha", "anon"); //登录验证码接口排除
@ -181,6 +182,7 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/sys/sysDepart/queryDepartTreeSync", "anon");//申报人注册时,选择部门列表 filterChainDefinitionMap.put("/sys/sysDepart/queryDepartTreeSync", "anon");//申报人注册时,选择部门列表
filterChainDefinitionMap.put("/sys/sysDepart/queryDepartTreeSync4FaRen", "anon");//法人注册时,选择部门列表 filterChainDefinitionMap.put("/sys/sysDepart/queryDepartTreeSync4FaRen", "anon");//法人注册时,选择部门列表
filterChainDefinitionMap.put("/sys/sysDepart/getDepartList4Quxian", "anon");//法人注册时,获取区县级别部门列表

@ -100,6 +100,23 @@ public class InnovationVoucherController extends JeecgController<InnovationVouch
return Result.OK(pageList); return Result.OK(pageList);
} }
@ApiOperation(value="创新券表-分页列表查询", notes="创新券表-分页列表查询")
@GetMapping(value = "/listcmssy")
public Result<IPage<InnovationVoucher>> listcmssy(InnovationVoucher innovationVoucher,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<InnovationVoucher> queryWrapper = QueryGenerator.initQueryWrapper(innovationVoucher, req.getParameterMap());
queryWrapper.eq("state","3");
queryWrapper.eq("use_state","1");
queryWrapper.eq("sf_state","0");
queryWrapper.orderByDesc("create_time");
Page<InnovationVoucher> page = new Page<InnovationVoucher>(pageNo, pageSize);
IPage<InnovationVoucher> pageList = innovationVoucherService.page(page, queryWrapper);
return Result.OK(pageList);
}
/** /**
* 通过id查询 * 通过id查询
* *
@ -564,8 +581,7 @@ public class InnovationVoucherController extends JeecgController<InnovationVouch
if(innovationVoucher.getDxshFlag().equals("1")){ if(innovationVoucher.getDxshFlag().equals("1")){
innovationVoucher.setDxshSta("2"); innovationVoucher.setDxshSta("2");
innovationVoucher.setDxshFlag("2"); innovationVoucher.setDxshFlag("2");
} }else if(innovationVoucher.getDxshFlag().equals("2")&&innovationVoucher.getDxshSta().equals("2")){
if(innovationVoucher.getDxshFlag().equals("2")&&innovationVoucher.getDxshSta().equals("2")){
innovationVoucher.setDxshSta("3"); innovationVoucher.setDxshSta("3");
} }
//instrument.setFlag("2"); //instrument.setFlag("2");

@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
@ -25,6 +26,7 @@ import org.jeecg.modules.system.model.SysDepartTreeModel;
import org.jeecg.modules.system.service.ISysDepartService; import org.jeecg.modules.system.service.ISysDepartService;
import org.jeecg.modules.system.service.ISysUserDepartService; import org.jeecg.modules.system.service.ISysUserDepartService;
import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.system.service.ISysUserService;
import org.jeecg.modules.system.vo.QuXianDepartVo;
import org.jeecg.modules.system.vo.SysDepartExportVo; import org.jeecg.modules.system.vo.SysDepartExportVo;
import org.jeecg.modules.system.vo.lowapp.ExportDepartVo; import org.jeecg.modules.system.vo.lowapp.ExportDepartVo;
import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.ExcelImportUtil;
@ -198,6 +200,21 @@ public class SysDepartController {
return result; return result;
} }
@ApiOperation(value = "法人注册时,获取区县级别部门", notes = "法人注册时,获取区县级别部门")
@GetMapping(value = "/getDepartList4Quxian")
public Result<List<QuXianDepartVo>> getDepartList4Quxian() {
SysDepart sysDepart = sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getDelFlag, "0").eq(SysDepart::getParentId, ""));
List<SysDepart> departList4Quxian = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getParentId, sysDepart.getId()).eq(SysDepart::getDelFlag, "0"));
List<QuXianDepartVo> quXianDepartVos = new ArrayList<>();
Optional.ofNullable(departList4Quxian).orElse(new LinkedList<>()).stream().forEach(depart -> {
QuXianDepartVo vo = new QuXianDepartVo();
vo.setDepName(depart.getDepartName());
vo.setDepId(depart.getId());
quXianDepartVos.add(vo);
});
return Result.OK(quXianDepartVos);
}
/** /**
* 获取某个部门的所有父级部门的ID * 获取某个部门的所有父级部门的ID
* *

@ -0,0 +1,16 @@
package org.jeecg.modules.system.vo;
import lombok.Data;
/**
* @Description: TODO
* @Author: Z.H.C
* @CreateTime: 2024-11-12 11:20
* @Version: 1.0
*/
@Data
public class QuXianDepartVo {
private String depId;
private String depName;
}

@ -31,6 +31,8 @@ enum Api {
userRegister4Shenbaoren = '/sys/user/userRegister4Shenbaoren', userRegister4Shenbaoren = '/sys/user/userRegister4Shenbaoren',
// //
userRegister4Faren = '/sys/user/userRegister4Faren', userRegister4Faren = '/sys/user/userRegister4Faren',
//
userRegisterexp = '/expert/expert/userRegisterexp',
// //
checkOnlyUser = '/sys/user/checkOnlyUser', checkOnlyUser = '/sys/user/checkOnlyUser',
//SSO //SSO
@ -47,6 +49,8 @@ enum Api {
getLoginQrcode = '/sys/getLoginQrcode', getLoginQrcode = '/sys/getLoginQrcode',
// //
getQrcodeToken = '/sys/getQrcodeToken', getQrcodeToken = '/sys/getQrcodeToken',
getdepdataapi= '/expert/expert/getdepdata',
getDepartList4Quxian = '/sys/sysDepart/getDepartList4Quxian',
} }
/** /**
@ -127,6 +131,10 @@ export function registerFaren(params) {
return defHttp.post({url: Api.userRegister4Faren, params}, {isReturnNativeResponse: true}); return defHttp.post({url: Api.userRegister4Faren, params}, {isReturnNativeResponse: true});
} }
export function registerexp(params) {
return defHttp.post({url: Api.userRegisterexp, params}, {isReturnNativeResponse: true});
}
/** /**
* @description: 获取短信验证码 * @description: 获取短信验证码
*/ */
@ -233,3 +241,12 @@ export async function validateCasLogin(params) {
let url = Api.validateCasLogin; let url = Api.validateCasLogin;
return defHttp.get({ url: url, params }); return defHttp.get({ url: url, params });
} }
export async function getdepdata(params) {
let url = Api.getdepdataapi;
return defHttp.get({ url: url, params });
}export async function departList4Quxian(params) {
return defHttp.get({ url: Api.getDepartList4Quxian, params });
}

@ -33,7 +33,7 @@
</template> </template>
<!--操作栏--> <!--操作栏-->
<template #action="{ record }"> <template #action="{ record }">
<TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)" /> <TableAction :actions="getTableAction(record)"/>
</template> </template>
</BasicTable> </BasicTable>
<!--用户抽屉--> <!--用户抽屉-->
@ -69,7 +69,9 @@
import { columns, searchFormSchema } from './user.data'; import { columns, searchFormSchema } from './user.data';
import { listNoCareTenant, deleteUser, batchDeleteUser, getImportUrl, getExportUrl, frozenBatch} from './user.api'; import { listNoCareTenant, deleteUser, batchDeleteUser, getImportUrl, getExportUrl, frozenBatch} from './user.api';
import {usePermission} from "/@/hooks/web/usePermission"; import {usePermission} from "/@/hooks/web/usePermission";
import {useUserStore} from "@/store/modules/user";
const userStore = useUserStore();
console.log("the current user role:",userStore.getUserInfo.roleCode);
const { createMessage, createConfirm } = useMessage(); const { createMessage, createConfirm } = useMessage();
const { isDisabledAuth } = usePermission(); const { isDisabledAuth } = usePermission();
//drawer //drawer
@ -84,7 +86,6 @@
const [registerQuitAgentModal, { openModal: openQuitAgentModal }] = useModal(); const [registerQuitAgentModal, { openModal: openQuitAgentModal }] = useModal();
//model //model
const [registerQuitModal, { openModal: openQuitModal }] = useModal(); const [registerQuitModal, { openModal: openQuitModal }] = useModal();
// //
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({ const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
designScope: 'user-list', designScope: 'user-list',
@ -233,7 +234,7 @@
/** /**
* 操作栏 * 操作栏
*/ */
function getTableAction(record): ActionItem[] { /*function getTableAction(record): ActionItem[] {
return [ return [
{ {
label: '编辑', label: '编辑',
@ -241,31 +242,25 @@
// ifShow: () => hasPermission('system:user:edit'), // ifShow: () => hasPermission('system:user:edit'),
}, },
]; ];
} }*/
/** /**
* 下拉操作栏 * 下拉操作栏
*/ */
function getDropDownAction(record): ActionItem[] { // function getDropDownAction(record): ActionItem[] {
function getTableAction(record): ActionItem[] {
return [ return [
{ {
label: '详情', label: '详情',
onClick: handleDetail.bind(null, record), onClick: handleDetail.bind(null, record),
}, },
{ /*{
label: '密码', label: '密码',
//auth: 'user:changepwd', //auth: 'user:changepwd',
onClick: handleChangePassword.bind(null, record.username), onClick: handleChangePassword.bind(null, record.username),
}, },*/
{
label: '删除',
popConfirm: {
title: '是否确认删除',
confirm: handleDelete.bind(null, record),
},
},
{ {
label: '驳回', label: '驳回',
ifShow: record.status == 1, ifShow: userStore.getUserInfo.roleCode =='faren_admin' && record.status == 1,
popConfirm: { popConfirm: {
title: '确定驳回吗?', title: '确定驳回吗?',
confirm: handleFrozen.bind(null, record, 2), confirm: handleFrozen.bind(null, record, 2),
@ -273,12 +268,20 @@
}, },
{ {
label: '通过', label: '通过',
ifShow: record.status == 2, ifShow: userStore.getUserInfo.roleCode =='faren_admin' && record.status == 2,
popConfirm: { popConfirm: {
title: '确定通过吗?', title: '确定通过吗?',
confirm: handleFrozen.bind(null, record, 1), confirm: handleFrozen.bind(null, record, 1),
}, },
}, },
{
label: '删除',
ifShow: userStore.getUserInfo.roleCode != 'shenbaoren_role',
popConfirm: {
title: '是否确认删除',
confirm: handleDelete.bind(null, record),
},
},
// { // {
// label: '', // label: '',
// onClick: handleAgentSettings.bind(null, record.username), // onClick: handleAgentSettings.bind(null, record.username),

@ -196,6 +196,11 @@
confirm: handleFrozen.bind(null, record, 1), confirm: handleFrozen.bind(null, record, 1),
}, },
}, },
{
ifShow: userStore.getUserInfo.roleCode =='faren_admin',
label: '编辑',
onClick: handleEdit.bind(null, record),
},
{ {
label: '删除', label: '删除',
ifShow: userStore.getUserInfo.roleCode !='faren_admin', ifShow: userStore.getUserInfo.roleCode !='faren_admin',

@ -92,6 +92,7 @@ export const formSchema: FormSchema[] = [
componentProps:{ componentProps:{
dictCode:"depart_status" dictCode:"depart_status"
}, },
dynamicDisabled: true,
}, },
{ {
label: '名称', label: '名称',
@ -107,6 +108,7 @@ export const formSchema: FormSchema[] = [
label: '编码', label: '编码',
field: 'orgCode', field: 'orgCode',
component: 'Input', component: 'Input',
dynamicDisabled: true,
}, },
{ {
label: '手机号', label: '手机号',

@ -220,7 +220,7 @@
*/ */
function getTableAction(record) { function getTableAction(record) {
//console.log(userStore.loginInfo.departs[0].orgCategory, 'userStore'); //console.log(userStore.loginInfo.departs[0].orgCategory, 'userStore');
const oct = userStore.loginInfo.departs[0].orgCategory; const oct = userStore.getUserInfo.roleCode;
const actions = [ const actions = [
{ {
label: '详情', label: '详情',
@ -228,7 +228,7 @@
} }
]; ];
if((oct==="3"&&record.state==="1")||(record.state==="2"&&oct!=="3")){ if((oct==="quxian_admin"&&record.state==="1")||(record.state==="2"&&oct!=="quxian_admin")){
actions.unshift({ actions.unshift({
label: '通过', label: '通过',
popConfirm: { popConfirm: {
@ -237,7 +237,7 @@
} }
}); });
} }
if((oct==="3"&&record.state==="1")||(record.state==="2"&&oct!=="3")){ if((oct==="quxian_admin"&&record.state==="1")||(record.state==="2"&&oct!=="quxian_admin")){
actions.unshift({ actions.unshift({
label: '驳回', label: '驳回',
popConfirm: { popConfirm: {

@ -235,7 +235,7 @@
* 操作栏 * 操作栏
*/ */
function getTableAction(record) { function getTableAction(record) {
const oct = userStore.loginInfo.departs[0].orgCategory; const oct = userStore.getUserInfo.roleCode;
const actions = [ const actions = [
{ {
label: '详情', label: '详情',
@ -243,7 +243,7 @@
} }
]; ];
if((oct==="3"&&record.dxshSta==="1")||(record.dxshSta==="2"&&oct!=="3")){ if((oct==="quxian_admin"&&record.dxshSta==="1")||(record.dxshSta==="2"&&oct!=="quxian_admin")){
actions.unshift({ actions.unshift({
label: '通过', label: '通过',
popConfirm: { popConfirm: {
@ -252,7 +252,7 @@
} }
}); });
} }
if((oct==="3"&&record.dxshSta==="1")||(record.dxshSta==="2"&&oct!=="3")){ if((oct==="quxian_admin"&&record.dxshSta==="1")||(record.dxshSta==="2"&&oct!=="quxian_admin")){
actions.unshift({ actions.unshift({
label: '驳回', label: '驳回',
popConfirm: { popConfirm: {

@ -39,10 +39,16 @@
<a-input class="fix-auto-fill" type="text" :placeholder="t('请输法人身份证号')" v-model:value="formData.idNo" /> <a-input class="fix-auto-fill" type="text" :placeholder="t('请输法人身份证号')" v-model:value="formData.idNo" />
</div> </div>
</a-form-item> </a-form-item>
<a-form-item> <!-- <a-form-item>
<div class="aui-input-line"> <div class="aui-input-line">
<JSelectDept4FaRen :placeholder="t('sys.login.selectorgPlaceholder4Kejiju')" v-model:value="formData.department" :multiple="false" /> <JSelectDept4FaRen :placeholder="t('sys.login.selectorgPlaceholder4Kejiju')" v-model:value="formData.department" :multiple="false" />
</div> </div>
</a-form-item>-->
<a-form-item>
<div class="aui-input-line">
<j-search-select :placeholder="t('sys.login.selectorgPlaceholder4Kejiju')" v-model:value="formData.department" :dictOptions="dictOptions" />
{{ selectValue }}
</div>
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<div class="aui-input-line"> <div class="aui-input-line">
@ -118,7 +124,7 @@
<script lang="ts" setup name="mini-register"> <script lang="ts" setup name="mini-register">
import { ref, reactive, unref, toRaw,onMounted } from 'vue'; import { ref, reactive, unref, toRaw,onMounted } from 'vue';
import { getCaptcha, registerFaren, getCodeInfo } from '/@/api/sys/user'; import {getCaptcha, registerFaren, getCodeInfo, departList4Quxian} from '/@/api/sys/user';
import { SmsEnum } from '/@/views/sys/login/useLogin'; import { SmsEnum } from '/@/views/sys/login/useLogin';
import { useMessage } from '/@/hooks/web/useMessage'; import { useMessage } from '/@/hooks/web/useMessage';
import logoImg from '/@/assets/loginmini/icon/jeecg_logo.png'; import logoImg from '/@/assets/loginmini/icon/jeecg_logo.png';
@ -129,7 +135,7 @@
import JSelectDept4FaRen from '/@/components/Form/src/jeecg/components/JSelectDept4FaRen.vue'; import JSelectDept4FaRen from '/@/components/Form/src/jeecg/components/JSelectDept4FaRen.vue';
import { useI18n } from '/@/hooks/web/useI18n'; import { useI18n } from '/@/hooks/web/useI18n';
import codeImg from '/@/assets/images/checkcode.png'; import codeImg from '/@/assets/images/checkcode.png';
import JSearchSelect from '/@/components/Form/src/jeecg/components/JSearchSelect.vue';
const { t } = useI18n(); const { t } = useI18n();
const { notification, createErrorModal, createMessage } = useMessage(); const { notification, createErrorModal, createMessage } = useMessage();
const emit = defineEmits(['go-back', 'success', 'register']); const emit = defineEmits(['go-back', 'success', 'register']);
@ -157,6 +163,21 @@
const pwdIndex = ref<string>('close'); const pwdIndex = ref<string>('close');
// //
const confirmPwdIndex = ref<string>('close'); const confirmPwdIndex = ref<string>('close');
const selectValue=ref('');
const dictOptions=ref([]);
//
function getDepartList4Quxian(){
departList4Quxian().then(res => {
console.log(res,"res")
dictOptions.value = res.map(item => {
return {text:item.depName,value:item.depId}
})
console.log(dictOptions.value,"dictOptions")
})}
getDepartList4Quxian();
/** /**
* 返回 * 返回
@ -246,7 +267,7 @@
return; return;
} }
// 8 // 8
const passwordRegex = /^(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[._~!@#$^&*])[A-Za-z0-9._~!@#$^&*]{8,20}$/; const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?])[A-Za-z\d!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]{8,20}$/;
if (!passwordRegex.test(formData.password)) { if (!passwordRegex.test(formData.password)) {
createMessage.warn(t('sys.login.passwordPlaceholderNotReg')); createMessage.warn(t('sys.login.passwordPlaceholderNotReg'));
return; return;

Loading…
Cancel
Save