commit
This commit is contained in:
@@ -14,6 +14,7 @@ import com.budwk.app.sys.services.SysRoleService;
|
|||||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||||
import org.nutz.dao.Cnd;
|
import org.nutz.dao.Cnd;
|
||||||
import org.nutz.dao.Dao;
|
import org.nutz.dao.Dao;
|
||||||
|
import org.nutz.lang.Lang;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -27,11 +28,11 @@ public class FlowFghzxAssignmentHandler implements AssignmentHandler {
|
|||||||
SysRoleService sysRoleService = ServiceContext.find(SysRoleService.class);
|
SysRoleService sysRoleService = ServiceContext.find(SysRoleService.class);
|
||||||
Sys_role sysRole = sysRoleService.getByCode(RoleConstant.BRANCH_UNION_CHAIRMAN);
|
Sys_role sysRole = sysRoleService.getByCode(RoleConstant.BRANCH_UNION_CHAIRMAN);
|
||||||
String unionId = StrUtil.blankToDefault(execution.getArgs().getStr(FlowConst.INITIATOR_UNIT_UNION_ID), SecurityUtil.getUnionId());
|
String unionId = StrUtil.blankToDefault(execution.getArgs().getStr(FlowConst.INITIATOR_UNIT_UNION_ID), SecurityUtil.getUnionId());
|
||||||
Sys_user_role user_role = dao.fetch(Sys_user_role.class, Cnd.where(Sys_user_role::getRoleId, "=", sysRole.getId()).and(Sys_user_role::getUnionId, "=", unionId));
|
List<Sys_user_role> user_roles = dao.query(Sys_user_role.class, Cnd.where(Sys_user_role::getRoleId, "=", sysRole.getId()).and(Sys_user_role::getUnionId, "=", unionId));
|
||||||
if (user_role == null) {
|
if (Lang.isNotEmpty(user_roles)) {
|
||||||
throw new BaseException("分工会主席没有设置,请联系校工会!", sysRole.getCode());
|
throw new BaseException("分工会主席没有设置,请联系校工会!", sysRole.getCode());
|
||||||
}
|
}
|
||||||
return List.of(user_role.getUserId());
|
return user_roles.stream().map(Sys_user_role::getUserId).distinct().toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+1
-1
@@ -92,7 +92,7 @@ public class ActivityBasicScopeController {
|
|||||||
* @return {@link Result}
|
* @return {@link Result}
|
||||||
*/
|
*/
|
||||||
@At
|
@At
|
||||||
@SaCheckPermission("activity.basic.scope")
|
@SaCheckPermission("activity.basic")
|
||||||
public Result pageData(@Param("data") ActivityUserScopePageParam pageForm) {
|
public Result pageData(@Param("data") ActivityUserScopePageParam pageForm) {
|
||||||
Sql sql = Sqls.create("""
|
Sql sql = Sqls.create("""
|
||||||
SELECT
|
SELECT
|
||||||
|
|||||||
+1
-1
@@ -236,7 +236,7 @@ public class TrainSignUpActivityStatisticsController {
|
|||||||
|
|
||||||
for (TrainSignUpCourse c : courseList) {
|
for (TrainSignUpCourse c : courseList) {
|
||||||
String k = c.getCourseName();
|
String k = c.getCourseName();
|
||||||
List<NutMap> v = userList.stream().filter(x -> x.getString("courseName").equals(k)).collect(Collectors.toList());
|
List<NutMap> v = userList.stream().filter(x -> StrUtil.isNotBlank(x.getString("courseName")) && x.getString("courseName").equals(k)).collect(Collectors.toList());
|
||||||
ExportParams userExportParams = new ExportParams();
|
ExportParams userExportParams = new ExportParams();
|
||||||
userExportParams.setSheetName(k);
|
userExportParams.setSheetName(k);
|
||||||
userExportParams.setType(ExcelType.HSSF);
|
userExportParams.setType(ExcelType.HSSF);
|
||||||
|
|||||||
+18
@@ -91,6 +91,24 @@ public class TrainSignUpActivityServiceImpl extends BaseServiceImpl<TrainSignUpA
|
|||||||
if (Lang.isEmpty(courseList)) {
|
if (Lang.isEmpty(courseList)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Set<String> newIds = courseList.stream()
|
||||||
|
.map(TrainSignUpCourse::getId)
|
||||||
|
.filter(StrUtil::isNotBlank)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
List<TrainSignUpCourse> oldCourses = dao().query(TrainSignUpCourse.class, Cnd.where("activityId", "=", activity.getId()));
|
||||||
|
|
||||||
|
Set<String> oldIds = oldCourses.stream()
|
||||||
|
.map(TrainSignUpCourse::getId)
|
||||||
|
.filter(StrUtil::isNotBlank)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
Set<String> deletedIds = Sets.difference(oldIds, newIds).immutableCopy();
|
||||||
|
if(Lang.isNotEmpty(deletedIds)) {
|
||||||
|
dao().clear(TrainSignUpCourse.class, Cnd.where("id", "in", deletedIds));
|
||||||
|
}
|
||||||
|
|
||||||
for (TrainSignUpCourse course : courseList) {
|
for (TrainSignUpCourse course : courseList) {
|
||||||
course.setActivityId(activity.getId());
|
course.setActivityId(activity.getId());
|
||||||
dao().insertOrUpdate(course);
|
dao().insertOrUpdate(course);
|
||||||
|
|||||||
@@ -8,11 +8,13 @@ import com.budwk.app.base.utils.CommonDownloadUtil;
|
|||||||
import com.budwk.app.base.utils.SysOfficeTemplateUtil;
|
import com.budwk.app.base.utils.SysOfficeTemplateUtil;
|
||||||
import com.budwk.app.bpm.enums.BpmProcessInstanceStatusEnum;
|
import com.budwk.app.bpm.enums.BpmProcessInstanceStatusEnum;
|
||||||
import com.budwk.app.flow.enums.ProcessInstanceStateEnum;
|
import com.budwk.app.flow.enums.ProcessInstanceStateEnum;
|
||||||
|
import com.budwk.app.sys.models.Sys_user;
|
||||||
import com.budwk.app.sys.models.Sys_user_role;
|
import com.budwk.app.sys.models.Sys_user_role;
|
||||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||||
import com.budwk.app.web.commons.base.Globals;
|
import com.budwk.app.web.commons.base.Globals;
|
||||||
import com.budwk.app.web.controllers.open.commons.service.CommonService;
|
import com.budwk.app.web.controllers.open.commons.service.CommonService;
|
||||||
|
import com.budwk.app.zhgh.club.model.ClubUser;
|
||||||
import com.budwk.app.zhgh.club.param.ClubUserPageForm;
|
import com.budwk.app.zhgh.club.param.ClubUserPageForm;
|
||||||
import com.budwk.app.zhgh.club.service.SysClubInfoManageService;
|
import com.budwk.app.zhgh.club.service.SysClubInfoManageService;
|
||||||
import com.budwk.app.zhgh.club.service.SysClubService;
|
import com.budwk.app.zhgh.club.service.SysClubService;
|
||||||
@@ -26,6 +28,7 @@ import org.nutz.dao.Cnd;
|
|||||||
import org.nutz.dao.Dao;
|
import org.nutz.dao.Dao;
|
||||||
import org.nutz.dao.Sqls;
|
import org.nutz.dao.Sqls;
|
||||||
import org.nutz.dao.sql.Sql;
|
import org.nutz.dao.sql.Sql;
|
||||||
|
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||||
import org.nutz.dao.util.cri.Static;
|
import org.nutz.dao.util.cri.Static;
|
||||||
import org.nutz.ioc.loader.annotation.Inject;
|
import org.nutz.ioc.loader.annotation.Inject;
|
||||||
import org.nutz.ioc.loader.annotation.IocBean;
|
import org.nutz.ioc.loader.annotation.IocBean;
|
||||||
@@ -95,6 +98,18 @@ public class SysClubInfoManageServiceImpl extends BaseServiceImpl<ClubCommonPage
|
|||||||
cnd.and("c.clubName", "LIKE", "%" + pageForm.getClubName() + "%");
|
cnd.and("c.clubName", "LIKE", "%" + pageForm.getClubName() + "%");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||||
|
Cnd c = Cnd.NEW();
|
||||||
|
SqlExpressionGroup group = new SqlExpressionGroup();
|
||||||
|
group.orLike("userName", pageForm.getSearchKeyword());
|
||||||
|
group.orLike("loginName", pageForm.getSearchKeyword());
|
||||||
|
c.and(group);
|
||||||
|
c.limit(50);
|
||||||
|
List<Sys_user> userList = dao().query(Sys_user.class, c);
|
||||||
|
List<ClubUser> list = dao().query(ClubUser.class, Cnd.where("userId", "in", userList.stream().map(Sys_user::getId).toList()));
|
||||||
|
cnd.and("c.id", "in", list.stream().map(ClubUser::getClubId).toList());
|
||||||
|
}
|
||||||
|
|
||||||
cnd.andEX("year(c.createTime)", "=", pageForm.getYear());
|
cnd.andEX("year(c.createTime)", "=", pageForm.getYear());
|
||||||
cnd.and("c.dismiss", "=", false);
|
cnd.and("c.dismiss", "=", false);
|
||||||
cnd.and("ins.state", "=", ProcessInstanceStateEnum.FINISHED.getCode());
|
cnd.and("ins.state", "=", ProcessInstanceStateEnum.FINISHED.getCode());
|
||||||
|
|||||||
+3
@@ -18,6 +18,7 @@ import com.budwk.app.sys.models.Sys_user_role;
|
|||||||
import com.budwk.app.sys.services.SysRoleService;
|
import com.budwk.app.sys.services.SysRoleService;
|
||||||
import com.budwk.app.sys.services.SysUserService;
|
import com.budwk.app.sys.services.SysUserService;
|
||||||
import com.budwk.app.zhgh.democratic.teachercongress.delegation.models.Teacher_congress_delegation;
|
import com.budwk.app.zhgh.democratic.teachercongress.delegation.models.Teacher_congress_delegation;
|
||||||
|
import com.budwk.app.zhgh.democratic.teachercongress.delegation.models.Teacher_congress_delegation_union;
|
||||||
import com.budwk.app.zhgh.democratic.teachercongress.delegation.models.Teacher_congress_delegation_unit;
|
import com.budwk.app.zhgh.democratic.teachercongress.delegation.models.Teacher_congress_delegation_unit;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
@@ -147,6 +148,8 @@ public class TeacherCongressDelegationController {
|
|||||||
@SaCheckPermission("tc.delegation")
|
@SaCheckPermission("tc.delegation")
|
||||||
public Result delete(@Valid String id) {
|
public Result delete(@Valid String id) {
|
||||||
dao.delete(Teacher_congress_delegation.class, id);
|
dao.delete(Teacher_congress_delegation.class, id);
|
||||||
|
dao.clear(Teacher_congress_delegation_union.class, Cnd.where(Teacher_congress_delegation_union::getDelegationId, "=", id));
|
||||||
|
dao.clear(Teacher_congress_delegation_unit.class, Cnd.where(Teacher_congress_delegation_unit::getDelegationId, "=", id));
|
||||||
return Result.success();
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -100,7 +100,7 @@ public class SingleTeacherServiceImpl extends BaseServiceImpl<SingleTeacher> imp
|
|||||||
cnd.andEX("u.personType", "=", pageForm.getPersonType());
|
cnd.andEX("u.personType", "=", pageForm.getPersonType());
|
||||||
cnd.andEX("u.userState", "=", pageForm.getUserState());
|
cnd.andEX("u.userState", "=", pageForm.getUserState());
|
||||||
cnd.andEX("st.education", "=", pageForm.getEducation());
|
cnd.andEX("st.education", "=", pageForm.getEducation());
|
||||||
cnd.andEX("u.marriage", "=", pageForm.getMarriage());
|
cnd.andEX("st.maritalStatus", "=", pageForm.getMarriage());
|
||||||
|
|
||||||
if (StrUtil.isAllNotBlank(pageForm.getPageOrderName(), pageForm.getPageOrderBy())) {
|
if (StrUtil.isAllNotBlank(pageForm.getPageOrderName(), pageForm.getPageOrderBy())) {
|
||||||
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
||||||
|
|||||||
+1
-1
@@ -194,7 +194,7 @@ public class ThirtyTeachController {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Sys_user> matchUsers = users.stream().filter(u -> u.getLoginname().equals(temp.getLoginName())).map(u -> {
|
List<Sys_user> matchUsers = users.stream().filter(u -> StrUtil.isNotBlank(u.getLoginname()) && u.getLoginname().equals(temp.getLoginName())).map(u -> {
|
||||||
Sys_user user = new Sys_user();
|
Sys_user user = new Sys_user();
|
||||||
user.setId(u.getId());
|
user.setId(u.getId());
|
||||||
user.setLoginname(temp.getLoginName());
|
user.setLoginname(temp.getLoginName());
|
||||||
|
|||||||
+21
-18
@@ -26,7 +26,7 @@ layout("/layouts/platform.html"){
|
|||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item label="报销模式">
|
<el-descriptions-item label="报销模式">
|
||||||
<el-form-item prop="activityReimbursementMode"
|
<el-form-item prop="activityReimbursementMode" label="报销模式"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-radio-group v-model="formData.activityReimbursementMode"
|
<el-radio-group v-model="formData.activityReimbursementMode"
|
||||||
@change="getActivityReimbursementByUser">
|
@change="getActivityReimbursementByUser">
|
||||||
@@ -57,7 +57,7 @@ layout("/layouts/platform.html"){
|
|||||||
<el-descriptions-item label="项目名称" v-if="formData.activityReimbursementMode==='activity'">
|
<el-descriptions-item label="项目名称" v-if="formData.activityReimbursementMode==='activity'">
|
||||||
<el-row :gutter="10">
|
<el-row :gutter="10">
|
||||||
<el-col :span="18">
|
<el-col :span="18">
|
||||||
<el-form-item prop="declareId"
|
<el-form-item prop="declareId" label="项目名称"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-select v-model="formData.declareId"
|
<el-select v-model="formData.declareId"
|
||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
@@ -82,7 +82,7 @@ layout("/layouts/platform.html"){
|
|||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item label="项目名称" v-else>
|
<el-descriptions-item label="项目名称" v-else>
|
||||||
<el-form-item prop="activityName"
|
<el-form-item prop="activityName" label="项目名称"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-input v-model="formData.activityName" maxlength="50"
|
<el-input v-model="formData.activityName" maxlength="50"
|
||||||
placeholder="请输入项目名称"></el-input>
|
placeholder="请输入项目名称"></el-input>
|
||||||
@@ -91,7 +91,7 @@ layout("/layouts/platform.html"){
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-descriptions-item label="扣款预算">
|
<el-descriptions-item label="扣款预算">
|
||||||
<el-form-item prop="deductionBudgetId"
|
<el-form-item prop="deductionBudgetId" label="扣款预算"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-select v-model="formData.deductionBudgetId"
|
<el-select v-model="formData.deductionBudgetId"
|
||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
@@ -113,7 +113,7 @@ layout("/layouts/platform.html"){
|
|||||||
|
|
||||||
<template v-if="formData.activityReimbursementMode==='activity'">
|
<template v-if="formData.activityReimbursementMode==='activity'">
|
||||||
<el-descriptions-item label="实际活动时间">
|
<el-descriptions-item label="实际活动时间">
|
||||||
<el-form-item prop="activityTime"
|
<el-form-item prop="activityTime" label="实际活动时间"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
@@ -129,7 +129,7 @@ layout("/layouts/platform.html"){
|
|||||||
|
|
||||||
|
|
||||||
<el-descriptions-item label="活动计划时间">
|
<el-descriptions-item label="活动计划时间">
|
||||||
<el-form-item prop="planDate"
|
<el-form-item prop="planDate" label="活动计划时间"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
readonly
|
readonly
|
||||||
@@ -150,12 +150,12 @@ layout("/layouts/platform.html"){
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-descriptions-item label="费用" :span="2">
|
<el-descriptions-item label="费用" :span="2">
|
||||||
<el-form-item prop="budgets">
|
<el-form-item prop="budgets" label="费用">
|
||||||
<el-table :data="formData.budgets" border max-height="500" size="mini" style="width: 100%">
|
<el-table :data="formData.budgets" border max-height="500" size="mini" style="width: 100%">
|
||||||
<el-table-column label="序号" sortable fixed type="index" width="60"></el-table-column>
|
<el-table-column label="序号" sortable fixed type="index" width="60"></el-table-column>
|
||||||
<el-table-column label="费用项目名称" fixed prop="name" width="200">
|
<el-table-column label="费用项目名称" fixed prop="name" width="200">
|
||||||
<template scope="{row,$index}">
|
<template scope="{row,$index}">
|
||||||
<el-form-item label-width="0"
|
<el-form-item label-width="0" label="费用项目名称"
|
||||||
:prop="'budgets.'+$index+'.name'"
|
:prop="'budgets.'+$index+'.name'"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-input v-model="row.name" style="width: 100%" maxlength="50"
|
<el-input v-model="row.name" style="width: 100%" maxlength="50"
|
||||||
@@ -166,7 +166,7 @@ layout("/layouts/platform.html"){
|
|||||||
<el-table-column label="预算费用" prop="budgetPrice" width="250"
|
<el-table-column label="预算费用" prop="budgetPrice" width="250"
|
||||||
v-if="formData.activityReimbursementMode==='activity'">
|
v-if="formData.activityReimbursementMode==='activity'">
|
||||||
<template scope="{row,$index}">
|
<template scope="{row,$index}">
|
||||||
<el-form-item label-width="0"
|
<el-form-item label-width="0" label="预算费用"
|
||||||
:prop="'budgets.'+$index+'.budgetPrice'"
|
:prop="'budgets.'+$index+'.budgetPrice'"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-input-number placeholder="预算费用" v-model="row.budgetPrice"
|
<el-input-number placeholder="预算费用" v-model="row.budgetPrice"
|
||||||
@@ -177,7 +177,7 @@ layout("/layouts/platform.html"){
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="实际费用" prop="actualPrice" width="250">
|
<el-table-column label="实际费用" prop="actualPrice" width="250">
|
||||||
<template scope="{row,$index}">
|
<template scope="{row,$index}">
|
||||||
<el-form-item label-width="0"
|
<el-form-item label-width="0" label="实际费用"
|
||||||
:prop="'budgets.'+$index+'.actualPrice'"
|
:prop="'budgets.'+$index+'.actualPrice'"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-input-number placeholder="请填写实际费用" v-model="row.actualPrice"
|
<el-input-number placeholder="请填写实际费用" v-model="row.actualPrice"
|
||||||
@@ -188,7 +188,7 @@ layout("/layouts/platform.html"){
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="收款人" prop="username" width="200">
|
<el-table-column label="收款人" prop="username" width="200">
|
||||||
<template scope="{row,$index}">
|
<template scope="{row,$index}">
|
||||||
<el-form-item label-width="0"
|
<el-form-item label-width="0" label="收款人"
|
||||||
:prop="'budgets.'+$index+'.username'"
|
:prop="'budgets.'+$index+'.username'"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-input v-model="row.username" maxlength="50"
|
<el-input v-model="row.username" maxlength="50"
|
||||||
@@ -199,7 +199,7 @@ layout("/layouts/platform.html"){
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="支行名称" prop="bankName" width="300">
|
<el-table-column label="支行名称" prop="bankName" width="300">
|
||||||
<template scope="{row,$index}">
|
<template scope="{row,$index}">
|
||||||
<el-form-item label-width="0"
|
<el-form-item label-width="0" label="支行名称"
|
||||||
:prop="'budgets.'+$index+'.bankName'"
|
:prop="'budgets.'+$index+'.bankName'"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-input v-model="row.bankName" maxlength="80"
|
<el-input v-model="row.bankName" maxlength="80"
|
||||||
@@ -209,7 +209,7 @@ layout("/layouts/platform.html"){
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="报销卡号" prop="bankCardNum" width="250">
|
<el-table-column label="报销卡号" prop="bankCardNum" width="250">
|
||||||
<template scope="{row,$index}">
|
<template scope="{row,$index}">
|
||||||
<el-form-item label-width="0"
|
<el-form-item label-width="0" label="报销卡号"
|
||||||
:prop="'budgets.'+$index+'.bankCardNum'"
|
:prop="'budgets.'+$index+'.bankCardNum'"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-input type="number" v-model="row.bankCardNum"
|
<el-input type="number" v-model="row.bankCardNum"
|
||||||
@@ -220,7 +220,7 @@ layout("/layouts/platform.html"){
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="备注" prop="remark" width="400">
|
<el-table-column label="备注" prop="remark" width="400">
|
||||||
<template scope="{row,$index}">
|
<template scope="{row,$index}">
|
||||||
<el-form-item label-width="0"
|
<el-form-item label-width="0" label="备注"
|
||||||
:prop="'budgets.'+$index+'.remark'">
|
:prop="'budgets.'+$index+'.remark'">
|
||||||
<el-input v-model="row.remark" maxlength="200"
|
<el-input v-model="row.remark" maxlength="200"
|
||||||
placeholder="请输入备注"></el-input>
|
placeholder="请输入备注"></el-input>
|
||||||
@@ -245,7 +245,7 @@ layout("/layouts/platform.html"){
|
|||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item label="发票" :span="2">
|
<el-descriptions-item label="发票" :span="2">
|
||||||
<el-form-item prop="billFiles">
|
<el-form-item prop="billFiles" label="发票">
|
||||||
<file-upload :value.sync="formData.billFiles"
|
<file-upload :value.sync="formData.billFiles"
|
||||||
upload_mode="drag"
|
upload_mode="drag"
|
||||||
:upload_number="10" upload_result_category="array"
|
:upload_number="10" upload_result_category="array"
|
||||||
@@ -255,7 +255,7 @@ layout("/layouts/platform.html"){
|
|||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<template v-if="formData.activityReimbursementMode==='activity'">
|
<template v-if="formData.activityReimbursementMode==='activity'">
|
||||||
<el-descriptions-item label="活动报道照片/总结/链接" :span="2">
|
<el-descriptions-item label="活动报道照片/总结/链接" :span="2">
|
||||||
<el-form-item prop="photoFiles">
|
<el-form-item prop="photoFiles" label="活动报道照片/总结/链接">
|
||||||
<file-upload :value.sync="formData.photoFiles"
|
<file-upload :value.sync="formData.photoFiles"
|
||||||
upload_mode="drag"
|
upload_mode="drag"
|
||||||
:upload_number="10" upload_result_category="array"
|
:upload_number="10" upload_result_category="array"
|
||||||
@@ -265,7 +265,7 @@ layout("/layouts/platform.html"){
|
|||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item label="奖品/纪念品/服装/道具等活动人员名单" :span="2">
|
<el-descriptions-item label="奖品/纪念品/服装/道具等活动人员名单" :span="2">
|
||||||
<el-form-item prop="otherFiles">
|
<el-form-item prop="otherFiles" label="奖品/纪念品/服装/道具等活动人员名单">
|
||||||
<file-upload :value.sync="formData.otherFiles"
|
<file-upload :value.sync="formData.otherFiles"
|
||||||
upload_mode="drag"
|
upload_mode="drag"
|
||||||
:upload_number="10" upload_result_category="array"
|
:upload_number="10" upload_result_category="array"
|
||||||
@@ -276,7 +276,7 @@ layout("/layouts/platform.html"){
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-descriptions-item label="签字" :span="2">
|
<el-descriptions-item label="签字" :span="2">
|
||||||
<el-form-item prop="sign">
|
<el-form-item prop="sign" label="签字">
|
||||||
<pc-signature v-model="formData.sign"></pc-signature>
|
<pc-signature v-model="formData.sign"></pc-signature>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
@@ -350,6 +350,9 @@ layout("/layouts/platform.html"){
|
|||||||
outlayManageSourceChange(val) {
|
outlayManageSourceChange(val) {
|
||||||
this.$set(this.formData, 'clubId', null)
|
this.$set(this.formData, 'clubId', null)
|
||||||
this.$set(this.formData, 'deductionBudgetId', null)
|
this.$set(this.formData, 'deductionBudgetId', null)
|
||||||
|
this.$set(this.formData, 'declareId', null)
|
||||||
|
this.$set(this.formData, 'budgets', [])
|
||||||
|
this.$set(this.formData, 'activityTime', [])
|
||||||
if (val === "ACTIVITY_BUDGET_TYPE_ONE") {
|
if (val === "ACTIVITY_BUDGET_TYPE_ONE") {
|
||||||
this.$set(this.formData, "declareUnitName", "校工会")
|
this.$set(this.formData, "declareUnitName", "校工会")
|
||||||
} else if (val === "ACTIVITY_BUDGET_TYPE_TWO") {
|
} else if (val === "ACTIVITY_BUDGET_TYPE_TWO") {
|
||||||
|
|||||||
@@ -13,6 +13,10 @@ const SCHOOL_CLUB_MANAGE_TEMPLATE = {
|
|||||||
v-model="pageForm.clubName"
|
v-model="pageForm.clubName"
|
||||||
></el-input>
|
></el-input>
|
||||||
</search-item>
|
</search-item>
|
||||||
|
<search-item label="姓名/工号">
|
||||||
|
<el-input v-model="pageForm.searchKeyword" placeholder="请输入姓名或工号"
|
||||||
|
clearable></el-input>
|
||||||
|
</search-item>
|
||||||
</search>
|
</search>
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-card shadow="never" class="mt10">
|
<el-card shadow="never" class="mt10">
|
||||||
|
|||||||
@@ -58,6 +58,8 @@ const CLUB_MANAGER_TEMPLATE = {
|
|||||||
</template>
|
</template>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
|
:disabled="scope.row.roleCode === 'CLUB_PRESIDENT'
|
||||||
|
|| scope.row.roleCode === 'CLUB_SECRETARY'""
|
||||||
@click="deleteRow(scope.row, scope.$index)"
|
@click="deleteRow(scope.row, scope.$index)"
|
||||||
size="mini" type="danger">删除
|
size="mini" type="danger">删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|||||||
+1
-1
@@ -76,7 +76,7 @@ layout("/layouts/platform.html"){
|
|||||||
<el-row type="flex" justify="end">
|
<el-row type="flex" justify="end">
|
||||||
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
||||||
<el-button @click="handleTaskAction(6)" size="small" type="info">退回到发起人</el-button>
|
<el-button @click="handleTaskAction(6)" size="small" type="info">退回到发起人</el-button>
|
||||||
<el-button @click="handleTaskAction(20)" size="small" type="danger">不同意</el-button>
|
<el-button @click="handleTaskAction(2)" size="small" type="danger">不同意</el-button>
|
||||||
<el-button @click="handleTaskAction(1)" size="small" type="primary">同意</el-button>
|
<el-button @click="handleTaskAction(1)" size="small" type="primary">同意</el-button>
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -163,7 +163,9 @@ layout("/layouts/platform.html"){
|
|||||||
this.importDialog = true
|
this.importDialog = true
|
||||||
},
|
},
|
||||||
successImport() {
|
successImport() {
|
||||||
this.importDialog = false
|
if(this.$refs.viewImport.$data.errorInfoData.errorCount === 0) {
|
||||||
|
this.importDialog = false
|
||||||
|
}
|
||||||
this.pageData()
|
this.pageData()
|
||||||
},
|
},
|
||||||
exportMember() {
|
exportMember() {
|
||||||
|
|||||||
+2
-2
@@ -18,7 +18,7 @@ layout("/layouts/platform.html"){
|
|||||||
placeholder="请选择年度"
|
placeholder="请选择年度"
|
||||||
></el-date-picker>
|
></el-date-picker>
|
||||||
</search-item>
|
</search-item>
|
||||||
<template v-if="pageForm.queryType == 'union'">
|
<template v-if="pageForm.queryType == 'fgh'">
|
||||||
<search-item label="工会">
|
<search-item label="工会">
|
||||||
<el-select placeholder="分工会" v-model="pageForm.queryId" style="width: 100%" @change="doSearch" clearable filterable>
|
<el-select placeholder="分工会" v-model="pageForm.queryId" style="width: 100%" @change="doSearch" clearable filterable>
|
||||||
<el-option v-for="item in unions" :label="item.name" :value="item.id"></el-option>
|
<el-option v-for="item in unions" :label="item.name" :value="item.id"></el-option>
|
||||||
@@ -45,7 +45,7 @@ layout("/layouts/platform.html"){
|
|||||||
<table-tool label="会员分析"></table-tool>
|
<table-tool label="会员分析"></table-tool>
|
||||||
<el-table :data="tableData" show-summary>
|
<el-table :data="tableData" show-summary>
|
||||||
<el-table-column align="center" header-align="center" type="index" label="序号" width="80px"></el-table-column>
|
<el-table-column align="center" header-align="center" type="index" label="序号" width="80px"></el-table-column>
|
||||||
<el-table-column v-if="pageForm.queryType=='union'" align="center" header-align="center" label="分工会" width="220px">
|
<el-table-column v-if="pageForm.queryType=='fgh'" align="center" header-align="center" label="分工会" width="220px">
|
||||||
<template scope="{row}">{{row.unionCode ? '('+row.unionCode+')' : null }}{{row.unionName}}</template>
|
<template scope="{row}">{{row.unionCode ? '('+row.unionCode+')' : null }}{{row.unionName}}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column v-if="pageForm.queryType=='unit'" align="center" header-align="center" label="单位" width="220px">
|
<el-table-column v-if="pageForm.queryType=='unit'" align="center" header-align="center" label="单位" width="220px">
|
||||||
|
|||||||
Reference in New Issue
Block a user